Use BMad (Breakthrough Method of Agile AI Driven Development) framework for AI-driven development. Use for: architecture analysis, sprint planning, story generation, PRD creation, and full development workflows. Requires coding-agent skill with Claude Code.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add LeoYeAI/openclaw-master-skills --skill lb-bmad-skill --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Lb Bmad Skill?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/leoyeai-lb-bmad-skill)More formats (shields.io, HTML) on the badges page.
---
name: bmad-method
description: "Use BMad (Breakthrough Method of Agile AI Driven Development) framework for AI-driven development. Use for: architecture analysis, sprint planning, story generation, PRD creation, and full development workflows. Requires coding-agent skill with Claude Code."
---
# BMad Method Skill
> Use BMad framework for AI-driven development with autonomous agent workflows.
**For detailed reference, see:**
- [docs/reference/commands.md](docs/reference/commands.md) - Complete command reference
- [docs/reference/agents.md](docs/reference/agents.md) - Available agents
- [docs/how-to/install-bmad.md](docs/how-to/install-bmad.md) - Detailed installation guide
- [docs/tutorials/getting-started.md](docs/tutorials/getting-started.md) - Quick start
## DEPENDENCY
**This skill requires coding-agent skill with Claude Code installed.**
- Claude Code must be installed (`~/.local/bin/claude`)
- Use `bash pty:true` for all Claude Code invocations
## Description
BMad (Breakthrough Method of Agile AI Driven Development) is a 4-phase framework:
1. **Analysis** — Explore the problem space
2. **Planning** — Define what to build
3. **Solutioning** — Decide how to build it
4. **Implementation** — Build it
Each phase produces documents that become context for the next phase.
---
## Installation
To use BMad in a project:
> ⚠️ **Security Note:** `npx bmad-method install` fetches code from npm. Only run this if you trust the BMad package. Review the package before installing.
```bash
cd ~/project && npx bmad-method install
```
Select Claude Code when prompted.
### ⚠️ Installation is Interactive
**⚠️ npx bmad-method install asks questions!**
For installation:
- **DO NOT use background:true** - you need to respond to prompts
- **Stay in the session** and answer each question
- **Monitor the log** for these common prompts:
| Prompt in Log | Expected Answer | Notes |
|---------------|----------------|-------|
| "Where should BMad be installed?" | `.` or `~path/to/project` | Current directory |
| "Which AI tool are you using?" | `Claude Code` or number | Select Claude |
| "Select modules to install" | `a` or `enter` | Select all/default |
| "Install BMad in current directory?" | `y` or `enter` | Confirm |
```bash
# Installation must be interactive!
bash pty:true workdir:~/project command:"cd ~/project && npx bmad-method install"
# Stay present, answer each prompt:
# - Monitor log for prompts
# - Submit answer via: process action:submit sessionId:XXX data:"y"
```
### ⚠️ Pre-Flight Check
**Before running any /bmad- command, verify BMad is installed:**
```bash
ls -la ~/project/_bmad/ # or _bmad-output/
```
If not found → run installation first:
```bash
bash pty:true workdir:~/project command:"cd ~/project && npx bmad-method install"
```
---
## Model Selection
**Strategic model selection for efficiency:**
| Model | Best Use Cases |
|-------|----------------|
| **Sonnet** | Architecture, Solutioning, Quick-dev (complex tasks) |
| **Haiku** | Brainstorming, Story generation, Code review (repetitive/structured) |
| **Opus** | Large refactoring, complex architecture decisions |
```bash
# Examples
claude --model sonnet "Create the architecture"
claude --model haiku "Generate stories from the epic"
```
---
## Available Commands (via /bmad-)
| Command | Purpose | Output |
|---------|---------|--------|
| `/bmad-help` | Interactive guide | - |
| `/bmad-brainstorming` | Brainstorm project ideas (use sparingly - see Notes) | `brainstorming-report.md` |
| `/bmad-bmm-create-prd` | Define requirements | `PRD.md` |
| `/bmad-bmm-create-ux-design` | Design UX | `ux-spec.md` |
| `/bmad-bmm-create-architecture` | Technical decisions | `architecture.md` + ADRs |
| `/bmad-bmm-create-epics-and-stories` | Break into stories | Epic files in `_bmad-output/` |
| `/bmad-bmm-check-implementation-readiness` | Gate check | PASS/CONCERNS/FAIL |
| `/bmad-bmm-sprint-planning` | Initialize sprint | `sprint-status.yaml` |
| `/bmad-bmm-create-story` | Prepare next story | `story-[slug].md` |
| `/bmad-bmm-dev-story` | Implement story | Working code + tests |
| `/bmad-bmm-code-review` | Validate quality | Approved/changes requested |
| `/bmad-bmm-quick-spec` | Quick spec (skip phases 1-3) | `tech-spec.md` |
| `/bmad-bmm-quick-dev` | Quick implementation | Working code |
---
## ⚠️ Important: Claude Code Execution
### Use Non-Interactive Mode When Possible
For commands that don't need real-time interaction:
```bash
# Non-interactive (recommended for most BMad workflows)
claude -p --dangerously-skip-permissions "Your prompt"
```
### When to Use Background Mode
Use `background:true` only when:
- Running multiple BMad workflows in sequence
- The workflow is expected to take a long time
**Always monitor with `process action:log` every 10-30 seconds** to detect if Claude Code is waiting for input.
### Permission Configuration
To avoid Claude Code blocking on permission requests:
> ⚠️ **Security Note:** Using `--dangerously-skip-permissions` or `--permission-mode bypassPermissions` suppresses permission checks. Use with caution - only for trusted code execution. For production workflows, prefer default permissions or validate the code first.
```bash
# Skip all permission prompts (use with caution!)
claude --dangerously-skip-permissions "prompt"
# Or use specific permission mode
claude --permission-mode bypassPermissions "prompt"
```
### Permission Loop Detection
**If Claude Code waits for confirmation (Y/n, Commit, etc.):**
1. Check the log: `process action:log sessionId:XXX`
2. Identify the type of prompt:
- **Shell command (Y/n):** → submit "y"
- **Git commit proposal:** → submit "n" (see below)
- **Other:** → evaluate if you know the answer, otherwise ask user
### Task Completion Detection (Background Mode)
**How to know Claude Code is really done:**
1. **Success message in log:** Look for "Task completed", "Done!", "All tasks finished"
2. **Prompt available:** The command prompt is back
3. **Timeout:** If log is silent for **2+ minutes** without completion message → check process:
```bash
ps aux | grep claude
process action:log sessionId:XXX
```
**⚠️ Only consider task complete when you see explicit success message or prompt is back.**
### Session Heartbeat (Long Running Tasks)
For workflows lasting 5+ minutes (/bmad-bmm-dev-story, large refactoring):
**Every 60 seconds with no new log output:**
```bash
# Check if process is still alive
ps aux | grep claude
# If stalled but alive → check if waiting for input
process action:log sessionId:XXX
# If process died → trigger recovery (see below)
```
---
## Autonomous Workflow Patterns
### Pattern 1: Full Analysis + Planning Request
**User says:** "Analyze the current architecture and generate the product brief for project X"
**Agent should:**
1. **Pre-flight check:** Verify BMad installed (`ls _bmad/`)
2. **Check project-context.md:** If absent or outdated, generate it first (see below)
3. Launch Claude Code in the project directory:
```bash
bash pty:true workdir:~/path/to/project background:true command:"claude --dangerously-skip-permissions '/bmad-bmm-create-architecture'"
```
4. Monitor progress with `process action:log` (check every 10-30s)
5. If Claude Code needs information → ask the user directly
6. When complete → run: `ls _bmad-output/` to confirm files generated
7. **Verify output:** `grep -i "error" _bmad-output/architecture.md || head -20 _bmad-output/architecture.md`
8. Read `architecture.md` to verify coherence with user's request
9. Then launch product brief: `/bmad-bmm-create-product-brief`
### Pattern 2: Sprint Preparation with Story Generation
**User says:** "Prepare sprint 1 and add tasks to OCM (OpenClaw Mission Center)"
**Agent should:**
1. **Pre-flight check:** Verify BMad installed
2. Launch Claude Code:
```bash
bash pty:true workdir:~/path/to/project background:true command:"claude --dangerously-skip-permissions '/bmad-bmm-sprint-planning && /bmad-bmm-create-epics-and-stories'"
```
3. Wait for stories to be generated in `_bmad-output/epics/`
4. **Refresh context**: run `ls -R _bmad-output/` to confirm files exist
5. **Read stories efficiently** (see "Reading Stories Safely" below)
6. **Create OCM tasks from each story** (use task-manager skill)
7. Report completion with task list
#### OCM Task Traceability
**When creating OCM tasks, ALWAYS include the BMad story reference:**
```
Task: Implement login form validation
Description: [full story content]
---
Ref: _bmad-output/epics/auth/stories/story-login-validation.md
Epic: auth
Created from: BMad Sprint 1
```
**Why:** This links the OCM task back to the source story for traceability.
### Pattern 3: Quick Feature Implementation
**User says:** "Implement feature X using quick-dev"
**Agent should:**
1. Launch Claude Code with quick-dev:
```bash
bash pty:true workdir:~/path/to/project command:"claude --dangerously-skip-permissions '/bmad-bmm-quick-dev [feature description]'"
```
---
## ⚠️ Quick-Dev vs Standard: The Red Line
**Quick-dev is faster but lacks safeguards. Use wisely.**
| ✅ OK with Quick-Dev | ❌ NEVER with Quick-Dev |
|---------------------|------------------------|
| UI tweaks | Authentication changes |
| Bug fixes | Encryption/Security |
| New endpoints | Database migrations |
| Simple features | Payment logic |
| | Breaking schema changes |
**Rule:** If the change touches security, auth, encryption, or database migrations → **Use full BMad cycle** (Analysis → Solutioning → Implementation)
---
## project-context.md Management
BMad relies on `project-context.md` as the project's "brain". It's the persistent context that guides all decisions.
### Before /bmad-bmm-create-prd
**Always check:**
```bash
ls ~/project/project-context.md
```
### If Missing or Outdated
**Generate or update it:**
```bash
# Option 1: Generate from codebase
bash pty:true workdir:~/project command:"claude '/bmad-bmm-generate-project-context'"
# Option 2: Update manually with user's latest direction
# Ask user: "What's the current vision for this project?"
# Then create/update project-context.md with that info
```
### When User Changes Direction
If user pivots mid-project (new features, different direction):
1. Update `project-context.md` with new intentions
2. Regenerate `architecture.md` if architecture is affected
3. Proceed with updated context
---
## Reading Stories Safely (Avoid Context Overflow)
**Don't dump all stories at once!** Follow this process:
1. **List first:**
```bash
ls _bmad-output/epics/*/stories/
```
2. **Check each story header** before reading full:
```bash
head -10 _bmad-output/epics/*/stories/story-*.md
```
3. **Read one at a time** for task creation:
- Read story 1 → create OCM task
- Read story 2 → create OCM task
- etc.
4. **For batch operations**, group by epic:
```bash
for f in _bmad-output/epics/*/stories/*.md; do head -20 "$f"; done | head -100
```
---
## Command Chain Safety
### ❌ Avoid This (Silent Failures)
```bash
claude "/bmad-cmd1 && /bmad-cmd2" # If cmd1 fails, cmd2 still runs
```
### ✅ Prefer Sequential Execution
```bash
# Step 1: Run cmd1
bash pty:true background:true command:"claude '/bmad-cmd1'"
# Step 2: Verify output exists
ls _bmad-output/required-file.md
grep -q "expected content" _bmad-output/required-file.md || { echo "FAILED"; exit 1; }
# Step 3: Run cmd2 only if cmd1 succeeded
bash pty:true command:"claude '/bmad-cmd2'"
```
**Rule:** Verify each step before proceeding to the next.
---
## Recovery After Crash
**Scenario:** Claude Code crashes (API error 500, timeout, killed process)
### Step 0: Kill Zombie Processes (BEFORE Restart!)
**⚠️ Always check for stale processes first:**
```bash
# Check if Claude is still running
ps aux | grep claude
# Kill any zombie processes for this project
pkill -f "claude.*projects/roundvision" || echo "No zombie processes"
# Also kill any hanging node processes
pkill -f "npx.*bmad" || echo "No zombie npx"
```
### Step 1: Check what was generated
1. **Check what was generated:**
```bash
ls -lt _bmad-output/*.md | head -10
```
2. **Find the last valid file:**
```bash
# Read the most recently modified output
ls -t _bmad-output/*.md | head -1 | xargs head -30
```
3. **Resume from where it stopped:**
- If `architecture.md` exists but `stories/` missing → run story generation
- If `stories/` exist but no OCM tasks → create tasks from existing stories
- If partial output → check coherence, regenerate only what's missing
4. **Never restart from zero** if partial output exists
---
## Handling Claude Code Questions
When Claude Code asks questions during execution:
1. **Check the log first** with `process action:log sessionId:XXX` to see what it asked
2. **If you know the answer** → provide it via `process action:submit`
3. **If you need to ask the user** → pause and get clarification first
4. **If Claude Code is blocked** → tell it to ask for what it needs, then come back to you
Example:
```bash
# Claude asks: "What's your preferred authentication provider?"
# If you don't know → ask user: "Claude needs to know auth provider - Auth0, Firebase, or Supabase?"
# Then provide the answer:
process action:submit sessionId:XXX data:"Auth0"
```
---
## When to Use BMad vs Direct Coding-Agent
### Use BMad for:
- New features or epics
- Architecture changes or refactoring
- Sprint planning with story generation
- Technical documentation (PRD, architecture)
- Anything security-sensitive
### Use coding-agent directly (without BMad) for:
- Quick fixes and small corrections
- Simple code reviews
- One-file changes
- Experiments/prototyping
**Rule of thumb:** If it needs a story breakdown and sprint planning → BMad. If it's a simple edit → coding-agent directly.
---
## Reading BMad Outputs
After BMad workflows complete, documents are in:
```
project/
├── _bmad/
│ └── config.yaml
├── _bmad-output/
│ ├── brainstorming-report.md
│ ├── product-brief.md
│ ├── PRD.md
│ ├── ux-spec.md
│ ├── architecture.md
│ ├── epics/
│ │ └── epic-[name]/
│ │ └── stories/
│ │ └── story-[slug].md
│ └── sprint-status.yaml
└── project-context.md
```
**⚠️ Always verify files exist** by running `ls _bmad-output/` or `ls -R _bmad-output/` after each workflow.
**Verify output validity** before reading:
```bash
# Quick check
ls -la _bmad-output/architecture.md
# Validate content
head -20 _bmad-output/architecture.md
# Check for errors
grep -i "error\|fail" _bmad-output/architecture.md
```
### Cache Refresh (Perception Reset)
**⚠️ After Claude Code modifies source files, your cached view is stale!**
**Rule:** After each successful Claude Code intervention on source code:
1. **Don't assume** your previous read of a file is still valid
2. **Re-read** the file if you need to work on it further
3. **Clear mental cache** - explicitly read the file again
```bash
# Bad: Assuming old read is still valid
read path:"~/project/src/auth.js" # ❌ May be outdated
# Good: Read fresh after Claude modified it
exec command:"cat ~/project/src/auth.js" # ✅ Fresh content
```
---
## Validation Step
Before moving to Implementation phase:
1. Read the generated `architecture.md` (or `tech-spec.md` for quick-dev)
2. Verify it aligns with user's original request
3. If misaligned → regenerate or clarify with user
---
## Error Handling
| Error | Solution |
|-------|----------|
| `Command not found` | Check PATH: `echo $PATH` and `which claude` |
| `npx: command not found` | Install Node.js 20+ |
| `_bmad/ not found` | Run `npx bmad-method install` first |
| Claude stuck on permission | Use `--dangerously-skip-permissions` |
| API 500 error | Trigger recovery (see "Recovery After Crash") |
| Session timeout | Check if process still running, resume if possible |
### ⚠️ Safety Rules
- **Never run `rm -rf` via Claude Code without explicit human validation**
- **Never use quick-dev for security-sensitive changes**
- **Default Git answer: "n" (let OpenClaw handle commits)**
---
## Git Commit Handling
Claude Code often asks: "Do you want to commit these changes? [y/N]"
- **Reply "n"** to keep Git control with OpenClaw
- **Reply "y"** ONLY if user explicitly requested full Git autonomy
```bash
# When Claude asks to commit, default to "n"
process action:submit sessionId:XXX data:"n"
```
---
## Examples
### Example 1: Architecture Analysis + Product Brief (Sequential)
**User:** "On project PingRoot, analyze the current architecture and generate the product brief"
**Agent does:**
```bash
# 1. Pre-flight check
ls ~/projects/pingroot/_bmad/ || echo "Need to install BMad"
# 2. Check/update project-context.md
ls ~/projects/pingroot/project-context.md || echo "Need to create project-context.md"
# 3. Launch architecture workflow
bash pty:true workdir:~/projects/pingroot background:true command:"claude --dangerously-skip-permissions '/bmad-bmm-create-architecture'"
# 4. Monitor, wait for completion
process action:poll sessionId:XXX
# 5. Verify output
ls _bmad-output/architecture.md
head -20 _bmad-output/architecture.md
grep -i "error" _bmad-output/architecture.md || echo "OK"
# 6. If OK, verify coherence with user request
# 7. If coherent, launch product brief
bash pty:true workdir:~/projects/pingroot command:"claude --dangerously-skip-permissions '/bmad-bmm-create-product-brief'"
# 8. Deliver outputs
```
### Example 2: Sprint Preparation + OCM Tasks (with safety checks)
**User:** "Prepare sprint 1 for RoundVision and add tasks to OCM"
**Agent does:**
```bash
# 1. Pre-flight check
ls ~/projects/roundvision/_bmad/ || npx bmad-method install
# 2. Check project-context.md
ls ~/projects/roundvision/project-context.md || echo "Update this first!"
# 3. Launch sprint planning + story creation
bash pty:true workdir:~/projects/roundvision background:true command:"claude --dangerously-skip-permissions '/bmad-bmm-sprint-planning && /bmad-bmm-create-epics-and-stories'"
# 4. Monitor and wait for completion
process action:poll sessionId:XXX # repeat until done
# 5. Refresh context - verify files exist
ls -R ~/projects/roundvision/_bmad-output/epics/
# 6. List stories first (don't dump all at once!)
ls ~/projects/roundvision/_bmad-output/epics/*/stories/
# 7. Read and process stories one by one
for story in ~/projects/roundvision/_bmad-output/epics/*/stories/*.md; do
echo "=== $(basename $story) ==="
head -20 "$story"
# Create OCM task from this story
done
# 8. Report: "Created X tasks in OCM for Sprint 1"
# IMPORTANT: Each OCM task must include story path as reference!
```
### Example 3: Quick Fix (No BMad Needed)
**User:** "Fix the typo in the login page"
**Agent does:**
```bash
# Direct coding-agent, no BMad workflow needed
bash pty:true workdir:~/projects/login command:"claude 'Fix the typo on line 42: \"Passowrd\" → \"Password\"'"
```
### Example 4: Recovery After Crash
**Scenario:** Claude Code crashes during story generation
**Agent does:**
```bash
# 0. Cleanup zombies FIRST!
ps aux | grep claude
pkill -f "claude.*projects/roundvision" || echo "Clean"
# 1. Check what was generated
ls -lt ~/project/_bmad-output/ | head -10
# 2. Find last valid file
ls -t ~/project/_bmad-output/epics/*/stories/ | head -1
# 3. Check if partial stories exist
ls ~/project/_bmad-output/epics/*/stories/*.md | wc -l
# 4. If partial → resume from last point
# If 3 stories out of 5 → generate remaining 2
# If 0 stories → restart story generation
# 5. Continue without restarting from zero
```
---
## ⚠️ CRITICAL: Sub-Agent (Minion) Access
**The minion does NOT automatically have access to project files! sub-agent to implement**
When spawning a a task, you MUST provide:
### 1. Project Directory Access
```bash
# Minion needs workdir to access project files
sessions_spawn workdir:"~/projects/roundvision" ...
```
### 2. Story + Context + Architecture
**⚠️ NEVER give only the story to a minion!**
The story says "Add a login button" but doesn't say:
- Is this React, Vue, or vanilla JS?
- Does it use Tailwind or Bootstrap?
- What's the existing auth pattern?
**You MUST provide:**
1. **Story** (what to build)
2. **project-context.md** (project rules, tech stack)
3. **architecture.md** (technical decisions)
```bash
# Step 1: Read all three
cat ~/projects/roundvision/project-context.md
cat ~/projects/roundvision/_bmad-output/architecture.md
cat ~/projects/roundvision/_bmad-output/epics/auth.md
# Step/stories/story-login 2: Combine into a comprehensive prompt
sessions_spawn task:"You are implementing this story: [STORY].
Project context: [CONTEXT].
Architecture: [ARCHITECTURE].
Follow the patterns defined in architecture.md."
```
### 3. OCM Task Should Include Story Path
```json
{
"title": "Implement login form validation",
"description": "Full story content...",
"source": "_bmad-output/epics/auth/stories/story-login.md"
}
```
**⚠️ Without workdir + story content + context + architecture, the minion is blind and cannot implement anything!**
---
## Notes
- **BMad brainstorming**: Use sparingly. OpenClaw itself is a brainstorming agent. Use BMad for technical structuring, keep high-level strategy with OpenClaw.
- BMad generates files in `_bmad-output/`
- `project-context.md` is the project's brain - keep it updated
- `/bmad-help` provides interactive guidance
- Always use `pty:true` with Claude Code
- For model restrictions, use `--model <sonnet|haiku|opus>`
- **Token efficiency**: Use direct coding-agent for small tasks, reserve BMad for complex workflows
- **Sequential over chained**: Verify each step before proceeding
---
## Related Skills
- **coding-agent** — Required for launching Claude Code
- **task-manager** — For creating OCM tasks from BMad stories
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!