# Coding Error Messages

> Best practices for writing clear, actionable error messages in code.

- Skill: `majiayu000/coding-error-messages` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/coding-error-messages`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/coding-error-messages/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/coding-error-messages

---


# 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

1. 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

2. 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

3. Actionability: What can the user do?

- Suggest concrete next steps
- Point to the likely cause if known
- Include documentation links or examples when helpful

4. 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

