CtrlK
BlogDocsLog inGet started
Tessl Logo

m06-error-handling

CRITICAL: Use for error handling. Triggers: Result, Option, Error, ?, unwrap, expect, panic, anyhow, thiserror, when to panic vs return Result, custom error, error propagation, 错误处理, Result 用法, 什么时候用 panic

Install with Tessl CLI

npx tessl i github:actionbook/rust-skills --skill m06-error-handling
What are skills?

89

Does it follow best practices?

Validation for skill structure

SKILL.md
Review
Evals

Discovery

72%

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

This description excels at trigger term coverage with comprehensive Rust error handling keywords and even multilingual support, making it highly discoverable. However, it lacks concrete action descriptions (what the skill actually does beyond 'error handling') and would benefit from an explicit 'Use when...' clause to improve completeness.

Suggestions

Add concrete actions describing what the skill does, e.g., 'Guides implementation of custom error types, error propagation patterns, and choosing between panic and Result'

Add an explicit 'Use when...' clause, e.g., 'Use when implementing error handling in Rust code or deciding between error handling strategies'

DimensionReasoningScore

Specificity

Names the domain (error handling) and mentions specific types/concepts (Result, Option, Error, anyhow, thiserror), but doesn't describe concrete actions like 'implement custom error types' or 'convert between error types'.

2 / 3

Completeness

The 'when' is indicated by 'CRITICAL: Use for error handling' and the trigger list, but there's no explicit 'Use when...' clause. The 'what' is weak - it lists keywords but doesn't explain what the skill actually does with error handling.

2 / 3

Trigger Term Quality

Excellent coverage of natural terms including Rust-specific keywords (Result, Option, unwrap, expect, panic, anyhow, thiserror), the ? operator, common questions ('when to panic vs return Result'), and even Chinese translations (错误处理, Result 用法).

3 / 3

Distinctiveness Conflict Risk

Highly distinctive with Rust-specific error handling terminology (Result, Option, anyhow, thiserror, unwrap, expect) that clearly separates it from general programming or other language error handling skills.

3 / 3

Total

10

/

12

Passed

Implementation

100%

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

This is an excellent skill file that exemplifies good design. It uses tables and flowcharts to maximize information density while remaining scannable. The 'Error → Design Question' framing elevates this beyond a simple reference by teaching the thinking process, and the trace up/down sections provide clear navigation to related concepts.

DimensionReasoningScore

Conciseness

Extremely lean and efficient. Uses tables and flowcharts to convey maximum information with minimal tokens. No unnecessary explanations of concepts Claude already knows - assumes competence with Rust fundamentals.

3 / 3

Actionability

Provides concrete, executable patterns with specific code examples (Result signatures, ?, .context()). The decision flowchart and quick reference tables give copy-paste ready patterns for immediate use.

3 / 3

Workflow Clarity

The 'Thinking Prompt' section provides a clear 3-step decision process. The decision flowchart explicitly sequences the thought process with clear branching logic. For a conceptual skill about error handling strategy, this is appropriately structured.

3 / 3

Progressive Disclosure

Well-organized with clear sections progressing from core concepts to implementation details. References to related skills (m13-domain-error, m11-ecosystem, etc.) are clearly signaled and one level deep. Content is appropriately split between quick reference and deeper guidance.

3 / 3

Total

12

/

12

Passed

Validation

75%

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

Validation12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

description_trigger_hint

Description may be missing an explicit 'when to use' trigger hint (e.g., 'Use when...')

Warning

metadata_version

'metadata' field is not a dictionary

Warning

license_field

'license' field is missing

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

12

/

16

Passed

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.