Create/refine project `specs/dod.md` as the canonical Deployment & Operations Document.
Read these only for reusable patterns:
.github/skills/plan-authoring/SKILL.md — planning expectations for technical/deployment context.github/skills/clarify-spec/SKILL.md — batched questions and recommended answers.github/skills/init-project/SKILL.md — shared config creation and preservation behaviorRead when present:
README.mdproject-instructions.md.github/sddp-config.mdspecs/prd.mdspecs/sad.mdspecs/dod.mdIf .github/sddp-config.md exists:
## Product Document → **Path**: when non-empty and readable.## Technical Context Document → **Path**: when non-empty and readable.## Deployment & Operations Document → **Path**: when non-empty and different from specs/dod.md.Treat the SAD as the primary architecture input. Extract deployment model, hosting, cross-cutting concerns, quality targets, and architecture decisions that affect operations.
Search only the most relevant extra deployment/operations inputs:
docs/ files mentioning deployment, infrastructure, DevOps, CI/CD, monitoring, observability, SRE, operations, environments, Docker, Kubernetes, Terraform, or cloud providersDockerfile, docker-compose.yml, .github/workflows/, Makefile, Procfile, Jenkinsfile, or IaC files when presentSummarize discovered inputs as PROJECT_CONTEXT before asking questions.
MODE = REFINE if specs/dod.md exists with substantive content; else CREATE.DOD_CONFLICT = true when a registered Deployment & Operations Document differs from specs/dod.md and both exist.Infer deployment complexity from repo context and available docs.
Build two sets:
BLOCKING_CHOICES: cloud/provider or hosting choice, deployment model, environment ladder, packaging model, IaC approach, canonical document handling.FOLLOW_UP_DECISIONS: CI/CD design, observability stack, SLI/SLO targets, incident management, security/compliance posture, ownership/process, cost optimization.Skip anything already resolved in the inputs.
If BLOCKING_CHOICES is non-empty, ask one batch before research.
Rules:
DOD_CONFLICT handling here when present.Research only after Step 4 answers, unless there were no blocking choices.
Before delegating, report: Researching deployment patterns, operational best practices, and reliability engineering.
Delegate: Technical Researcher (see .github/agents/_technical-researcher.md for methodology):
PROJECT_CONTEXT, deployment complexity, constraints, SAD decisions, Step 4 answers, unresolved FOLLOW_UP_DECISIONSspecs/dod.md and remaining deployment/operations decisions."Use research only for unresolved follow-up decisions and final DOD content.
If unresolved FOLLOW_UP_DECISIONS remain, ask one batch.
Rules:
Skip this step if no high-impact questions remain.
Use .github/skills/deployment-operations/assets/dod-template.md as the starting structure.
Ensure the specs/ directory exists before writing.
The DOD must contain:
DDR-### decisions, risks, assumptions, constraints, open questionsWriting rules:
Registration:
.github/sddp-config.md exists using the current shared config structure if missing.specs/dod.md as ## Deployment & Operations Document → **Path**: unless the user explicitly keeps another canonical document.specs/dod.md and report that downstream phases keep using the existing registered path.Verify that:
specs/dod.md exists.DDR-### identifiers..github/sddp-config.md exists and registered paths match the chosen canonical sources.Output:
MODEspecs/dod.md path and registration outcome/sddp-projectplan — suggested prompt using the registered Product Document, Technical Context Document, and generated specs/dod.md/sddp-init — suggested prompt that preserves or adopts specs/dod.md