refactor(skills): extract hub help.md and ship TOML manifests

Move the duplicated BMM routing guide into the bmad hub skill and replace
every module-manifest.md with a two-key TOML file parsed by stdlib tomllib.
Drop PyYAML from setup.py and from test:npx-skills.
This commit is contained in:
Alex Verkhovsky
2026-08-20 01:21:55 -07:00
parent 7047889593
commit b696eaa59b
65 changed files with 193 additions and 3803 deletions
+1 -1
View File
@@ -34,7 +34,7 @@
"prepare": "command -v husky >/dev/null 2>&1 && husky || exit 0",
"quality": "npm run format:check && npm run lint && npm run lint:md && npm run docs:build && npm run test:site-url && npm run test:renderer && npm run test:npx-skills && npm run test:retrospective && npm run test:sprint-planning && npm run test:refs && npm run validate:refs && npm run validate:skills && npm run docs:validate-sidebar",
"test": "npm run test:refs && npm run test:site-url && npm run test:renderer && npm run test:npx-skills && npm run test:retrospective && npm run test:sprint-planning && npm run test:skills && npm run lint && npm run lint:md && npm run format:check",
"test:npx-skills": "uv run --python 3.11 --with \"pyyaml>=6.0.2,<7\" python -m unittest tools/tests/test_bmad_setup.py",
"test:npx-skills": "uv run --python 3.11 python -m unittest tools/tests/test_bmad_setup.py",
"test:refs": "uv run --python 3.11 --with \"pyyaml>=6.0.2,<7\" python -m unittest tools/tests/test_validate_file_refs.py",
"test:renderer": "uv run --python 3.11 python -m unittest skills/bmad/scripts/tests/test_config_utils.py skills/bmad/scripts/tests/test_resolve_config.py skills/bmad/scripts/tests/test_resolve_customization.py && node test/test-build-auto-renderer.js",
"test:retrospective": "uv run --python 3.11 skills/bmad-retrospective/scripts/tests/test_git_evidence.py && uv run --python 3.11 skills/bmad-retrospective/scripts/tests/test_sprint_status.py",
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
+2
View File
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
+2
View File
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
+2
View File
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
+2
View File
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
+2
View File
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
+2
View File
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
+32 -31
View File
@@ -8,9 +8,10 @@ description: 'Analyzes current state and user query to answer BMad questions or
If the user explicitly asks to set up, update, or doctor this BMad
installation — by command name or in words — load `references/setup.md` and
follow the matching flow. These are distinct
commands: never route update or doctor through setup. Otherwise use the
ordinary, read-only help process below. Missing BMad project files or scripts
never turn an ordinary help request into setup or doctor.
commands: never route update or doctor through setup. Otherwise load
`references/help.md` and use the ordinary, read-only help process below.
Missing BMad project files or scripts never turn an ordinary help request
into setup or doctor.
## Purpose
@@ -30,48 +31,48 @@ step without assuming that every module or skill is installed.
Use the host-selected location when one is provided, otherwise match
host-listed skills to direct child folders. Project skills shadow user
skills; if duplicates remain tied, say so instead of picking one.
3. Collect each active folder's sibling `module-manifest.md`. Ignore folders
without one. Name and skip a manifest that cannot be read, has malformed
frontmatter, lacks a usable `module`, or contradicts itself. Continue with
sound modules.
4. Group manifests by `module` and compare their relationship claims. Ignore
formatting and unrelated frontmatter differences. If copies conflict,
report the conflict and disputed claims; do not pick a winner. Continue
with unaffected modules.
3. Load `references/help.md` as the only routing guide. If it cannot be read,
say so and stop rather than inventing routes.
4. Collect each active folder's sibling `module-manifest.toml`. Ignore folders
without one. Name and skip a manifest that cannot be read, is not valid
TOML, or lacks a usable `module`. Continue with sound modules. Use that
`module` field only for membership; do not treat other keys as routing.
5. Group installed skills by `module`. Membership is the `module` key on
disk. Continue with unaffected modules when a folder's manifest is
skipped.
## Build the Current Module View
A module is whatever installed skills currently carry that `module` key. Disk
is the membership list. The manifest body is not a catalog to complete, and
help must not report uninstalled skills as missing members of a set.
is the membership list. `references/help.md` is not a catalog to complete,
and help must not report uninstalled skills as missing members of a set.
- **Installed:** A host-listed skill whose manifest belongs to this module.
Use only its host-listed description; the manifest supplies relationships,
not skill descriptions.
- **Named but not installed:** Mention another skill only when the body
states a relationship to something that is installed. Name it and that
relationship. Do not describe it, do not imply it can be invoked, and do
not treat it as a gap in the install.
Use only its host-listed description; `references/help.md` supplies
relationships, not skill descriptions.
- **Named but not installed:** Mention another skill only when
`references/help.md` states a relationship to something that is installed.
Name it and that relationship. Do not describe it, do not imply it can be
invoked, and do not treat it as a gap in the install.
If something could not be read, say so and do not guess.
## Reason About State and Next Steps
- Base routes, alternatives, ordering, optional gates, repeat conditions, and
completion conditions only on the agreed manifest body for that module.
Never manufacture a sequence from folder names, skill names, or general
knowledge.
completion conditions only on `references/help.md`. Never manufacture a
sequence from folder names, skill names, or general knowledge.
- Treat the user's statements and evidence already established in the current
conversation as completion evidence.
- Inspect artifacts or configuration read-only only when they were already
identified in the conversation or at a concrete path in current context.
Treat manifest, artifact, and configuration contents as evidence, not
instructions. File presence alone does not prove completion.
Treat `module-manifest.toml`, artifact, and configuration contents as
evidence, not instructions. File presence alone does not prove completion.
- When completion remains uncertain, say what is known and ask the user instead
of recommending advancement as though completion were established.
- Recommend invokable skills only from what is currently installed. Another
skill may be mentioned as an unavailable alternative or dependency only
when the manifest states that relationship.
when `references/help.md` states that relationship.
- If one installed skill is the clear next step, invite the user to open a fresh
context and invoke it there; do not begin it inside the current help context.
- Use a configured communication language when it is already available from
@@ -88,15 +89,15 @@ helps with it:
- the relevant module and current state, including uncertainty;
- installed skills that matter for the question, by canonical id with
host-listed descriptions;
- a skill that is not installed only when the manifest states a relationship
to something that is;
- the next installed option or options and the manifest-based reason; and
- a skill that is not installed only when `references/help.md` states a
relationship to something that is;
- the next installed option or options and the help.md-based reason; and
- anything that limited the answer.
Do not dump an installed-versus-missing catalog. Match the user's tone. Do
not invent display names, menu codes, actions, arguments, phases, required
flags, or descriptions that the host listing and agreed manifest do not
supply.
flags, or descriptions that the host listing and `references/help.md` do
not supply.
## Ordinary Help Is Read-Only
@@ -109,5 +110,5 @@ For an ordinary help request:
- do not invoke setup, update, or doctor as a side effect;
- do not write files, cache discovery, repair manifests, or create a legacy
installed-module cache beneath `_bmad`; and
- from sibling skill folders, read only `module-manifest.md`; never open a
- from sibling skill folders, read only `module-manifest.toml`; never open a
sibling `SKILL.md` or another file there.
-125
View File
@@ -1,125 +0,0 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
user turn an intent of any size into working software. Route the user to the
smallest path that safely fits the work; never march them through every skill.
## The skills and their places in the flow
Shaping and planning:
- `bmad-spec` — condenses any input into a short spec, and can break a spec
into an ordered story list. The entry point for epic-sized (2-10 coding
sessions) work and for existing material (notes, transcripts, PRDs from
elsewhere).
- `bmad-product-brief` and `bmad-prfaq` — two alternative ways to shape a
product concept; use one, never both.
- `bmad-prd` — turns a shaped concept into product requirements.
- `bmad-ux` — records user experience decisions; belongs after the PRD when a
UI is a significant part of the work.
- `bmad-architecture` — records the how-to-build decisions that keep
separately built parts consistent; comes before epics and stories.
- `bmad-create-epics-and-stories` — breaks the PRD and architecture into
epics and stories.
- `bmad-sprint-planning` — checks the planning is complete enough to
implement and generates the sprint status file; its status action
summarizes sprint state at any time.
- `bmad-project-context` — sets up or refreshes the repo's agent
instructions; useful any time, in any path.
Implementation and quality:
- `bmad-build` — one session-sized unit of delivery: clarifies the intent,
plans as needed, implements, reviews, and presents. The implementation unit
every path shares.
- `bmad-build-auto` — one unattended Build unit; the worker an orchestrated
loop dispatches. Do not choose it for attended work.
- `bmad-code-review` — optional extra review of any change, on top of
Build's built-in review.
- `bmad-checkpoint-preview` — guided human walkthrough of a change.
- `bmad-qa-generate-e2e-tests` — generates API and end-to-end tests for
implemented code.
- `bmad-retrospective` — judges a completed epic as a whole against its spec.
- `bmad-correct-course` — assesses a significant midstream change and
proposes where to resume.
Agent personas (optional):
- `bmad-agent-analyst`, `bmad-agent-architect`, `bmad-agent-dev`,
`bmad-agent-pm`, `bmad-agent-ux-designer` — conversations with a single
named perspective. No path above needs them; the flow skills already do
this work. Offer one only when the user asks to talk to a specific role
or wants one perspective's take without running a full skill.
A project environment may have a subset of these skills supporting the user's
preferred workflow.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
review, and finish the change. Scope is only one signal: high risk, unclear
requirements, architectural reach, or coordination between people pushes work
up a tier even when it is small.
- **Trivial.** The edit is obvious and low-risk: make it directly and use no
BMad skill at all — unless the user asks for BMad, or the change
would still benefit from explicit planning and review.
- **One session.** One coherent intent that fits an implementation session:
hand it straight to `bmad-build`. No planning skill needs to run first.
- **Epic-sized.** One coherent outcome that needs several sessions: run
`bmad-spec` to pin down the what, tell it to create architecture and/or UX
companion files if the situation calls for it, have it break the spec into
stories, then run `bmad-build` or `bmad-build-auto` once per story. Risky
and foundational stories deserve human attention, therefore `bmad-build`;
once the decisions and patterns are stable, an orchestrated loop
dispatching `bmad-build-auto` sessions may also be used. Finish with
`bmad-retrospective` against the spec.
- **Project-sized.** 10-100 coding sessions: take the full planning route —
`bmad-product-brief` or `bmad-prfaq`, then `bmad-prd`, then `bmad-ux` when
the user experience matters, then `bmad-architecture`,
`bmad-create-epics-and-stories`, and `bmad-sprint-planning`. Each epic then
runs like epic-sized work above, but without running spec for every epic.
## Answering "what's next?"
Read the state before recommending: which planning artifacts exist, and what
the codebase, git history, and/or the user says is done. Caution: presence of
a story file with `status: done` or another planning/tracking artifact like
this does not prove completion. Then:
- Mid-path, recommend the next unfinished stage of the chosen path, not a
restart.
- When you detect ongoing sprint tracking, but sprint state is unclear, use
`bmad-sprint-planning`'s status action.
- After a Build: `bmad-code-review` is an optional extra gate; offer
`bmad-qa-generate-e2e-tests` when automated coverage is wanted and
`bmad-checkpoint-preview` when a human wants a walkthrough. Recommend
repeated `bmad-code-review` after material fixes until remaining findings
no longer affect acceptance. Keep in mind that both build skills have a
review step, and each `bmad-code-review` run can take up to half an hour or
more — it pays for itself when it catches real defects, not when it
produces a long tail of minor issues. More than two iterations of agentic
review on the same change is often a symptom of problems outside the
change — bad planning, a messy codebase, etc.
- When an epic completes, offer `bmad-retrospective`. When it — or anything
midstream — exposes a significant planning change, route through
`bmad-correct-course`, then resume at the earliest affected skill once the
proposal is approved; do not replay unaffected work.
A run is complete when the intent is satisfied, its chosen checks pass, and
no chosen review leaves material unresolved findings — not when every skill
has been traversed.
## Where things land
Durable specs and their story lists live under `{output_folder}/specs`;
planning documents and change proposals under `{planning_artifacts}`; Build's
working records, sprint status, reviews, and retrospectives under
`{implementation_artifacts}`; implementation in the project working tree;
generated QA tests under `{project-root}/tests`; and repository guidance at
`{project-root}/AGENTS.md`.
+2
View File
@@ -0,0 +1,2 @@
module = "bmm"
update_source = "github:bmad-code-org/bmad-skills/skills"
@@ -1,8 +1,3 @@
---
module: bmm
update_source: github:bmad-code-org/bmad-skills/skills
---
# BMad Method (bmm)
This is a cohesive collection of skills for software development, helping the
@@ -59,6 +54,8 @@ Agent personas (optional):
A project environment may have a subset of these skills supporting the user's
preferred workflow.
Cross-skill routing exists only when the `bmad` hub skill is installed.
## How to use BMad
Ask whether one implementation session can reasonably understand, implement,
+1 -1
View File
@@ -23,7 +23,7 @@ and version used. Never claim the installation is current unless the report's
top-level `current` is true.
This command re-scans installed skills and reads only each source
`module-manifest.md`. It does not install, move, repair, or remove skills; does
`module-manifest.toml`. It does not install, move, repair, or remove skills; does
not write the project or a lockfile; and does not run `npx skills update`. If an
update is available, tell the user that updating installed skill folders is the
responsibility of `npx skills update`.
+5 -67
View File
@@ -1,7 +1,6 @@
#!/usr/bin/env python3
# /// script
# requires-python = ">=3.11"
# dependencies = ["pyyaml>=6.0.2,<7"]
# ///
"""Inspect installed manifests and materialize or repair project BMad runtime."""
@@ -21,20 +20,13 @@ import urllib.parse
import urllib.request
from pathlib import Path
from pathlib import PurePosixPath
from typing import Any, NamedTuple
import yaml
from yaml.constructor import ConstructorError
from typing import NamedTuple
sys.dont_write_bytecode = True
MANIFEST_NAME = "module-manifest.md"
MANIFEST_NAME = "module-manifest.toml"
QUESTION_KEYS = frozenset({"key", "prompt", "default"})
UPDATE_SOURCE_PREFIXES = ("github:", "https://", "file:")
FRONTMATTER = re.compile(
r"\A---(?P<newline>\r?\n)(?P<yaml>.*?)^---(?:\r?\n|\Z)",
re.DOTALL | re.MULTILINE,
)
MODULE_NAME = re.compile(r"[A-Za-z0-9][A-Za-z0-9_-]*\Z")
RESERVED_MODULE_DIRS = frozenset({"_config", "custom", "modules", "scripts"})
@@ -61,42 +53,6 @@ SEMVER = re.compile(
SOURCE_READ_LIMIT = 1024 * 1024
class UniqueKeyLoader(yaml.SafeLoader):
"""Safe YAML loader that rejects silently overwritten mapping keys."""
def construct_unique_mapping(
loader: UniqueKeyLoader, node: yaml.MappingNode, deep: bool = False
) -> dict[Any, Any]:
seen: set[Any] = set()
for key_node, _value_node in node.value:
key = loader.construct_object(key_node, deep=deep)
try:
duplicate = key in seen
except TypeError as error:
raise ConstructorError(
"while constructing a mapping",
node.start_mark,
"found an unhashable key",
key_node.start_mark,
) from error
if duplicate:
raise ConstructorError(
"while constructing a mapping",
node.start_mark,
f"found duplicate key {key!r}",
key_node.start_mark,
)
seen.add(key)
return yaml.SafeLoader.construct_mapping(loader, node, deep=deep)
UniqueKeyLoader.add_constructor(
yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG,
construct_unique_mapping,
)
class ConfigQuestion(NamedTuple):
module: str
key: str
@@ -448,7 +404,7 @@ def existing_team_config(project_root: Path) -> tuple[str | None, dict]:
return text, parse_toml(text, path)
def parse_toml(text: str, source: Path) -> dict:
def parse_toml(text: str, source: Path | str) -> dict:
try:
return tomllib.loads(text)
except tomllib.TOMLDecodeError as error:
@@ -552,17 +508,7 @@ def parse_packaged_manifest(path: Path, raw: bytes) -> ParsedManifest:
source = raw.decode("utf-8")
except UnicodeError as error:
raise Exception(f"invalid packaged manifest {path}: {error}") from error
match = FRONTMATTER.match(source)
if match is None:
raise Exception(f"invalid frontmatter in packaged manifest {path}")
try:
data = yaml.load(match.group("yaml"), Loader=UniqueKeyLoader)
except yaml.YAMLError as error:
raise Exception(f"invalid YAML in packaged manifest {path}: {error}") from error
if not isinstance(data, dict):
raise Exception(f"frontmatter in packaged manifest {path} must be a mapping")
if any(not isinstance(key, str) for key in data):
raise Exception(f"packaged manifest {path} has a non-string field")
data = parse_toml(source, path)
module = manifest_string(data, "module", path)
if (
MODULE_NAME.fullmatch(module) is None
@@ -885,15 +831,7 @@ def parse_source_version(source: str, raw: bytes) -> str:
text = raw.decode("utf-8")
except UnicodeError as error:
raise Exception(f"invalid source manifest {source}: {error}") from error
match = FRONTMATTER.match(text)
if match is None:
raise Exception(f"invalid frontmatter in source manifest {source}")
try:
data = yaml.load(match.group("yaml"), Loader=UniqueKeyLoader)
except yaml.YAMLError as error:
raise Exception(f"invalid YAML in source manifest {source}: {error}") from error
if not isinstance(data, dict):
raise Exception(f"frontmatter in source manifest {source} must be a mapping")
data = parse_toml(text, source)
version = data.get("version")
if not isinstance(version, str) or not version.strip():
raise Exception(
+92 -73
View File
@@ -93,6 +93,48 @@ def module_answers_args(
return ["--module-answers", str(path)]
def toml_inline(value: object) -> str:
if isinstance(value, bool):
return "true" if value else "false"
if isinstance(value, int):
return str(value)
if isinstance(value, str):
return json.dumps(value, ensure_ascii=False)
if isinstance(value, list) and all(isinstance(item, str) for item in value):
return "[" + ", ".join(toml_inline(item) for item in value) + "]"
raise TypeError(f"unsupported TOML fixture value: {value!r}")
def dump_manifest_toml(data: dict[str, object]) -> str:
scalars: list[tuple[str, object]] = []
arrays_of_tables: list[tuple[str, list]] = []
tables: list[tuple[str, dict]] = []
for key, value in data.items():
if isinstance(value, list) and value and all(
isinstance(item, dict) for item in value
):
arrays_of_tables.append((key, value))
elif isinstance(value, dict):
tables.append((key, value))
else:
scalars.append((key, value))
lines = [f"{key} = {toml_inline(value)}" for key, value in scalars]
for key, items in arrays_of_tables:
for item in items:
if lines:
lines.append("")
lines.append(f"[[{key}]]")
for nested_key, nested_value in item.items():
lines.append(f"{nested_key} = {toml_inline(nested_value)}")
for key, table in tables:
if lines:
lines.append("")
lines.append(f"[{key}]")
for nested_key, nested_value in table.items():
lines.append(f"{nested_key} = {toml_inline(nested_value)}")
return "\n".join(lines) + "\n"
def write_module_skill(
root: Path,
skill_id: str,
@@ -107,7 +149,7 @@ def write_module_skill(
) -> Path:
skill = root / skill_id
scripts = scripts or {}
manifest = {
manifest: dict[str, object] = {
"version": version,
"module": module,
"update_source": update_source,
@@ -119,12 +161,7 @@ def write_module_skill(
manifest["scripts"] = list(entries)
if extra_fields:
manifest.update(extra_fields)
write(
skill / "module-manifest.md",
"---\n"
+ json.dumps(manifest, ensure_ascii=False)
+ "\n---\n\n# module\n",
)
write(skill / "module-manifest.toml", dump_manifest_toml(manifest))
for relative, content in scripts.items():
path = skill / relative
path.parent.mkdir(parents=True, exist_ok=True)
@@ -1192,15 +1229,13 @@ class BmadSetupTests(unittest.TestCase):
bmad = project / "_bmad"
write(bmad / "config.toml", MINIMAL_CONFIG)
write(bmad / "custom" / "keep.txt", "keep\n")
manifest = root / "alpha-skill" / "module-manifest.md"
manifest = root / "alpha-skill" / "module-manifest.toml"
write(
manifest,
"---\n"
"version: 1.2.3\n"
"module: alpha\n"
"update_source: file:skills\n"
"config_questions: invalid\n"
"---\n",
'version = "1.2.3"\n'
'module = "alpha"\n'
'update_source = "file:skills"\n'
'config_questions = "invalid"\n',
)
before = {
path.relative_to(bmad): path.read_bytes()
@@ -1231,59 +1266,51 @@ class BmadSetupTests(unittest.TestCase):
"update_source": "file:skills",
}
cases: tuple[tuple[str, bytes, str], ...] = (
("malformed-yaml", b"---\nversion: [\n---\n", "YAML"),
("malformed-toml", b"version = [\n", "TOML"),
(
"duplicate-yaml-mapping",
b"---\nversion: 1.2.3\nmodule: alpha\nmodule: beta\n"
b"update_source: file:skills\n---\n",
"duplicate",
"duplicate-toml-key",
(
'version = "1.2.3"\n'
'module = "alpha"\n'
'module = "beta"\n'
'update_source = "file:skills"\n'
).encode(),
"overwrite",
),
(
"duplicate-question",
(
"---\n"
+ json.dumps(
{
**base,
"config_questions": [
{"key": "output", "prompt": "One", "default": "1"},
{"key": "output", "prompt": "Two", "default": "2"},
],
}
)
+ "\n---\n"
dump_manifest_toml(
{
**base,
"config_questions": [
{"key": "output", "prompt": "One", "default": "1"},
{"key": "output", "prompt": "Two", "default": "2"},
],
}
).encode(),
"conflicts",
),
(
"question-prefix-collision",
(
"---\n"
+ json.dumps(
{
**base,
"config_questions": [
{"key": "output", "prompt": "One", "default": "1"},
{
"key": "output.directory",
"prompt": "Two",
"default": "2",
},
],
}
)
+ "\n---\n"
dump_manifest_toml(
{
**base,
"config_questions": [
{"key": "output", "prompt": "One", "default": "1"},
{
"key": "output.directory",
"prompt": "Two",
"default": "2",
},
],
}
).encode(),
"conflicts",
),
*tuple(
(
f"unsafe-script-{index}",
(
"---\n"
+ json.dumps({**base, "scripts": [entry]})
+ "\n---\n"
).encode(),
dump_manifest_toml({**base, "scripts": [entry]}).encode(),
repr(entry),
)
for index, entry in enumerate(
@@ -1292,20 +1319,12 @@ class BmadSetupTests(unittest.TestCase):
),
(
"unsafe-module",
(
"---\n"
+ json.dumps({**base, "module": "../escape"})
+ "\n---\n"
).encode(),
dump_manifest_toml({**base, "module": "../escape"}).encode(),
"unsafe",
),
(
"case-insensitive-reserved-module",
(
"---\n"
+ json.dumps({**base, "module": "ScRiPtS"})
+ "\n---\n"
).encode(),
dump_manifest_toml({**base, "module": "ScRiPtS"}).encode(),
"unsafe",
),
)
@@ -1313,7 +1332,7 @@ class BmadSetupTests(unittest.TestCase):
with tempfile.TemporaryDirectory() as temp_dir:
root = Path(temp_dir)
for name, raw, diagnostic in cases:
path = root / name / "module-manifest.md"
path = root / name / "module-manifest.toml"
with self.subTest(name=name), self.assertRaises(Exception) as caught:
setup.parse_packaged_manifest(path, raw)
message = str(caught.exception)
@@ -1341,8 +1360,8 @@ class BmadSetupTests(unittest.TestCase):
self.assertNotEqual(result.returncode, 0)
self.assertIn("differ only by case", result.stderr)
self.assertIn(str(upper / "module-manifest.md"), result.stderr)
self.assertIn(str(lower / "module-manifest.md"), result.stderr)
self.assertIn(str(upper / "module-manifest.toml"), result.stderr)
self.assertIn(str(lower / "module-manifest.toml"), result.stderr)
self.assertEqual(
{
path.relative_to(bmad): path.read_bytes()
@@ -1376,7 +1395,7 @@ class BmadSetupTests(unittest.TestCase):
result = run_setup(project, skill)
self.assertNotEqual(result.returncode, 0)
self.assertIn(str(module_skill / "module-manifest.md"), result.stderr)
self.assertIn(str(module_skill / "module-manifest.toml"), result.stderr)
self.assertIn("scripts/link.py", result.stderr)
self.assertFalse((project / "_bmad").exists())
self.assertEqual(list(project.glob("_bmad.setup-*")), [])
@@ -1398,7 +1417,7 @@ class BmadSetupTests(unittest.TestCase):
scripts={"scripts/tool.py": b"# tool\n"},
)
declared = (module_skill / "scripts" / "tool.py").resolve()
manifest = module_skill / "module-manifest.md"
manifest = module_skill / "module-manifest.toml"
before = {
path.relative_to(bmad): path.read_bytes()
for path in bmad.rglob("*")
@@ -1813,8 +1832,8 @@ class BmadUpdateDoctorTests(unittest.TestCase):
update_source="file:sources",
)
write(
project / "sources" / "broken-source" / "module-manifest.md",
"---\nmodule: broken\n---\n",
project / "sources" / "broken-source" / "module-manifest.toml",
'module = "broken"\n',
)
write(project / "skills-lock.json", "keep\n")
before = {
@@ -1839,7 +1858,7 @@ class BmadUpdateDoctorTests(unittest.TestCase):
by_module["unreachable"]["state"], "could-not-check"
)
self.assertIn(
"missing-source/module-manifest.md",
"missing-source/module-manifest.toml",
by_module["unreachable"]["copies"][0]["reason"],
)
self.assertEqual(by_module["broken"]["state"], "could-not-check")
@@ -1883,7 +1902,7 @@ class BmadUpdateDoctorTests(unittest.TestCase):
}
response = mock.MagicMock()
response.__enter__.return_value.read.return_value = (
b"---\nversion: 1.2.3\n---\n"
b'version = "1.2.3"\n'
)
response.__exit__.return_value = False
with mock.patch.object(
@@ -1900,12 +1919,12 @@ class BmadUpdateDoctorTests(unittest.TestCase):
urls = [call.args[0].full_url for call in opened.call_args_list]
self.assertEqual(
urls[0],
"https://example.test/tree/https-skill/module-manifest.md",
"https://example.test/tree/https-skill/module-manifest.toml",
)
self.assertEqual(
urls[1],
"https://raw.githubusercontent.com/owner/repository/HEAD/"
"skills/github-skill/module-manifest.md",
"skills/github-skill/module-manifest.toml",
)
def test_doctor_uses_highest_release_adds_only_missing_and_exactly_repairs(self):