1.6 KiB
1.6 KiB
name, description, scope
| name | description | scope |
|---|---|---|
| spec | Create, distill, or amend SPEC.md when explicitly requested or when continuing an already-selected spec workflow. | global |
Specification
Use a repository's specification convention first, otherwise the canonical format. Keep statements concise and precise; caveman is an optional compact notation, not a requirement.
- Infer the requested operation from the conversation and project state. Ask only if several materially different operations remain plausible.
- For a new spec, record the goal, constraints, external interfaces, testable invariants, and tasks. Include sourced research only when it was actually done.
- For a distillation, derive behavior from code and tests. Mark inferred intent and uncertainties; do not turn every TODO into an authorized implementation task.
- For amendments, edit the relevant sections and preserve unrelated content and stable IDs. Show the resulting diff; no extra approval step for an authorized edit.
- Check section shape and references. Report the result; suggest another workflow only when it helps the user's next requested action.
Ownership: spec owns goals, constraints, interfaces, research, task definitions,
and general invariants. build may update task statuses; backprop may append bug
records and amend bug-related invariants. Neither requires invoking spec merely
to write its own section. Saving a spec does not start implementation without user
intent. Follow shared workflow.