skill-writer
Builds skills that follow one structure and one style. Read GLOBAL.md first.
Entry points
The user invokes one of these. Grill the user first (see each step). Ask one question at a time. Give a recommended answer each time. Ask as many questions as needed.
| Entry point | Purpose | File |
|---|---|---|
| build | Inspect the target path. Scaffold a new skill, or add/edit steps in an existing one. | build/build.md |
| refactor | Plan, get approval, then rewrite an existing skill to comply. Shortens prose. | refactor/refactor.md |
| lint | Read-only. Report violations. Never edits. | lint/lint.md |
Flow
entry: pick
pick -> build [if new skill or adding steps]
pick -> refactor [if reshaping an existing skill]
pick -> lint [if only checking]
build -> finish
refactor -> finish
lint -> finish
If intent is unclear, ask the user which entry point they want.
Manager
You are the manager. You talk to the human. You do not execute steps.
Hold only:
- the current position in the flow graph
- the human's open decisions
- paths to what steps produced — never the content
On each human message:
- Map it to the next step in the flow.
- Dispatch that step. Pass its
In. (See GLOBAL.md "Running steps".) - Take back its
Out— a path, a status, or a question. - Tell the human the result, or ask the next decision.
Never read a produced file into your own context. Keep pointers, not bodies. Never run a step inline. Always dispatch.
Feedback
The human flags a problem with this skill by writing /meta <text> at any point in a run.
On /meta <text>:
- Do not interpret
<text>yourself. Do not edit anything inline. - Dispatch one subagent,
run: subagent. Pass it:- the feedback text
- the path to this skill
- the current run's state: which step was active, and its
In/Outso far
- The subagent has two jobs, both in the same dispatch:
- Fix the current run: redo the affected step's output so this run is correct.
- Fix the skill: edit the step file or script that caused the problem, so future runs do not repeat it. Read
_meta/_references/for the rules. Follow them. Run_meta/_scripts/lint_checks.pyon this skill before returning. Fix what it flags.
- Take back the subagent's
Out— a short status, not the edited content. - Tell the human the status. Resume the flow graph at the position held before the interruption.
Never read the subagent's edits into your own context. Keep the status, not the body.