feature-spec
Feature Spec
Compile settled intent; do not brainstorm it again.
Steps
-
Establish the source of truth. Read the supplied artifact and relevant repository instructions, durable contracts, and implementation context. Preserve every supplied acceptance criterion and settled decision. Ask only when an exact contradiction or genuinely blocking gap can change the spec; in unattended work, record it under
Unresolved human decisionsinstead. Name a conflicting contract by path and section, and never amendspec/*.Complete when: every supplied decision and acceptance criterion is either represented or explicitly identified as contradictory.
-
Compile the spec using every heading in
references/spec-template.md. Strengthen acceptance criteria only by retaining their original intent and making outcomes observable. Stay at product and architecture altitude: exclude brainstorming recaps, file-by-file steps, pasted implementation code, invented tickets, and forced micro-task checklists.Complete when: a fresh agent can identify what users will observe, what is in and out, which constraints bind, how completion is verified, and which human choices remain.
-
Before writing
Artifact lifetimeor the final handoff, readreferences/routing.mdand emit exactly one closed handoff. Honor a preselected execution route unless a repository-contract contradiction blocks it. Do not invoke a successor or mutate tracker or sprint state.Complete when: the output contains exactly one of: an evidence-based
implement | relayrecommendation; a decomposition handoff that stops without naming a successor; or a Human Decision Handoff with routeblocked-human-decisionfor an unresolved repository-contract contradiction. -
Follow Artifact lifetime in
references/routing.md. Verify all required headings, supplied acceptance criteria, unresolved contradictions, persistence authority, and absence of successor side effects before finishing.