CtrlK
BlogDocsLog inGet started
Tessl Logo

m01-ownership

CRITICAL: Use for ownership/borrow/lifetime issues. Triggers: E0382, E0597, E0506, E0507, E0515, E0716, E0106, value moved, borrowed value does not live long enough, cannot move out of, use of moved value, ownership, borrow, lifetime, 'a, 'static, move, clone, Copy, 所有权, 借用, 生命周期

Install with Tessl CLI

npx tessl i github:actionbook/rust-skills --skill m01-ownership
What are skills?

82

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 error codes, keywords, and multilingual support, making it highly discoverable. However, it lacks explicit concrete actions (what specifically does it do beyond 'use for issues'?) and would benefit from a formal 'Use when...' clause to clarify selection criteria rather than just listing triggers.

Suggestions

Add specific concrete actions like 'Diagnoses ownership transfers, suggests clone vs borrow solutions, annotates lifetime parameters, refactors to satisfy the borrow checker'

Convert the 'Triggers:' format to an explicit 'Use when...' clause, e.g., 'Use when encountering Rust compiler errors related to ownership, borrowing, or lifetimes, or when the user asks about move semantics, references, or lifetime annotations'

DimensionReasoningScore

Specificity

Names the domain (ownership/borrow/lifetime issues) and implies actions (fixing errors), but doesn't list specific concrete actions like 'diagnose ownership transfers', 'suggest clone vs reference solutions', or 'annotate lifetime parameters'.

2 / 3

Completeness

The 'what' is partially addressed (ownership/borrow/lifetime issues) but lacks detail on specific actions. The 'when' is implied through 'Triggers:' list but lacks an explicit 'Use when...' clause explaining the selection criteria.

2 / 3

Trigger Term Quality

Excellent coverage of natural trigger terms including error codes (E0382, E0597, etc.), common error messages ('value moved', 'borrowed value does not live long enough'), Rust keywords (ownership, borrow, lifetime, 'a, 'static, move, clone, Copy), and even Chinese translations (所有权, 借用, 生命周期).

3 / 3

Distinctiveness Conflict Risk

Highly distinctive with Rust-specific error codes and terminology. The specific error codes (E0382, E0597, etc.) and Rust ownership concepts create a clear niche that wouldn't conflict with general coding or other language skills.

3 / 3

Total

10

/

12

Passed

Implementation

85%

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

This is a well-structured diagnostic skill that excels at guiding Claude through ownership error resolution with a design-thinking approach. The tables are highly efficient and the trace up/down pattern is valuable. The main weakness is the lack of concrete, executable code examples showing actual fixes for each error type.

Suggestions

Add 2-3 minimal executable Rust code examples showing before/after fixes for common errors like E0382 and E0597

In the 'Error Code Reference' table, replace 'Quick Fix' text descriptions with actual code snippets or patterns

DimensionReasoningScore

Conciseness

Extremely lean and efficient. Uses tables extensively to compress information, assumes Claude understands Rust concepts, and every section adds unique value without redundant explanation.

3 / 3

Actionability

Provides good conceptual guidance and quick reference tables, but lacks executable code examples. The 'Quick Fix' column gives directions rather than copy-paste solutions. No concrete Rust code demonstrating fixes.

2 / 3

Workflow Clarity

Clear diagnostic workflow: Error → Design Question → Thinking Prompt → Trace Up/Down. The 'Strike 3' escalation rule and trace patterns provide explicit decision points for when to change approach.

3 / 3

Progressive Disclosure

Well-organized with clear sections and a 'Related Skills' table pointing to other skills (m02-resource, m03-mutability, etc.) for deeper dives. Content is appropriately scoped for an overview skill.

3 / 3

Total

11

/

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.