This skill turns something you just figured out the hard way into a reusable Agent Skill, so the next session — yours or a teammate's — starts already knowing the proven route instead of rediscovering it from scratch.
It is a meta-skill: it doesn't do the work, it captures how work got done.
It's tool-neutral — it works with any agent that reads the Agent Skills format
(e.g. Claude Code and Codex, which both load SKILL.md skills natively). Where a
step differs by tool, the generic version comes first and any tool-specific
detail is only an example.
Watch for these signals during normal work. Any one of them is a cue to harvest:
Act on the cue immediately — don't ask for permission first, whether the user requested it or you noticed it yourself. Harvest the skill, then tell the user what you captured and where (step 5). They can always edit or delete it.
Not every lesson deserves a whole skill — triage first, so you don't bloat the skills list with one-liners:
MEMORY.md index), record it there instead; a whole skill is overkill for
a one-liner. With no such facility, make a small skill.When you do harvest, capture the failures too, not just the win: the approaches you ruled out and why often save more time next session than the golden path itself.
A skill is authoritative — the next session trusts it without re-deriving it — so hold promotion to a high bar. Only write a skill when all three hold:
If any is missing, it isn't a skill yet — leave a tentative note in memory (marked unverified) or skip it. This keeps confident guesses out of the skill set.
name..claude/skills + ~/.claude/skills, Codex
.codex/skills + ~/.codex/skills, or your tool's equivalent). Also
glance at any memory/notes index — a fact already there may just need a
pointer..claude/skills/,
.codex/skills/): the path is specific to THIS codebase — its env vars, its
build/release steps, its schema, its quirks. Most harvested operational skills
are project-scoped, and they ship to the team via git.~/.claude/skills/,
~/.codex/skills/): the path generalizes across projects — a personal tool, a
cross-repo habit, or a workflow tied to your machine rather than to one repo.When unsure, prefer project — an over-shared global skill triggers in repos where its commands don't apply.
Whoever writes the skill needs THIS conversation's context — it's the only place the golden path lives. Two equally valid ways to run it:
context: fork. Codex and others spawn subagents
their own way.) Don't hand it to a fresh agent with no context — it would
start blank with nothing to extract.Either way it over-reaches by default, so box it in tightly. Follow this brief (fill in the bracketed parts) — hand it to the subagent, or work through it yourself inline:
You are harvesting a skill. Your ONLY job is to write a new Agent Skill capturing the golden path we just worked out in this conversation: [one-line description of the workflow].
Hard rules:
- Write ONLY under
[skills dir]/[skill-name]/. Do NOT modify project source, run builds, install anything, or resume the original task.- First read
[this-skill-dir]/references/skill-authoring.mdand[this-skill-dir]/assets/SKILL.template.md, then authorSKILL.mdto that spec, plus anyreferences/orassets/files the procedure warrants.- Capture the PROCEDURE — commands, paths, the required order, gotchas — not a one-off answer. Generalize so it works next time.
- Capture the FAILURES too: the approaches we ruled out and why, so the next session skips the dead-ends. Put them in a "What didn't work" section.
- Enforce the promotion rule: the skill must record the passing check that verified this path, name the failure pattern it addresses, and list at least one ruled-out dead-end. If any is missing (e.g. nothing was actually verified), STOP and report it isn't promotable — leave a tentative memory note instead of writing the skill.
- NEVER write secret VALUES (passwords, tokens, connection strings, API keys). Record only WHERE to find them: the env var name, the selector function, the MCP tool, the secret manager. Reproducing a secret into a skill file leaks it.
- Self-validate before finishing (see the checklist in skill-authoring.md).
- Report back: the absolute path you wrote and a one-line summary. Then STOP — do not pick the original task back up.
name must equal the directory name, and be lowercase a-z/0-9/hyphens
only — no leading, trailing, or doubled hyphens. A mismatch means the skill
won't load.references/skill-authoring.md.SKILL.md tight (< 500 lines, < ~5000 tokens). Push detail into
references/ and tell the reader when to load each file.For the full authoring spec, see references/skill-authoring.md. The fill-in template is assets/SKILL.template.md.