Skills reference
Every specsmd v2 skill, when to invoke it, and what it writes
The unified flow is skills-native. You invoke verb skills by name. Only two skills announce themselves to the model: the bootstrap and the navigator.
Nothing in this list is a required next step. Close messages offer at most three declinable names.
How to invoke
In your coding tool, ask for the skill by name:
Use the intent-create skill.
Some tools also expose slash commands (/intent-create). Either form is a prompt to the agent, not a shell command.
Do not invoke flow-runtime. Other skills call its scripts. The navigator never suggests it.
Model-invocable
These two are the only skills the model may pick up without you naming them.
| Skill | When | Writes |
|---|---|---|
using-specsmd |
Start of a session in a specsmd project | Nothing |
specsmd-status |
“Where are we?” or the next move is unclear | Nothing |
using-specsmd
Session bootstrap. States the rule: if you asked to build, add, change, or fix behavior in a specsmd project, the work goes through an intent, work items, and a bolt. Points at the other skills. Writes nothing.
specsmd-status
Read-only navigator. Reads docs/specsmd/ and reports the three lenses (shaping, building, shipping), health findings, and suggested next moves.
- Never writes artifacts
- Never invokes another skill
- Never repairs drift
- Never warns, blocks, or nags if you ignore every suggestion
Suggestion order is fixed: awaiting gate → active bolt → empty intent → unbolted items → drafts → empty tree. Integrity findings appear under health, not as a next skill.
Shaping
Invocable at any time, in any order. Decomposition against a one-line intent works (and says what is thin). Capture after work items exist works (and can link them).
| Skill | When | Writes |
|---|---|---|
specsmd-init |
No docs/specsmd/ tree yet |
Artifact root, recorded bias, proposed standards |
intent-create |
A new outcome is not captured yet | docs/specsmd/intents/{id}/brief.md |
work-item-decompose |
An intent needs executable slices | docs/specsmd/intents/{intent}/work-items/{id}.md |
bolt-plan |
You want a proposed grouping before execution | A bolt record with status draft |
specsmd-init
Asks one question: autonomy bias (autonomous / balanced / controlled). Empty input is balanced. Detects greenfield vs existing code and single project vs monorepo. In an existing codebase, inferred standards are presented for accept / edit / skip before they are recorded.
intent-create
Turns a dialogue into an intent brief: problem, outcome, scope, non-goals. No mechanism. Additional sections are allowed. A one-line prompt still writes a brief and names which sections are thin.
Follows the nlspec intent register. If work items already exist, you may confirm which pending items belong on this intent.
work-item-decompose
Turns an intent into vertical slices — independently valuable observable behavior, not layers (“the schema” then “the API”). Each item gets complexity (low / medium / high by decision load, default medium), dependencies, a behavioral Definition of Done, and a recorded ceremony_suggested.
A dependency cycle is refused with the cycle named as an ordered id list. Nothing is written from that invocation.
bolt-plan
Writes a draft bolt: work items plus a suggested recipe. A draft is not an execution container. bolt-start may adopt, modify, or ignore it. Dismissing the adopt prompt is ignore.
Execution
| Skill | When | Writes |
|---|---|---|
bolt-start |
Shaped work is ready to run | docs/specsmd/bolts/{id}/bolt.md |
bolt-execute |
A bolt is active or interrupted | Stage artifacts; completion via the flow’s scripts |
walkthrough-generate |
A bolt needs its human walkthrough | docs/specsmd/bolts/{id}/walkthrough.md |
bolt-start
Creates the execution container. Offer: one work item, a batch, or an existing draft.
If drafts exist, the first three options are adopt, modify, and ignore. Adopt consumes the draft (abandoned). Modify and ignore leave it.
Records recipe and ceremony at creation. Omit --recipe / --ceremony to take the recommendations. A cycle among the chosen items is refused with the cycle named.
bolt-execute
Runs the bolt’s recorded recipe once for the bolt, not once per work item. There is no per-stage skill.
- Resume from
current_stageandcheckpoint_state - Honor ceremony gates; at a gate, emit the full artifact text and wait
- Write stage files under
docs/specsmd/bolts/{id}/ - On completion, write the walkthrough (or you may invoke
walkthrough-generateyourself) and call the complete script - If the script refuses, report the remediation and stop
Guardrail failures arrive as remediations: what to change, where, which standard or evidence it names.
walkthrough-generate
Every completed bolt needs a walkthrough, even when the recipe has no walkthrough stage. Required sections: what changed, why, deviations from plan, how to verify. The deviations heading always exists. No source listings, patches, or fences.
bolt-execute can write this itself. This skill exists so you can produce the walkthrough without chaining skills.
What the scripts gate on
Skills recommend. Scripts refuse illegal state:
- Missing
completion_requiresfiles - Unchecked
(gating)criteria on tracked work items - Walkthrough missing the deviations heading, or containing fenced source
- Dependency cycles
- Unknown recipe constraint kinds
- Hand-edited status tokens that are not in the contract
A refused completion is not a prompt to edit frontmatter. Produce the named evidence and retry, or ask for an override (--force) if you intend one.
Invocation surface
| Kind | Skills |
|---|---|
| Model may start these | using-specsmd, specsmd-status |
| You invoke by name | specsmd-init, intent-create, work-item-decompose, bolt-plan, bolt-start, bolt-execute, walkthrough-generate |
| Internal | flow-runtime (state scripts; do not suggest) |
