lb-bmad-skillUse BMad (Breakthrough Method of Agile AI Driven Development) framework for AI-driven development. Use for: architecture analysis, sprint planning, story gen...
Install via ClawdBot CLI:
clawdbot install leonaaardob/lb-bmad-skillUse BMad framework for AI-driven development with autonomous agent workflows.
For detailed reference, see:
This skill requires coding-agent skill with Claude Code installed.
~/.local/bin/claude)bash pty:true for all Claude Code invocationsBMad (Breakthrough Method of Agile AI Driven Development) is a 4-phase framework:
Each phase produces documents that become context for the next phase.
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.
cd ~/project && npx bmad-method install
Select Claude Code when prompted.
ā ļø npx bmad-method install asks questions!
For installation:
| 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 |
# 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"
Before running any /bmad- command, verify BMad is installed:
ls -la ~/project/_bmad/ # or _bmad-output/
If not found ā run installation first:
bash pty:true workdir:~/project command:"cd ~/project && npx bmad-method install"
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 |
# Examples
claude --model sonnet "Create the architecture"
claude --model haiku "Generate stories from the epic"
| 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 |
For commands that don't need real-time interaction:
# Non-interactive (recommended for most BMad workflows)
claude -p --dangerously-skip-permissions "Your prompt"
Use background:true only when:
Always monitor with process action:log every 10-30 seconds to detect if Claude Code is waiting for input.
To avoid Claude Code blocking on permission requests:
ā ļø Security Note: Using--dangerously-skip-permissionsor--permission-mode bypassPermissionssuppresses permission checks. Use with caution - only for trusted code execution. For production workflows, prefer default permissions or validate the code first.
# Skip all permission prompts (use with caution!)
claude --dangerously-skip-permissions "prompt"
# Or use specific permission mode
claude --permission-mode bypassPermissions "prompt"
If Claude Code waits for confirmation (Y/n, Commit, etc.):
process action:log sessionId:XXXHow to know Claude Code is really done:
ps aux | grep claude
process action:log sessionId:XXX
ā ļø Only consider task complete when you see explicit success message or prompt is back.
For workflows lasting 5+ minutes (/bmad-bmm-dev-story, large refactoring):
Every 60 seconds with no new log output:
# 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)
User says: "Analyze the current architecture and generate the product brief for project X"
Agent should:
ls _bmad/)
bash pty:true workdir:~/path/to/project background:true command:"claude --dangerously-skip-permissions '/bmad-bmm-create-architecture'"
process action:log (check every 10-30s)ls _bmad-output/ to confirm files generatedgrep -i "error" _bmad-output/architecture.md || head -20 _bmad-output/architecture.mdarchitecture.md to verify coherence with user's request/bmad-bmm-create-product-briefUser says: "Prepare sprint 1 and add tasks to OCM (OpenClaw Mission Center)"
Agent should:
bash pty:true workdir:~/path/to/project background:true command:"claude --dangerously-skip-permissions '/bmad-bmm-sprint-planning && /bmad-bmm-create-epics-and-stories'"
_bmad-output/epics/ls -R _bmad-output/ to confirm files existWhen 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.
User says: "Implement feature X using quick-dev"
Agent should:
bash pty:true workdir:~/path/to/project command:"claude --dangerously-skip-permissions '/bmad-bmm-quick-dev [feature description]'"
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)
BMad relies on project-context.md as the project's "brain". It's the persistent context that guides all decisions.
Always check:
ls ~/project/project-context.md
Generate or update it:
# 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
If user pivots mid-project (new features, different direction):
project-context.md with new intentionsarchitecture.md if architecture is affectedDon't dump all stories at once! Follow this process:
ls _bmad-output/epics/*/stories/
head -10 _bmad-output/epics/*/stories/story-*.md
for f in _bmad-output/epics/*/stories/*.md; do head -20 "$f"; done | head -100
claude "/bmad-cmd1 && /bmad-cmd2" # If cmd1 fails, cmd2 still runs
# 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.
Scenario: Claude Code crashes (API error 500, timeout, killed process)
ā ļø Always check for stale processes first:
# 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"
ls -lt _bmad-output/*.md | head -10
# Read the most recently modified output
ls -t _bmad-output/*.md | head -1 | xargs head -30
architecture.md exists but stories/ missing ā run story generationstories/ exist but no OCM tasks ā create tasks from existing storiesWhen Claude Code asks questions during execution:
process action:log sessionId:XXX to see what it askedprocess action:submitExample:
# 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"
Rule of thumb: If it needs a story breakdown and sprint planning ā BMad. If it's a simple edit ā coding-agent directly.
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:
# 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
ā ļø After Claude Code modifies source files, your cached view is stale!
Rule: After each successful Claude Code intervention on source code:
# 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
Before moving to Implementation phase:
architecture.md (or tech-spec.md for quick-dev)| 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 |
rm -rf via Claude Code without explicit human validationClaude Code often asks: "Do you want to commit these changes? [y/N]"
# When Claude asks to commit, default to "n"
process action:submit sessionId:XXX data:"n"
User: "On project PingRoot, analyze the current architecture and generate the product brief"
Agent does:
# 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
User: "Prepare sprint 1 for RoundVision and add tasks to OCM"
Agent does:
# 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!
User: "Fix the typo in the login page"
Agent does:
# Direct coding-agent, no BMad workflow needed
bash pty:true workdir:~/projects/login command:"claude 'Fix the typo on line 42: \"Passowrd\" ā \"Password\"'"
Scenario: Claude Code crashes during story generation
Agent does:
# 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
The minion does NOT automatically have access to project files! sub-agent to implement
When spawning a a task, you MUST provide:
# Minion needs workdir to access project files
sessions_spawn workdir:"~/projects/roundvision" ...
ā ļø NEVER give only the story to a minion!
The story says "Add a login button" but doesn't say:
You MUST provide:
# 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."
{
"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!
_bmad-output/project-context.md is the project's brain - keep it updated/bmad-help provides interactive guidancepty:true with Claude Code--model Generated Mar 1, 2026
A tech startup uses BMad to rapidly prototype a mobile app MVP. They begin with /bmad-bmm-create-prd to define requirements, then /bmad-bmm-create-architecture for technical decisions, and iterate through stories with /bmad-bmm-dev-story to deliver a working product in weeks.
A large corporation employs BMad to refactor a legacy monolithic application into microservices. They use /bmad-bmm-create-architecture with Sonnet for complex decisions, followed by /bmad-bmm-sprint-planning and /bmad-bmm-code-review to ensure quality and alignment with business goals.
An online retailer leverages BMad to add new features like personalized recommendations. They start with /bmad-bmm-create-ux-design for user experience, generate stories with /bmad-bmm-create-epics-and-stories, and implement using Haiku for repetitive coding tasks to improve efficiency.
A healthcare provider adopts BMad to build a secure data analytics dashboard. They use /bmad-bmm-check-implementation-readiness for compliance gates, and /bmad-bmm-quick-spec for rapid prototyping of new modules, ensuring regulatory adherence throughout development.
An edtech company uses BMad to create interactive learning modules. They begin with /bmad-brainstorming for idea generation, then proceed through /bmad-bmm-create-prd and /bmad-bmm-dev-story, utilizing quick-dev commands for fast iterations based on teacher feedback.
Companies offer BMad-powered development tools as a service, charging monthly fees for access to AI-driven workflows. Revenue comes from tiered subscriptions based on usage, features, and support levels, targeting small to medium-sized businesses.
Agencies provide BMad implementation and training services to enterprises, helping them integrate AI-driven development into their workflows. Revenue is generated through project-based contracts, hourly rates, and ongoing maintenance agreements.
Developers distribute BMad as an open-source or freemium tool, with basic features free and advanced capabilities like premium modules or cloud integration available for a fee. Revenue streams include paid upgrades, enterprise licenses, and marketplace add-ons.
š¬ Integration Tip
Ensure Claude Code is properly installed and use non-interactive mode with --dangerously-skip-permissions for automated workflows, but monitor logs regularly to handle any prompts or errors.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Provides a 7-step debugging protocol plus language-specific commands to systematically identify, verify, and fix software bugs across multiple environments.
A comprehensive skill for using the Cursor CLI agent for various software engineering tasks (updated for 2026 features, includes tmux automation guide).
Write, run, and manage unit, integration, and E2E tests across TypeScript, Python, and Swift using recommended frameworks.
Control and operate Opencode via slash commands. Use this skill to manage sessions, select models, switch agents (plan/build), and coordinate coding through Opencode.
Coding style memory that adapts to your preferences, conventions, and patterns for consistent coding.