← Back to Plugins
Tools

BMAD_Openclaw

simlirette By simlirette 👁 139 views ▲ 0 votes

BMad Method plugin for OpenClaw — dispatches the official, always-current bmad-method skill catalog to spawned sub-agents (fork of ErwanLorteau/BMAD_Openclaw)

GitHub

Install

npm install
```

README

# BMad Method Plugin for OpenClaw

AI-driven agile development framework — the [BMad Method](https://github.com/bmad-code-org/BMAD-METHOD) as an OpenClaw plugin.

Each skill spawns a dedicated specialist sub-agent with fresh context — no bleeding between skills. The BMad Master orchestrates project progress: install, list what's available, dispatch, track completion.

## How It Works (V4)

**This plugin no longer bundles or vendors any BMad-METHOD content.** `bmad_init_project` runs the *official* installer — `npx bmad-method@latest install --tools openclaw` — directly against your project. That installer is what BMad-METHOD itself maintains, targets OpenClaw natively (`.agents/skills/`, a cross-tool standard directory), and always resolves whatever is current on npm. Re-run `bmad_init_project` any time to pull a newer release.

Every installed skill (`.agents/skills/<id>/SKILL.md`) is self-contained: its own activation sequence, its own persona, its own headless-mode contract, its own step logic. This plugin does not read, parse, or re-implement any of that — it only *dispatches*. That's a deliberate simplification from earlier versions of this plugin, which hand-parsed BMad-METHOD's internal `workflow.md` + `steps/` file format and broke outright when upstream rearchitected to the skill-based model at BMad-METHOD v6.2.0. Dispatching by skill ID instead of parsing file layouts means this plugin has nothing left to go stale.

**Why top-level?** OpenClaw sub-agents cannot spawn other sub-agents. bmad-master needs to spawn specialist sub-agents, so it must be a [top-level agent](https://docs.openclaw.ai/concepts/multi-agent) — not a sub-agent of main.

**Two execution modes**, passed through to the skill's own contract (every current BMad-METHOD skill documents a headless mode in its own SKILL.md):
- **YOLO** — the sub-agent runs the skill headless: no pauses for confirmation, expert-user judgment calls made automatically. Master waits for the sub-agent's report, then proposes the next skill.
- **Interactive** — the sub-agent runs the skill's normal interactive flow. User reviews and gives feedback via the master; the master relays via `sessions_send`.

## Tools

| Tool | Called by | Description |
|------|-----------|-------------|
| `bmad_init_project` | Master | Run the official installer for this project (latest BMad-METHOD, `--tools openclaw`); safe to re-run to update |
| `bmad_list_skills` | Master | List skills currently installed under `.agents/skills/`, scanned live — no hardcoded catalog |
| `bmad_start_skill` | Master | Dispatch a skill by ID — returns a task prompt for `sessions_spawn` |
| `bmad_complete_skill` | Sub-agent | Mark a skill complete, record its reported summary, suggest what's next |
| `bmad_get_state` | Master | Get current project state — installed version, active skill, completed skills |

`bmad_load_step` and `bmad_save_artifact` from earlier versions are gone: skills now manage their own step sequencing and write their own output paths (per each skill's own config resolution), so there's nothing left for an external orchestrator to intercept.

## Install

```bash
# Clone into OpenClaw extensions
git clone https://github.com/ErwanLorteau/BMAD_Openclaw.git ~/.openclaw/extensions/bmad-method

# Install dependencies
cd ~/.openclaw/extensions/bmad-method && npm install
```

Requirements on the machine that runs `bmad_init_project` and any spawned skill sub-agent:
- **Node.js** (the plugin shells out to `npx`)
- **[uv](https://docs.astral.sh/uv/)** — current BMad-METHOD skills render/execute Python helper scripts via `uv run`. Installing does not require it, but running most skills does.

## Configure

Add to `~/.openclaw/openclaw.json`:

```json5
{
  plugins: {
    load: {
      paths: ["~/.openclaw/extensions/bmad-method"]
    },
    entries: {
      "bmad-method": {
        enabled: true,
        config: {
          // Optional. npm dist-tag or exact version to install for new
          // projects. Defaults to "latest".
          // bmadVersion: "latest",
        }
      }
    }
  },

  agents: {
    list: [
      {
        // BMad Master as a top-level agent with BMad tools
        id: "bmad-master",
        name: "BMad Master",
        tools: {
          allow: ["bmad-method"]  // Enable all BMad tools
        }
      }
    ]
  },

  tools: {
    agentToAgent: {
      enabled: true,
      allow: ["main", "bmad-master"]
    }
  }
}
```

Create the master's workspace:

```bash
mkdir -p ~/.openclaw/workspace-bmad
```

Then restart:

```bash
openclaw gateway restart
```

## Verify

After restart, confirm the plugin loaded:

```
[plugins] BMad Method plugin loaded. New projects install BMad-METHOD "latest" via the official installer (no bundled copy).
[plugins] BMad Method: registered 5 tools
```

## Usage

1. **Start a chat with the BMad Master agent.** First message on a new project: ask it to run `bmad_init_project` — this installs the current BMad-METHOD skill catalog for that project.
2. Ask `bmad_list_skills` to see what's available, or just describe what you want (a product brief, a PRD, an architecture doc, a story implemented) — the master maps that to a skill and dispatches it.
3. The dispatched sub-agent loads the skill's `SKILL.md` directly and runs it end to end; the master tracks completion and proposes what's next.

## Workflow

```
User → main → sessions_send → bmad-master
                                    ↓
                    bmad_init_project (npx bmad-method@latest install --tools openclaw)
                                    ↓
                         bmad_list_skills → pick one
                                    ↓
                         bmad_start_skill → task prompt naming SKILL.md
                                    ↓
                         sessions_spawn(task) → sub-agent
                                    ↓
              sub-agent loads SKILL.md and runs it end to end (self-contained)
                                    ↓
                        bmad_complete_skill
                                    ↓
                          announce → bmad-master
                                    ↓
                          propose next skill
```

## Project Structure

```
project/
├── .agents/skills/           # Official BMad skills — owned by the installer, do not edit
│   ├── bmad-product-brief/SKILL.md
│   ├── bmad-prd/SKILL.md
│   ├── bmad-build/SKILL.md
│   └── ...
├── _bmad/                    # Official BMad config, scripts, render cache — owned by the installer
│   ├── _config/manifest.yaml # Installed BMad-METHOD version
│   └── bmm/config.yaml
├── _bmad-output/
│   ├── planning-artifacts/   # Briefs, PRDs, architecture docs
│   └── implementation-artifacts/
├── .bmad-openclaw/
│   └── state.json            # THIS plugin's own orchestration state (active/completed skills)
└── docs/                     # Project knowledge
```

`.bmad-openclaw/` is deliberately separate from `_bmad/` — the latter is entirely owned by the official installer and its skills, and can change shape on any BMad-METHOD release. Keeping this plugin's bookkeeping outside it means an upstream update can never collide with or wipe this plugin's state.

## Development

```bash
npm install
npm test           # Fast, offline unit tests
npm run typecheck  # TypeScript check

# Opt-in: also runs a real `npx bmad-method@latest install` against a temp
# dir and asserts on the real skill catalog. Hits the npm registry.
BMAD_OPENCLAW_INTEGRATION_TEST=1 npm test
```

## Architecture History

- **V1** (deprecated branch): Multi-agent via `sessions_spawn` with 12 agent prompts — abandoned due to complexity
- **V2** (PR #7): Single-session persona role-playing — abandoned due to context bleeding across workflows
- **V3**: Top-level master agent spawning sub-agents per workflow, driven by a vendored copy of BMad-METHOD's `workflow.md` + `steps/` files and a hardcoded workflow registry — see [Issue #8](https://github.com/ErwanLorteau/BMAD_Openclaw/issues/8) for the full journey. Broke silently against BMad-METHOD v6.2.0+, which replaced that file format with self-contained skills.
- **V4** (current): Same top-level master + sub-agent shape, but dispatches by skill ID against a live install of the *official* BMad-METHOD instead of vendoring and parsing its internals. No hardcoded catalog, no bundled copy — `bmad_init_project` always installs whatever's current.

## License

MIT
tools

Comments

Sign in to leave a comment

Loading comments...