Error explanation for the Ayrshare MCP server: translate an Ayrshare error code into a plain-English cause, a classification, and a fix. Use whenever a code or numeric error needs decoding: "what does Ayrshare error 156 mean", "why did that post fail with code 272", "explain this error", "what is error code 110 on Instagram", "how do I fix this Ayrshare error". Trigger when calling `mcp__ayrshare__explain_error`, and even without the word "Ayrshare": if the user surfaces a social-posting erro...
Scanned 8/31/2026
Install to Claude Code
npx -y skills add ayrshare/ayrshare-social-media-api-claude-plugin --skill errors --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Errors?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ayrshare-errors)More formats (shields.io, HTML) on the badges page.
---
name: errors
description: |
Error explanation for the Ayrshare MCP server: translate an Ayrshare error code into a plain-English cause, a classification, and a fix. Use whenever a code or numeric error needs decoding: "what does Ayrshare error 156 mean", "why did that post fail with code 272", "explain this error", "what is error code 110 on Instagram", "how do I fix this Ayrshare error". Trigger when calling `mcp__ayrshare__explain_error`, and even without the word "Ayrshare": if the user surfaces a social-posting error code and wants to know what it means or how to fix it, this is the skill. CRITICAL: whenever ANY OTHER Ayrshare MCP tool returns a structured error code (for example `Error 156: ...`), look the code up here and explain or fix it rather than echoing the raw error back. For the shared auth model and the global retry-safety rule, see `../getting-started/SKILL.md`.
---
# Ayrshare MCP — Errors
One tool, the canonical way to decode any Ayrshare error code:
- `mcp__ayrshare__explain_error` — looks up an error `code` in the Ayrshare error catalog and returns a plain-English cause, a classification, and a short resolution hint.
It is the cross-cutting helper every other group skill points to: when a tool call fails with a structured error code (e.g. `Error 156: ...`), translate it here before surfacing anything to the user.
## Functions
| Tool | Purpose | Method + Endpoint | Required inputs | Optional inputs |
|------|---------|-------------------|-----------------|-----------------|
| `mcp__ayrshare__explain_error` | Explain an Ayrshare error code from the canonical error catalog | `GET /error-explainer` | `code` (string of digits, or a number) | `platform` (a platform identifier) |
The response gives three things:
- **Cause** — a plain-English description of what went wrong.
- **Classification** — one of `developer-fix` (your code/config/input is wrong), `user-action` (the end user or their linked account must act, e.g. re-auth, permissions, content rules), or `network` (a transient/platform-side issue).
- **Resolution hint** — a short suggested fix.
The classification is derived from the error's HTTP status, not from the meaning of the message: `401/402/403` → `user-action`, `5xx` → `network`, and every other `4xx` (including `400`) → `developer-fix`. So a relink-required error such as `156` ("…is not linked") or `272` (X/Twitter authorization issue) — both HTTP `400` — is labeled `developer-fix` even though the real fix is an end-user relink. Treat the label as a coarse routing hint and always read the `cause` and `resolution` text; a `developer-fix` can still carry an instruction meant for the end user.
## Auth
This tool is reached over the same authenticated connection as every other Ayrshare MCP tool. `explain_error` is account-level: it decodes an error code and does **not** take a `profileKey` argument (it is one of the few tools excluded from per-call profile selection). Its only inputs are `code` and `platform` (no `passthrough` object). See *Which tools accept `profileKey`* in `../getting-started/SKILL.md`.
## Usage guidance
- **This is the first stop after ANY failed tool call.** When `create_post`, `add_comment`, `get_platform_history`, or any other Ayrshare MCP tool returns a structured error code (e.g. `Error 156: ...`), call `explain_error` with that `code` (pass the failing `platform` if you have it) and surface the explanation. Do **not** echo the raw error or guess at the meaning.
- **Pass `platform` when you have it.** The same numeric code can mean different things per network; supplying the `platform` identifier (e.g. the platform that the failed call targeted) sharpens the cause and fix.
- **`code` accepts a string of digits or a number.** Pass the bare code from the error (e.g. `156`, `"272"`). Strip any surrounding text.
- **Act on the classification:**
- `developer-fix` → usually the input/config/code is wrong; fix it before retrying (do not blindly re-call the failing tool). But because this bucket is just "a 4xx that isn't 401/402/403", it also catches end-user issues that happen to return `400` (e.g. an account relink, like codes `156`/`272`) — read the `resolution` and relay it to the end user when that is what it says.
- `user-action` → the end user or their linked social account must do something (re-authenticate, grant a permission, change content); relay the resolution hint to them.
- `network` → transient/platform-side; a single retry after a short delay is reasonable (matching the global 429/transient rule), but don't loop.
- **It does not fix the underlying call.** `explain_error` only decodes the code. After understanding it, address the root cause and re-run the original tool deliberately — don't auto-retry the failed write.
## Gotchas
- **Don't echo raw error codes at the user.** A bare `Error 272` is unhelpful. Always run it through `explain_error` and present the cause + fix.
- **The classification drives whether a retry is even sensible.** A `developer-fix` or `user-action` error will not resolve on retry — only `network`-class errors warrant the single transient retry. Never auto-retry a failed write on a 4xx just because you decoded it.
- **Provide `platform` for accuracy.** Omitting it still works but may give a more generic explanation when the code is platform-specific.
- **`explain_error` takes no `profileKey` argument.** It is account-level (one of the few tools excluded from per-call profile selection); the profile-scoped tools do accept a `profileKey` argument (see getting-started).
- **`explain_error` is itself a read.** If the lookup call fails (rare), surface it plainly; don't loop. (Mirrors the global retry-safety rule in `../getting-started/SKILL.md`.)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!