Skip to content
🤖 AI-optimized docs: llms-full.txt

Builder Commands Reference

Reference for the three core BMad Builder skills: the Agent Builder (bmad-agent-builder), the Workflow Builder (bmad-workflow-builder), and the Module Builder (bmad-module-builder).

CapabilityMenu CodeAgent BuilderWorkflow Builder
Build ProcessBPBuild, edit, convert, or fix agentsBuild, edit, convert, or fix workflows and utilities
Quality OptimizeQOValidate and optimize existing agentsValidate and optimize existing workflows and utilities
ConvertCW-Convert any skill to BMad-compliant, outcome-driven equivalent with comparison report

Both capabilities support autonomous/headless mode via --headless / -H flags.

ContextAgent PatternWorkflow Pattern
Standaloneagent-{name}{name}
Module{modulecode}-agent-{name}{modulecode}-{name}

Names must be kebab-case and match the folder name. Agents should include agent in the name. For module-based skills, the user chooses the module code prefix during the build.

The core creative path. Six phases of conversational discovery take you from a rough idea to a complete, tested skill folder.

Both builders accept any of these as a starting point.

InputWhat Happens
A rough idea or descriptionGuided discovery from scratch
An existing BMad skill pathEdit mode. Analyze what exists, determine what to change
A non-BMad skill, tool, or codeConvert to BMad-compliant structure
Documentation, API specs, or codeExtract intent and requirements automatically
ModeBehaviorBest For
GuidedThe builder walks through decisions, clarifies ambiguities, ensures completenessProduction skills, first-time builders
YOLOBrain-dump your idea; the builder guesses its way to a finished skill with minimal questionsQuick prototypes, experienced builders
AutonomousFully headless; no interactive prompts, proceeds with safe defaultsCI/CD, batch processing, orchestrated builds
PhaseAgent BuilderWorkflow Builder
1Discover Intent: understand the vision; detect agent type (stateless, memory, or autonomous) through natural questionsDiscover Intent: understand the vision; accepts any input format
2Capabilities Strategy: internal commands, external skills, scripts; evolvable capability decisionClassify Skill Type: Simple Utility, Simple Workflow, or Complex Workflow; module membership
3Gather Requirements: identity, persona memory seeds, First Breath territories, PULSE behaviors, folder dominionGather Requirements: name, description, stages, config variables, output artifacts, dependencies
4Draft & Refine: present outline, iterate until readyDraft & Refine: present plan, clarify gaps, iterate until ready
5Build: generate skill structure per agent type, lint gateBuild: generate skill structure, lint gate
6Summary: present results, offer Quality OptimizeSummary: present results, run unit tests if scripts exist, offer Quality Optimize

Agent Builder: Phase 1 Agent Type Detection

Section titled “Agent Builder: Phase 1 Agent Type Detection”

The builder determines the agent type through natural questions, not a menu:

Question (asked naturally)If NoIf Yes
Does this agent need to remember between sessions?StatelessMemory or Autonomous
Should the user be able to teach it new things?Fixed capabilitiesEvolvable capabilities
Does it operate autonomously between sessions?MemoryAutonomous

For memory and autonomous agents, the builder also determines relationship depth: deep (calibration-style First Breath with open-ended discovery) or focused (configuration-style First Breath with guided questions).

Agent Builder: Phase 2 Capabilities Strategy

Section titled “Agent Builder: Phase 2 Capabilities Strategy”

Determines the mix of internal and external capabilities, plus script opportunities.

Capability TypeDescription
Internal commandsPrompt-driven actions, each gets a file in references/
External skillsStandalone skills the agent invokes by registered name
ScriptsDeterministic operations offloaded from the LLM (validation, data processing, file ops)
Evolvable capabilitiesIf enabled: user can teach the agent new capabilities over time via authoring reference

Requirements differ by agent type. Stateless agents need identity and capabilities. Memory and autonomous agents need everything below.

All agent types:

RequirementDescription
IdentityWho is this agent? Communication style, decision-making philosophy
CapabilitiesInternal commands, external skills, scripts
Folder dominionRead boundaries, write boundaries, explicit deny zones

Memory and autonomous agents add:

RequirementDescription
Identity seed2-3 sentences of personality DNA for PERSONA.md
Species-level missionDomain-specific purpose statement for CREED.md
Core values3-5 values that guide behavior
Standing ordersSurprise-and-delight + self-improvement, adapted to the domain with examples
CREED seedsPhilosophy, boundaries, anti-patterns (behavioral + operational)
BOND territoriesDomain-specific areas to learn about the owner
First Breath territoriesDiscovery questions beyond the universal set

Autonomous agents add:

RequirementDescription
PULSE behaviorsDefault wake behavior, domain-specific autonomous tasks
Named task routingTasks invoked via --headless {task-name} or -H {task-name}
Frequency & quiet hoursHow often to wake, when not to

Skill type classification determines template and structure.

TypeSignalsStructure
Simple UtilityComposable building block, clear input/output, usually mostly script-drivenSingle SKILL.md, scripts folder
Simple WorkflowFits in one SKILL.md, a few sequential steps, optional autonomousSKILL.md with inline steps, optional prompts and resources
Complex WorkflowMultiple stages, branching prompt flows, progressive disclosure, long-runningSKILL.md for routing, prompts/ for stage details, resources/ for reference data

Workflow-specific requirements gathered in Phase 3:

RequirementSimple UtilitySimple WorkflowComplex Workflow
Input/output formatYes--
ComposabilityYes--
Steps-Numbered stepsNamed stages with progression conditions
Headless mode-OptionalOptional
Config variables-Core + customCore + module-specific
Module sequencingOptionalOptionalRecommended

The output structure depends on the agent type.

Stateless agents:

{skill-name}/
├── SKILL.md # Full identity + persona + capabilities
├── references/ # Capability prompts
├── agents/ # Subagent definitions (if needed)
├── scripts/ # Deterministic scripts
│ └── tests/ # Unit tests for scripts
└── assets/ # Templates (if needed)

Memory and autonomous agents:

{skill-name}/
├── SKILL.md # Lean bootloader (~30 lines of content)
├── references/
│ ├── first-breath.md # First Breath conversation guide
│ ├── memory-guidance.md # Session close and curation practices
│ ├── capability-authoring.md # If evolvable capabilities enabled
│ └── {capability}.md # Outcome-focused capability prompts
├── assets/ # Sanctum seed templates
│ ├── INDEX-template.md
│ ├── PERSONA-template.md
│ ├── CREED-template.md
│ ├── BOND-template.md
│ ├── MEMORY-template.md
│ ├── CAPABILITIES-template.md
│ └── PULSE-template.md # Autonomous agents only
├── agents/ # Subagent definitions (if needed)
└── scripts/
├── init-sanctum.py # Creates sanctum folder, copies templates, generates CAPABILITIES.md
└── tests/

The seed templates contain real content from the discovery phases, not placeholders. The init script is parameterized with the skill name, file lists, and evolvable flag.

Workflow builder output remains the same regardless of agent type:

{skill-name}/
├── SKILL.md # Skill instructions
├── prompts/ # Stage prompts for complex workflows
├── resources/ # Reference data
├── agents/ # Subagent definitions for parallel processing
├── scripts/ # Deterministic scripts
│ └── tests/ # Unit tests for scripts
└── templates/ # Building blocks for generated output

Before completing the build, both builders run deterministic validation.

ScriptWhat It Checks
scan-path-standards.pyPath conventions: {project-root} for project-scope, ./ for same-folder references, bare paths for cross-directory skill-internal, no double-prefix
scan-scripts.pyScript portability, PEP 723 metadata, agentic design, unit test presence

Critical issues block completion. Warnings are noted but don’t block.

Validation and optimization for existing skills. Runs deterministic lint scripts for instant structural checks and LLM scanner subagents for judgment-based analysis, all in parallel.

In interactive mode, the optimizer:

  1. Checks for uncommitted changes and recommends committing first
  2. Asks if the skill is currently working as expected

In autonomous mode, both checks are skipped and noted as warnings in the report.

The optimizer runs three tiers of analysis.

Tier 1: Lint scripts (deterministic, zero tokens, instant):

ScriptFocus
scan-path-standards.pyPath convention violations
scan-scripts.pyScript portability and standards

Tier 2: Pre-pass scripts (extract metrics for LLM scanners):

ScriptAgent BuilderWorkflow Builder
Structure/integrity pre-passprepass-structure-capabilities.pyprepass-workflow-integrity.py
Prompt metrics pre-passprepass-prompt-metrics.pyprepass-prompt-metrics.py
Execution dependency pre-passprepass-execution-deps.pyprepass-execution-deps.py

Tier 3: LLM scanners (judgment-based, run as parallel subagents):

ScannerAgent Builder FocusWorkflow Builder Focus
Structure / IntegrityStructure, capabilities, identity, memory setup, consistencyLogical consistency, description quality, progression conditions, type-appropriate structure
Prompt CraftToken efficiency, anti-patterns, persona voice, overview qualityToken efficiency, anti-patterns, overview quality, progressive disclosure
Execution EfficiencyParallelization, subagent delegation, memory loading, context optimizationParallelization, subagent delegation, read avoidance, context optimization
CohesionPersona-capability alignment, gaps, redundanciesStage flow coherence, purpose alignment, complexity appropriateness
Enhancement OpportunitiesScript automation, autonomous potential, edge cases, delightCreative edge-case discovery, experience gaps, assumption auditing

After all scanners complete, the optimizer synthesizes results into a unified report saved to {bmad_builder_reports}/{skill-name}/quality-scan/{timestamp}/.

In interactive mode, it presents a summary with severity counts and offers next steps:

  • Apply fixes directly
  • Export checklist for manual fixes
  • Discuss specific findings

In autonomous mode, it outputs structured JSON with severity counts and the report file path.

Not every suggestion should be applied. The optimizer communicates these decision rules:

  • Keep phrasing that captures the intended voice. Leaner is not always better for persona-driven skills
  • Keep content that adds clarity for the AI even if a human finds it obvious
  • Prefer scripting for deterministic operations; prefer prompting for creative or judgment-based tasks
  • Reject changes that flatten personality unless a neutral tone is explicitly wanted

One-command conversion of any existing skill into a BMad-compliant, outcome-driven equivalent. Takes a non-conformant skill (bloated, poorly structured, or just not following BMad practices) and produces a clean version. Unlike the Build Process’s edit/rebuild modes, --convert always runs headless and produces a visual comparison report.

--convert <path-or-url> [-H]

The --convert flag implies headless mode. Accepts a local skill path or a URL (not limited to remote; local file paths work too).

StepWhat Happens
1. CaptureFetch or read the original skill, save a copy for comparison
2. RebuildFull headless rebuild from intent: extract what the skill achieves, apply BMad outcome-driven best practices
3. ReportMeasure both versions, categorize what changed and why, generate an interactive HTML comparison report

The HTML report includes:

SectionContent
Hero bannerOverall token reduction percentage
Metrics tableLines, words, characters, sections, files, estimated tokens, with visual bars
What changedCategorized differences (bloat removal, structural reorganization, best-practice alignment) with severity and examples
What survivedContent that earns its place: instructions the LLM wouldn’t follow correctly without being told
VerdictOne-sentence summary of the conversion

Reports are saved to {bmad_builder_reports}/convert-{skill-name}/.

ScenarioUse
You have any non-BMad-compliant skill and want it converted fast--convert
You have a bloated skill and want a lean replacement with a comparison report--convert
You want to interactively discuss what to changeBuild Process (Edit mode)
You want to rethink a skill from scratch with full discoveryBuild Process (Rebuild mode)
You want a detailed quality analysis without rebuildingQuality Optimize

The Module Builder (bmad-module-builder) handles module-level planning, scaffolding, and validation. It operates at a higher level than the Agent and Workflow Builders; it orchestrates what those builders produce into a cohesive, installable module.

CapabilityMenu CodeWhat It Does
Ideate ModuleIMBrainstorm and plan a module through creative facilitation
Create ModuleCMPackage skills as an installable module: setup skill for multi-skill, self-registration for standalone
Validate ModuleVMCheck structural integrity and entry quality for both multi-skill and standalone modules

A brainstorming session that helps you plan your module from scratch. The builder acts as a creative collaborator, drawing out ideas, exploring possibilities, and guiding you toward the right architecture.

AspectDetail
InteractionInteractive only; no headless mode
InputAn idea or rough description
OutputPlan document saved to {bmad_builder_reports}

What it covers:

  • Problem space exploration and creative brainstorming
  • Architecture decision: single agent with capabilities vs. multiple skills vs. hybrid
  • Standalone module or expansion of an existing module
  • External dependencies (CLI tools, MCP servers)
  • UI and visualization opportunities
  • Setup skill extensions beyond configuration
  • Per-skill capability definitions with help CSV metadata
  • Configuration variables and sensible defaults

The plan document uses a resumable template with YAML frontmatter, so long brainstorming sessions survive context compaction.

After ideation: Build each planned skill using the Agent Builder (BA) or Workflow Builder (BW), then return to Create Module (CM) to scaffold the module.

Packages built skills as an installable BMad module. Auto-detects single-skill vs. multi-skill input and recommends the appropriate approach. Supports --headless / -H.

AspectDetail
InteractionGuided or headless
InputPath to a skills folder or single skill (or SKILL.md file), optional plan document
OutputSetup skill for multi-skill modules, or self-registration files for standalone modules

What it does:

  1. Reads the SKILL.md files to understand each skill
  2. Detects single vs. multi-skill and confirms the packaging approach with the user
  3. Collects module identity (name, code, description, version, greeting)
  4. Defines help CSV entries: capabilities, menu codes, ordering, relationships
  5. Captures configuration variables and external dependencies
  6. Scaffolds the module infrastructure

Multi-skill output: A dedicated {code}-setup/ folder with merge scripts, cleanup scripts, and a generic SKILL.md.

Standalone output: assets/module-setup.md, assets/module.yaml, and assets/module-help.csv embedded in the skill, plus merge scripts in scripts/ and a .claude-plugin/marketplace.json for distribution. The skill’s SKILL.md is updated to check for registration on activation.

Verifies that a module’s structure is complete and accurate. Auto-detects multi-skill modules (with setup skill) and standalone modules (with self-registration). Combines a deterministic validation script with LLM-based quality assessment.

AspectDetail
InteractionInteractive
InputPath to the module’s skills folder or single skill
OutputValidation report

Structural checks (script-driven):

CheckWhat It Catches
Module structureMissing setup skill or standalone files (module-setup.md, merge scripts)
CoverageSkills without CSV entries, orphan entries for nonexistent skills
Menu codesDuplicate codes across the module
ReferencesBefore/after fields pointing to nonexistent capabilities
Required fieldsMissing skill name, display name, menu code, or description in CSV rows
module.yamlMissing code, name, or description

Quality assessment (LLM-driven):

  • Description accuracy: does each entry match what the skill actually does?
  • Description quality: concise, action-oriented, specific, not overly verbose
  • Completeness: are all distinct capabilities registered as separate rows?
  • Ordering: do before/after relationships make sense?
  • Menu codes: are they intuitive and memorable?
IntentPhrasesBuilderRoute
Build new”create/build/design an agent”Agentprompts/build-process.md
Build new”create/build/design a workflow/skill/tool”Workflowprompts/build-process.md
Edit”edit/modify/update an agent”Agentprompts/build-process.md
Edit”edit/modify/update a workflow/skill”Workflowprompts/build-process.md
Convert”convert this to a BMad agent”Agentprompts/build-process.md
Convert”convert this to a BMad skill”Workflowprompts/build-process.md
Convert--convert <path-or-url>Workflow./references/convert-process.md
Optimize”quality check/validate/optimize/review agent”Agentprompts/quality-optimizer.md
Optimize”quality check/validate/optimize/review workflow/skill”Workflowprompts/quality-optimizer.md
Ideate”ideate module/plan a module/brainstorm a module”Module./references/ideate-module.md
Create”create module/build a module/scaffold a module”Module./references/create-module.md
Validate”validate module/check module”Module./references/validate-module.md