skills/system-design/SKILL.md
Generate Technical Architecture Documents (TAD) from PRD files. Use when users ask to design the architecture, create a TAD, system design, or want to define how a product will be built. Creates/updates tad.md and always reports GitHub links to changed files. Don't use for writing the PRD itself, generating sprint tasks, or implementing code from the architecture.
npx skillsauth add luongnv89/skills system-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 | Read PRD + supporting docs, return structured extraction | Sequential (only once) | | tech-researcher | Handle one research round (spawned 5x in parallel) | Parallel (5 instances) | | tad-writer | 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)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 |
Conduct 5 research rounds:
Create tad.md with sections:
See 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 repo root and run python3 scripts/update_readme_ideas_index.py (if it exists)README.md manually (ensure TAD status becomes ✅ for that idea)git fetch origin && git rebase origin/main && git push.Do not ask for additional push permission once this skill is invoked.
tad.md to project folderWhen 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.
Phase 1 — Setup
◆ Setup (step 1 of 8 — environment validation)
··································································
PRD found: √ pass
Context extracted: √ pass (product + features + NFRs read)
Architecture questions answered: √ pass (deployment, DB, auth, budget confirmed)
____________________________
Result: PASS | FAIL | PARTIAL
Phase 4 — Research
◆ Research (step 4 of 8 — validation rounds)
··································································
5 parallel rounds completed: √ pass
Best practices gathered: √ pass (tech, infra, security, risk, holistic)
Patterns validated: √ pass (OWASP, vendor lock-in, startup feasibility)
____________________________
Result: PASS | FAIL | PARTIAL
Phase 5 — Generation
◆ Generation (step 5 of 8 — TAD authoring)
··································································
11 sections written: √ pass
tad.md created: √ pass
Diagrams included: √ pass (mermaid architecture + flow diagrams)
____________________________
Result: PASS | FAIL | PARTIAL
Phase 8 — Output
◆ Output (step 8 of 8 — delivery)
··································································
Summary presented: √ pass (architecture decisions highlighted)
README updated: √ pass (TAD status ✅)
Committed and pushed: √ pass (commit hash: ...)
____________________________
Result: PASS | FAIL | PARTIAL
For existing TAD changes:
documentation
Manage software releases end-to-end: bump version, generate changelog, tag, push, GitHub release, publish to PyPI/npm. Use when user asks to ship, cut a release, tag a version, or list changes since last tag. Skip routine commits and marketplace publishing.
development
Review UI for usability issues using Steve Krug's principles and produce a scannable report. Use when asked for a usability audit, UX review, or UI feedback on screenshots, URLs, or code. Don't use for visual/brand design critique, accessibility (WCAG) audits, or backend/API review.
development
Validate app/startup ideas with market, feasibility, commercial, and open-source competitor analysis. Use when asked to evaluate, validate, or score a product idea. Don't use for PRDs, go-to-market plans, or investor decks.
testing
Install local-first security hardening: pre-commit secret detection, offline dependency scans, static analysis, reports, and gated free CI. Use when hardening repos or adding security hooks. Don't use for incident response or cloud security reviews.