Use when designing resource lifecycles. Keywords: RAII, Drop, resource lifecycle, connection pool, lazy initialization, connection pool design, resource cleanup patterns, cleanup, scope, OnceCell, Lazy, once_cell, OnceLock, transaction, session management, when is Drop called, cleanup on error, guard pattern, scope guard, 资源生命周期, 连接池, 惰性初始化, 资源清理, RAII 模式
72
66%
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/m12-lifecycle/SKILL.mdQuality
Discovery
44%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 is essentially a keyword dump with no actual description of capabilities. While it excels at trigger term coverage and distinctiveness through Rust-specific terminology, it completely fails to explain what the skill does or what actions it can perform. A user or Claude cannot understand the skill's purpose beyond 'something about Rust resource lifecycles'.
Suggestions
Add concrete actions describing what the skill does, e.g., 'Explains and implements RAII patterns, Drop trait implementations, connection pool designs, and lazy initialization using OnceCell/OnceLock in Rust.'
Structure the description with a clear 'what' section before the 'Use when' clause, following the pattern: '[Capabilities]. Use when [triggers].'
Convert the keyword list into natural prose that describes capabilities, keeping key terms but embedding them in actionable context.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lacks concrete actions entirely. It only says 'Use when designing resource lifecycles' without describing what the skill actually does - no verbs like 'implements', 'generates', 'explains', or specific capabilities are mentioned. | 1 / 3 |
Completeness | The description answers 'when' with trigger keywords but completely fails to answer 'what does this do'. There is no explanation of the skill's capabilities, outputs, or how it helps the user - it's essentially just a keyword list. | 1 / 3 |
Trigger Term Quality | Excellent coverage of natural keywords including technical terms (RAII, Drop, OnceCell, OnceLock), common phrases users would say ('when is Drop called', 'cleanup on error'), file/crate names (once_cell), and even Chinese translations for international users. | 3 / 3 |
Distinctiveness Conflict Risk | The description is highly distinctive with Rust-specific terminology (Drop, OnceCell, OnceLock, once_cell crate) that clearly identifies this as a Rust resource management skill, unlikely to conflict with general programming or other language skills. | 3 / 3 |
Total | 8 / 12 Passed |
Implementation
87%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a high-quality design-level skill that efficiently covers resource lifecycle patterns in Rust. It excels at conciseness through extensive table usage and provides actionable code examples. The main weakness is the lack of explicit step-by-step workflows with validation checkpoints for implementing these patterns, though this is partially mitigated by the decision-tree 'Thinking Prompt' section.
Suggestions
Add a brief workflow section showing the sequence for implementing a new lifecycle pattern (e.g., '1. Identify scope → 2. Choose pattern → 3. Implement → 4. Verify Drop is called')
Include a validation checkpoint example, such as how to verify Drop is being called correctly (e.g., logging in Drop or using RUST_LOG)
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely lean and efficient. Uses tables extensively to compress information, no unnecessary explanations of concepts Claude would know, every section earns its place with actionable content. | 3 / 3 |
Actionability | Provides executable Rust code examples (RAII Guard, Lazy Singleton), specific type names (OnceLock, LazyLock, r2d2, deadpool), and concrete error codes (E0509) with fixes. Copy-paste ready patterns. | 3 / 3 |
Workflow Clarity | The 'Thinking Prompt' section provides a decision sequence, but lacks explicit validation checkpoints. The trace up/down sections show navigation but don't provide step-by-step workflows with verification for implementing lifecycle patterns. | 2 / 3 |
Progressive Disclosure | Well-structured with clear sections, tables for quick reference, and explicit 'Related Skills' section pointing to other modules (m02-resource, m07-concurrency, etc.) for deeper dives. One-level-deep references clearly signaled. | 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.