xiaohongshu
xiaohongshu
bdd-assistant
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, 行為驅...
Full skill instructions
Language: English | 繁體中文
Version: 1.0.0 Last Updated: 2026-01-19 Applicability: Claude Code Skills
This skill guides developers through the Behavior-Driven Development workflow, helping them:
┌─────────────────────────────────────────────────────────────────┐
│ 🔍 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 │
└─────────────────────────────────────────────────────────────────┘
| 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 |
# ❌ 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
| 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?" |
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
When writing scenarios:
Feature File Structure
Feature: Feature name
As a [role]
I want [feature]
So that [benefit]
Background:
Given common preconditions
Scenario: Descriptive scenario name
Given [initial context]
When [action]
Then [expected outcome]
Scenario Style Guidelines
When implementing:
Step Definition Best Practices
// ✅ 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
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
...
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()
ATDD: Acceptance Criteria (business sign-off)
│
└──▶ BDD: Feature Files (Gherkin scenarios)
│
└──▶ TDD: Unit Tests (implementation)
This skill supports project-specific configuration.
CONTRIBUTING.md for "Disabled Skills" section
CONTRIBUTING.md for "BDD Standards" section.feature files in the codebaseIf no configuration found and context is unclear:
Ask: "This project hasn't configured BDD preferences. Which BDD tool do you use?"
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
For complete standards, see:
For related standards:
| 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 |
| Version | Date | Changes |
|---|---|---|
| 1.0.0 | 2026-01-19 | Initial release |
This skill is released under CC BY 4.0.
Source: universal-dev-standards
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience