Skip to content

BMAD v6 Practical Guide ​

A step-by-step guide to using BMAD (Build, Measure, Analyze, Deliver) project management in Claude Craft.


What is BMAD? ​

BMAD v6 is Claude Craft's integrated project management framework that brings Agile methodology directly into your AI-assisted development workflow.

Key Features ​

  • 9 Specialized Agents - Each with distinct expertise (PM, BA, Architect, PO, SM, Dev, QA, UX, BMAD Master)
  • Status-based Routing - Stories automatically flow through a state machine
  • 5 Quality Gates - Validation checkpoints at each phase
  • Batch Processing - Queue and execute multiple stories
  • TDD Phase Tracking - Red → Green → Refactor cycle per story

Getting Started ​

Initialize BMAD in Your Project ​

bash
# Start Claude Code in your project
cd ~/my-project
claude

# Initialize BMAD
/workflow:init

This creates:

.bmad/
├── config.yaml           # BMAD configuration
├── sprint-status.yaml    # Current sprint state
├── backlog/              # Story files
│   ├── EPIC-001.md
│   └── US-001.md
└── hooks/                # Claude Code hooks
    ├── sprint-context.sh
    ├── story-status.sh
    └── quality-gate.sh

Check Status ​

bash
/workflow:status

The 9 BMAD Agents ​

BMAD Master (@bmad-master) ​

Role: Central orchestrator and coordinator

When to use:

  • Starting a new project phase
  • Routing work to appropriate agents
  • Checking overall project status
  • Coordinating multi-agent workflows
@bmad-master Initialize the project with BMAD methodology
@bmad-master Route this feature request to the right agent
@bmad-master What's the current project status?

Key Commands:

  • /workflow:init - Initialize BMAD and recommend the optimal track (routing)
  • /workflow:status - Show workflow progress and next actions
  • /workflow:start - Start a sprint phase
  • /workflow:review - Sprint review and phase handoff

Note: BMAD roles (pm, ba, architect, po, sm, dev, qa) are integrated into the /workflow:* and /sprint:* commands — there is no standalone /bmad:* namespace.


Product Manager (@pm) ​

Role: Product strategy and PRD creation

When to use:

  • Defining product vision
  • Creating Product Requirements Documents
  • Prioritizing features
  • Setting success metrics
@pm Create a PRD for user authentication feature
@pm Prioritize these features for next quarter
@pm Define OKRs for the mobile app launch

Key Commands:

  • /pm:prd - Create PRD
  • /pm:vision - Define vision
  • /pm:roadmap - Create roadmap
  • /pm:prioritize - Prioritize features
  • /pm:okr - Define OKRs

Quality Gate: PRD Gate (≥80%)


Business Analyst (@ba) ​

Role: Requirements engineering and documentation

When to use:

  • Gathering requirements
  • Creating use cases
  • Building user story maps
  • Gap analysis
@ba Analyze requirements for the payment module
@ba Create a user story map for checkout flow
@ba What are the gaps between current and desired state?

Key Commands:

  • /ba:analyze - Analyze requirements
  • /ba:use-cases - Create use cases
  • /ba:story-map - Build story map
  • /ba:gap-analysis - Gap analysis
  • /ba:requirements - Document requirements

Architect (@architect) ​

Role: Technical architecture and design

When to use:

  • Designing system architecture
  • Creating technical specifications
  • Defining API contracts
  • Making architectural decisions
@architect Design the architecture for this feature
@architect Create an ADR for choosing JWT over sessions
@architect Design the database schema for orders

Key Commands:

  • /arch:design - Design architecture
  • /arch:techspec - Create tech spec
  • /arch:adr - Document ADR
  • /arch:api - Design API
  • /arch:database - Design database
  • /arch:security - Security review

Quality Gate: Tech Spec Gate (≥90%)


Product Owner (@po) ​

Role: Backlog management and acceptance

When to use:

  • Prioritizing backlog
  • Writing user stories
  • Defining acceptance criteria
  • Accepting/rejecting work
@po Prioritize this backlog for the next sprint
@po Review and accept US-005
@po Refine these user stories

Key Commands:

  • /po:prioritize - Prioritize backlog
  • /po:refine - Refine stories
  • /po:accept - Accept work
  • /po:reject - Reject work
  • /po:release - Plan release

Scrum Master (@sm) ​

Role: Agile facilitation and team coordination

When to use:

  • Planning sprints
  • Running ceremonies
  • Tracking velocity
  • Removing impediments
@sm Plan sprint 3 with the team
@sm Run the sprint retrospective
@sm What's blocking the team?

Key Commands:

  • /sm:plan-sprint - Plan sprint
  • /sm:daily - Daily standup
  • /sm:review - Sprint review
  • /sm:retro - Retrospective
  • /sm:velocity - Track velocity
  • /sm:burndown - Show burndown

Developer (@dev) ​

Role: TDD implementation and clean code

When to use:

  • Implementing features
  • Writing tests first (TDD)
  • Code refactoring
  • Code review
@dev Implement US-005 using TDD
@dev Refactor this service for better testability
@dev Review this pull request

Key Commands:

  • /dev:implement - Implement feature
  • /dev:tdd - TDD cycle
  • /dev:test - Write tests
  • /dev:refactor - Refactor code
  • /dev:review - Code review
  • /dev:fix - Fix bug

TDD Phases:

  • 🔴 Red - Write failing test
  • 🟢 Green - Implement to pass
  • 🔵 Refactor - Clean up code

QA Engineer (@qa) ​

Role: Quality assurance and test automation

When to use:

  • Defining test strategy
  • Validating acceptance criteria
  • Automating tests
  • Exploratory testing
@qa Validate acceptance criteria for US-005
@qa Create automated tests for the login flow
@qa What's the test coverage for the payment module?

Key Commands:

  • /qa:strategy - Test strategy
  • /qa:validate - Validate AC
  • /qa:automate - Automate tests
  • /qa:explore - Exploratory testing
  • /qa:report - Quality report
  • /qa:bug - Report bug

UX Designer (@ux) ​

Role: User experience and accessibility

When to use:

  • User research
  • Creating personas and journeys
  • Designing wireframes
  • Accessibility audits
@ux Design the user journey for onboarding
@ux Create personas for our target users
@ux Audit this page for accessibility

Key Commands:

  • /ux:research - User research
  • /ux:persona - Create persona
  • /ux:journey - Map journey
  • /ux:wireframe - Create wireframe
  • /ux:flow - Design flow
  • /ux:accessibility - A11y audit

Quality Gates ​

Quality gates are validation checkpoints that ensure work meets standards before progressing.

1. PRD Gate (≥80%) ​

When: Vision → PRD

Validates:

  • [ ] Problem statement defined
  • [ ] Target users identified
  • [ ] Goals and objectives clear
  • [ ] Success metrics defined
  • [ ] Scope boundaries set
bash
/gate:validate-prd docs/prd.md

2. Tech Spec Gate (≥90%) ​

When: PRD → Technical Specification

Validates:

  • [ ] Architecture documented
  • [ ] API contracts defined
  • [ ] Security considerations addressed
  • [ ] Performance requirements set
  • [ ] Testing strategy defined
  • [ ] Deployment plan created
bash
/gate:validate-techspec docs/tech-spec.md

3. Backlog Gate (INVEST 6/6) ​

When: Tech Spec → Backlog

Validates each story for:

  • Independent - Can be developed separately
  • Negotiable - Details can be discussed
  • Valuable - Delivers user value
  • Estimable - Can be estimated
  • Small - Fits in a sprint
  • Testable - Has clear acceptance criteria
bash
/gate:validate-backlog

4. Sprint Ready (100%) ​

When: Backlog → Sprint

Validates:

  • [ ] Sprint goal defined
  • [ ] All stories have estimates
  • [ ] Stories are prioritized
  • [ ] Dependencies identified
  • [ ] Team capacity confirmed
bash
/gate:validate-sprint

5. Story DoD (100%) ​

When: Development → Done

Validates:

  • [ ] All tasks completed
  • [ ] Tests passing
  • [ ] Acceptance criteria met
  • [ ] Code reviewed
  • [ ] Documentation updated
  • [ ] No blockers
bash
/gate:validate-story US-005

Full Gates Report ​

bash
/gate:report

Status-based Routing ​

Stories automatically transition through statuses:

┌─────────┐    ┌──────────────┐    ┌─────────────┐    ┌────────┐    ┌──────┐
│ backlog │───▶│ ready-for-dev │───▶│ in-progress │───▶│ review │───▶│ done │
└─────────┘    └──────────────┘    └─────────────┘    └────────┘    └──────┘
     │               │                    │               │
     └───────────────┴────────────────────┴───────────────┴──────▶ blocked

Transition Commands ​

bash
# View current status
/sprint:status --bmad

# Get next story ready for development
/sprint:next-story --claim

# Transition a story
/sprint:transition US-005 in-progress
/sprint:transition US-005 review
/sprint:transition US-005 done

# Block a story
/sprint:transition US-005 blocked --reason="Waiting for API"

# Run automatic routing rules
/sprint:auto-route

TDD Phase Within In-Progress ​

When a story is in-progress, track the TDD phase:

yaml
# In story frontmatter
status: in-progress
tdd_phase: red  # or green, refactor

Visual indicators:

  • 🔴 red - Writing failing tests
  • 🟢 green - Implementing to pass
  • 🔵 refactor - Cleaning up code

Batch Processing ​

Process multiple stories automatically.

Queue an Epic ​

bash
# Queue all stories from an epic
/project:run-epic EPIC-002

Process the Queue ​

bash
# Process stories in queue
/project:run-queue

# With parallel processing
/project:run-queue --parallel 3

Execute Full Sprint ​

bash
# Run entire sprint automatically
/project:run-sprint

# With auto-routing
/project:run-sprint --auto

Check Batch Status ​

bash
/project:batch-status

Kanban Board ​

Claude Craft ships a local Kanban board that visualises your BMAD v6 project without any SaaS dependency.

Launch ​

bash
# From the project root (where .bmad/ or project-management/ lives)
npx @the-bearded-bear/claude-craft kanban --open

The board opens at http://127.0.0.1:3737 (default port) and binds to localhost only.

BMAD v6 ingestion ​

When .bmad/sprint-status.yaml exists, the board ingests it automatically as a read-only story source. Stories sourced from this file display a 🔒 lock icon — they cannot be mutated via drag-and-drop or PATCH requests (server returns 409). This preserves the integrity of the sprint state managed by the AI workflow.

Story sourceMutable via board?Written by
project-management/US-*.mdYes/workflow:plan, /sprint:start
.bmad/sprint-status.yamlNo (read-only 🔒)/workflow:*, /sprint:* commands

Views ​

  • Kanban — 6 columns with drag-and-drop transitions (gates enforced server-side)
  • Backlog — Epic tree with per-epic progress bar
  • Burndown — Ideal vs actual curve, on-track / at-risk / behind indicator
  • Dependencies — Directed graph, cycles highlighted in red
  • Docs — Inline markdown viewer for prd.md, tech-spec.md, architecture/*.md

Typical BMAD workflow with the board ​

  1. Run /workflow:init or /sprint:start to populate .bmad/sprint-status.yaml
  2. Launch claude-craft kanban --open to open the board
  3. Monitor story progress in real time — the board live-reloads on every YAML change
  4. Use the board as a read-only dashboard during sprint ceremonies (stand-up, review)

Complete Workflow Example ​

1. Initialize Project ​

bash
/workflow:init
@bmad-master Set up BMAD for a new e-commerce platform

2. Define Product (PM Phase) ​

bash
@pm Create a PRD for the shopping cart feature
/gate:validate-prd docs/prd.md

3. Analyze Requirements (BA Phase) ​

bash
@ba Analyze requirements and create user story map

4. Design Architecture (Architect Phase) ​

bash
@architect Create technical specification from the PRD
/gate:validate-techspec docs/tech-spec.md

5. Prepare Backlog (PO Phase) ​

bash
@po Create and prioritize user stories
/gate:validate-backlog

6. Plan Sprint (SM Phase) ​

bash
@sm Plan sprint 1 with selected stories
/gate:validate-sprint

7. Implement (Dev Phase) ​

bash
# Get next story
/sprint:next-story --claim

# Implement with TDD
@dev Implement US-001 using TDD

# 🔴 Red - Write failing test
/sprint:transition US-001 in-progress
# Write test...

# 🟢 Green - Implement
# Write code to pass...

# 🔵 Refactor - Clean up
# Refactor...

# Move to review
/sprint:transition US-001 review

8. Validate (QA Phase) ​

bash
@qa Validate acceptance criteria for US-001
/gate:validate-story US-001

9. Complete ​

bash
/sprint:transition US-001 done

Tips for Success ​

1. Start Simple ​

Begin with /workflow:init --quick for bug fixes before using full BMAD.

2. Use Quality Gates ​

Don't skip gates - they catch issues early.

3. Let Agents Collaborate ​

Use handoffs:

bash
@bmad-master Handoff from PM to Architect for technical design

4. Track TDD Phases ​

Update tdd_phase in story frontmatter to track progress.

5. Review Metrics ​

bash
/sm:velocity
/sm:burndown
/workflow:status

Configuration ​

.bmad/config.yaml ​

yaml
version: 2
project:
  name: "My Project"
  methodology: "scrum"

quality_gates:
  prd:
    threshold: 80
    enabled: true
  tech_spec:
    threshold: 90
    enabled: true
  backlog:
    invest_required: true
  story:
    dod_required: true

routing:
  auto_route: true
  rules:
    - from: backlog
      to: ready-for-dev
      condition: "has_estimate && has_ac"
    - from: ready-for-dev
      to: in-progress
      condition: "claimed_by_dev"

tdd:
  enforce: true
  phases: ["red", "green", "refactor"]

Troubleshooting ​

"No sprint-status.yaml found" ​

bash
/workflow:init

Quality gate always fails ​

Check required fields:

bash
/gate:report

Stories not transitioning ​

Verify status flow is valid:

  • backlog → ready-for-dev (not direct to in-progress)

See Also ​