IcaruzSoftware

Claude BDD — Testing skill for Claude Code

Testing community

Claude Code plugin for Behavior-Driven Development (BDD): Example Mapping discovery, Gherkin feature files as living documentation, and test generation with Cucumber, pytest-bdd or plain tests.

How to install Claude BDD

This entry records only its repository, not the path inside it, so there is no exact command to give. Open IcaruzSoftware/claude-bdd and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Claude BDD does

Claude Code plugin for Behavior-Driven Development (BDD): Example Mapping discovery, Gherkin feature files as living documentation, and test generation with Cucumber, pytest-bdd or plain tests. Turn rough ideas or untested legacy code into confirmed business rules, then into executable specs.

Alternatives in Testing

  • Webapp Testing — Test local web applications using Playwright for UI verification and debugging 94.1k ★
  • #29 — #52, #103) 92.5k ★
  • Test Runner — Run Python tests with pytest, unittest, or other testing frameworks 23.4k ★

README

claude-bdd: Behavior-Driven Development (BDD) for Claude Code

Claude Code plugin for Behavior-Driven Development (BDD): Example Mapping discovery, Gherkin feature files as living documentation, and test generation with Cucumber, pytest-bdd or plain tests.

You turn a rough idea or untested code into confirmed business rules, then Gherkin specs, then tests, so that code and tests both follow the intent instead of each other. The three stages run strictly in order, and each starts only when you ask for it.

Install the Claude Code BDD plugin

/plugin marketplace add IcaruzSoftware/claude-bdd
/plugin install bdd@claude-bdd

Skills: Example Mapping, Gherkin and tests

Skill What it does
/bdd:discover Example Mapping in writing: a Markdown scratchpad of rules, examples and questions that you correct until nothing is open.
/bdd:formulate Turns the finished scratchpad into one Gherkin .feature file, then deletes the scratchpad after asking.
/bdd:automate Turns the feature file into tests: Cucumber-style step definitions for your BDD runner, or plain tests.

The plugin's own behaviour is specified the same way, in [`features/`](features/) (dogfooding). A real scratchpad is kept in [`docs/discovery/`](docs/discovery/).

Worked example: from Example Mapping to Gherkin to a pytest-bdd test

Coaches lead groups of athletes and plan workouts for them. `/bdd:discover` writes a scratchpad:

### R2 ? Coaches see only their group's workouts
Source: `src/workouts/api.py:40`
- ⚠ code probably deviates: `src/workouts/api.py:61` (detail does not filter by group)
- B2.1 The one where coach Anna opens Carl's workout from group B → not found

You answer, discover folds it in, and `/bdd:formulate` writes `features/workouts.feature`:

Feature: Workouts

  @R2
  Rule: Coaches see only their group's workouts

    @B2.1
    Example: Anna opens a workout from another group
      Given coach Anna leads group