Testland
Browse all skills & agents

qa-bdd

BDD pipelines: 10 skills (acceptance-test-from-criteria, bdd-getting-started, bdd-step-library-curator, behave-testing, cucumber-testing, gherkin-from-stories, living-documentation-publisher, manual-step-to-gherkin, reqnroll-testing, specflow-testing) and 2 agents (bdd-scenario-author, gherkin-style-reviewer).

Install this plugin

/plugin install qa-bdd@testland-qa
View source

Part of role bundles: qa-role-automation-engineer, qa-role-sdet

qa-bdd

Behavior-driven development pipelines: per-language Cucumber-family runners (Cucumber-JVM/JS/Ruby, Behave Python, Reqnroll .NET - replaces the end-of-life SpecFlow), a requirements-to-Gherkin authoring umbrella, step-library curation with scenario coverage mapping, Gherkin style review, and living documentation.

Start here: picking a runner

BDD runs as three repeating practices - Discovery (talk through concrete examples), Formulation (document them as Gherkin), Automation (implement each example test-first). Runner choice is almost entirely determined by language and build system, because step definitions are written in that language:

What you find in the repoRunnerSkill
pom.xml / build.gradle (Java, Kotlin), package.json (Node), or Gemfile (Ruby)Cucumber-JVM / Cucumber-JS / Cucumber-Rubycucumber-testing
requirements.txt / pyproject.toml (Python)Behavebehave-testing
*.csproj / *.sln (.NET) - including repos still on the end-of-life SpecFlowReqnroll (SpecFlow's maintained successor)reqnroll-testing
No stakeholder outside engineering will ever read the feature filesNone - write tests directly in your test frameworksee the "when BDD is not worth it" test in cucumber-testing's references/runner-selection.md

The full decision table with citations, per-runner first-run commands, and the SpecFlow end-of-life story live in cucumber-testing's runner-selection reference (opens in new window).

Components

TypeNameDescription
Skillcucumber-testingConfigures Cucumber for BDD scenarios - Cucumber-JVM (Java/Kotlin via JUnit 5), Cucumber-JS (Node), Cucumber-Ruby. Authors .feature files in Gherkin, writes step definitions in the host language, runs via the framework's runner, integrates with JUnit XML reporting. Includes the runner-selection reference (decision table, first-run commands, SpecFlow EOL, when BDD is not worth it).
Skillbehave-testingConfigures Behave for Python BDD scenarios - pip install behave, authors .feature files in Gherkin, writes step implementations in features/steps/*.py, configures via environment.py for setup/teardown hooks, organizes via tags, runs via behave.
Skillreqnroll-testingConfigures Reqnroll (the canonical .NET BDD framework, SpecFlow's successor) - install, Gherkin features with Rule blocks, [Given/When/Then] step bindings, async steps, hooks, tags, dotnet test. Covers the SpecFlow-to-Reqnroll migration; references/specflow-legacy.md maintains not-yet-migrated SpecFlow projects.
Skillgherkin-from-storiesThe requirements-to-Gherkin authoring umbrella - converts a user story, a signed-off acceptance-criteria list (ATDD mode: @AC-N tags, NotImplementedError stubs, traceability table), existing manual test steps (declarative rewrite), or a raw spec / PRD section (AC extraction) into a Feature file, reusing the curated step library and flagging implicit preconditions.
Skillbdd-step-library-curatorKeeps step definitions DRY across a Cucumber / Behave / Reqnroll project - inventories step definitions, finds duplicates, suggests consolidation, organizes by domain, publishes a step-library README, and fingerprints new scenarios against the live suite (scenario coverage map: duplicate / partial / gap) before tests are authored.
Skillliving-documentation-publisherPublish passing Gherkin as stakeholder-facing living documentation (Serenity / cucumber-html-reporter).
Agentgherkin-style-reviewerAdversarial reviewer for Gherkin Feature files - flags imperative steps ("click button #foo"), technical leakage (DB names / API URLs / CSS selectors in steps), "And And And" chains, missing Background extraction, and Then-without-observable-outcome. Refuses to mark a Feature "good" if any flag remains. Use during PR review against *.feature files.
Agentbdd-scenario-authorEnd-to-end BDD author: story or acceptance criteria to Gherkin to step definitions wired to the detected runner.

Install

/plugin marketplace add testland/qa
/plugin install qa-bdd@testland-qa

Skills

bdd-step-library-curator

Keeps a BDD step-definition library DRY across a Cucumber / Behave / Reqnroll project - inventories every step definition, detects duplicates (different patterns matching the same intent), recommends canonical consolidations, reorganizes steps by domain, publishes a step-library README the team greps for "is there already a step for X?" before authoring new ones, and builds a scenario coverage map that fingerprints new Gherkin scenarios against the live suite to classify each as duplicate, partial overlap, or genuine gap before any test is authored. Use when a BDD project's step count grows past ~50, on a quarterly step-library review, when a new engineer is about to write a duplicate step, or when fresh .feature files need a covered-already check.

behave-testing

Configures Behave for Python BDD scenarios - `pip install behave`, authors `.feature` files in Gherkin, writes step implementations in `features/steps/*.py`, configures via `environment.py` for setup/teardown hooks, organizes via tags, runs via `behave`. Use for Python codebases that want Cucumber-family BDD without Cucumber-Ruby / Cucumber-JS.

cucumber-testing

Configures Cucumber for BDD scenarios - Cucumber-JVM (Java/Kotlin via JUnit 5), Cucumber-JS (Node), Cucumber-Ruby. Authors `.feature` files in Gherkin, writes step definitions in the host language, runs via the framework's runner, integrates with JUnit XML reporting. Use when the user mentions Cucumber, Gherkin, `.feature` files, or behavior-driven (BDD) tests in Java, Kotlin, JavaScript, or Ruby, as the canonical wrapper for any of the three official implementations.

gherkin-from-stories

Converts requirements in any input shape into Gherkin scenarios - a user story ("As a … I want … so that …"), a signed-off acceptance-criteria list (ATDD: @AC-N-tagged scenarios, NotImplementedError step stubs, AC-to-test traceability table), existing manual test steps (declarative rewrite that strips UI mechanics), or a raw spec / PRD section (acceptance-criteria extraction with Gherkin or plain-list output). Maps criteria to Scenario blocks, detects Scenario Outline opportunities, factors shared Background, reuses the curated step library, and flags implicit preconditions instead of fabricating them. Emits Gherkin (plus stubs in ATDD mode): runner detection and full step wiring belong to bdd-scenario-author. Use whenever requirements text of any shape needs to become a .feature file.

living-documentation-publisher

Converts passing Cucumber JSON output into stakeholder-facing living documentation: generates HTML reports via multiple-cucumber-html-reporter (Node) or Serenity BDD aggregate (JVM), applies Gherkin tags to drive report sections, and publishes to GitHub/GitLab Pages in CI. Use when BDD scenarios are in use and the team needs an always-current, non-test-engineer-readable document showing which acceptance criteria pass.

reqnroll-testing

Configures Reqnroll (the canonical .NET BDD framework) - install via `dotnet add package Reqnroll`, author `.feature` files in Gherkin, write step bindings as `[Given/When/Then]`-decorated methods in any C# class, runs via `dotnet test`. Reqnroll is the SpecFlow successor (SpecFlow reached end-of-life 2024-12-31); covers the SpecFlow-to-Reqnroll migration path, and references/specflow-legacy.md maintains not-yet-migrated SpecFlow projects. Use for .NET projects starting BDD, migrating from SpecFlow, or maintaining legacy SpecFlow suites.