Skills are living specs that need continuous iteration. This methodology covers the full lifecycle: auto-detection → candidate logging → scaffolding → change management → downstream composition.
data/candidates.md when threshold exceeded, injects one prompt (~30 tokens)Default threshold: 15. Override: SKILL_CANDIDATE_THRESHOLD=20
Auto-written to data/candidates.md:
markdown
## 2026-05-03 | 23 calls | 6 tool types
- **Session:** abc123
- **Tools:** Bash,Edit,Write,Agent,WebFetch,Read
- **Status:** pending
When invoked directly, read candidates.md and for each pending entry:
Before creating a new skill, check for duplicates:
~/.claude/skills/*/SKILL.md frontmatter (name + description)templates/SKILL.template.mdtext
~/.claude/skills/[new-skill-name]/
├── SKILL.md # Generated from template, pre-filled with steps
└── CHANGE.md # Empty, ready for proposals
TierCriteriaProcessPatchWon't surprise users (wording, typo, edge case)Direct edit + git commitProposalChanges behavior (add/remove steps, reorder, change logic)CHANGE.md → user review
Rule of thumb: If someone using this skill would say "wait, what?" — it needs a proposal.
markdown
## #001 - [Title]
- **Status:** proposed | accepted | rejected | implemented
- **Date:** 2026-05-03
- **Trigger:** What scenario triggered this change
- **Proposal:** What to change + why
- **Breaking?:** yes/no
markdown
## Next Steps
- **If [specific condition]**: invoke [skill-name] — [one-line reason]
- **If [other condition]**: invoke [another-skill] — [reason]
data/chains.md records input/output relationships between skills:
text
[publisher-matcher] --{matched list}--> [publisher-review]
[publisher-review] --{confirmed list}--> [email-generator]
[email-generator] --{email content}--> [mail-send-batch]
After a skill completes, check chains.md for downstream → suggest to user.
PhaseTriggerToken costOutputDetectionEvery session (auto)0 (shell)data/candidates.mdScaffoldUser confirms candidateOn-demandNew skill directoryChangeIssue found during use0CHANGE.md or direct commitCompositionAfter skill executionOn-demandNext Steps / chains.md