Use when prd.md is approved and the Scope Proposal has no remaining ⚡ items. Covers system design, API contracts, DB schema, and infra. Requires GitHub MCP. Run after /analyze and the joint alignment meeting.
64
76%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./.claude/skills/tech-design/SKILL.mdGenerate a deep technical spec from an approved PRD with a finalized Scope Proposal. Uses GitHub MCP to scan existing architecture. Scoped to the EA/GA cut from the Scope Proposal section of prd.md.
/tech-design --project <name>--project — matches the folder under docs/projects/. Optional if .current-project is set.Project: --project <name> or .current-project — stop if neither.
Preconditions:
prd.md must have status: approved — if not, stop: "PRD not approved. Set status: approved in prd.md before running tech design."prd.md must contain a Scope Proposal section with EA/GA assignments resolved (no remaining ⚡ items) — if missing or unresolved, stop:
"Scope Proposal is missing or has unresolved ⚡ items. Run
/analyze --project <name>and complete the alignment meeting before running tech design. Tech design on unfinalized scope produces rework."
Read before doing anything else:
docs/projects/<name>/prd.md — section 5 has repos and any Design Mocks Summary (use to ground API contracts and component design); section 6 has constraints; Scope Proposal defines the EA/GA cut. Scan goes deeper than /analyze, not wider. If any repo in section 5 is marked "Repo unknown", ask before scanning that surface.For each repo, focus on areas relevant to the affected surfaces — don't scan everything.
Begin from the specific files already identified in PRD sections 5-6 as entry points. Scan deeper from those locations rather than from the repo root.
For each relevant surface, extract:
Write a doc covering EA and GA scope separately where the work differs. For sections identical across milestones, note that once.
2–3 paragraph narrative of the architecture. What are the major components and how do they relate to this feature?
Table: Component | Responsibility | Technology | Owned by | EA / GA / Both
Numbered sequence for the primary use case. For complex flows, include a sequence diagram in mermaid.
For each new or modified endpoint, tag with [EA] or [GA]:
[EA] GET /audit-logs
Auth: Bearer token (existing middleware)
Request params: date_from (ISO8601), date_to (ISO8601), user_id (optional)
Response 200: { logs: [{ id, user_id, action, timestamp }], total, page }
Response 400: { error: string }
Response 403: { error: "Insufficient permissions" }For each new or modified table/collection, tag with [EA] or [GA]:
-- [EA] New index on existing table
CREATE INDEX idx_events_user_id ON events(user_id);
-- [GA] New table for retention policies
CREATE TABLE audit_retention_policies (
id UUID PRIMARY KEY,
workspace_id UUID NOT NULL REFERENCES workspaces(id),
retention_days INT NOT NULL DEFAULT 90,
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);Unresolved design decisions that need an answer before implementation begins. Flag anything that blocks EA specifically.
Write to docs/projects/<name>/tech-design.md:
---
project: <name>
created: <today's date YYYY-MM-DD>
status: draft
---
<!-- repos-scanned: [org/repo, ...] -->"Tech design drafted and saved to
docs/projects/<name>/tech-design.md.Review:
[EA]/[GA]tags on API contracts, DB schema, and components are correct- Open technical questions are resolved or flagged
Reply approved when ready."
If the user replies with approval language ("approved", "lgtm", "looks good", etc.):
status: approved in docs/projects/<name>/tech-design.md/func-req — generates functional requirements (one epic + stories per milestone) with acceptance criteria and technical task breakdowns traced to this design. Run /func-req --project <name> when ready."/analyze will flag when all surfaces are UI-only; /func-req will offer a UX-only path if tech-design.md is absent.status: approved, set tech-design.md back to status: draft, revise the relevant sections, and re-approve. Do not leave an approved tech design that no longer reflects the agreed scope.585e8a6
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.