Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add ValorVie/custom-skills --skill "bdd-assistant"
Install specific skill from multi-skill repository
# Description
|
# SKILL.md
name: bdd-assistant
scope: partial
description: |
Guide developers through Behavior-Driven Development workflow.
Use when: writing BDD scenarios, using Gherkin syntax, Given-When-Then format, feature files, Three Amigos collaboration.
Keywords: BDD, behavior-driven, Given When Then, Gherkin, Cucumber, scenario, feature file, step definition, θ‘ηΊι©
ειηΌ.
BDD Assistant
Language: English | ηΉι«δΈζ
Version: 1.0.0
Last Updated: 2026-01-19
Applicability: Claude Code Skills
Purpose
This skill guides developers through the Behavior-Driven Development workflow, helping them:
- Conduct Discovery sessions to explore requirements
- Write effective Gherkin scenarios in Given-When-Then format
- Create reusable step definitions
- Integrate BDD with TDD for implementation
- Maintain living documentation
Quick Reference
BDD Workflow Checklist
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π DISCOVERY Phase β
β β‘ Stakeholders identified (Business, Dev, QA) β
β β‘ User story discussed and understood β
β β‘ Concrete examples collected (Example Mapping) β
β β‘ Edge cases identified β
β β‘ Questions answered or noted for follow-up β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β π FORMULATION Phase β
β β‘ Scenarios use correct Gherkin syntax β
β β‘ Scenarios are declarative (WHAT, not HOW) β
β β‘ Business language used (no technical jargon) β
β β‘ Each scenario is independent and self-contained β
β β‘ Scenarios have 5-10 steps maximum β
β β‘ Scenarios reviewed by stakeholders β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βοΈ AUTOMATION Phase β
β β‘ Step definitions created for all steps β
β β‘ Step definitions are reusable β
β β‘ Scenarios fail initially (RED) β
β β‘ TDD used for unit-level implementations β
β β‘ All scenarios pass (GREEN) β
β β‘ Code refactored and clean β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Gherkin Quick Reference
| Keyword | Purpose | Example |
|---|---|---|
Feature |
Container for scenarios | Feature: User Login |
Scenario |
Single test case | Scenario: Successful login |
Given |
Set up initial context | Given I am on the login page |
When |
Trigger action | When I enter valid credentials |
Then |
Assert outcome | Then I should see my dashboard |
And/But |
Continue previous | And I should see a welcome message |
Background |
Common setup | Runs before each scenario |
Scenario Outline |
Data-driven | Template with Examples table |
Declarative vs Imperative
# β BAD - Imperative (too detailed, UI-focused)
Scenario: Login
Given I navigate to "http://example.com/login"
And I click on the username field
And I type "[email protected]"
And I click on the password field
And I type "secret123"
And I click the submit button
Then I should see "Dashboard" in the page title
# β
GOOD - Declarative (behavior-focused)
Scenario: Successful login with valid credentials
Given I am a registered user
When I login with valid credentials
Then I should see my dashboard
Three Amigos Quick Reference
| Role | Focus | Questions to Ask |
|---|---|---|
| Business (PO/BA) | What & Why | "What's the value?", "Who are the users?" |
| Development | How | "What's the technical impact?", "Dependencies?" |
| Testing (QA) | What if | "What could go wrong?", "Edge cases?" |
Workflow Assistance
Discovery Phase Guidance
When exploring requirements:
-
Example Mapping
π‘ User Story: "User can login" β ββ π΅ Rule: "Users must be authenticated" β ββ π’ Example: Valid credentials β login success β ββ π’ Example: Invalid credentials β error message β ββ π΅ Rule: "Account lockout after failures" β ββ π’ Example: 3 failures β account locked β ββ π’ Example: Locked account β cannot login β ββ π΄ Question: Password expiration policy? -
Questions to Ask
- What's the happy path?
- What could go wrong?
- What are the boundary conditions?
- What's explicitly out of scope?
Formulation Phase Guidance
When writing scenarios:
-
Feature File Structure
```gherkin
Feature: Feature name
As a [role]
I want [feature]
So that [benefit]Background:
Given common preconditionsScenario: Descriptive scenario name
Given [initial context]
When [action]
Then [expected outcome]
``` -
Scenario Style Guidelines
- One behavior per scenario
- Use business language
- Keep steps declarative
- Aim for 5-10 steps maximum
- Make scenarios independent
Automation Phase Guidance
When implementing:
- Step Definition Best Practices
```typescript
// β Good: Reusable, parameterized
Given('I have {int} items in my cart', (count) => { ... });
// β Bad: Specific to one scenario
Given('I have 3 widgets in my cart', () => { ... });
```
- BDD + TDD Integration
BDD Scenario (feature level) β ββββΆ Step Definitions β ββββΆ TDD Cycle (unit level) π΄ Write failing unit test π’ Implement minimal code π΅ Refactor
Integration with Other Workflows
BDD + SDD
When working with Spec-Driven Development:
# Reference spec in feature file
# @spec SPEC-001
@SPEC-001
Feature: User Authentication
Implements SPEC-001 user authentication requirements.
@AC-1
Scenario: Successful login
# Acceptance Criterion 1 from SPEC-001
...
BDD + TDD
Scenario Level (BDD) Unit Level (TDD)
βββββββββββββββββββββ βββββββββββββββββ
Scenario: Checkout βββββββΆ test_calculate_total()
Given cart items test_apply_discount()
When checkout test_create_order()
Then order created test_send_email()
BDD + ATDD
ATDD: Acceptance Criteria (business sign-off)
β
ββββΆ BDD: Feature Files (Gherkin scenarios)
β
ββββΆ TDD: Unit Tests (implementation)
Configuration Detection
This skill supports project-specific configuration.
Detection Order
- Check
CONTRIBUTING.mdfor "Disabled Skills" section - If this skill is listed, it is disabled for this project
- Check
CONTRIBUTING.mdfor "BDD Standards" section - Check for existing
.featurefiles in the codebase - If not found, default to standard BDD practices
First-Time Setup
If no configuration found and context is unclear:
- Ask: "This project hasn't configured BDD preferences. Which BDD tool do you use?"
- Cucumber (JavaScript/TypeScript)
- Behave (Python)
- SpecFlow (C#)
-
Other
-
After selection, suggest documenting in
CONTRIBUTING.md:
## BDD Standards
### BDD Tool
- Cucumber.js
### Feature File Location
- `features/` directory
### Scenario Style
- Declarative (behavior-focused)
- Business language required
- Max 10 steps per scenario
Detailed Guidelines
For complete standards, see:
- BDD Core Standard
- BDD Workflow Guide
- Gherkin Quick Reference
For related standards:
- TDD Standards
- ATDD Standards
- Testing Standards
Anti-Patterns Quick Detection
| Symptom | Likely Problem | Quick Fix |
|---|---|---|
| Scenarios break on UI changes | Imperative style | Use declarative language |
| Business can't read scenarios | Technical jargon | Use business language |
| Scenarios pass but features don't work | Missing scenarios | Better Discovery sessions |
| Too many scenarios | Scenario explosion | Use Scenario Outlines |
| Step definitions duplicated | Not reusable | Extract to helpers |
Related Standards
- Behavior-Driven Development - Core BDD standard
- Acceptance Test-Driven Development - ATDD standard
- Test-Driven Development - TDD standard
- Spec-Driven Development - SDD workflow
- Testing Standards - Testing framework
- TDD Assistant - TDD skill
Version History
| Version | Date | Changes |
|---|---|---|
| 1.0.0 | 2026-01-19 | Initial release |
License
This skill is released under CC BY 4.0.
Source: universal-dev-standards
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.