Skip to content
Development
Skill

/bmad-init

Initialize a BMAD planning workspace: pick a scale-adaptive TRACK (Quick Flow / BMad Method / Enterprise) interactively, then scaffold the output folder, a config file, an empty decision-log.md, and a project-context.md "constitution". Use when the user says "initialize BMAD",

From plugin
claude-code-bmad-skills
49420 skills3 agents

Claude Code

$ npx -y skills add aj-geddes/claude-code-bmad-skills --skill bmad-init --agent claude-code

SKILL.md

bmad-init.SKILL.md
name: bmad-init
description: |
  Initialize a BMAD planning workspace: pick a scale-adaptive TRACK (Quick Flow /
  BMad Method / Enterprise) interactively, then scaffold the output folder, a config
  file, an empty decision-log.md, and a project-context.md "constitution". Use when
  the user says "initialize BMAD", "set up BMAD", "start a new BMAD project",
  "scaffold the planning workspace", "bmad init", "create the bmad config", or is
  beginning planning and has no bmad-output/ folder yet. Also use when the user asks
  "which track should I use?" or "what scale is my project?". This is the FIRST skill
  to run before any other planning workflow (brief, PRD, architecture, stories).
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite

BMAD Init — Workspace Scaffolder

Set up the planning workspace and choose the TRACK that scales the rest of the BMAD planning workflows. This is a **planning** skill: it creates folders and seed documents only. It never writes application code, runs tests, or builds anything.

What it produces

Under the configured output folder (default `bmad-output/`):

bmad-output/
├── config.yaml          # project name, track, output paths, languages
├── decision-log.md      # empty threaded decision log (grows across workflows)
├── project-context.md   # the project "constitution" loaded by every later skill
└── stories/             # empty; future story files land here

`config.yaml` is the single source of truth other skills read to find the output folder and the chosen track.

The three TRACKS (never numbered Levels)

| Track | Story count | Planning artifacts | |-------|-------------|--------------------| | **Quick Flow** | 1–15 stories | tech-spec only | | **BMad Method** | 10–50+ stories | PRD + Architecture (+ optional UX) | | **Enterprise** | 30+ stories | PRD + Architecture + Security + DevOps planning |

The track is a **planning-need** decision, not a points/velocity decision. Story count is a rough signal only; let scope, cross-team coordination, and risk drive the call. A heuristic may suggest a default — **the user always confirms**.

Workflow

1. **Check for an existing workspace.** Glob for `bmad-output/config.yaml` (or a custom output folder if the user names one). If it exists, read it and ask whether to keep, re-run idempotently (safe — existing files are preserved), or change the track. Do not clobber a populated decision-log.md or project-context.md.

2. **Gather rough scope signals** in conversation (don't interrogate):

  • One-line project description.
  • Roughly how many distinct pieces of work / stories? (ranges are fine)
  • Multiple teams or just one builder?
  • Hard compliance / security / infra requirements?

3. **Suggest a track.** Run the helper to print the three tracks and a suggested default, then state your recommendation and **ask the user to confirm or override**:

   bash "${CLAUDE_PLUGIN_ROOT}/skills/bmad-init/scripts/select-track.sh" --stories <N> --teams <one|many> --compliance <yes|no>

Heuristic the helper applies (you may reason past it):

  • compliance/infra = yes, or 30+ stories → **Enterprise**
  • 10+ stories, or PRD/architecture clearly needed → **BMad Method**
  • otherwise → **Quick Flow**

4. **Scaffold.** Once the user confirms name + track, run:

   bash "${CLAUDE_PLUGIN_ROOT}/skills/bmad-init/scripts/init-project.sh" \
     --name "<project name>" \
     --track <quick-flow|bmad-method|enterprise> \
     --output "bmad-output"

The script is **idempotent**: it creates missing folders and seeds any missing template files, but never overwrites `decision-log.md` or `project-context.md` if they already contain content. It always (re)writes `config.yaml`.

5. **Open the constitution.** Walk the user through filling the first sections of `project-context.md` (project goal, primary users, constraints, non-goals). This is the document every downstream skill loads, so a few good sentences here pay off. Record the track choice and rationale as the first entry in `decision-log.md`.

6. **Hand off.** Recommend the next planning step based on track:

  • Quick Flow → tech-spec, then sprint-planning / story creation.
  • BMad Method → product brief → PRD → architecture.
  • Enterprise → product brief → PRD → architecture (+ security & DevOps planning).

Three intents

  • **Create** — fresh workspace (the common case).
  • **Update** — change the track or rename the project: edit `config.yaml` and append

the change to `decision-log.md` with a date and reason. Do not wipe other files.

  • **Validate** — confirm the workspace is well-formed:
  bash "${CLAUDE_PLUGIN_ROOT}/skills/bmad-init/scripts/init-project.sh" --validate --output "bmad-output"

Guardrails

  • No numbered Levels anywhere — only the three named tracks.
  • No story points, velocity, burndown. Delivery is **count-based** (stories

remaining / completion rate). Story sizing target: small enough for one agent session (~2–8h); split anything larger.

  • This skill stops at scaffolding. It hands off to other planning skills; it never

implements, tests, lints, or builds.

See `REFERENCE.md` for the full config schema, track decision detail, and the project-context section guide.

> --- > 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-init`. All methodology credit belongs to the BMAD Code Organization.

Read more
@aj-geddes
Ships withclaude-code-bmad-skills

This repository is a Claude Code plugin marketplace. It ships one plugin — BMAD Planning & Orchestrator — that harnesses the BMAD Method to plan, document, and orchestrate software work as conflict-free parallel workstreams, then hands implementation off to

49420 skills3 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
494
Star history of aj-geddes/claude-code-bmad-skills on GitHub, a chart by star-history.com

Other skills on claude-code-bmad-skills.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about bmad-init.

Which coding agents can use bmad-init?
bmad-init installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.