Manage persistent state directories for bash scripts
70
41%
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 ./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 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 with trigger terms like 'persist data between script runs', 'store script state', 'state directory for bash', or 'save/load script variables'.
Replace the vague 'manage' with specific actions such as 'Create, read, update, and clean up persistent state directories for bash scripts, including storing variables, tracking execution history, and managing lock files'.
Include common user-facing keywords and file patterns users might mention, such as '/tmp', '.state', 'stateful bash', or 'script persistence'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain ('persistent state directories') and a general action ('manage'), but doesn't list specific concrete actions like create, read, update, delete, or clean up state files. | 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' itself is also vague, warranting a 1. | 1 / 3 |
Trigger Term Quality | Includes some relevant terms like 'bash scripts', 'persistent state', and 'directories', but misses common variations users might say such as 'save state', 'temp files', 'script data storage', 'stateful scripts', or 'cache directory'. | 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
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 highly actionable, executable bash code for state directory management, which is its primary strength. However, it is severely bloated—repeating the same patterns multiple times across individual sections and then again in a 'complete example' that consolidates them. The content would be far more effective at roughly one-third its current length, presenting only the complete module with brief usage examples.
Suggestions
Eliminate the individual capability sections (3-6) and keep only the Complete Example module with the Usage section—this removes massive duplication while preserving all functionality.
Remove the 'When to Use This Skill' section and best practices list—Claude can infer when state management is appropriate and these bash conventions are well-known.
Add a validation step or confirmation prompt to the state_reset function since it performs rm -rf on the entire state directory.
Move the XDG vs home-directory pattern comparison to a brief note (2-3 lines) rather than two full code blocks showing nearly identical directory initialization.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at 400+ lines. The same patterns (config get/set, cache get/set, state get/set) are repeated three times: once in individual sections, once in the 'Complete Example' module, and again in usage. Claude already knows bash patterns, key-value file operations, and log rotation. The 'When to Use' section and best practices are largely unnecessary filler. | 1 / 3 |
Actionability | All code examples are fully executable bash scripts with proper variable declarations, function definitions, and usage examples. The complete state manager module is copy-paste ready and the usage section shows exactly how to source and use it. | 3 / 3 |
Workflow Clarity | The individual components are clear, but there's no explicit validation or error handling workflow. For operations like state_reset (which is destructive via rm -rf), there's no confirmation or validation step. The initialization flow is implicit via auto-initialize rather than explicitly sequenced. | 2 / 3 |
Progressive Disclosure | Content is structured with headers and sections, but everything is inline in one massive file. The individual capability sections (config, state, cache, logging) could be referenced as separate files. The complete example module essentially duplicates all prior sections, which is the opposite of progressive disclosure. | 2 / 3 |
Total | 8 / 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 | |
6770aaa
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.