Create Product Requirements Documents (PRDs), Architecture Documents, Epics, and User Stories using the BMAD (Breakthrough Method for Agile AI Driven Development) methodology. Use when user requests PRDs, architecture docs, epics, stories, or product planning documentation that follows structured agile practices with deep context and detail.
Creates comprehensive product documentation (PRDs, architecture docs, epics, stories) using the BMAD methodology. Use when users request structured agile documentation for software projects, product planning, or technical design that requires deep context and detail.
/plugin marketplace add webdevtodayjason/titanium-plugins/plugin install titanium-toolkit@titanium-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
This skill implements the BMAD (Breakthrough Method for Agile AI Driven Development) approach to creating high-quality, context-rich product requirements documents, architecture documents, epics, and user stories.
Project Brief (optional)
↓
PRD (Product Requirements Document)
↓
Architecture Document
↓
Epics (High-level feature groups: #1.0, #2.0, etc.)
↓
User Stories (Detailed stories: 1.1, 1.2, 2.1, 2.2, etc.)
A project brief provides strategic context before diving into detailed requirements.
# Project Brief: [Project Name]
## Executive Summary
[2-3 paragraphs: What is this? Why are we building it?]
## Market Context
- Target Audience
- Market Opportunity
- Competitive Landscape
## Business Objectives
- Primary Goals
- Success Criteria
- Key Metrics
## Constraints & Assumptions
- Budget/Timeline
- Technical Constraints
- Known Limitations
## Stakeholders
- Key Decision Makers
- Primary Users
- Technical Team
The PRD is the single source of truth for what will be built. It bridges business needs and technical implementation.
# Product Requirements Document: [Product Name]
## 1. Goals and Background Context
### Problem Statement
[Describe the core problem being solved]
### Vision
[High-level vision for the product]
### Success Criteria
[How will we measure success?]
### Target Users
[Who are we building this for?]
### Out of Scope
[What are we explicitly NOT building in this version?]
## 2. Functional Requirements (FRs)
### FR-1: [Requirement Name]
**Description**: [Detailed description]
**Priority**: [Must Have / Should Have / Nice to Have]
**User Story Reference**: [Links to relevant epics/stories]
[Repeat for each functional requirement]
## 3. Non-Functional Requirements (NFRs)
### Performance
- Response time targets
- Throughput requirements
- Scalability goals
### Security
- Authentication/authorization requirements
- Data protection needs
- Compliance requirements
### Reliability
- Uptime targets
- Error handling
- Backup/recovery
### Usability
- Accessibility standards
- Browser/device support
- User experience goals
### Technical Constraints
- Technology stack requirements
- Integration requirements
- Infrastructure needs
## 4. Epics and User Stories (High-Level)
### Epic #1.0: [Epic Name]
**Description**: [High-level description of this feature area]
**Business Value**: [Why is this important?]
**Stories**:
- 1.1: [Brief story description]
- 1.2: [Brief story description]
- 1.3: [Brief story description]
### Epic #2.0: [Epic Name]
[Repeat structure]
## 5. User Interface Design Goals (if applicable)
### Design Principles
[Key UI/UX principles]
### Key Flows
[Critical user journeys]
### Design References
[Mockups, wireframes, design system references]
## 6. Success Metrics and KPIs
### Primary Metrics
[How will we measure success?]
### Secondary Metrics
[Additional success indicators]
### Instrumentation Needs
[What analytics/logging do we need?]
## 7. Dependencies and Risks
### External Dependencies
[Third-party services, APIs, etc.]
### Technical Risks
[Known technical challenges]
### Mitigation Strategies
[How we'll address risks]
## 8. Release Strategy
### MVP (Minimum Viable Product)
[What's included in first release?]
### Future Phases
[What comes next?]
### Rollout Plan
[How will we deploy?]
Start with Discovery Questions
Be Specific, Not Generic
Collaborate and Iterate
Make It Actionable
Include Context for Decision-Making
The Architecture Document translates the PRD into a technical blueprint. It defines HOW the system will be built, what technologies will be used, and how components will interact.
# Architecture Document: [Product Name]
## 1. Executive Summary
### Overview
[High-level architectural approach and key decisions]
### Architecture Principles
[Core principles guiding this architecture]
- Scalability
- Maintainability
- Security-first
- Cost-effectiveness
[etc.]
### Key Technologies
[Major technology choices and why]
## 2. System Context
### System Boundaries
[What's inside vs outside the system]
### External Dependencies
[Third-party services, APIs, external systems]
### Integration Points
[How this system connects with other systems]
### Users and Actors
[Who/what interacts with the system]
## 3. High-Level Architecture
### Architecture Diagram
[ASCII diagram or reference to diagram file]
┌─────────────┐ │ Client │ └──────┬──────┘ │ ┌──────▼──────────────────────┐ │ Load Balancer │ └──────┬──────────────────────┘ │ ┌──────▼──────────┐ ┌─────────────┐ │ App Server │──│ Cache │ └──────┬──────────┘ └─────────────┘ │ ┌──────▼──────────┐ │ Database │ └─────────────────┘
### Architecture Pattern
[MVC, Microservices, Event-Driven, Layered, etc.]
### Component Overview
[Major system components and their responsibilities]
## 4. Technology Stack
### Frontend
- **Framework**: [React, Vue, Angular, etc.]
- **State Management**: [Redux, Zustand, Context API, etc.]
- **Styling**: [Tailwind, CSS Modules, styled-components, etc.]
- **Build Tools**: [Vite, Webpack, etc.]
- **Testing**: [Jest, Vitest, Cypress, etc.]
**Rationale**: [Why these choices?]
### Backend
- **Language**: [Node.js, Python, Go, etc.]
- **Framework**: [Express, FastAPI, Django, etc.]
- **API Style**: [REST, GraphQL, gRPC, etc.]
- **Authentication**: [JWT, OAuth2, Session-based, etc.]
- **Testing**: [Jest, pytest, etc.]
**Rationale**: [Why these choices?]
### Database
- **Primary Database**: [PostgreSQL, MongoDB, MySQL, etc.]
- **Caching Layer**: [Redis, Memcached, etc.]
- **Search Engine**: [Elasticsearch, Algolia, etc.] (if applicable)
- **Message Queue**: [RabbitMQ, Kafka, SQS, etc.] (if applicable)
**Rationale**: [Why these choices?]
### Infrastructure
- **Hosting**: [AWS, GCP, Azure, Vercel, etc.]
- **Container Orchestration**: [Docker, Kubernetes, ECS, etc.]
- **CI/CD**: [GitHub Actions, GitLab CI, Jenkins, etc.]
- **Monitoring**: [DataDog, New Relic, Prometheus, etc.]
- **Logging**: [CloudWatch, ELK Stack, etc.]
**Rationale**: [Why these choices?]
### Third-Party Services
- **Payment**: [Stripe, PayPal, etc.]
- **Email**: [SendGrid, AWS SES, etc.]
- **File Storage**: [S3, Cloudinary, etc.]
- **Analytics**: [Google Analytics, Mixpanel, etc.]
[etc.]
## 5. Data Architecture
### Data Model Overview
[High-level description of key entities and relationships]
### Entity Relationship Diagram
User ──< UserProfile │ │ └──< Order ──< OrderItem >── Product │ └──< Payment
### Key Entities
#### User
```typescript
interface User {
id: string;
email: string;
passwordHash: string;
createdAt: Date;
updatedAt: Date;
role: 'admin' | 'user';
}
[Repeat for each key entity]
[How data moves through the system]
[REST, GraphQL, gRPC, etc.]
POST /api/v1/auth/register
POST /api/v1/auth/login
POST /api/v1/auth/refresh
GET /api/v1/users/:id
PUT /api/v1/users/:id
DELETE /api/v1/users/:id
[Document key endpoints with request/response examples]
POST /api/v1/auth/register
Request:
{
"email": "user@example.com",
"password": "SecurePass123!",
"name": "John Doe"
}
Response (201):
{
"id": "user_123",
"email": "user@example.com",
"name": "John Doe",
"createdAt": "2024-10-16T10:30:00Z"
}
Error Response (400):
{
"error": "INVALID_EMAIL",
"message": "Email address is invalid"
}
[How APIs will be versioned: URL, header, etc.]
[Security-first mindset, defense in depth, etc.]
[How users authenticate]
[How permissions are enforced]
[GDPR, HIPAA, SOC2, etc. requirements]
[How system scales out]
[When/how to scale up]
GET /health
Response: { "status": "healthy", "version": "1.2.3" }
GET /health/ready
Response: { "database": "ok", "cache": "ok", "queue": "ok" }
Code Push → Tests → Build → Deploy to Staging → Manual Approval → Deploy to Production
[Existing systems, team expertise, licensing, etc.]
Context: Need for complex queries and data relationships Options Considered: PostgreSQL, MongoDB, MySQL Decision: PostgreSQL Rationale: ACID compliance, robust querying, team expertise Tradeoffs: Slightly more complex schema changes
[Repeat for each major decision]
[Technical assumptions being made]
[Technical risks and how to address them]
[Folder structure, naming conventions]
[How developers get started]
[Known technical debt and plans to address]
[How architecture will evolve as system grows]
[How planned features will affect architecture]
[Planned technology updates/migrations]
[Technical terms and definitions]
[Record of all significant architectural decisions]
[Architectural questions that need resolution]
### Architecture Document Best Practices
1. **Keep It Updated**
- Architecture evolves with the system
- Update as decisions are made
- Version control all changes
2. **Be Pragmatic**
- Choose "boring" technology when possible
- Over-engineering is a risk
- Start simple, add complexity as needed
3. **Document Decisions**
- Record why decisions were made
- Document alternatives considered
- Note tradeoffs accepted
4. **Think About Operations**
- How will it be deployed?
- How will it be monitored?
- How will it be debugged?
5. **Consider the Team**
- Use technologies team knows
- Document unfamiliar patterns
- Plan for knowledge transfer
6. **Security First**
- Security is not an afterthought
- Design for security from day one
- Document security measures
7. **Performance Matters**
- Define performance requirements
- Plan for scale from the start
- Monitor and optimize continuously
### Common Architecture Pitfalls to Avoid
1. **Over-Engineering**: Building for problems you don't have yet
2. **Under-Engineering**: Ignoring known scale/performance requirements
3. **Technology Resume Building**: Choosing tech for learning, not fit
4. **Ignoring Operations**: Not considering deployment, monitoring, debugging
5. **No Clear Ownership**: Unclear who owns what component
6. **Tight Coupling**: Components too dependent on each other
7. **No Testing Strategy**: Testing as an afterthought
## Creating Epics
### Purpose
Epics group related user stories into logical feature areas. They represent high-level capabilities.
### Epic Structure
```markdown
# Epic #[X.0]: [Epic Name]
## Overview
[High-level description of this epic]
## Business Value
[Why is this epic important? What business goal does it support?]
## User Benefit
[How does this benefit end users?]
## Success Criteria
[How will we know this epic is complete and successful?]
## User Stories
- [X.1]: [Story title]
- [X.2]: [Story title]
- [X.3]: [Story title]
## Dependencies
- [Other epics or external dependencies]
## Estimated Effort
[T-shirt sizing: S/M/L/XL or story points]
## Priority
[Must Have / Should Have / Nice to Have]
## Target Release
[Which release/sprint?]
User stories are detailed, implementable units of work. They should contain EVERYTHING a developer needs to build the feature.
# Story [X.Y]: [Story Title]
## Story Metadata
- **Epic**: #[X.0] [Epic Name]
- **Priority**: [Must Have / Should Have / Nice to Have]
- **Estimated Effort**: [Story points or hours]
- **Status**: [Draft / Approved / In Progress / Done]
- **Assigned To**: [Developer name or TBD]
## User Story Statement
As a [type of user],
I want to [action/goal],
So that [benefit/value].
## Context and Background
[Detailed background information. Why are we building this? What problem does it solve? Include relevant context from the PRD and architecture.]
### Related Requirements
- **FR-[X]**: [Functional requirement this story addresses]
- **NFR-[X]**: [Non-functional requirements this story must satisfy]
### User Journey Context
[How does this story fit into the broader user experience?]
## Detailed Description
[Comprehensive description of what needs to be built. Be specific about:
- What UI elements are needed
- What data is processed
- What business logic is required
- How it integrates with other components
- What APIs or services are called]
## Acceptance Criteria
### Functional Criteria
1. **Given** [precondition]
**When** [action]
**Then** [expected result]
2. **Given** [precondition]
**When** [action]
**Then** [expected result]
[Continue for all scenarios]
### Non-Functional Criteria
- **Performance**: [Response time, load capacity]
- **Security**: [Authentication, authorization, data protection]
- **Accessibility**: [WCAG compliance, keyboard navigation]
- **Browser Support**: [Which browsers/versions]
- **Error Handling**: [Expected error scenarios and handling]
## Technical Implementation Guidance
### Architecture Context
[Relevant excerpts from architecture document: where this fits in the system, what patterns to use, what services to call]
### Data Model
[What data structures are involved? Database schema changes?]
### API Endpoints (if applicable)
```http
GET /api/[endpoint]
POST /api/[endpoint]
[Expected request/response formats]
[Mockups, wireframes, or detailed descriptions]
[User flows, state transitions, animations]
[How it adapts to different screen sizes]
[ARIA labels, keyboard navigation, screen reader support]
[What unit tests are needed?]
[What integration scenarios to test?]
[What user flows to test end-to-end?]
[Unusual scenarios to test]
[What must be completed before this story can start?]
[What other stories depend on this?]
[Third-party services, APIs, etc.]
[Questions that need to be answered before implementation]
[Assumptions being made]
[Known risks or concerns]
[Additional notes for developers]
[Key decisions made and why]
[Things to consider for future iterations]
### User Story Best Practices
1. **Include Full Context**: Developer should understand WHY and HOW, not just WHAT
2. **Be Hyper-Detailed**: More detail is better than less
3. **Make It Self-Contained**: Story should have everything needed to implement
4. **Use Clear Acceptance Criteria**: Given/When/Then format
5. **Include Technical Guidance**: Reference architecture, patterns, conventions
6. **Define Done Clearly**: Checklist of what "done" means
7. **Size Appropriately**: One story = one developer = 1-5 days of work
8. **Make It Testable**: Clear, verifiable acceptance criteria
## BMAD Workflow Guidelines
### When Creating Documentation
1. **Ask Probing Questions**
- Don't assume - validate understanding
- Challenge vague requirements
- Dig deeper into motivations
- Understand constraints
2. **Iterate and Refine**
- Present draft for feedback
- Incorporate changes
- Validate alignment
- Confirm understanding
3. **Provide Options**
- Present alternatives when appropriate
- Explain tradeoffs
- Help user make informed decisions
- Document decisions made
4. **Maintain Context**
- Connect stories to epics
- Link requirements to business goals
- Show relationships between components
- Reference relevant architecture
### Quality Standards
1. **Specificity Over Generality**
- Concrete examples, not abstract concepts
- Specific numbers, not ranges
- Named entities, not "the system"
2. **Completeness**
- All edge cases considered
- All integration points identified
- All NFRs addressed
- All dependencies documented
3. **Clarity**
- No ambiguous language
- No jargon without explanation
- Clear, scannable structure
- Consistent terminology
4. **Actionability**
- Testable acceptance criteria
- Clear definition of done
- Prioritized features
- Assigned ownership
## Document Naming Conventions
### Files
- Project Brief: `docs/brief.md` or `docs/briefs/[feature-name].md`
- PRD: `docs/prd.md` or `docs/prd/[feature-name].md`
- Architecture: `docs/architecture.md`
- Epics: `docs/epics/[epic-number]-[epic-name].md`
- Stories: `docs/stories/[epic].[story]-[story-name].md`
### Examples
- `docs/brief.md`
- `docs/prd.md`
- `docs/epics/1.0-user-authentication.md`
- `docs/stories/1.1-login-form.md`
- `docs/stories/1.2-password-reset.md`
## Common Pitfalls to Avoid
1. **Being Too Generic**: Avoid bland, cookie-cutter language
2. **Insufficient Detail**: Stories should be comprehensive
3. **Missing Context**: Always explain the "why"
4. **Vague Acceptance Criteria**: Be specific and testable
5. **Ignoring NFRs**: Performance, security, etc. matter
6. **No Prioritization**: Everything can't be P0
7. **Missing Dependencies**: Identify what blocks what
8. **Unclear Definition of Done**: Be explicit
## Example Workflow
### User Request: "I need a PRD for a task management app"
**Claude's Approach:**
1. **Discovery Phase**
Before I create the PRD, let me ask some key questions:
2. **Draft PRD Creation**
- Create comprehensive PRD following structure above
- Include specific details based on answers
- Flag areas needing more input
3. **Refinement**
- Present draft for feedback
- Ask follow-up questions on unclear areas
- Iterate based on feedback
4. **Epic and Story Creation**
- Break PRD into logical epics
- Create detailed user stories
- Ensure complete context in each story
## Integration with Development
### Handoff to Architecture
Once PRD is complete, architect should:
- Design system architecture
- Define technology stack
- Plan data models
- Identify integration points
### Handoff to Development
Stories should contain:
- Full PRD context relevant to the story
- Architecture excerpts relevant to implementation
- Clear technical guidance
- Complete acceptance criteria
### Quality Assurance
QA should use stories to:
- Write test cases from acceptance criteria
- Validate against NFRs
- Verify edge cases
- Check definition of done
## Tips for Success
1. **Start Simple, Add Depth**: Begin with structure, then add detail
2. **Use Templates Consistently**: Maintain structure across documents
3. **Link Everything**: Create traceability from brief → PRD → epic → story
4. **Version Control**: Track changes and decisions
5. **Review Regularly**: PRDs and stories should evolve
6. **Validate Often**: Check understanding with stakeholders
7. **Be Pragmatic**: Perfect is the enemy of good enough
## When to Use This Skill
Use this skill when:
- User requests a PRD, architecture document, epic, or user story
- User asks for product planning or technical architecture documentation
- User mentions "BMAD" or "agile planning"
- User needs help structuring requirements or technical design
- User wants detailed, context-rich documentation
- User is planning a software project or feature
- User needs system architecture, API design, or technology stack documentation
## When NOT to Use This Skill
Don't use for:
- Quick bug fixes (use simpler formats)
- Documentation that's not product/planning related
- When user explicitly asks for different format
- Non-software projects (unless requested)
---
**Remember**: The BMAD method is about creating high-quality, context-rich documentation through human-AI collaboration. Always ask questions, iterate, and ensure deep understanding before finalizing any document.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.