skill-stocktake
Use when auditing Claude skills and commands for quality. Supports Quick Scan (changed skills only) and Full Stocktake modes with sequential subagent batch evaluation.
Security Assessment
About skill-stocktake
skill-stocktake is a slash command (/skill-stocktake) that audits all Claude skills and commands for quality using a checklist plus holistic AI judgment. It solves the problem of skill sprawl: over time skills accumulate, overlap, go stale, or duplicate content in MEMORY.md or CLAUDE.md, and this skill systematically reviews them and recommends what to keep, improve, update, retire, or merge. It targets ~/.claude/skills/ (global) and {cwd}/.claude/skills/ (project-level), and at the start of Phase 1 it explicitly lists which paths were found and scanned.
The command runs in two modes. Quick Scan (the default when results.json exists, 5-10 min) re-evaluates only skills changed since the last run, using bundled scripts scripts/quick-diff.sh, then carries forward unchanged skills and saves via scripts/save-results.sh. Full Stocktake (when results.json is absent or /skill-stocktake full, 20-30 min) runs four phases: Phase 1 inventory via scripts/scan.sh (enumerating files, extracting frontmatter, collecting UTC mtimes), Phase 2 quality evaluation that launches a general-purpose Agent subagent to score each skill against a checklist and return per-skill JSON with a verdict of Keep, Improve, Update, Retire, or Merge into [X], Phase 3 a summary table, and Phase 4 consolidation where Retire and Merge actions require explicit user confirmation. It processes about 20 skills per subagent invocation, saves intermediate results with status in_progress, and supports resume detection. The results cache lives at ~/.claude/skills/skill-stocktake/results.json with a defined schema including evaluated_at set to actual UTC time.
Target users are people who maintain a library of Claude skills and commands and want periodic quality control. The evaluation is deliberately blind and origin-agnostic (ECC, self-authored, or auto-extracted all use the same checklist), emphasizes self-contained, decision-enabling reason fields, and requires explicit user confirmation before any archive or delete operation. It also checks MEMORY.md line count and proposes compression if it exceeds 100 lines.
FAQ
What is the difference between Quick Scan and Full Stocktake?
Quick Scan (default when results.json exists, 5-10 min) re-evaluates only skills changed since the last run using quick-diff.sh and carries forward unchanged skills. Full Stocktake (when results.json is absent or via /skill-stocktake full, 20-30 min) runs the complete four-phase review of all skills.
What paths does it scan?
It targets ~/.claude/skills/ (global skills for all projects) and {cwd}/.claude/skills/ (project-level skills, if that directory exists). To include project skills, run it from that project's root; if there is no .claude/skills directory, only global skills and commands are evaluated.
What verdicts can a skill receive?
Keep (useful and current), Improve (worth keeping but needs specific changes), Update (referenced technology is outdated, verified with WebSearch), Retire (low quality, stale, or cost-asymmetric), or Merge into [X] (substantial overlap with a named target skill).
Where are results stored and what happens if a run is interrupted?
Results are cached at ~/.claude/skills/skill-stocktake/results.json. Intermediate results are saved with status in_progress after each chunk (~20 skills), and on startup, if status is in_progress, the command resumes from the first unevaluated skill.
Does it delete or archive skills automatically?
No. Archive and delete operations always require explicit user confirmation. For Retire and Merge, it presents detailed justification per file before confirming with the user.
Install skill-stocktake
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
affaan-m/everything-claude-code