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, 所有权, 借用, 生命周期
82
78%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/m01-ownership/SKILL.mdQuality
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, error messages, and multilingual keywords, making it highly discoverable. However, it lacks explicit actions describing what the skill actually does beyond 'use for issues' and would benefit from a formal 'Use when...' clause to clarify selection criteria.
Suggestions
Add specific concrete actions like 'Diagnoses ownership errors, suggests fixes using references/clones/lifetimes, refactors code to satisfy the borrow checker'
Add an explicit 'Use when...' clause such as 'Use when the user encounters Rust compiler errors related to ownership, borrowing, or lifetimes, or asks for help understanding move semantics'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (ownership/borrow/lifetime issues) and implies actions (fixing errors), but doesn't list specific concrete actions like 'diagnose ownership errors', 'suggest clone vs reference solutions', or 'refactor lifetime annotations'. | 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 specific 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 other 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, concise skill that effectively guides diagnostic thinking for Rust ownership errors. Its strength is the design-oriented approach (asking 'why' before fixing) and clear trace paths. The main weakness is the lack of concrete, executable code examples showing how to actually fix each error type.
Suggestions
Add 2-3 concrete before/after code examples for the most common errors (E0382, E0597) showing the actual fix, not just the direction
Include at least one complete executable snippet demonstrating a common ownership pattern transformation (e.g., moving from clone() to proper borrowing)
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely lean and efficient. Uses tables extensively to compress information, avoids explaining basic Rust concepts Claude already knows, and every section adds actionable value without padding. | 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. For a skill about fixing compiler errors, concrete code snippets showing before/after would significantly improve actionability. | 2 / 3 |
Workflow Clarity | Clear diagnostic workflow: Error → Design Question → Thinking Prompt → Trace Up/Down. The 'Strike 3' escalation rule and explicit trace paths provide good feedback loops for persistent errors. | 3 / 3 |
Progressive Disclosure | Well-organized with clear sections and appropriate cross-references to related skills (m02-resource, m03-mutability, etc.). Content is appropriately scoped for a SKILL.md overview with one-level-deep references. | 3 / 3 |
Total | 11 / 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 |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
1f4becd
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.