Skill Tracer
Skills › BMAD Method › bmod-core-tools › modules.md

modules.md

51 lines · skills/bmod-core-tools/help/modules.md at bd70c64

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1# BMad modules
2
3Open this when the user asks what a BMad module is, what is in one, how to make or share one, or how to package agents and parties for others.
4

BMad modules

Open this when the user asks what a BMad module is, what is in one, how to make or share one, or how to package agents and parties for others.

Raw lines 1 to 4
5## What a module is
6
7A module is a set of skills that belong together, plus one folder that tells `bmad` about them. There is no installer plugin, registry, or build step. A module is installed with `npx skills add <owner>/<repo>`, and `bmad` finds it on its next run. For example, add the Test Architect with `npx skills add bmad-code-org/bmad-method-test-architecture-enterprise`, then run `bmad setup tea`. In return the module gets setup and config questions, help that `bmad` answers from, agents and parties in party mode, dependency prompts, and update checks.
8

What a module is

A module is a set of skills that belong together, plus one folder that tells bmad about them. There is no installer plugin, registry, or build step. A module is installed with npx skills add <owner>/<repo>, and bmad finds it on its next run. For example, add the Test Architect with npx skills add bmad-code-org/bmad-method-test-architecture-enterprise, then run bmad setup tea. In return the module gets setup and config questions, help that bmad answers from, agents and parties in party mode, dependency prompts, and update checks.

Raw lines 5 to 8
Names a skill bmad :7
9## The module folder
11One skill folder named `bmod-<code>`, for example `bmod-method`. Nobody runs it; `bmad` reads it. Its files:
13| File | What it is |
14|---|---|
15| `bmod.toml` | The module record, under a `[bmod]` table: the module's code, version, where updates come from, the list of its skills, the skills it requires or recommends, and any questions `bmad setup` should ask. |
16| `SKILL.md` | A stub that marks the folder as a skill so it installs with the others. It says never to invoke it. |
17| `help/help.md` | What `bmad` reads to guide users: what each skill is for, when to recommend it, what comes next. Written for an agent, short. |
18| `help/<topic>.md` | Optional deeper files on one subject each. `help.md` says what each covers, and `bmad` opens one only when a question needs it. |
19| `roster.toml` | Optional. The personas the module offers and the parties they form, for `bmad-party-mode` and any skill that casts personas. |
20| `retired.toml` | Optional. Skills the module no longer ships: `renamed` as `{ from, to }` pairs and `removed` as names. After an update, `bmad setup` offers to delete old copies still installed and moves a renamed skill's `_bmad/custom/` files to the new name. A retired name is never reused. |

The module folder

One skill folder named bmod-<code>, for example bmod-method. Nobody runs it; bmad reads it. Its files:

FileWhat it is
bmod.tomlThe module record, under a [bmod] table: the module's code, version, where updates come from, the list of its skills, the skills it requires or recommends, and any questions bmad setup should ask.
SKILL.mdA stub that marks the folder as a skill so it installs with the others. It says never to invoke it.
help/help.mdWhat bmad reads to guide users: what each skill is for, when to recommend it, what comes next. Written for an agent, short.
help/<topic>.mdOptional deeper files on one subject each. help.md says what each covers, and bmad opens one only when a question needs it.
roster.tomlOptional. The personas the module offers and the parties they form, for bmad-party-mode and any skill that casts personas.
retired.tomlOptional. Skills the module no longer ships: renamed as { from, to } pairs and removed as names. After an update, bmad setup offers to delete old copies still installed and moves a renamed skill's _bmad/custom/ files to the new name. A retired name is never reused.
Raw lines 9 to 21
Names a skill bmod-method :11
Names a skill bmad :11
Names a skill bmad-party-mode :19
22## Install messages
24A module record can carry two messages in `[bmod]`, shown each time the module is installed or updated through `bmad`. An empty or missing message is not shown.
26- `pre_install_message`: shown before the install or update, read from the module's source. Use it for what the module needs, such as a tool to install first.
27- `post_install_message`: shown after the install or update, once setup has run. Use it for where to start.

Install messages

A module record can carry two messages in [bmod], shown each time the module is installed or updated through bmad. An empty or missing message is not shown.

  • pre_install_message: shown before the install or update, read from the module's source. Use it for what the module needs, such as a tool to install first.
  • post_install_message: shown after the install or update, once setup has run. Use it for where to start.
Raw lines 22 to 28
Names a skill bmad :24
29## Each skill in the module
31Every member skill carries its own small `bmod.toml` with a `[skill]` table naming its module folder and source. It can also list skills that this one skill requires or recommends. A skill belongs to one module. Depending on a skill from another module is fine.

Each skill in the module

Every member skill carries its own small bmod.toml with a [skill] table naming its module folder and source. It can also list skills that this one skill requires or recommends. A skill belongs to one module. Depending on a skill from another module is fine.

Raw lines 29 to 32
33## A module that is one skill
35A standalone skill can be its own module: one `bmod.toml` holding both `[bmod]` and `[skill]`, with no separate `bmod-` folder. That is how a single skill brings its own config questions and help.

A module that is one skill

A standalone skill can be its own module: one bmod.toml holding both [bmod] and [skill], with no separate bmod- folder. That is how a single skill brings its own config questions and help.

Raw lines 33 to 36
37## A module that only adds personas and parties
39A module with no skills is valid. A `bmod-<code>` folder holding `bmod.toml`, the stub `SKILL.md`, `help/help.md`, and a `roster.toml` is enough to distribute a cast.
41- A roster member has a `code`, `name`, `icon`, `title`, and a `persona` paragraph. A member with a `skill` is an agent and appears only while that skill is installed. A member without one is a guest, available to parties.
42- A roster group is a party: an `id`, a `name`, a `scene` describing how the room behaves, and its `members` by code.
43- Once installed, the personas and parties appear in party mode with no setup. For a cast used in one repository or one team, a party saved through customization is simpler (`help/party-mode.md`).

A module that only adds personas and parties

A module with no skills is valid. A bmod-<code> folder holding bmod.toml, the stub SKILL.md, help/help.md, and a roster.toml is enough to distribute a cast.

  • A roster member has a code, name, icon, title, and a persona paragraph. A member with a skill is an agent and appears only while that skill is installed. A member without one is a guest, available to parties.
  • A roster group is a party: an id, a name, a scene describing how the room behaves, and its members by code.
  • Once installed, the personas and parties appear in party mode with no setup. For a cast used in one repository or one team, a party saved through customization is simpler (help/party-mode.md).
Raw lines 37 to 44
45## Setup and config questions
47A module can declare questions in its `bmod.toml`. `bmad setup` asks them once: a team answer goes to the committed `_bmad/config.toml`, a personal answer to `_bmad/custom/config.user.toml`. A skill reads an answer without needing to know which file holds it.

Setup and config questions

A module can declare questions in its bmod.toml. bmad setup asks them once: a team answer goes to the committed _bmad/config.toml, a personal answer to _bmad/custom/config.user.toml. A skill reads an answer without needing to know which file holds it.

Raw lines 45 to 48
49## Building one
51The BMad Builder module has skills for authoring modules, agents, and workflows. Recommend it when installed. Otherwise the file list above is the whole contract, and an existing `bmod-*` folder is a working example to copy.

Building one

The BMad Builder module has skills for authoring modules, agents, and workflows. Recommend it when installed. Otherwise the file list above is the whole contract, and an existing bmod-* folder is a working example to copy.

Raw lines 49 to 51
Names a skill bmad-toolsmith :51