name: requirements-specification description: Build A6 specification and ADR artifacts from prior DDD stages. compatibility: opencode
requirements-specification
Purpose
Synthesize implementation-planning requirements, interfaces, NFRs, ADR set, and traceability for A6-specification. Anti-scope: implementation coding and deployment execution.
Stage & Ownership
- stage:
A6-specification - owner_agent:
requirements-engineer - handoffs:
- consumes: A5 domain model artifacts, A4 integration contracts, and decision logs
- delivers:
prd.md,interfaces.md,nfrs.md,adrs/(ADR-0001+.md),traceability.md
Inputs (Required)
artifacts/05-domain-model/domain-model.mdartifacts/05-domain-model/invariants.mdartifacts/04-contexts/integration-contracts.mdartifacts/_state/decisions.md- Current open questions from
artifacts/_state/open-questions.md
Outputs (Artifacts)
A6.1->artifacts/06-spec/prd.md(create or update)A6.2->artifacts/06-spec/interfaces.md(create or update)A6.3->artifacts/06-spec/nfrs.md(create or update)A6.4->artifacts/06-spec/adrs/(create or updateADR-0001+.mdfiles)A6.5->artifacts/06-spec/traceability.md(create or update)
Workflow (Steps)
- Convert domain behavior into testable functional requirements.
- Derive interface contracts from context integrations.
- Define measurable NFRs with target thresholds.
- Capture architecture decisions as ADRs (
ADR-0001+.md). - Build traceability matrix linking A0-A6 lineage.
- Stop point: unresolved acceptance criteria or NFR thresholds go to open questions.
Quality Gates (Definition of Done)
- PRD includes testable functional requirements and acceptance criteria.
- Interfaces include contracts, error semantics, and ownership.
- NFRs are measurable with target thresholds.
- Traceability links requirements to model, contexts, and ADRs.
- Terminology is aligned with prior stage artifacts.
- Material ambiguity remains only in explicit open questions.
Memory Writes (artifacts vs Engram)
A) When memory.backend=artifacts
- write
artifacts/_state/session-log.md: A6 closure and delivered artifacts. - write
artifacts/_state/decisions.md: ADR summaries, alternatives, and consequences. - write
artifacts/_state/open-questions.md: unresolved acceptance/NFR decisions.
B) When memory.backend=engram
- Use the full Engram memory toolset (14 tools) as needed; do not limit operations to a fixed subset.
- target
engram:ddd.decisions(topic_keys.decisions) viamem_savefor ADR summaries. - target
engram:ddd.project(topic_keys.project) viamem_savefor specification baseline. - use
mem_context/mem_searchto recover previous decisions and unresolved risks. - use
mem_session_summaryat stage close with traceability pointers.
Prompts / Scripts / References / Assets (Components)
- prompts:
skills/requirements-specification/prompts/specification-synthesis.prompt.md- synthesis prompt for A6 artifacts.
- scripts: N/A.
- references:
skills/requirements-specification/references/index.md- concise references for PRD/ADR/NFR quality.
- assets:
skills/requirements-specification/assets/prd.template.md- PRD template.skills/requirements-specification/assets/adr.template.md- ADR template.
Failure Modes
- Requirements not testable -> rewrite with explicit acceptance criteria.
- Interfaces without error semantics -> add failure codes and retry semantics.
- NFRs without measurable thresholds -> convert to quantifiable targets.
- ADR missing alternatives -> add options and tradeoff consequences.
- Traceability gaps across stages -> complete requirement-to-artifact mapping.
Example Invocation (Minimal)
Invoke requirements-specification with A5/A4 artifacts and decision logs; generate A6.1-A6.5 including ADR-0001+.md convention under artifacts/06-spec/adrs/.