Skip to content
bmad-planner logo

BMAD Planner

bmad-planner

Interactive callable tool that creates BMAD planning documents (requirements, architecture, epics) in main repository on contrib branch. Three-persona Q&A system generates comprehensive planning before feature development. Use when: On contrib branch, planning phase, need requirements/architectu...

mattnigh/skills_collection0installs24stars

SKILL.md

Full skill instructions

BMAD Planner

Purpose

Business Model, Architecture, and Design documentation created in main repository before feature development begins.

Now available as an interactive callable Python script - saves ~2,000-2,700 tokens per feature compared to manual reproduction.

When to Use

  • Current directory: main repository (not worktree)
  • Current branch: contrib/<gh-user>
  • Phase: Planning (Phase 1)

Interactive Callable Tool

BMAD is now an interactive callable tool that runs as a Python script in the main repository.

Invocation

Command:

python .claude/​skills/​bmad-planner/​scripts/​create_planning.py \
  <slug> <gh_user>

Arguments:

  • slug: Feature slug (e.g., my-feature)
  • gh_user: GitHub username
  • --no-commit: Optional flag to skip git commit (for testing)

Example:

# In main repo on contrib branch
python .claude/​skills/​bmad-planner/​scripts/​create_planning.py \
  my-feature stharrold

Interactive Session Flow

Session output:

Working in main repository...
Branch: contrib/​stharrold

======================================================================
BMAD Interactive Planning Tool
======================================================================

Creating planning documents for: my-feature
GitHub user: stharrold
Output directory: planning/​my-feature

======================================================================
🧠 BMAD Analyst Persona - Requirements Gathering
======================================================================

I'll help create the requirements document through interactive Q&A.
----------------------------------------------------------------------

What problem does this feature solve?
> Add German vocabulary search by part of speech

Who are the primary users of this feature?
> German language learners

[... continues with 5-10 questions ...]

✓ Requirements gathering complete!

======================================================================
🏗️ BMAD Architect Persona - Technical Architecture Design
======================================================================

Based on the requirements, I'll design the technical architecture.
----------------------------------------------------------------------

Technology Stack:

Web framework (if applicable)?
  1) FastAPI
  2) Flask
  3) Django
  4) None
  [default: None]
> 4

[... continues with 5-8 questions ...]

✓ Architecture design complete!

======================================================================
📋 BMAD PM Persona - Epic Breakdown
======================================================================

Analyzing requirements and architecture to create epic breakdown...
----------------------------------------------------------------------

✓ Identified 3 epics:
  - E-001: Data Layer Foundation (Priority: P0, Medium complexity)
  - E-002: Core Business Logic (Priority: P0, High complexity)
  - E-003: Testing & Quality Assurance (Priority: P1, Medium complexity)

✓ Epic breakdown complete!

======================================================================
Generating Planning Documents
======================================================================
  ✓ Created planning/​my-feature/​CLAUDE.md
  ✓ Created planning/​my-feature/​README.md
  ✓ Created planning/​my-feature/​ARCHIVED/​CLAUDE.md
  ✓ Created planning/​my-feature/​ARCHIVED/​README.md
  ✓ Created planning/​my-feature/​requirements.md
  ✓ Created planning/​my-feature/​architecture.md
  ✓ Created planning/​my-feature/​epics.md

Committing planning documents...
✓ Committed planning documents for my-feature

======================================================================
✓ BMAD Planning Documents Created Successfully!
======================================================================

Files created in planning/​my-feature:
  - requirements.md (Business requirements and acceptance criteria)
  - architecture.md (Technical architecture and design)
  - epics.md (Epic breakdown and planning)
  - CLAUDE.md (Context for Claude Code)
  - README.md (Human-readable overview)
  - ARCHIVED/ (Directory for deprecated planning docs)

Next steps:
  1. Review planning documents in planning/​my-feature
  2. Create feature worktree
  3. SpecKit will auto-detect and use these planning documents
  4. Token savings: ~1,700-2,700 tokens by reusing planning context

What happens:

  1. Script validates location (main repo, contrib branch)
  2. Conducts 🧠 Analyst Q&A (5-10 questions)
  3. Generates requirements.md from template + Q&A responses
  4. Conducts 🏗️ Architect Q&A (5-8 questions)
  5. Generates architecture.md from template + Q&A responses
  6. Automatically analyzes requirements + architecture (📋 PM)
  7. Generates epics.md with epic breakdown
  8. Creates compliant planning/<slug>/ directory structure
  9. Commits changes to contrib branch

Token Efficiency:

ApproachToken UsageSavings
Before (manual): Claude Code reproduces BMAD each time~2,500 tokens-
After (callable tool): Claude Code calls script~200 tokens~2,300 tokens (92%)

Script Architecture

Location: .claude/​skills/​bmad-planner/​scripts/​create_planning.py

Key functions:

  • detect_context() - Verify main repo, contrib branch
  • interactive_qa_analyst() - 🧠 Requirements Q&A
  • interactive_qa_architect() - 🏗️ Architecture Q&A
  • generate_epic_breakdown() - 📋 Auto-generate epics
  • process_*_template() - Replace placeholders, inject Q&A responses
  • create_directory_structure() - CLAUDE.md, README.md, ARCHIVED/
  • commit_planning_docs() - Git commit

Document Templates

Templates are located in templates/:

  • requirements.md.template - Business requirements and acceptance criteria (170 lines)
  • architecture.md.template - System architecture and design decisions (418 lines)
  • epics.md.template - Epic breakdown with priorities and dependencies (245 lines)

Interactive Planning Approach

BMAD uses a three-persona method to gather comprehensive planning information through interactive Q&A sessions with the user.

🧠 Persona 1: BMAD Analyst (Requirements)

Role: Business Analyst creating Product Requirements Document

Process:

  1. Ask user about problem statement and business context
  2. Identify target users and stakeholders
  3. Define success criteria and measurable outcomes
  4. Gather functional and non-functional requirements
  5. Document user stories with scenarios
  6. Identify risks and constraints

Interactive Q&A Example:

I'll help create the requirements document using the BMAD Analyst persona.

What problem does this feature solve?
> [User describes the problem]

Who are the primary users of this feature?
> [User identifies user types]

How will we measure success for this feature?
> [User defines success metrics]

What are the must-have capabilities? (functional requirements)
> [User lists key capabilities]

Any performance, security, or scalability requirements? (non-functional)
> [User specifies NFRs]

Generates: planning/<feature>/​requirements.md using comprehensive template

🏗️ Persona 2: BMAD Architect (Architecture)

Role: Technical Architect designing system architecture

Process:

  1. Read requirements.md for business context
  2. Ask user about technology preferences and constraints
  3. Design system components and data models
  4. Define API contracts and integration points
  5. Specify security, error handling, testing strategies
  6. Document deployment and observability approach

Interactive Q&A Example:

Based on the requirements, I'll design the technical architecture.

Technology preferences?
- Web framework: FastAPI / Flask / Django?
> [User chooses framework]

Database requirements?
- Development: SQLite
- Production: PostgreSQL / MySQL?
> [User chooses database]

Performance targets?
- Response time: < 200ms?
- Concurrent users: How many?
> [User specifies targets]

Container strategy?
- Using Podman (default for this project)
- Multi-container setup needed?
> [User confirms approach]

Generates: planning/<feature>/​architecture.md using comprehensive template

📋 Persona 3: BMAD PM (Epic Breakdown)

Role: Project Manager breaking down work into epics

Process:

  1. Read requirements.md + architecture.md for full context
  2. Identify major work streams (epics)
  3. Define scope, complexity, and dependencies for each epic
  4. Prioritize epics (P0/​P1/​P2)
  5. Create implementation timeline
  6. Estimate effort and identify risks

Analysis:

Analyzing requirements and architecture to create epic breakdown...

Identified 3 major epics:
1. E-001: Data Layer (Foundation) - P0, High complexity
2. E-002: API Layer (Core functionality) - P0, Medium complexity
3. E-003: Testing & Quality - P1, Medium complexity

Dependencies detected:
  E-001 → E-002 (API needs data layer)
  E-002 → E-003 (tests need API)

Creating epic breakdown document...

Generates: planning/<feature>/​epics.md with epic definitions, priorities, timeline

How to Invoke BMAD

When workflow-orchestrator loads bmad-planner during Phase 1, it calls the create_planning.py script.

Workflow Orchestrator Code:

# In workflow orchestrator - Phase 1.1
if current_phase == 1 and current_step == '1.1':
    import subprocess

    result = subprocess.run([
        'python',
        '.claude/​skills/​bmad-planner/​scripts/​create_planning.py',
        slug,       # my-feature
        gh_user,    # stharrold
    ], check=True)

    # Script handles:
    # - 🧠 Analyst Q&A with user
    # - 🏗️ Architect Q&A with user
    # - 📋 PM epic breakdown (automatic)
    # - requirements.md, architecture.md, epics.md generation
    # - Directory structure creation
    # - Git commit

    print(f"✓ BMAD planning created in planning/​{slug}/")
    print("  Next: Create feature worktree (Phase 2)")

User Experience:

Phase 1: BMAD Planning Session

Workflow calls:
  python .claude/​skills/​bmad-planner/​scripts/​create_planning.py my-feature stharrold

Script conducts interactive session:
  🧠 BMAD Analyst: Requirements gathering [5-10 questions]
  🏗️ BMAD Architect: Architecture design [5-8 questions]
  📋 BMAD PM: Epic breakdown [automatic analysis]

✓ Generated: planning/​my-feature/​requirements.md
✓ Generated: planning/​my-feature/​architecture.md
✓ Generated: planning/​my-feature/​epics.md
✓ Committed to contrib branch

✓ BMAD planning complete!
  Next: Create feature worktree (Phase 2 will use these docs)
  Token savings: ~2,300 tokens vs manual approach

Integration with Workflow

The workflow-orchestrator calls the create_planning.py script during Phase 1:

# In workflow orchestrator
if current_phase == 1 and current_step == '1.1':
    import subprocess

    result = subprocess.run([
        'python',
        '.claude/​skills/​bmad-planner/​scripts/​create_planning.py',
        slug,
        gh_user,
    ], check=True)

    print(f"✓ BMAD planning created: planning/​{slug}/")

Output Files

BMAD generates three planning documents that become input context for SpecKit:

planning/<feature-name>/
├── requirements.md    # Business requirements (170 lines from template)
│   ├─ Problem statement, stakeholders
│   ├─ Functional requirements (FR-001, FR-002...)
│   ├─ Non-functional requirements (performance, security...)
│   ├─ User stories with scenarios
│   └─ Risks, assumptions, success criteria
│
├── architecture.md    # Technical architecture (418 lines from template)
│   ├─ System overview, components
│   ├─ Technology stack with justifications
│   ├─ Data models, API endpoints
│   ├─ Container architecture (Containerfile, podman-compose.yml)
│   ├─ Security, error handling, testing strategies
│   └─ Deployment, observability, disaster recovery
│
├── epics.md          # Epic breakdown (245 lines from template)
│   ├─ Epic definitions (scope, complexity, priority)
│   ├─ Dependencies and critical path
│   ├─ Implementation timeline
│   └─ Resource requirements and risks
│
├── CLAUDE.md         # Context for this planning directory
├── README.md         # Human-readable overview
└── ARCHIVED/         # Deprecated planning documents

These files become input context for SpecKit in Phase 2.

Integration with SpecKit

BMAD documents are used as context when creating SpecKit specifications:

Data Flow: BMAD → SpecKit

Phase 1 (Main Repo, contrib branch):

BMAD Interactive Session
  ↓
planning/<feature>/
├── requirements.md
├── architecture.md
└── epics.md

Create Worktree:

# Worktree creation preserves link to main repo
git worktree add ../​repo_feature_<slug> feature/<timestamp>_<slug>

Phase 2 (Worktree):

SpecKit reads from main repo:
../​planning/<feature>/​requirements.md → Business context
../​planning/<feature>/​architecture.md → Technical design
../​planning/<feature>/​epics.md        → Epic priorities

SpecKit generates (informed by BMAD):
specs/<feature>/​spec.md  ← Detailed specification
specs/<feature>/​plan.md  ← Implementation tasks

Why This Connection Matters

Consistency:

  • Technology choices in spec.md match architecture.md stack
  • spec.md acceptance criteria cover requirements.md success criteria
  • plan.md tasks align with epics.md breakdown

Completeness:

  • All functional requirements from requirements.md appear in spec.md
  • Non-functional requirements (performance, security) included
  • Epic dependencies reflected in plan.md task ordering

Traceability:

  • spec.md sections reference FR-001, FR-002... from requirements.md
  • plan.md tasks map to E-001, E-002... from epics.md
  • Architecture decisions from architecture.md justify implementation choices

Less Rework:

  • Planning clarifies requirements before coding
  • Design decisions made explicit
  • Reduces ambiguity and prevents scope creep

Integration with Workflow

The workflow-orchestrator calls this skill during Phase 1:

# In workflow orchestrator
if current_phase == 1 and current_step == '1.1':
    load_skill('bmad-planner')
    create_planning_docs(feature_name, gh_user)
    commit_changes('docs: add BMAD planning for ' + feature_name)

Template Placeholders

Both templates use these placeholders:

  • {{TITLE}} - Feature name (title case)
  • {{DATE}} - Creation date (YYYY-MM-DD)
  • {{GH_USER}} - GitHub username

Best Practices

  • Requirements first: Define business needs before technical design
  • Acceptance criteria: Make success measurable
  • Architecture clarity: Explain design decisions and trade-offs
  • Technology justification: Document why specific tools/​frameworks chosen
  • Non-functional requirements: Don't forget performance, security, scalability

More skills from mattnigh

spring-framework-patterns logo
mattnigh/skills_collection

spring-framework-patterns

Comprehensive Spring Framework and Spring Boot best practices including dependency injection patterns, bean lifecycle and scopes, REST API development, Spring Data JPA, service layer design, Spring Security, testing strategies, caching, AOP, async processing, error handling, and common anti-patte...

24 0
View

TypeScript厳格モードによる型安全性設計を専門とするスキル。 📖 参照書籍: - 『Effective TypeScript』(Dan Vanderkam): 型設計 📚 リソース参照: - `resources/Level1_basics.md`: レベル1の基礎ガイド - `resources/Level2_intermediate.md`: レベル2の実務ガイド - `resources/Level3_advanced.md`: レベル3の応用ガイド - `resources/Level4_expert.md`: レベル4の専門ガイド - `resources/di...

24 0
View
deploying-cloud-k8s logo
mattnigh/skills_collection

deploying-cloud-k8s

Deploys applications to cloud Kubernetes (AKS/GKE/DOKS) with CI/CD pipelines. Use when deploying to production, setting up GitHub Actions, troubleshooting deployments. Covers build-time vs runtime vars, architecture matching, and battle-tested debugging.

24 0
View
moai-alfred-agent-guide logo
mattnigh/skills_collection

moai-alfred-agent-guide

19-agent team structure, decision trees for agent selection, Haiku vs Sonnet model selection, and agent collaboration principles. Use when deciding which sub-agent to invoke, understanding team responsibilities, or learning multi-agent orchestration.

24 0
View
mermaid-diagram-generator logo
mattnigh/skills_collection

mermaid-diagram-generator

Converts architecture descriptions, module specs, or workflow docs into Mermaid diagrams. Use when visualizing brick module relationships, workflows (DDD, investigation), or system architecture. Supports: flowcharts, sequence diagrams, class diagrams, state machines, entity relationship diagrams,...

24 0
View
pre-flight-check logo
mattnigh/skills_collection

pre-flight-check

INVOKE FIRST before any code work. Validates git workflow (branch, issue, worklog) and checks approach. Use at START of every task and END before completing. Prevents skipped steps.

24 0
View
browser-dev-tools logo
mattnigh/skills_collection

browser-dev-tools

This skill should be used when working with browser-rendered artifacts (i.e. Bun, React/React Native) to proactively validate that development work on localhost is being built appropriately and to support debugging browser-rendered content. Use this skill after making frontend changes to verify t...

24 0
View
lead-dev logo
mattnigh/skills_collection

lead-dev

Lead Développeur - Coordination technique opérationnelle, code review, mentoring et livraison. Pair de web-dev-process au niveau OPÉRATIONS.

24 0
View
worker-monitor logo
mattnigh/skills_collection

worker-monitor

Monitor Docker workers, RQ queue health, and auto-scale workers (max 4). Use when: checking job progress, monitoring queue depth, scaling workers up/down, diagnosing slow processing, or waiting for jobs to complete. Referenced by data-quality skill during reprocessing.

24 0
View
quality-advisor logo
mattnigh/skills_collection

quality-advisor

Proactive quality guidance system that monitors artifact creation and provides real-time feedback on documentation quality

24 0
View
bump-version logo
mattnigh/skills_collection

bump-version

This skill should be used when the user wants to bump the version number in the workspace. It updates versions across all pyproject.toml files (root, tde, and tda packages) and the CHANGELOG.md to keep them synchronized.

24 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View