| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| Invoke | /tech-spec |
/tech-spec โ ์์ ํ๋ก์ ํธ์ฉ "๊ฐ๋จ ๊ธฐ์ ์ค๊ณ์"#
ํ๋ง๋๋ก#
์์ ํ๋ก์ ํธ๋ฅผ ์ํ ๊ฐ๋ฒผ์ด ์ค๊ณ ๋ฉ๋ชจ์ ๋๋ค. ํฐ ์ง์ ์ง์ ๋ ์ฐ๋ ๋๊บผ์ด ์ค๊ณ๋(PRD) ๋์ , ์์ ์ฐฝ๊ณ ๋ฅผ ์ง์ ๋ ์ฐ๋ ํ๋ ์ฅ์ง๋ฆฌ ์ฝ์ ๋๋ฉด์ด๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค. 20~40๋ถ์ด๋ฉด ๋๋ฉ๋๋ค.
๋๊ฐยท์ธ์ ์ฐ๋์#
- ๋ง๋ค ๊ฒ์ด ์๊ณ ๋ช ํํ ๋ (์คํ ๋ฆฌ 10๊ฐ ์ดํ์ ์๊ท๋ชจ ์์ )
- ๊ฑฐ์ฐฝํ ๊ธฐํ ๋ฌธ์๊น์ง๋ ํ์ ์์ง๋ง, ๋ฌด์์ยท์ด๋ป๊ฒ ๋ง๋ค์ง ํ ๋ฒ ์ ๋ฆฌํ๊ณ ์์ํ๊ณ ์ถ์ ๋
- ์ ํ ๋ธ๋ฆฌํ(product brief)๊ฐ ์ด๋ฏธ ์์ผ๋ฉด ๊ทธ๊ฑธ ๋ฐํ์ผ๋ก ๋ ๋น ๋ฅด๊ฒ ์งํ๋ฉ๋๋ค
๐ ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด(์คํ ๋ฆฌ๊ฐ ๋ง๊ณ ํ์ด์ง๊ฐ ๋์ด๋๋ฉด) ์ด ๋ช
๋ น ๋์ ์ ์ ๊ธฐํ ๋ฌธ์์ธ /prd๋ฅผ ์ฐ๋ ๊ฒ ๋ซ์ต๋๋ค.
๋ฌด์์ ํด์ฃผ๋์#
.bmad/tech-spec-{ํ๋ก์ ํธ์ด๋ฆ}-{๋ ์ง}.md ํ์ผ ํ ๊ฐ๋ฅผ ๋ง๋ค์ด ์ค๋๋ค. ๊ทธ ์์๋:
- ๋ฌธ์ ์ ํด๊ฒฐ์ฑ โ ๋ฌด์์ ์ ๋ง๋๋์ง
- ์๊ตฌ์ฌํญ ๋ชฉ๋ก โ ๋ง๋ค์ด์ผ ํ ๊ธฐ๋ฅ๋ค (๊ทธ๋ฆฌ๊ณ ๋ง๋ค์ง ์์ ๋ฒ์)
- ๊ธฐ์ ๋ฐฉ์ โ ์ด๋ค ์ธ์ดยทDBยท์ธํ๋ผยท๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ธ์ง
- ๊ตฌํ ๊ณํ โ ์์ ์ 1~10๊ฐ ์คํ ๋ฆฌ๋ก ์ชผ๊ฐ ๋ชฉ๋ก๊ณผ ์์
- ์๋ฃ ๊ธฐ์ค / ๋น๊ธฐ๋ฅ ์๊ตฌ์ฌํญ / ์์กด์ฑยท๋ฆฌ์คํฌยท์ผ์ โ ์ธ์ ๋๋ฌ๋ค๊ณ ๋ณผ์ง, ์ฑ๋ฅยท๋ณด์ ๋ฑ
์ด๋ป๊ฒ ์ฐ๋์#
# ๊ธฐ์ ์ค๊ณ์ ์์ฑ ์์
/tech-spec
๋ช ๋ น์ ์คํํ๋ฉด PM(์ ํ ๋งค๋์ ) ์ญํ ๋ก ์งํ๋๋ฉฐ, ๋ฌธ์ ยท์๊ตฌ์ฌํญยท๊ธฐ์ ๋ฐฉ์ยท๊ณํ ๋ฑ์ ์ฐจ๋ก๋ก ์ง๋ฌธํด ์ค๋๋ค. ๋ตํ๋ฉด ๊ทธ ๋ด์ฉ์ผ๋ก ์ ๋ฌธ์๋ฅผ ์๋ ์์ฑํฉ๋๋ค. ์์ฑ์ด ๋๋๋ฉด ๋ค์ ์๋ด๊ฐ ๋์ต๋๋ค.
- ์คํ ๋ฆฌ 1๊ฐ(Level 0):
/create-story๋ก ์คํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ/dev-story๋ก ๊ตฌํ - ์คํ ๋ฆฌ ์ฌ๋ฌ ๊ฐ(Level 1):
/sprint-planning์ผ๋ก ์คํ ๋ฆฌ๋ฅผ ์ ๋ฆฌํ๊ณ ๊ตฌํ ๊ณํ ์๋ฆฝ
์์์ ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๋์#
์ง๋ฌธ โ ์ ๋ฆฌ โ ๋ฌธ์ ์์ฑ์ ํ๋ฆ์ผ๋ก ์งํ๋ฉ๋๋ค.
- ์ฌ์ ์ค๋น โ ๊ธฐ์กด ์ค์ ๊ณผ ์งํ ์ํ๋ฅผ ๋ถ๋ฌ์ค๊ณ , ์ ํ ๋ธ๋ฆฌํ๊ฐ ์์ผ๋ฉด ํจ๊ป ์ฝ์ต๋๋ค.
- ์์๋๋ก ์ธํฐ๋ทฐ โ ๋ฌธ์ /ํด๊ฒฐ์ฑ โ ์๊ตฌ์ฌํญ(๊ณผ ์ ์ธ ๋ฒ์) โ ๊ธฐ์ ๋ฐฉ์(์ธ์ดยทDBยท์ํคํ ์ฒยทAPI) โ ๊ตฌํ ์คํ ๋ฆฌ โ ์๋ฃ ๊ธฐ์ค โ ์ฑ๋ฅยท๋ณด์ ๋ฑ โ ์์กด์ฑยท๋ฆฌ์คํฌยท์ผ์ ์ ์ฐจ๋ก๋ก ๋ฌผ์ด๋ด ๋๋ค.
- ๋ฌธ์ ์์ฑ โ ๋ต๋ณ์ ํ
ํ๋ฆฟ์ ์ฑ์
.bmad/tech-spec-...mdํ์ผ๋ก ์ ์ฅํ๊ณ ์์ฝ์ ๋ณด์ฌ์ค๋๋ค. - ๊ฒ์ฆ๊ณผ ๋ง๋ฌด๋ฆฌ โ ์ฒดํฌ๋ฆฌ์คํธ๋ก ๋น ์ง ๊ณณ์ด ์๋์ง ํ์ธ๋ฐ๊ณ , ์งํ ์ํ๋ฅผ ๊ฐฑ์ ํ ๋ค ๋ค์ ๋จ๊ณ๋ฅผ ์ถ์ฒํฉ๋๋ค.
โ๏ธ ์์ธ ์ต์ ยท์คํ ๋ช ์ธ (๊ฐ๋ฐ์ / AI ์์ด์ ํธ์ฉ)
Workflow Overview#
Goal: Create focused technical specification for small projects
Phase: 2 - Planning
Agent: Product Manager
Inputs: Product brief (if available), requirements discussion
Output: .bmad/tech-spec-{project-name}-{date}.md
Duration: 20-40 minutes
Best for: Level 0-1 projects (โค10 stories)
Pre-Flight#
- Load context per
helpers.md#Combined-Config-Load - Check status per
helpers.md#Load-Workflow-Status - Load product brief if exists (read
.bmad/product-brief-*.md) - Load template per
helpers.md#Load-Template(tech-spec.md)
Streamlined Requirements Process#
Use TodoWrite to track: Pre-flight โ Requirements โ Technical โ Plan โ Generate โ Validate โ Update
Approach: Pragmatic and efficient for smaller scope.
Section 1: Problem & Solution#
If product brief exists, extract:
- Problem statement
- Proposed solution
If NO brief: Ask:
"In 2-3 sentences:
- What problem are you solving?
- What's your solution?"
Store as: {{problem_statement}}, {{proposed_solution}}
Section 2: Requirements List#
Explain:
"For small projects, we'll keep requirements simple and actionable."
Ask: "What needs to be built? List the key features or capabilities."
Format as bulleted list:
- Feature 1: Description with acceptance criteria
- Feature 2: Description with acceptance criteria
- Feature 3: Description with acceptance criteriaTypical count: 3-8 requirements
Also ask: "What is explicitly OUT of scope?"
Store as: {{requirements_list}}, {{out_of_scope}}
Section 3: Technical Approach#
Technology Stack: Ask: "What technologies will you use?"
- Language/framework
- Database
- Hosting/deployment
- Key libraries
Format:
- **Language/Framework:** Python 3.11 + FastAPI
- **Database:** PostgreSQL 15
- **Hosting:** AWS (ECS + RDS)
- **Key Libraries:** SQLAlchemy, Pydantic, pytestStore as: {{tech_stack}}
Architecture Overview: Ask: "At a high level, how does the system work?"
Encourage: Simple description or diagram text
- Main components
- Data flow
- Key interactions
Store as: {{architecture_overview}}
Data Model (if applicable): If data-heavy: Ask: "What are the main data entities and their relationships?"
Format as simple list or markdown table.
Store as: {{data_model}}
API Design (if applicable): If API project: Ask: "What are the key API endpoints?"
Format:
- GET /api/users - List users
- POST /api/users - Create user
- GET /api/users/{id} - Get user by IDStore as: {{api_design}}
Section 4: Implementation Plan#
Stories: Ask: "Let's break this into implementable pieces. What are the 1-10 stories?"
For Level 0 (single story):
- Just one story that encompasses everything
For Level 1 (1-10 stories):
- Break into logical chunks
- Each story should be 1-3 days of work
Format:
1. **Story Name** - What it delivers
2. **Story Name** - What it delivers
...Store as: {{stories_list}}
Development Phases (optional for Level 1): If multiple stories, ask about order:
"What's the logical implementation order?"
Store as: {{development_phases}}
Section 5: Acceptance Criteria#
Ask: "How will you know it's complete? What must work?"
Format as checklist:
- [ ] Feature X works as described
- [ ] All tests pass
- [ ] Deployed to [environment]
- [ ] User can successfully [key action]Store as: {{acceptance_criteria}}
Section 6: Non-Functional Requirements (Brief)#
Ask concisely:
Performance:
"Any performance requirements? (e.g., response time, load handling)"
Security:
"Any security requirements? (e.g., authentication, data protection)"
Other:
"Anything else? (accessibility, browser support, etc.)"
Store as: {{performance_requirements}}, {{security_requirements}}, {{other_nfr}}
Section 7: Dependencies, Risks, Timeline#
Dependencies:
Ask: "What does this depend on?"
Store as: {{dependencies}}
Risks: Ask: "What could go wrong? How to mitigate?" Format:
- **Risk:** Description
- **Mitigation:** StrategyStore as: {{risks}}
Timeline:
Ask: "When do you want this done?"
Ask: "Any key milestones?"
Store as: {{target_completion}}, {{milestones}}
Generate Document#
- Load template from
${CLAUDE_PLUGIN_ROOT}/references/templates/tech-spec.md - Substitute variables per
helpers.md#Apply-Variables-to-Template - Determine output path:
{output_folder}/tech-spec-{project-name}-{date}.md - Write document using Write tool
- Display summary:
โ Tech Spec Created! Summary: - Requirements: {count} - Stories: {count} - Tech Stack: {stack} - Target: {completion_date}
Validation#
โ Checklist:
- [ ] Problem and solution are clear
- [ ] Requirements are specific and testable
- [ ] Tech stack is defined
- [ ] Stories are broken down (if Level 1)
- [ ] Acceptance criteria are clear
- [ ] Out of scope is statedAsk user: "Please review the tech spec. Is it complete?"
Update Status#
Per helpers.md#Update-Workflow-Status:
- Update
tech-specstatus to file path - Save
Recommend Next Steps#
Level 0:
โ Tech Spec complete!
Next: Create your story
Run /create-story to create the single story for implementation.
Then: /dev-story to implement it.Level 1:
โ Tech Spec complete!
Next: Sprint Planning
Run /sprint-planning to organize your stories and plan implementation.
Note: Level 1 projects can skip architecture and go straight to implementation.Helper References#
- Load config:
helpers.md#Combined-Config-Load - Load status:
helpers.md#Load-Workflow-Status - Load template:
helpers.md#Load-Template - Apply variables:
helpers.md#Apply-Variables-to-Template - Save document:
helpers.md#Save-Output-Document - Update status:
helpers.md#Update-Workflow-Status - Recommend next:
helpers.md#Determine-Next-Workflow
Tips for Tech Specs#
Keep it lightweight:
- Don't over-plan for small projects
- Focus on what's essential
- Get to implementation faster
But be clear:
- Requirements should still be testable
- Tech decisions should be documented
- Success criteria should be explicit
Right-size:
- Level 0: 1 page is fine
- Level 1: 2-3 pages maximum
- If you need more, consider using /prd instead
Notes for LLMs#
- Maintain a pragmatic persona for small projects
- Move faster than PRD - less ceremony
- Still ensure clarity and testability
- Don't skip critical elements (requirements, acceptance criteria)
- For Level 0, keep it very simple (single story focus)
- For Level 1, provide just enough structure
Remember: Tech specs are for speed on small projects. Don't over-engineer the planning process.