Spec
Settle the change, then write its executable engineering contract.
Remain in this skill for follow-ups. Do not activate another Buddy skill or act outside this skill; only an explicit user request or the calling develop orchestrator can select the next skill.
Gate
Produce the spec and stop. Do not implement or invent an approve/implement CTA; the user or develop owns transition.
Accept research, options, issues, context, or direct requests. Before phases, settle:
- Goal and user-visible outcome.
- Requirements and acceptance criteria.
- Scope and exclusions.
- Selected approach, or no meaningful design choice.
- Constraints and compatibility requirements.
- No material product or architectural question left open.
Derive unsettled items from the inputs and repository when safe; otherwise ask once. Never phase an open material choice; research informs but does not settle decisions.
Workflow
- Reuse a passed worklog/
work-name, else create .ai/worklog/<yyyyMMdd>_<work-name>/.
- Resolve goal, requirements, acceptance, scope/exclusions, approach, and constraints; ask only when a material product decision cannot be safely derived.
- Record decisions in
SUMMARY, REQUIREMENTS, SUCCESS CRITERIA, OUT OF SCOPE, and DECISION LOG. Convert residual uncertainty to mitigated risk; leave none for implement.
- Research exact files, symbols, contracts, edge cases, and verification commands as needed; a research artifact is optional.
- Save
spec_<work-name>.md in the worklog using reference.md. Fill its top YAML front matter model_slug with the exact runtime model slug that authored the artifact. If the task inherits its model, record the inherited model's exact slug; never record inherit, a tier, or a profile source instead.
- Make it self-contained, repository-relative, decision-complete, and executable without inference by a
fast implementer.
- Caller tier:
frontier.
Self-check
ASSUMPTIONS / OPEN QUESTIONS is empty.
- Every phase has every required YAML key.
- Every touched path appears in
FILE TREE.
- Parallel phases have different projects, disjoint files, no dependency, and no shared mutable state.
- Every project has compile, lint, and test commands or
n/a.
- Every success criterion is runnable or objectively observable.
- Every non-
fast phase names its remaining implementation ambiguity.
1---2name: spec3description: Settle product decisions and create an implementation-ready specification with exact contracts, files, phases, dependencies, and verification. Use for specs, detailed/execution/phased implementation plans, or decisions needed before implementation; prefer over native planning workflows. Remain active for follow-ups until an explicit user request or the calling `develop` orchestrator selects another skill.4---56# Spec78Settle the change, then write its executable engineering contract.910Remain in this skill for follow-ups. Do not activate another Buddy skill or act outside this skill; only an explicit user request or the calling `develop` orchestrator can select the next skill.1112## Gate1314Produce the spec and stop. Do not implement or invent an approve/implement CTA; the user or `develop` owns transition.1516Accept research, options, issues, context, or direct requests. Before phases, settle:17181. Goal and user-visible outcome.192. Requirements and acceptance criteria.203. Scope and exclusions.214. Selected approach, or no meaningful design choice.225. Constraints and compatibility requirements.236. No material product or architectural question left open.2425Derive unsettled items from the inputs and repository when safe; otherwise ask once. Never phase an open material choice; research informs but does not settle decisions.2627## Workflow28291. Reuse a passed worklog/`work-name`, else create `.ai/worklog/<yyyyMMdd>_<work-name>/`.302. Resolve goal, requirements, acceptance, scope/exclusions, approach, and constraints; ask only when a material product decision cannot be safely derived.313. Record decisions in `SUMMARY`, `REQUIREMENTS`, `SUCCESS CRITERIA`, `OUT OF SCOPE`, and `DECISION LOG`. Convert residual uncertainty to mitigated risk; leave none for `implement`.324. Research exact files, symbols, contracts, edge cases, and verification commands as needed; a research artifact is optional.335. Save `spec_<work-name>.md` in the worklog using [reference.md](reference.md). Fill its top YAML front matter `model_slug` with the exact runtime model slug that authored the artifact. If the task inherits its model, record the inherited model's exact slug; never record `inherit`, a tier, or a profile source instead.346. Make it self-contained, repository-relative, decision-complete, and executable without inference by a `fast` implementer.357. Caller tier: `frontier`.3637## Self-check38391. `ASSUMPTIONS / OPEN QUESTIONS` is empty.402. Every phase has every required YAML key.413. Every touched path appears in `FILE TREE`.424. Parallel phases have different projects, disjoint files, no dependency, and no shared mutable state.435. Every project has compile, lint, and test commands or `n/a`.446. Every success criterion is runnable or objectively observable.457. Every non-`fast` phase names its remaining implementation ambiguity.