Master error handling patterns across languages including exceptions, Result types, error propagation, and graceful degradation to build resilient applications. Use when implementing error handling, designing APIs, or improving application reliability.
75
54%
Does it follow best practices?
Impact
88%
1.29xAverage score across 6 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/developer-essentials/skills/error-handling-patterns/SKILL.mdQuality
Discovery
67%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description adequately covers both what the skill does and when to use it, with an explicit 'Use when' clause. However, the capabilities listed are more like category names than concrete actions, and the trigger terms, while relevant, miss common user vocabulary. The cross-language, broad scope ('designing APIs', 'application reliability') introduces some overlap risk with other skills.
Suggestions
Replace abstract pattern names with concrete actions, e.g., 'Converts try-catch blocks to Result/Either types, adds retry logic with exponential backoff, implements circuit breakers, designs error hierarchies'.
Add more natural trigger terms users would say, such as 'try-catch', 'error codes', 'retry logic', 'crash handling', 'fault tolerance', 'exception hierarchy'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (error handling) and lists some patterns (exceptions, Result types, error propagation, graceful degradation), but these are more category labels than concrete actions. It doesn't specify what it actually does with these patterns (e.g., 'converts try-catch blocks to Result types', 'adds retry logic'). | 2 / 3 |
Completeness | Clearly answers both 'what' (error handling patterns including exceptions, Result types, error propagation, graceful degradation) and 'when' (explicit 'Use when implementing error handling, designing APIs, or improving application reliability'). | 3 / 3 |
Trigger Term Quality | Includes relevant terms like 'error handling', 'exceptions', 'Result types', 'error propagation', and 'graceful degradation', which are reasonably natural. However, it misses common user phrases like 'try-catch', 'error codes', 'retry', 'fallback', 'crash', 'bug', 'failure handling', or specific language patterns. | 2 / 3 |
Distinctiveness Conflict Risk | The error handling focus is a reasonably distinct niche, but 'designing APIs' and 'improving application reliability' are broad enough to overlap with API design skills or general code quality skills. The cross-language scope also makes it less distinct. | 2 / 3 |
Total | 9 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill is a comprehensive but bloated reference document that explains many concepts Claude already knows well. While the code examples are high-quality and executable, the sheer volume (~400+ lines covering 4 languages, 3 patterns, best practices, and pitfalls all inline) makes it extremely token-inefficient. It would benefit greatly from being restructured as a concise overview with references to language-specific and pattern-specific sub-files.
Suggestions
Reduce to a concise overview (~50-80 lines) with the most critical patterns, and move language-specific examples into separate referenced files (e.g., PYTHON_ERRORS.md, TYPESCRIPT_ERRORS.md, RUST_ERRORS.md, GO_ERRORS.md).
Remove sections explaining concepts Claude already knows: error categories (recoverable vs unrecoverable), basic philosophies (exceptions vs result types), and obvious best practices like 'Don't Swallow Errors'.
Add a decision workflow or flowchart for choosing which error handling pattern to apply based on the situation (e.g., 'Is this a distributed system? → Consider circuit breaker. Is this user input? → Use validation with error aggregation').
Move advanced patterns (circuit breaker, error aggregation, graceful degradation) into a separate ADVANCED_PATTERNS.md file referenced from the main skill.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~400+ lines. Explains basic concepts Claude already knows (error categories, what exceptions vs result types are, 'when to use each'), lists obvious recoverable/unrecoverable error examples, and provides extensive boilerplate code across 4 languages that Claude can already produce. The 'When to Use This Skill' section is padded with 8 bullet points. Best practices like 'Don't Swallow Errors' and 'Fail Fast' are well-known to Claude. | 1 / 3 |
Actionability | The code examples are fully executable and copy-paste ready across Python, TypeScript, Rust, and Go. Custom exception hierarchies, retry decorators, circuit breakers, and Result type implementations are all concrete and complete with usage examples. | 3 / 3 |
Workflow Clarity | While individual patterns are well-demonstrated, there's no clear workflow for when/how to apply these patterns in sequence. The skill reads more like a reference catalog than a guided process. There are no validation checkpoints or decision trees for choosing between approaches. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of text with no references to external files. All four language-specific patterns, three universal patterns, best practices, and pitfalls are inlined in a single massive document. Language-specific sections and advanced patterns (circuit breaker, error aggregation) should be split into separate referenced files. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (633 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
27a7ed9
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.