sdlc-create-spec
Create specification
Position
This stage follows an approved intent.md and creates sdlc//spec.md. It defines what the system must do; planning and production-code changes belong to later stages.
Inputs and output
- Required input: approved sdlc//intent.md.
- Also inspect relevant repository instructions, existing behavior, interfaces, dependencies, and architecture when needed to specify a compatible change.
- Output: a self-contained, scope-preserving spec.md in the same work item.
Responsibilities
Translate intent into clear observable functional requirements, relevant nonfunctional requirements, contracts, inputs, outputs, failure behavior, and testable acceptance criteria. Preserve existing public behavior when required. Use identifiers such as FR-1 only when they improve traceability. State security, compatibility, and operational requirements when applicable.
Repository inspection informs required behavior; it must not become a file-by-file implementation prescription. Prefer MUST, SHOULD, and MAY when they improve precision. Include positive, negative, and failure scenarios where relevant. Surface conflicts, missing requirements, and assumptions that could affect correctness.
Use only useful sections, typically: