Manage persistent state directories for bash scripts
68
37%
Does it follow best practices?
Impact
89%
2.96xAverage score across 6 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/bash/state-directory-manager/SKILL.mdQuality
Discovery
32%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 is too terse and lacks both specific concrete actions and explicit trigger guidance. While it identifies a reasonably distinct domain (persistent state directories for bash scripts), it fails to explain what specific operations it performs or when Claude should select it over other skills.
Suggestions
Add a 'Use when...' clause specifying trigger scenarios, e.g., 'Use when a bash script needs to persist data between runs, store temporary state, or manage working directories.'
List specific concrete actions instead of just 'manage', e.g., 'Creates, reads, cleans up, and organizes persistent state directories for bash scripts, including lock files, PID tracking, and run history.'
Include natural trigger terms users might use, such as 'script state', 'persist data', 'temp directory', 'working directory', or 'script cache'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain ('persistent state directories') and a general action ('manage'), but doesn't list specific concrete actions like creating, reading, cleaning up, or organizing state directories. | 2 / 3 |
Completeness | Provides a weak 'what' (manage persistent state directories) but completely lacks any 'when' clause or explicit trigger guidance. Per rubric guidelines, a missing 'Use when...' clause caps completeness at 2, and the 'what' is also vague enough to warrant a 1. | 1 / 3 |
Trigger Term Quality | Includes some relevant terms like 'persistent state', 'bash scripts', and 'directories', but misses common variations users might say such as 'temp files', 'script data', 'state management', 'cache directories', or 'working directories'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of 'persistent state directories' and 'bash scripts' is somewhat specific, but 'manage' is vague and could overlap with general file management or bash scripting skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides highly actionable, executable bash code for state directory management, which is its primary strength. However, it is severely bloated with duplicated patterns—the individual sections (config, state, cache, logging) are essentially repeated in the 'Complete Example' module. The content would be far more effective as a concise overview pointing to a bundled state-manager.sh file, rather than a 400+ line monolith.
Suggestions
Extract the 'Complete Example: State Manager Module' into a separate bundle file (e.g., state-manager.sh) and reference it from SKILL.md, reducing the main file to a concise overview with usage examples.
Remove the duplicated individual sections (3-6) since they repeat what the complete module already provides—or keep only the individual sections and remove the complete example.
Remove the 'When to Use This Skill' section and 'Best Practices' list, as these explain concepts Claude already understands about when state management is appropriate.
Add a validation step after state_init() (e.g., verify directories exist and have correct permissions) to improve workflow clarity for the initialization sequence.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at 400+ lines, with massive code duplication between individual sections and the 'Complete Example' which repeats nearly all the same patterns. The 'When to Use' section and 'Best Practices' list explain things Claude already knows. The same config get/set, cache get/set, and log rotation patterns appear twice. | 1 / 3 |
Actionability | All code examples are fully executable bash scripts with complete function implementations, proper error handling, and concrete usage examples. The code is copy-paste ready and covers real-world patterns including cross-platform stat compatibility. | 3 / 3 |
Workflow Clarity | The skill presents individual components clearly but lacks an explicit workflow sequence for integrating them. There's no validation checkpoint (e.g., verifying directories were created successfully, checking file permissions after init). The 'Usage in Scripts' section shows integration but without error handling or verification steps. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of code with no content split into separate files. The complete state manager module (~150 lines) should be a separate sourceable file rather than inline. There are no references to bundle files, and the content would benefit enormously from splitting the reusable module into its own file. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (690 lines); consider splitting into references/ and linking | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
fa3abd3
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.