Generate a Technical Architecture Document (TAD) from a PRD. Use when asked to design system architecture or define how a product is built. Updates tad.md and reports GitHub links. Don't use for PRD authoring, sprint tasks, or code implementation.
설치
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Generate a Technical Architecture Document (TAD) from a PRD. Use when asked to design system architecture or define how a product is built. Updates tad.md and reports GitHub links. Don't use for PRD authoring, sprint tasks, or code implementation.
Note: Research rounds are conceptual reasoning, not data fetching — parallel rounds won't produce fundamentally different info, but isolation improves quality
Result: All 5 rounds complete concurrently, tad-writer synthesizes outputs into unified TAD.
Environment Check
Before executing:
Verify prd.md exists in project directory
Check for supporting docs (idea.md, validate.md) if available
Confirm WebSearch and WebFetch tools available for research
Verify write permissions to project root for tad.md creation
Ensure git access for final commit
Repo Sync Before Edits (mandatory)
Before creating/updating/deleting files in an existing repository, sync the current branch with remote:
Mode check (do this first): if tad.md already exists in the project folder, this is a Modification run — skip straight to Modification Mode. Otherwise it's a Create run — continue through Phases 1-8 below.
After writing tad.md, if the project folder is inside an ideas repo, update the repo README ideas table:
Preferred: cd to repo root and run python3 scripts/update_readme_ideas_index.py (if it exists)
Fallback: update README.md manually (ensure TAD status becomes ✅ for that idea)
Phase 7: Commit and push
Commit immediately after updates.
Confirm before pushing — this is a visible action:
git push origin <branch>
If push is rejected: rebase against the actual upstream tracking branch and retry: branch="$(git rev-parse --abbrev-ref HEAD)"; git fetch origin && git rebase "origin/$branch" && git push.
Phase 8: Output
Write tad.md to project folder
Summarize architecture decisions
Highlight modular design benefits
List cost estimates by phase
Suggest next steps (setup dev environment, create tasks)
Reporting with GitHub links (mandatory)
When reporting completion, include:
GitHub link to tad.md
GitHub link to README.md when it was updated
Commit hash
Link format (derive <owner>/<repo> from git remote get-url origin):
Adapt the check names to match what the step actually validates. Use √ for pass, × for fail, and — to add brief context. The "Criteria" line summarizes how many acceptance criteria were met. The "Result" line gives the overall verdict.
The skill is considered successful when the following are all true. Verify each before reporting completion.
tad.md exists at the project root and contains all 11 required sections (System Overview, Architecture Diagram, Technology Stack, System Components, Data Architecture, Infrastructure, Security, Performance, Development, Risks, Appendix).
Architecture Diagram section contains at least one ```mermaid fenced block that parses (no graph typos, balanced braces).
Technology Stack names specific versions or LTS labels for each layer (e.g. Node.js 20 LTS, PostgreSQL 16) — no bare "latest" without a date.
Each item in the Risks section has a paired Mitigation: line (assert one mitigation per risk row).
Infrastructure section lists concrete cost estimates with currency and cadence (e.g. ~$45/mo).
Security section references at least one OWASP control or auth standard (OAuth2, OIDC, JWT, etc.).
Final report includes the GitHub blob URL to tad.md, the commit hash, and (if updated) the README link.
Repo is clean after push: git status returns "nothing to commit, working tree clean".
## Edge Cases
- **Missing `prd.md`**: stop and ask the user to run `/prd-generator` first; do not invent requirements.
- **PRD too thin (<200 words)**: warn the user, ask for clarifications on user flows and NFRs before proceeding to Phase 4.
- **Conflicting stack hints in PRD**: surface the conflict in Phase 3 clarifying questions; never silently pick one.
- **No git remote `origin`**: skip Phase 7 push, write `tad.md` locally, and tell the user how to add the remote.
- **Existing `tad.md` already up to date**: enter Modification Mode rather than overwriting; preserve revision history.
- **Non-`ideas` repo layout**: skip Phase 6 README index update; do not create a `scripts/update_readme_ideas_index.py` if absent.
- **Mermaid render fails locally**: validate syntax with `mmdc -i tad.md -o /tmp/check.svg` (or visual inspection) before commit.
## Modification Mode
Triggered by the mode check above when `tad.md` already exists.
1. Create a timestamped backup (`tad.md.bak.<timestamp>`).
2. Ask which area changed — Stack | Infrastructure | Security | Data | Scaling — and map the answer to its matching numbered section in [Phase 5](#phase-5-generate-tad).
3. Apply changes to that section only, preserving the rest of the structure.
4. Append a revision-history entry (date + summary) at the end of `tad.md`.
## Guidelines
- **Practical**: Implementable solutions for startups
- **Cost-conscious**: Consider budget implications
- **Modular**: Emphasize separation of concerns
- **Specific**: Concrete technology choices
- **Visual**: Include mermaid diagrams