Skill Distiller - Workflow To Reusable Skill
This skill turns a successful interaction pattern into a reusable agent skill.
It is a meta-workflow: it extracts what mattered, removes one-off details, writes a clear SKILL.md, and places it in the right skillpack or plugin structure when asked.
Activation
Use this skill for requests like:
- "make this into a skill"
- "skillify this workflow"
- "distill what we did"
- "capture this way of thinking / this mode"
- "what did you need to know before executing?"
- "make a videos/storyboard skill"
- "add this to my skillpack"
- "create a reusable Codex skill from this"
Do not use this skill for ordinary task execution unless the user wants the workflow itself captured.
Preflight
Before writing files, establish:
- skill archetype: a procedure/workflow skill (does a task) or a thinking-mode/voice skill (installs a way of reasoning). This changes the shape — see Skill Shape.
- target host: Codex, Claude Code, both, or host-agnostic
- host coupling: does the skill touch host-specific paths or tools? If not, keep it host-agnostic and add no host-selection logic — a pure-reasoning skill is agnostic by default.
- target package: existing plugin, flat skill folder, project-scoped skill, or new plugin
- skill name and namespace
- trigger phrases
- workflow scope: what this skill should do
- explicit exclusions: what this skill should not do
- the skill's own worst failure mode, and the guard built into the skill to defend against it
- required companion skills or tools
- safety boundaries: file edits, generation, web research, destructive actions
- required outputs
- what must remain general instead of project-specific
If the user is still shaping the concept, discuss foundations first. Do not rush into files.
Distillation Questions
Use these to extract the skill:
- Is the prize a procedure or a way of thinking / a voice? If the latter, the feel is the spec — capture behavior and texture, not just steps.
- What did the user repeatedly care about?
- What mistakes did earlier attempts make?
- What did the agent need to inspect before acting?
- What decisions had to be confirmed before execution?
- What outputs made the workflow useful?
- Which constraints were taste-specific, and which were generally useful?
- Which tool pairing was essential?
- What is this skill's own worst failure mode, and how can its core discipline guard against it?
- What two maximally-different cases prove this generalizes? (you need at least two — see Avoiding Overfit)
- What failure modes should future agents detect?
- Which examples help without becoming mandatory one-off rules?
Generalization Rules
Keep skills reusable.
Do:
- encode decision gates
- encode review criteria
- encode tool boundaries
- encode output formats
- encode failure diagnosis
- triangulate with two or more maximally-different worked examples (see Avoiding Overfit)
- include examples as examples, labeled as instances with the abstract procedure above them
- carry depth/provenance as "hidden bones" the agent uses but never recites at runtime
- give the skill a runtime escape hatch: when it should decline and what to do instead
- make the Quality Gate a falsifiable self-test with a redo trigger
- if the skill reads or writes a shared repo artifact (a ledger, map, or vision doc at
repo root), name the artifact and which sibling skills also touch it — wiring is part
of the skill
- include "do not use for" boundaries
- state when to ask a concise question
Do not:
- hard-code one project's frame numbers, branch names, file paths, or product copy unless the skill is project-scoped
- ship a skill with a single worked example — one point overfits
- turn a successful example into the only valid workflow
- recite a skill's "hidden bones" (academic scaffolding/provenance) to the user at runtime
- force the procedure template onto a thinking-mode skill
- bury important constraints in prose that is hard to scan
- mix unrelated workflows into one skill
- make the skill over-authoritative when the user still needs taste exploration
- install global symlinks when plugin discovery is the intended path
Avoiding Overfit — the mechanism, not just the warning
"Don't overfit" is useless as a warning by itself. Use the mechanism:
- Triangulate. Use two or more maximally-different worked examples, not one. One
example teaches the agent to memorize a point; two distant ones force it to generalize
from the delta between them. Pick cases that differ in both subject and frame
(e.g. a CLI harness reasoned about via biology AND a bug-fix orchestrator via supply-chain
logistics — different target, different source domain).
- Examples are calibration, not scope. Say so inside the skill: the examples tune the
moves and the voice — they are not the menu of allowed inputs. Put the abstract
procedure above the examples, label each one "one instance," and instruct the agent to
re-run from scratch and never default to an example's domain.
- Strip the one-off residue. Names, paths, numbers, and product copy from the source
thread come out unless the skill is explicitly project-scoped.
- Guard the skill's own failure mode. Name the worst way this skill fails, then build
the defense into the skill itself (the way a structural-analogy skill's "structural, not
surface" guard is pointed back at the skill's own analogies).
Skill Shape
First decide the archetype — it changes the shape.
Procedure / workflow skills
For skills that do a task (research, review, memory capture, migration):
---
name: <skill-name>
description: <trigger-oriented description>
---
# <Title>
<One paragraph job definition.>
## Activation
## When NOT to fire # runtime escape hatch: shapes this skill should decline + what to do instead
## Preflight
## Workflow
## Output Format
## Quality Gate # a falsifiable self-test, not just a heading (see below)
## What Not To Do
Thinking-mode / voice skills
For skills that install a way of reasoning or a conversational texture. Here the feel
is the spec — numbered steps alone cannot capture it:
---
name: <skill-name>
description: <trigger-oriented description>
---
# <Title>
<One paragraph: what the mode is and what it produces.>
## The feel — this IS the spec # behavioral/voice rules: how it talks, what it never does
## When to proc / When NOT to proc
## The loop # the moves, as a palette, not a forced march
## Worked instances # TWO+ maximally-different, labeled as instances
## Guardrails # including the skill guarding its own failure mode
## Quality gate # falsifiable: what a good run produced, else redo
## The lineage — hidden bones # provenance/rigor the agent uses but NEVER recites at runtime
Add or drop sections only for operational clarity. Two rules apply to both archetypes:
- Falsifiable Quality Gate. A gate is a test, not a heading: "a run is good only if it
produced X; a run that produced Y without X failed — redo." Always write the redo trigger.
- Guard the skill's own failure mode. Name this skill's worst way to fail, then build
the defense into the skill itself.
Placement Rules
Choose the narrowest natural home:
- Workbench: meta-agent workflows, research, memory, prompt translation, skill lifecycle, toolkit operations, reasoning/thinking modes.
- Videos: storyboard, product-launch, AI-video handoff, batching, motion preproduction.
- Agents: reusable operating modes like review, watcher, observer, closeout.
- Extra: small personal workflows that do not belong in a larger vertical.
- Project-scoped skills: workflows that depend on one repo's domain or structure.
If the user says a plugin destination, use it.
Implementation Workflow
- Inspect existing plugin or skill folder conventions.
- Draft the skill around triggers, boundaries, workflow, outputs, and failure modes.
- Create the folder and
SKILL.md with the host's file-editing tool.
- Update local README/catalog files when the repo uses them.
- Validate with
git diff --check and any host validation commands that are available.
- Leave unrelated dirty files alone.
- Report created paths and what remains for plugin refresh/install.
Update Existing Skills
When improving an existing skill:
- keep the current skill's purpose intact
- add generalized rules, not one-off examples as mandates
- preserve companion-tool requirements
- avoid bloating the skill with every past conversation detail
- place very specific provider notes in a separate skill if they are not central
Output Format
When discussing before editing:
Proposed skills:
- <name>: <purpose>
Questions before writing:
- <question>
When implementing:
Created:
- <path>
Validation:
- <command>: <result>
Notes:
- <anything not refreshed or intentionally untouched>
What Not To Do
- Do not create a skill if the user only asked for a one-time answer.
- Do not overfit a skill to the exact artifacts from one thread.
- Do not ship a skill with a single worked example — use two or more that differ in subject and frame.
- Do not force the procedure template onto a thinking-mode skill — capture its voice and feel instead.
- Do not let the agent recite a skill's "hidden bones" (provenance/scaffolding) to the user at runtime.
- Do not leave the Quality Gate as a vague heading — make it a falsifiable test with a redo trigger.
- Do not skip preflight when the target host or package is unclear.
- Do not edit memory files unless the user explicitly asks to update memory.
- Do not use destructive git commands.
- Do not touch unrelated dirty files.
1---2name: skill-distiller3description: Distill a successful chat, project workflow, repeated agent behavior, or a way of thinking into a reusable Codex or Claude skill. Use when the user wants to "skillify" a process, capture a reasoning/voice mode that just worked, create a new skill from what just worked, generalize a workflow without overfitting one project, or update a skillpack/plugin with reusable instructions.4---56# Skill Distiller - Workflow To Reusable Skill78This skill turns a successful interaction pattern into a reusable agent skill.910It is a meta-workflow: it extracts what mattered, removes one-off details, writes a clear `SKILL.md`, and places it in the right skillpack or plugin structure when asked.1112## Activation1314Use this skill for requests like:1516- "make this into a skill"17- "skillify this workflow"18- "distill what we did"19- "capture this way of thinking / this mode"20- "what did you need to know before executing?"21- "make a videos/storyboard skill"22- "add this to my skillpack"23- "create a reusable Codex skill from this"2425Do not use this skill for ordinary task execution unless the user wants the workflow itself captured.2627## Preflight2829Before writing files, establish:3031- skill archetype: a **procedure/workflow** skill (does a task) or a **thinking-mode/voice** skill (installs a way of reasoning). This changes the shape — see Skill Shape.32- target host: Codex, Claude Code, both, or host-agnostic33- host coupling: does the skill touch host-specific paths or tools? If not, keep it host-agnostic and add **no** host-selection logic — a pure-reasoning skill is agnostic by default.34- target package: existing plugin, flat skill folder, project-scoped skill, or new plugin35- skill name and namespace36- trigger phrases37- workflow scope: what this skill should do38- explicit exclusions: what this skill should not do39- the skill's own worst failure mode, and the guard built into the skill to defend against it40- required companion skills or tools41- safety boundaries: file edits, generation, web research, destructive actions42- required outputs43- what must remain general instead of project-specific4445If the user is still shaping the concept, discuss foundations first. Do not rush into files.4647## Distillation Questions4849Use these to extract the skill:5051- Is the prize a *procedure* or a *way of thinking / a voice*? If the latter, the feel is the spec — capture behavior and texture, not just steps.52- What did the user repeatedly care about?53- What mistakes did earlier attempts make?54- What did the agent need to inspect before acting?55- What decisions had to be confirmed before execution?56- What outputs made the workflow useful?57- Which constraints were taste-specific, and which were generally useful?58- Which tool pairing was essential?59- What is this skill's own worst failure mode, and how can its core discipline guard against it?60- What two maximally-different cases prove this generalizes? (you need at least two — see Avoiding Overfit)61- What failure modes should future agents detect?62- Which examples help without becoming mandatory one-off rules?6364## Generalization Rules6566Keep skills reusable.6768Do:6970- encode decision gates71- encode review criteria72- encode tool boundaries73- encode output formats74- encode failure diagnosis75- triangulate with two or more maximally-different worked examples (see Avoiding Overfit)76- include examples as examples, labeled as instances with the abstract procedure above them77- carry depth/provenance as "hidden bones" the agent uses but never recites at runtime78- give the skill a runtime escape hatch: when it should decline and what to do instead79- make the Quality Gate a falsifiable self-test with a redo trigger80- if the skill reads or writes a shared repo artifact (a ledger, map, or vision doc at81 repo root), name the artifact and which sibling skills also touch it — wiring is part82 of the skill83- include "do not use for" boundaries84- state when to ask a concise question8586Do not:8788- hard-code one project's frame numbers, branch names, file paths, or product copy unless the skill is project-scoped89- ship a skill with a single worked example — one point overfits90- turn a successful example into the only valid workflow91- recite a skill's "hidden bones" (academic scaffolding/provenance) to the user at runtime92- force the procedure template onto a thinking-mode skill93- bury important constraints in prose that is hard to scan94- mix unrelated workflows into one skill95- make the skill over-authoritative when the user still needs taste exploration96- install global symlinks when plugin discovery is the intended path9798## Avoiding Overfit — the mechanism, not just the warning99100"Don't overfit" is useless as a warning by itself. Use the mechanism:101102- **Triangulate.** Use **two or more maximally-different worked examples**, not one. One103 example teaches the agent to memorize a point; two distant ones force it to generalize104 from the *delta* between them. Pick cases that differ in both *subject* and *frame*105 (e.g. a CLI harness reasoned about via biology AND a bug-fix orchestrator via supply-chain106 logistics — different target, different source domain).107- **Examples are calibration, not scope.** Say so inside the skill: the examples tune the108 *moves and the voice* — they are **not** the menu of allowed inputs. Put the abstract109 procedure *above* the examples, label each one "one instance," and instruct the agent to110 re-run from scratch and never default to an example's domain.111- **Strip the one-off residue.** Names, paths, numbers, and product copy from the source112 thread come out unless the skill is explicitly project-scoped.113- **Guard the skill's own failure mode.** Name the worst way *this* skill fails, then build114 the defense into the skill itself (the way a structural-analogy skill's "structural, not115 surface" guard is pointed back at the skill's own analogies).116117## Skill Shape118119First decide the **archetype** — it changes the shape.120121### Procedure / workflow skills122123For skills that *do a task* (research, review, memory capture, migration):124125```text126---127name: <skill-name>128description: <trigger-oriented description>129---130131# <Title>132133<One paragraph job definition.>134135## Activation136## When NOT to fire # runtime escape hatch: shapes this skill should decline + what to do instead137## Preflight138## Workflow139## Output Format140## Quality Gate # a falsifiable self-test, not just a heading (see below)141## What Not To Do142```143144### Thinking-mode / voice skills145146For skills that install a *way of reasoning or a conversational texture*. Here the **feel147is the spec** — numbered steps alone cannot capture it:148149```text150---151name: <skill-name>152description: <trigger-oriented description>153---154155# <Title>156157<One paragraph: what the mode is and what it produces.>158159## The feel — this IS the spec # behavioral/voice rules: how it talks, what it never does160## When to proc / When NOT to proc161## The loop # the moves, as a palette, not a forced march162## Worked instances # TWO+ maximally-different, labeled as instances163## Guardrails # including the skill guarding its own failure mode164## Quality gate # falsifiable: what a good run produced, else redo165## The lineage — hidden bones # provenance/rigor the agent uses but NEVER recites at runtime166```167168Add or drop sections only for operational clarity. Two rules apply to **both** archetypes:169170- **Falsifiable Quality Gate.** A gate is a test, not a heading: *"a run is good only if it171 produced X; a run that produced Y without X failed — redo."* Always write the redo trigger.172- **Guard the skill's own failure mode.** Name this skill's worst way to fail, then build173 the defense into the skill itself.174175## Placement Rules176177Choose the narrowest natural home:178179- Workbench: meta-agent workflows, research, memory, prompt translation, skill lifecycle, toolkit operations, reasoning/thinking modes.180- Videos: storyboard, product-launch, AI-video handoff, batching, motion preproduction.181- Agents: reusable operating modes like review, watcher, observer, closeout.182- Extra: small personal workflows that do not belong in a larger vertical.183- Project-scoped skills: workflows that depend on one repo's domain or structure.184185If the user says a plugin destination, use it.186187## Implementation Workflow1881891. Inspect existing plugin or skill folder conventions.1902. Draft the skill around triggers, boundaries, workflow, outputs, and failure modes.1913. Create the folder and `SKILL.md` with the host's file-editing tool.1924. Update local README/catalog files when the repo uses them.1935. Validate with `git diff --check` and any host validation commands that are available.1946. Leave unrelated dirty files alone.1957. Report created paths and what remains for plugin refresh/install.196197## Update Existing Skills198199When improving an existing skill:200201- keep the current skill's purpose intact202- add generalized rules, not one-off examples as mandates203- preserve companion-tool requirements204- avoid bloating the skill with every past conversation detail205- place very specific provider notes in a separate skill if they are not central206207## Output Format208209When discussing before editing:210211```text212Proposed skills:213- <name>: <purpose>214215Questions before writing:216- <question>217```218219When implementing:220221```text222Created:223- <path>224225Validation:226- <command>: <result>227228Notes:229- <anything not refreshed or intentionally untouched>230```231232## What Not To Do233234- Do not create a skill if the user only asked for a one-time answer.235- Do not overfit a skill to the exact artifacts from one thread.236- Do not ship a skill with a single worked example — use two or more that differ in subject and frame.237- Do not force the procedure template onto a thinking-mode skill — capture its voice and feel instead.238- Do not let the agent recite a skill's "hidden bones" (provenance/scaffolding) to the user at runtime.239- Do not leave the Quality Gate as a vague heading — make it a falsifiable test with a redo trigger.240- Do not skip preflight when the target host or package is unclear.241- Do not edit memory files unless the user explicitly asks to update memory.242- Do not use destructive git commands.243- Do not touch unrelated dirty files.