원클릭으로
system-design
Create or refine a project-level Software Architecture Document (`specs/sad.md`) as the canonical Technical Context Document.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Create or refine a project-level Software Architecture Document (`specs/sad.md`) as the canonical Technical Context Document.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Creates implementation plans with technical context, architecture decisions, data models, API contracts, and project instructions alignment checks. Use when designing a technical approach for a feature, choosing technologies, defining data structures, or when resolving NEEDS CLARIFICATION markers in plans.
Orchestrates the implementation planning process — generating plan artifacts, architecture decisions, and design documents from a feature specification. Use when running /sddp-plan or when implementation planning is needed.
| name | system-design |
| description | Create or refine a project-level Software Architecture Document (`specs/sad.md`) as the canonical Technical Context Document. |
Read for reusable patterns only:
.github/skills/plan-authoring/SKILL.md — planning-required Technical Context fields.github/skills/clarify-spec/SKILL.md — batched questions and recommended answers.github/skills/init-project/SKILL.md — shared config behaviorRead when present: README.md, project-instructions.md, .github/sddp-config.md, specs/prd.md, specs/sad.md.
If .github/sddp-config.md exists:
## Product Document → **Path**: when non-empty and readablespecs/prd.md and specs/prd.md exists → read both## Technical Context Document → **Path**: when non-empty and different from specs/sad.mdSearch most relevant extra architecture inputs:
docs/ files mentioning architecture, ADRs, technical context, tech stack, constraints, deployment, infrastructure, integrations, or product requirementsSummarize into PROJECT_CONTEXT before asking questions.
specs/sad.md exists with substantive content → MODE = REFINE; else CREATETECH_CONTEXT_CONFLICT = true when registered Technical Context Document differs from specs/sad.md and both existspecs/prd.md exists → treat as primary product/domain groundingPRODUCT_DOC_CONFLICT = true when registered Product Document differs from specs/prd.md and both existInfer likely system type from repo context and available documents.
BLOCKING_CHOICES: architecture style/boundary strategy, runtime/deployment model, language/runtime, framework family, storage model, canonical source-of-truth handlingFOLLOW_UP_DECISIONS: integrations, security/trust boundaries, observability baseline, performance, scale, reliability targets, assumptions, constraintsSkip anything already resolved.
BLOCKING_CHOICES non-empty → ask one batch before research.
TECH_CONTEXT_CONFLICT handling when presentPRODUCT_DOC_CONFLICT exists → include product grounding choice; recommend specs/prd.md when it is the managed bootstrap PRDRun only after Step 4 answers (unless no blocking choices).
Report: Researching architecture patterns, quality attributes, and technical-context best practices.
Delegate: Technical Researcher (.github/agents/_technical-researcher.md):
PROJECT_CONTEXT, system type, constraints, Step 4 answers, unresolved FOLLOW_UP_DECISIONSspecs/sad.md and remaining architecture tradeoff decisions."Use findings only for unresolved follow-up decisions and final SAD content.
Unresolved FOLLOW_UP_DECISIONS remain → ask one batch.
specs/sad.mdUse .github/skills/system-design/assets/sad-template.md as starting structure. Ensure specs/ exists.
Required Technical Context fields: Language/Version, Primary Dependencies, Storage, Testing, Target Platform, Project Type, Performance Goals, Constraints, Scale/Scope.
Downstream sufficiency categories: language/runtime, frameworks/libraries, storage/database, infrastructure/deployment, architecture/patterns.
The SAD must contain:
ADR-### decisions with status, rationale, alternatives, tradeoffs, consequences## Project Context Baseline UpdatesWriting rules:
Registration:
.github/sddp-config.md exists (current shared config structure if missing)specs/prd.md existsspecs/sad.md as ## Technical Context Document → **Path**: unless user explicitly keeps another documentspecs/sad.md; report downstream phases keep using that pathVerify:
specs/sad.md exists## Project Context Baseline Updates exists.github/sddp-config.md exists; registered paths match chosen canonical sourcesOutput:
MODEspecs/sad.md path and registration outcome/sddp-devops — suggested prompt grounded in specs/sad.md/sddp-projectplan — suggested prompt using registered Product Document and specs/sad.md/sddp-init — suggested prompt preserving/adopting specs/sad.md