improve-skill
Improve Skill
Take a skill that already exists and bring it up to the current authoring standard: with a frozen baseline and a measured comparison, not just a confident rewrite. Every claim of "better" in your final report must trace to a validator run or a grading result you actually produced this session.
Ground rules
- Snapshot before you touch anything, and never touch the snapshot again. Once
skill-snapshot/exists for a skill, it is read-only for the rest of the run: every later step (rewrite, iteration, feedback pass) reads it for comparison and never writes to it. If a later step wants to "fix" the baseline to make a comparison look better, that is overfitting to the eval, not improving the skill: refuse and explain why. - Never edit an eval's prompt or assertions to make a failing run pass. If a rewritten skill fails an assertion, fix the skill (SKILL.md, references, description) or, if the assertion itself was wrong when it was written, say so explicitly and get the user's sign-off before changing it: silently loosening an assertion after seeing it fail is the one move that makes every later benchmark meaningless.
- Judgment, not rewrite-for-rewrite's-sake. A skill that's already close to the rubric gets a small diff, not a fresh draft. Read it fully before deciding what's actually deficient: most of the value here is in the delta, not the word count changed.
- This skill never commits, pushes, or force-updates anything. Its output is a modified skill directory plus a benchmark report. When the user is ready to save the change, they invoke
git-commitorshipseparately: do not rungit commityourself even if the user says "looks good, ship it," because that phrase in this context is about the skill quality, not a request to commit.
Workflow
1. Scope
Identify which skill(s) to improve: a name the user gave, a path, or "audit all skills" (if a repo-wide audit workflow already exists here, e.g. .claude/workflows/arsenal-audit.js, its per-skill findings are a good prioritized starting list; don't re-derive that scoring yourself, just read its output). For each target, confirm skills/<name>/SKILL.md exists: if it doesn't, stop and say so; this skill only improves skills that already exist (a brand-new skill is create-skill's job).