skill-improver
Iterate on an existing skill using recorded user corrections.
Inputs
$ARGUMENTS— the target skill's directory basename (e.g.python,skill-creator-lang). If missing, ask the user once which skill to iterate on, then proceed.- The improvement-memory JSONL at
${XDG_STATE_HOME:-$HOME/.local/state}/jylhis-skills/improvement-memory.jsonl. If the file does not exist, report "no recorded corrections yet" and stop — there is nothing to iterate on.
Steps
Resolve the target. Confirm the skill exists on disk under
skills/<category>/<name>/SKILL.mdor.claude/skills/<name>/SKILL.md. If the name is ambiguous (e.g.gitlabmatches both an umbrella and nothing else), pick the on-disk match; if no match, surface the typo and stop.Filter the JSONL by
skill == <target>. Example:jq -c 'select(.skill == "python")' \ "${XDG_STATE_HOME:-$HOME/.local/state}/jylhis-skills/improvement-memory.jsonl"Bucket by
category. Report counts across the five enum values (behavior,scope,trigger,output_format,other). A one-line summary is enough — the full entries appear under each proposed edit in step 6.For the top 3 categories by count, propose concrete
SKILL.mdedits. Each proposal must name one of:- a new gotcha to add (gotchas live in
SKILL.md, not references, so the agent sees them before triggering); - a scope clarification (what the skill does / does NOT cover);
- a description tweak (re-trigger the skill on the right phrases);
- an output-template change (the format the agent should emit).
Quote 1–2 entries verbatim under each proposal so the user can audit the inference.
- a new gotcha to add (gotchas live in
If proposed edits change the trigger surface (the
description:block, or new trigger phrases in the body), suggest re-runningevals/suites/<skill>/if it exists, and linkevals/README.mdfor the harness recipe.Output. Emit an edit plan as a numbered list, each item accompanied by the JSONL entries that triggered it. Do NOT apply edits without explicit user confirmation — this skill is advisory.
Limits
- This meta-skill lives under
.claude/skills/, so Claude Code auto-loads it when this repo is open; it is not shipped via any published plugin (.claude/is excluded frominstall.sh), so it stays a repo-development skill only. The user-facing JSONL append path is the/remember-correctionslash command (shipped byjylhis-skills-core) andAGENTS.md § Recording corrections. - This skill is advisory: it never edits
SKILL.mdfiles directly. The user decides which proposals to apply. - The JSONL is host-private. Do not paste entries into shared diffs, PRs, or chat without the user's confirmation.
References
.claude/skills/skill-improver/references/schema.md— JSONL schema v1.docs/skill-authoring-guide.md§ Patterns — gotchas, templates, validation loops; the shapes a proposed edit should slot into.