Files

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.

  1. Infer the requested operation from the conversation and project state. Ask only if several materially different operations remain plausible.
  2. For a new spec, record the goal, constraints, external interfaces, testable invariants, and tasks. Include sourced research only when it was actually done.
  3. For a distillation, derive behavior from code and tests. Mark inferred intent and uncertainties; do not turn every TODO into an authorized implementation task.
  4. 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.
  5. 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.