Manage persistent state directories for bash scripts
68
37%
Does it follow best practices?
Impact
89%
2.96xAverage score across 6 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./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 niche (persistent state for bash scripts), it fails to explain what specific operations it performs or when Claude should select it. The single verb 'manage' does not convey enough information for skill selection among many candidates.
Suggestions
Add a 'Use when...' clause specifying trigger scenarios, e.g., 'Use when a bash script needs to persist data between runs, store runtime state, or manage temporary working directories.'
List specific concrete actions instead of just 'manage', e.g., 'Creates, reads, updates, and cleans up 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', 'stateful bash'.
| 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, warranting 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 storage', 'state management', or 'cache directories'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of 'persistent state directories' and 'bash scripts' is somewhat specific, but 'manage' is vague enough that it 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 code—each capability is shown individually and then repeated in a combined module. The lack of progressive disclosure (everything inline, no file references) and missing validation steps for filesystem operations further weaken the skill.
Suggestions
Extract the 'Complete Example: State Manager Module' into a separate file (e.g., state-manager.sh) and reference it from SKILL.md, keeping only a brief overview and usage example inline.
Remove the individual capability sections (3-6) since they duplicate the complete module, or keep only brief snippets showing key patterns with a pointer to the full module.
Remove the 'When to Use This Skill' section and best practices list—these are obvious to Claude and waste tokens.
Add validation checkpoints: verify directory creation succeeded (check exit codes), validate config file format after writes, and handle errors from state_init.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~400+ lines. Massive code duplication between individual sections and the 'Complete Example' which repeats nearly all the same patterns. The config get/set, state get/set, cache, and log functions are shown twice with minor variations. Claude doesn't need the 'When to Use' / 'Avoid when' section or best practices like 'Initialize Early'. | 1 / 3 |
Actionability | All code is fully executable bash with complete function implementations, proper error handling, and a clear usage example showing how to source and use the module. Copy-paste ready throughout. | 3 / 3 |
Workflow Clarity | The usage section shows a clear sequence (set app name → source → use), but there are no validation checkpoints. No guidance on verifying directory creation succeeded, no error handling for failed init, and no verification steps after state operations. For file system operations that could fail, this is a gap. | 2 / 3 |
Progressive Disclosure | Monolithic wall of code with no references to external files. The individual capability sections (config, state, cache, logs) are all inlined and then duplicated in the complete example. This content would benefit enormously from splitting the complete module into a separate file and keeping SKILL.md as an overview with quick examples. | 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 | |
3dd3ac0
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.