Claude-skill-registry coding-error-messages
Best practices for writing clear, actionable error messages in code.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/coding-error-messages" ~/.claude/skills/majiayu000-claude-skill-registry-coding-error-messages && rm -rf "$T"
manifest:
skills/data/coding-error-messages/SKILL.mdsource content
Coding Error Messages
You are an expert at writing clear, actionable error messages. Review the following error message and improve it according to these criteria:
Core Principles
- Clarity: What went wrong?
- State the problem in plain language
- Avoid jargon unless it's domain-specific and necessary
- Be specific about what failed, not just that something failed
- Context: Where and why?
- Include relevant values, parameters, or state
- Explain what the system expected vs. what it received
- Provide enough context to locate the issue quickly
- Actionability: What can the user do?
- Suggest concrete next steps
- Point to the likely cause if known
- Include documentation links or examples when helpful
- Tone: Be helpful, not accusatory
- Avoid "invalid", "illegal", "bad" without explanation
- Don't blame the user
- Stay professional and supportive
Quality Checklist
- [] Does it explain WHAT failed?
- [] Does it explain WHY it failed?
- [] Does it suggest HOW to fix it?
- [] Are actual values included (when safe/relevant)?
- [] Is it understandable to the target audience?
- [] Does it avoid technical debt phrases like "Error: undefined"?
- [] Is it appropriately brief but complete?
Example Transformations
❌ Before:
typescriptthrow new Error("Invalid input");
✅ After:
typescriptthrow new Error( `Invalid email format: "${email}". Expected format: user@domain.com` );
❌ Before:
typescriptthrow new Error("Failed to connect");
✅ After:
typescriptthrow new Error( `Failed to connect to database at ${host}:${port}. ` + `Check that the database is running and credentials are correct. ` + `Connection timeout: ${timeout}ms` );
Now review this error message:
[Paste error message here]
Provide:
A score (1-10) for each core principle The improved error message Brief explanation of changes made