CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

api-error-handling

Implements standardized API error responses with proper status codes, logging, and user-friendly messages. Use when building production APIs, implementing error recovery patterns, or integrating error monitoring services.

61

Quality

77%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/api-error-handling/skills/api-error-handling/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A lean, actionable patterns reference: executable Node.js code for the standard error format, error class, global handler, and circuit breaker, with a well-signaled one-level-deep Python reference. The main gap is workflow clarity — content is presented as a catalog with no sequencing or validation guidance for combining the pieces, and the circuit breaker implementation is simplified relative to the more complete version in the reference.

Suggestions

Add a short ordered workflow (define ApiError subclasses → register the global handler → wrap external calls in CircuitBreaker → verify 4xx vs 5xx logging behavior) so the pieces have an explicit assembly sequence with a validation checkpoint.

Replace the JS circuit breaker with the complete implementation (half-open test-call gating, failure/success recording) or move it to a reference file, since the simplified version can trap users.

Trim the 'Best Practices' bullets that restate behavior already demonstrated by the inline handler code, keeping only the non-obvious ones.

DimensionReasoningScore

Conciseness

The body is lean and code-forward with no explanation of concepts Claude already knows, matching 'efficient; minor instances of over-explanation'. The 'Best Practices' bullets ('Never expose stack traces to clients', 'Distinguish client errors (4xx) from server errors (5xx)') largely restate what the inline handler code already demonstrates, keeping it below 5.

4 / 5

Actionability

The Node.js error class, static factories, global Express handler, and circuit breaker are executable copy-paste-ready code covering the common cases, matching 'mostly executable guidance with minor gaps'. The JS CircuitBreaker is simplified (HALF_OPEN set by a bare setTimeout with no half-open test-call gating or reset logic), preventing a 5.

4 / 5

Workflow Clarity

The body is a coherent pattern catalog (response format → error class → global handler → resilience pattern → reference) but provides no explicit sequencing or validation checkpoints for assembling these into an implementation — matching 'sequence present but checkpoints missing or implicit'. It is not 4 because no checkpoints are stated, and not 2 because each section is individually clear and immediately usable.

3 / 5

Progressive Disclosure

The body is a reasonable overview with the main Node.js implementations inline, and references/python-flask.md (verified present) is a clearly signaled one-level-deep reference with a bullet preview of its contents. A ~25-line circuit breaker whose Python counterpart lives in the reference is inlined in the body — a minor organization gap that keeps it below the 5 anchor.

4 / 5

Total

15

/

20

Passed

Description

76%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description that explicitly answers both what and when in third person with concrete trigger phrases. Its main weakness is trigger-term coverage: the most natural phrases a user would say ("error handling", "HTTP errors", "circuit breaker", "retry") are absent, so discovery via common phrasings is hit-or-miss.

Suggestions

Add high-frequency natural trigger terms to the when-clause, e.g. 'Use when handling API errors, HTTP status codes, or implementing retry/circuit breaker patterns'.

Mention the concrete recovery patterns (circuit breaker, retry with backoff) in the what-clause to sharpen specificity and distinctiveness.

DimensionReasoningScore

Specificity

The description names the domain and several concrete deliverables ("standardized API error responses with proper status codes, logging, and user-friendly messages"), matching the 'several specific actions; minor gaps' anchor. It falls short of 5 because the what-clause omits recovery patterns (circuit breaker, retry) that the skill actually covers.

4 / 5

Completeness

It clearly answers both what ("Implements standardized API error responses with proper status codes, logging, and user-friendly messages") and when ("Use when building production APIs, implementing error recovery patterns, or integrating error monitoring services") with concrete trigger phrases, matching the 5 anchor exactly rather than the 4 anchor where the when-clause could be more specific.

5 / 5

Trigger Term Quality

The when-clause offers natural phrases ("building production APIs", "implementing error recovery patterns", "integrating error monitoring services"), but misses the most common user phrasings such as "error handling", "HTTP errors", "4xx/5xx", or "circuit breaker" — matching the 'some relevant keywords but missing common variations' anchor rather than 4.

3 / 5

Distinctiveness Conflict Risk

It is scoped to a clear niche (API error handling) with distinct triggers, matching 'mostly distinct; minor overlap risk' — the 'error monitoring services' trigger slightly overlaps dedicated monitoring/observability skills, keeping it below 5.

4 / 5

Total

16

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

secondsky/claude-skills

Path

plugins/api-error-handling/skills/api-error-handling/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.