ワンクリックで
api-error-patterns
MCP tool error response format — canonical error object, standard codes, retry semantics.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
MCP tool error response format — canonical error object, standard codes, retry semantics.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Run any question, idea, or decision through a council of 5 AI advisors who independently analyze it, peer-review each other anonymously, and synthesize a final verdict. Based on Karpathy's LLM Council methodology. MANDATORY TRIGGERS: 'council this', 'run the council', 'war room this', 'pressure-test this', 'stress-test this', 'debate this'. STRONG TRIGGERS (use when combined with a real decision or tradeoff): 'should I X or Y', 'which option', 'what would you do', 'is this the right move', 'validate this', 'get multiple perspectives', 'I can't decide', 'I'm torn between'. Do NOT trigger on simple yes/no questions, factual lookups, or casual 'should I' without a meaningful tradeoff (e.g. 'should I use markdown' is not a council question). DO trigger when the user presents a genuine decision with stakes, multiple options, and context that suggests they want it pressure-tested from multiple angles.
How agents, skills, and commands work in this project.
Documentation writing conventions — style, structure, tone, and quality standards.
CSS design system principles — token usage, semantic layering, mobile-first, component isolation.
GitHub conventions — branch naming, commit format, issue/PR templates, and safe issue/PR referencing in comments.
Logging conventions — level usage, formatting style, structured output.
| name | api-error-patterns |
| description | MCP tool error response format — canonical error object, standard codes, retry semantics. |
| when_to_use | Writing tool error handling, choosing error codes, designing error responses. |
| user-invocable | false |
All tool errors use the canonical error object:
{
"error": {
"code": "snake_case_code",
"message": "Human-readable description.",
"retry": false
}
}
code: Machine-readable. Clients branch on this.message: Human/LLM-readable. Describes what went wrong.retry: Whether retrying the same call might succeed. Only true for transient failures (5xx, timeouts).Use canonical_error(code, message, retry=False) from memcp.types.
| Code | When | Retry |
|---|---|---|
not_found | memory_id doesn't exist or belongs to another user | false |
not_supported | optional tool not available on this backend | false |
scope_required | delete_all called without scope keys | false |
invalid_scope | scope contains unknown keys | false |
unauthorized | invalid or missing bearer token | false |
backend_error | upstream backend returned an error | status >= 500 |
validation_error | invalid or malformed parameters | false |
nested_filter | nested boolean filters (AND/OR/NOT) attempted | false |
timeout | backend did not respond in time | true |
retry is true only for transient failures (e.status >= 500)not_found, not backend_errorMemoryAPIError is the only exception type tool handlers catch from backends