| name | wrap-up-self-improve |
| description | End-of-session skill that reflects on what happened, identifies skill gaps and friction points, and proposes concrete improvements to the skills that were used. Edits skill files directly — tracing global skills back to their source repo via embedded provenance comments. Use when the user says "wrap up", "improve our skills", "self-improve", or at the end of any session that involved repeated manual patterns, corrections, or skill underperformance.
|
Wrap-Up Self-Improve
At the end of a session, reflect on what happened, identify where skills fell short, and apply
targeted improvements to those skills — editing them at their source.
Phase 1 — Collect Context
Ask the user:
"What did we work on this session? Which skills were used (if any)? Were there any frictions —
steps you had to repeat, corrections you gave, manual work that felt automatable?"
Also infer from the visible conversation (limit to the last 20 messages and files modified this session via git diff --name-only HEAD):
- Repeated user corrections ("do X again", "you missed Y", "no, not that")
- Steps that were done manually despite a skill claiming to handle them
- Ambiguous or missing skill steps that required extra prompting
Phase 2 — Reflection Summary
Produce this block before proceeding:
Goal:
Outcome:
Skills used:
Frictions:
Automation opportunities:
Keep it brief — the point is to surface signal, not write an essay.
If both Frictions and Automation opportunities are empty, report "No improvements identified for this session" and stop.
Phase 3 — Map Frictions to Skill Files
For each friction, determine:
- Which skill should have handled this? Check:
~/.claude/skills/ — global skills
~/.claude/commands/ — global commands
~/.claude/agents/ — global agents
.claude/skills/, .claude/commands/ in the current repo — local skills
- Was the skill missing, unclear, or incomplete?
- Missing → propose creating a new micro-skill, but only if the same pattern required re-prompting in 2+ steps this session, or the user explicitly said "this keeps coming up"
- Unclear/incomplete → propose targeted edits
Phase 4 — Resolve Source Path
For each skill file identified:
- Read the last line of the installed file.
- If it matches
<!-- dave-tools-source: <path> -->:
- The canonical source is
<path> (in the dave-tools repo).
- Edit
<path> — never the installed copy.
- If
<path> does not exist on disk, warn the user and skip.
- If no provenance comment:
- It is a repo-local skill — edit it in place.
Phase 5 — Propose and Apply Improvements
For each skill in scope, generate targeted edits. See
references/skill-improvement-patterns.md for heuristics on what to change and how.
Format each proposal as:
Skill: <name>
File: <resolved path>
Change: <one-line summary>
--- OLD ---
<existing text>
--- NEW ---
<replacement text>
Present the full bundle before writing anything. Ask the user to approve, modify, or reject
each change. Apply approved changes using the Edit tool on the resolved source path.
For new micro-skills, scaffold using init_skill.py first.
If the skill belongs to dave-tools (will be installed globally):
REPO_ROOT=$(git rev-parse --show-toplevel)
uv run $REPO_ROOT/agent-config/skills/skill-creator/scripts/init_skill.py <skill-name> \
--path $REPO_ROOT/agent-config/skills
Place the skill under agent-config/skills/<name>/ — it will receive a provenance comment on next task install.
If the skill is repo-local (current project only):
uv run ~/.claude/skills/skill-creator/scripts/init_skill.py <skill-name> \
--path .claude/skills
Place the skill under .claude/skills/<name>/ in the current repo.
Constraints
- Never edit an installed copy of a global skill — always the provenance source path.
- Never delete content without summarising it elsewhere.
- Prefer surgical edits over rewrites unless the skill is fundamentally broken.
- After editing global skills, remind the user: run
task install in dave-tools to redeploy.