安装方式
命令行安装
在项目根目录执行以下命令,完成 Skill 安装。
npx bzskills add luongnv89/skills --skill tad-generator 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.
6
下载量
命令行安装
在项目根目录执行以下命令,完成 Skill 安装。
npx bzskills add luongnv89/skills --skill tad-generator name: tad-generator
description: 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.
license: MIT
effort: max
metadata:
version: 1.5.0
author: "Luong NGUYEN <luongnv89@gmail.com>"Generate comprehensive Technical Architecture Documents with modular design for startups.
This skill uses parallel research agents with upfront content extraction. Pattern: D (Research+Synthesis) + E (Staged Pipeline).
| Agent | Role | Parallelization |
|---|---|---|
prd-reader (agents/prd-reader.md) | Read PRD + supporting docs, return structured extraction | Sequential (only once) |
tech-researcher (agents/tech-researcher.md) | Handle one research round (spawned 5x in parallel) | Parallel (5 instances) |
tad-writer (agents/tad-writer.md) | Generate complete tad.md from all inputs | Sequential (after all research) |
Result: All 5 rounds complete concurrently, tad-writer synthesizes outputs into unified TAD.
Before executing:
Before creating/updating/deleting files in an existing repository, sync the current branch with remote:
branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin
git pull --rebase origin "$branch"
If the working tree is not clean, stash first, sync, then restore:
git stash push -u -m "pre-sync"
branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin && git pull --rebase origin "$branch"
git stash pop
If origin is missing, pull is unavailable, or rebase/stash conflicts occur, stop and ask the user before continuing.
Project folder path in $ARGUMENTS containing:
prd.md - Product requirements (required)idea.md, validate.md - Additional context (optional)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.
prd.md existstad.md if presentFrom PRD extract:
Ask user (if not clear):
| Decision | Options |
|---|---|
| Deployment | Vercel/Netlify (recommended), AWS, GCP, Self-hosted |
| Database | PostgreSQL, MongoDB, Supabase/Firebase, Multiple |
| Auth | Social (OAuth), Email/password, Magic links, Enterprise SSO |
| Budget | Free tier, <$50/mo, <$200/mo, Flexible |
Spawn one tech-researcher subagent per round, using agents/tech-researcher.md as its prompt, for the 5 research rounds defined under Subagent Architecture above. Run them in parallel; do not reason the rounds inline in main context, which is what the subagent split exists to prevent.
Create tad.md with sections:
See [references/tad-template.md](references/tad-template.md) for full template structure.
After writing tad.md, if the project folder is inside an ideas repo, update the repo README ideas table:
cd to the ideas repo root and run python3 scripts/update_readme_ideas_index.py if that repo ships it — the script belongs to the user's ideas repo, not to this skillREADME.md manually (ensure TAD status becomes ✅ for that idea)git push origin <branch>
branch="$(git rev-parse --abbrev-ref HEAD)"; git fetch origin && git rebase "origin/$branch" && git push.tad.md is written (Phase 5) and committed (Phase 7) — do not re-write it hereWhen reporting completion, include:
tad.mdREADME.md when it was updatedLink format (derive <owner>/<repo> from git remote get-url origin):
https://github.com/<owner>/<repo>/blob/main/<relative-path>After completing each major step, output a status report in this format:
◆ [Step Name] ([step N of M] — [context])
··································································
[Check 1]: √ pass
[Check 2]: √ pass (note if relevant)
[Check 3]: × fail — [reason]
[Check 4]: √ pass
[Criteria]: √ N/M met
____________________________
Result: PASS | FAIL | PARTIAL
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.
See [references/step-completion-reports.md](references/step-completion-reports.md) for worked examples per phase (Setup, Research, Generation, Output).
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). `mermaid fenced block that parses (no graph typos, balanced braces).Node.js 20 LTS, PostgreSQL 16) — no bare "latest" without a date.Mitigation: line (assert one mitigation per risk row).~$45/mo).tad.md, the commit hash, and (if updated) the README link.git status returns "nothing to commit, working tree clean".Example final agent report:
◆ TAD Generation Complete (8 of 8 — delivery)
··································································
tad.md written: √ pass (11 sections, 2 mermaid diagrams)
Versions specified: √ pass (Node 20 LTS, Postgres 16)
Risks mitigated: √ pass (6/6 risks have mitigation)
Cost estimates: √ pass (~$45/mo MVP, ~$220/mo scale)
Committed and pushed: √ pass (commit a1b2c3d)
____________________________
Result: PASS
GitHub links:
- tad.md: https://github.com/acme/my-idea/blob/main/projects/foo/tad.md
- README.md: https://github.com/acme/my-idea/blob/main/README.md
- Commit: a1b2c3d
Expected tad.md Architecture Diagram excerpt:
## 2. Architecture Diagram
graph TD
U[User] --> CDN[Vercel CDN]
CDN --> APP[Next.js App]
APP --> API[Node API]
API --> DB[(PostgreSQL 16)]
API --> CACHE[(Redis 7)]
prd.md: stop and ask the user to run /prd-generator first; do not invent requirements.origin: skip Phase 7 push, write tad.md locally, and tell the user how to add the remote.tad.md already up to date: enter Modification Mode rather than overwriting; preserve revision history.ideas repo layout: skip Phase 6 README index update; do not create a scripts/update_readme_ideas_index.py if absent.mmdc -i tad.md -o /tmp/check.svg (or visual inspection) before commit.Triggered by the mode check above when tad.md already exists.
tad.md.bak.<timestamp>).tad.md.