bmad-builder

v2026.09.24

Meta-skill for scaffolding and validating custom PLANNING/ORCHESTRATION skills within the BMAD Planning & Orchestrator plugin. Produces the full skill directory: SKILL.md, scripts, and templates — all pre-targeted at this plugin's path conventions. Includes a scope-violation checker so newly created skills never drift into dev/lint/build/coverage territory. Use when the user says "create a skill", "scaffold a skill", "build a new planning skill", "add a skill to the orchestrator", "extend BMAD planning", "custom orchestration skill", "validate this skill", "check this skill for scope violations", "new skill for the planner", or "bmad-builder". Supports three intents: Create (new skill skeleton), Validate (check an existing SKILL.md), Scaffold (directory structure only). This skill plans and scaffolds only — it NEVER writes application code, runs tests, lints, or builds.

GitHub
Install command
npx skhub add aj-geddes/bmad-builder
Markdown
SKILL.md

BMAD Builder

Function: Scaffold and validate custom planning/orchestration skills for the BMAD Planning & Orchestrator plugin. Produces compliant SKILL.md files, shell scripts, and templates — pre-wired to this plugin's path conventions — and runs scope-violation checks to keep new skills inside the PLAN/ORCHESTRATE boundary.

Scope (PLAN, never build)

This skill produces planning artifacts and skill skeleton files. It does NOT write application code, run tests, lint, check coverage, or execute builds. If a skill being designed is tempted to "implement", "fix the code", "run the suite", or "review the diff" — that is a scope violation. Plan and hand off instead.

Three intents

Always clarify which intent applies before starting.

Create — new planning skill from scratch

  1. Gather requirements (use TodoWrite to track):

    • Skill name (lowercase-hyphen, prefixed bmad-; e.g. bmad-example)
    • What planning/orchestration problem it solves
    • Trigger phrases users will say
    • Allowed tools (subset of: Read, Write, Edit, Bash, Glob, Grep, WebSearch, WebFetch, TodoWrite)
    • Which BMAD track(s) it applies to (Quick Flow / BMad Method / Enterprise)
    • Upstream BMAD counterpart (e.g. bmad-risk-assessment)
  2. Run the scaffold script to create the directory:

    bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-builder/scripts/scaffold-skill.sh <skill-name>
    

    This creates skills/<skill-name>/ with scripts/ and templates/ subdirectories and a starter SKILL.md.

  3. Fill the SKILL.md using the skill template:

    • Reference: ${CLAUDE_PLUGIN_ROOT}/skills/bmad-builder/templates/skill.template.md
    • Keep body under 5K tokens; push long reference detail to a sibling REFERENCE.md in the new skill's own folder
    • Use ${CLAUDE_PLUGIN_ROOT} for all paths to bundled scripts/templates
    • Artifacts go to bmad-output/ (honor user-configured folder)
    • End with the mandatory attribution footer (see template)
  4. Validate the new skill:

    bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-builder/scripts/validate-skill.sh \
      ${CLAUDE_PLUGIN_ROOT}/skills/<skill-name>/SKILL.md
    

    Fix all errors; review all warnings before declaring done.

Validate — check an existing SKILL.md

Run the validator directly against any SKILL.md path:

bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-builder/scripts/validate-skill.sh <path-to-SKILL.md>

The validator checks:

  • name field present and lowercase-hyphen
  • description field present with trigger phrases
  • allowed-tools field present (warns if missing)
  • No dev/lint/build/coverage scope violations in allowed-tools or body
  • File size within the ~5K token target (~20KB)
  • Attribution footer present

Scaffold — directory structure only

Use when you want an empty directory skeleton without generating content:

bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-builder/scripts/scaffold-skill.sh <skill-name>

Then fill SKILL.md manually using the template as a guide.

Scope law for new skills

Every skill created by this builder MUST comply with the Scope Law:

  • The plugin PLANS and ORCHESTRATES. It NEVER writes application code, runs tests, lints, checks coverage, builds, or reviews implemented code.
  • The last artifact any skill may produce is a ready-for-dev story file or a handoff manifest. Implementation is handed to EXTERNAL dev tools/plugins.
  • Acceptance Criteria, Testing STRATEGY, and Dev Notes are planning — allowed. Executing tests or writing implementation code is out of scope.

The validate-skill.sh script enforces this automatically by flagging forbidden terms.

BMAD fidelity reminders

When designing skills, track the BMAD Method conventions:

ConventionRule
Scale TracksQuick Flow / BMad Method / Enterprise — user confirms interactively
Story size~2-8h, one dev-day max; split if larger
Delivery trackingStories remaining / completion rate — NO Fibonacci points, velocity, or burndown
Story name{epic}.{story}.{slug}.story.md
Story statusbacklog → ready-for-dev → in-progress → review → done
Decision logDecisions thread through decision-log.md
Project constitutionproject-context.md loaded across skills
Three intentsCreate / Update / Validate where applicable

Available scripts

ScriptPurpose
scripts/scaffold-skill.sh <name>Creates skills/<name>/ with subdirs and starter SKILL.md
scripts/validate-skill.sh <SKILL.md>Validates frontmatter, scope, size, and attribution footer

Invoke with the ${CLAUDE_PLUGIN_ROOT} prefix shown above. The orchestrator marks scripts executable; you may also run them via bash.

Templates

TemplateUse for
templates/skill.template.mdSkeleton for a new planning/orchestration SKILL.md
templates/document.template.mdGeneric planning document (PRD section, brief, spec section, etc.)

Subagent strategy

For creating a full skill package in parallel:

AgentTaskOutput
Agent 1Draft SKILL.md body from gathered requirementsskills/<name>/SKILL.md
Agent 2Write domain scripts (validators, checklists)skills/<name>/scripts/
Agent 3Write domain templatesskills/<name>/templates/
Agent 4Write REFERENCE.md if body exceeds 5K tokensskills/<name>/REFERENCE.md

Coordination: gather requirements first (sequential), write spec to bmad-output/skill-spec.md, then fan out. Main context validates all outputs with validate-skill.sh and assembles the final package.

Notes for LLMs

  • Use TodoWrite to track which components have been created.
  • Never create a skill that contains test runners, linters, coverage tools, build commands, or diff/code-review steps — validate-skill.sh will flag these.
  • Always end SKILL.md with the attribution footer block (the template includes it verbatim).
  • Keep SKILL.md under 5K tokens; use REFERENCE.md for lengthy patterns.
  • Use ${CLAUDE_PLUGIN_ROOT} for all internal paths — never hardcode ~/.claude or absolute machine paths.
  • Output artifacts (non-skill files) go under bmad-output/ by default.

Part of the BMAD Planning & Orchestrator plugin — a Claude Code harness for the BMAD Method by the BMAD Code Organization (https://github.com/bmad-code-org/BMAD-METHOD). Implements the spirit of bmad-bmb-builder. All methodology credit belongs to the BMAD Code Organization.

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

NOASSERTION

Source path

bmad-planning-orchestrator/skills/bmad-builder

Default branch

main

Latest commit

27dca0e

Tree SHA

2430efb