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 模式
51
56%
Does it follow best practices?
Impact
—
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
62%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description excels at trigger term coverage with extensive Rust-specific keywords and multilingual support, making it highly distinctive. However, it critically lacks any description of what the skill actually does—there are no concrete actions or capabilities listed. It reads as a keyword index rather than a skill description.
Suggestions
Add concrete action descriptions before the keywords, e.g., 'Guides implementation of RAII patterns, designs connection pools with proper cleanup, implements lazy initialization using OnceCell/OnceLock, and creates scope guards for error-safe resource management.'
Restructure to separate 'what it does' from 'when to use it', e.g., start with capability verbs (Implements, Designs, Explains) followed by the 'Use when...' clause and keywords.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description says 'Use when designing resource lifecycles' but does not list any concrete actions the skill performs. There are no verbs describing what the skill actually does (e.g., 'implements RAII patterns', 'designs connection pools'). It's essentially a keyword dump with no capability description. | 1 / 3 |
Completeness | It has a 'Use when' clause ('Use when designing resource lifecycles') and keywords, but the 'what does this do' part is essentially absent. There is no description of what actions or outputs the skill provides, only when to trigger it and relevant keywords. | 2 / 3 |
Trigger Term Quality | The description includes an extensive list of natural keywords users would say: 'RAII', 'Drop', 'connection pool', 'lazy initialization', 'cleanup', 'OnceCell', 'OnceLock', 'guard pattern', 'scope guard', and even Chinese equivalents. These cover many variations a user might naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | The keywords are highly specific to Rust resource lifecycle patterns (RAII, Drop, OnceCell, OnceLock, once_cell). This is a clear niche that is unlikely to conflict with other skills, as the terminology is very domain-specific. | 3 / 3 |
Total | 9 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides a solid conceptual framework for resource lifecycle patterns in Rust with good use of tables for quick reference and two concrete code examples. However, it leans more toward a decision-making guide than an actionable implementation reference—key patterns like connection pooling and transaction scoping lack code examples, and there are no validation/verification steps. The content has some redundancy between tables and would benefit from more executable examples and fewer abstract navigation sections.
Suggestions
Add executable code examples for the Pool and Scope/Transaction patterns, which are key use cases mentioned in the skill description but lack concrete implementation
Remove the duplicate Quick Reference table or merge it with the Lifecycle Pattern → Implementation table to reduce redundancy
Add a validation/verification section showing how to detect resource leaks or verify Drop is being called correctly (e.g., using tracing, RAII test patterns, or drop flags)
Consider condensing or removing the Trace Up/Down sections since the referenced files aren't available and the navigation adds abstract overhead without actionable value in isolation
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Generally efficient with good use of tables, but there's some redundancy—the Quick Reference table largely duplicates the Lifecycle Pattern → Implementation table at the top. The 'Trace Up/Trace Down' sections add navigational overhead that may not be necessary for Claude. The thinking prompt section, while useful, borders on explaining decision-making Claude could infer. | 2 / 3 |
Actionability | The two code examples (RAII Guard and Lazy Singleton) are concrete and executable, which is good. However, the pool pattern and scope/transaction pattern lack code examples despite being key use cases mentioned in the description. The 'Thinking Prompt' and 'Trace Up/Down' sections are abstract guidance rather than concrete implementation steps. | 2 / 3 |
Workflow Clarity | The thinking prompt provides a decision tree for choosing patterns, which is helpful. However, there are no validation checkpoints or feedback loops for implementing these patterns. For resource lifecycle management—which involves cleanup on error and can be destructive—the lack of verification steps (e.g., how to verify Drop is being called, how to detect resource leaks) is a gap. | 2 / 3 |
Progressive Disclosure | The skill references related skills (m02-resource, m07-concurrency, etc.) which suggests a broader bundle structure, but no bundle files are provided. The content is reasonably organized with clear sections, but the Trace Up/Down sections create a navigation pattern that can't be verified without the referenced files. Some content (like the duplicate tables) could be better organized. | 2 / 3 |
Total | 8 / 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 | |
fa60f79
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.