Skills bmad-code-org bmad-method BMad Method

bmad-qa-generate-e2e-tests

Use it when:
A working feature has no end-to-end or API test coverage yet.
It does:
Lists the user-visible scenarios for you to confirm, learns the project's test harness, writes one test per scenario and runs them twice.
You get:
New tests in the project's own runner and layout, and a chat report of what's covered, what isn't and why, bugs found and the command to run them.
Keeps:
A test that finds a bug, marked as an expected failure, rather than weakening it; flaky tests get their cause fixed, not retries.
Not for:
Unit tests on work in progress, which bmad-build writes.
Needs:
uv and BMad set up in the project: run the bmad skill's setup first.

Skill 16 of 24 in the BMad Method bundle, after bmad-walkthrough and before bmad-retrospective.

Only works inside its bundle: Its workflow is printed by a script in the _bmad/ folder that the bmad skill's setup creates, so it does nothing without that setup. Install BMad Method instead.

Needs uv and BMad set up in the project: it runs scripts from the _bmad/ folder that the bmad skill's setup creates.

TL;DR

BMad's QA skill adds tests for behavior that already works, so later changes can be checked against it. It finds the feature from your request, a ticket in review in BMad's ticket tree or the current branch, or asks, offering to list the features with no end-to-end coverage by how much a regression would hurt. It writes each scenario as one sentence a product person would recognize, marks those already covered, and waits for your confirmation. It then reads how the project already tests: the runner, where tests live, how the app starts, test data, authentication and the CI job, and runs the existing suite once; with no harness at all, it proposes one and asks before adding any dependency. Each test goes through the UI by role, label or text, or through the public API, asserts the visible outcome, waits on conditions rather than time, creates its own data and fails for one reason. Product code changes only where the harness needs it, such as a test id, and each change is listed in the report.

Summarizes the skill at e734d3a.

npx skills add https://github.com/bmad-code-org/bmad-method --skill bmad-qa-generate-e2e-tests
Total Downloads
14,400 on skills.sh, Nov 9, 2026
Repo stars
55,140 bmad-code-org/bmad-method
First seen
Mar 17, 2026 on skills.sh
Weekly Downloads
1.5K
+54% over the 8 weeks to Nov 9
Weekly values
Week toInstalls
Sep 21944
Sep 281,190
Oct 52,298
Oct 122,499
Oct 191,450
Oct 261,631
Nov 21,393
Nov 91,458
Category

Find root causes, review code and test what you built.

Everything for building software: planning, coding, debugging, design, frameworks, cloud, agents and skills.

Type

A multi-step process the agent follows: interview, debug, run a TDD loop, review.

Effect

Its own steps create or change files, git state or local tools.

Needs

A specific command-line tool or desktop app must be installed, such as gh, agent-browser, LibreOffice, Obsidian or a vendor CLI.

Publisher

Everyone else. Unverified vendor claims default to community.

Topics

SKILL.md

From bmad-code-org/bmad-method at e734d3a. Checked daily, last changed Nov 6, 2026.

Frontmatter
name: bmad-qa-generate-e2e-tests
description: 'Add end-to-end and API tests for features that already work, following the project''s existing test harness. Use when the user asks for e2e tests, API tests, or automated coverage of an existing feature, or says "create qa automated tests for [feature]". Not for unit tests on work in flight, which the build writes.'

Run the following command exactly once without changing the current working directory.

Replace {project-root} with the nearest folder containing _bmad/, from the working directory upward. Replace {skill-root} with the absolute path to this skill's directory.

uv run --no-cache "{project-root}/_bmad/scripts/render_skill.py" --project-root "{project-root}" --skill "{skill-root}"
  • The command prints the skill's workflow: follow it. HALT: <reason>: report the reason and stop.
  • If the script does not exist, BMad is not set up in this project yet. Offer to set it up using bmad skill, then run the command again. If you do not have the bmad skill, offer to install it first.
  • On any other output or failure, including uv being unavailable, report the command output and stop. Do not run any workflow source directly.