Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
thebushidocollective avatar

Bdd Patterns

  • 169 installs
  • 186 repo stars
  • Updated July 19, 2026
  • thebushidocollective/han

Use bdd-patterns for development tasks

About

bdd-patterns: A skill for development. This provides functionality for development workflows.

  • bdd-patterns

Bdd Patterns by the numbers

  • 169 all-time installs (skills.sh)
  • +3 installs in the week ending Jul 27, 2026 (Skillselion tracking)
  • Ranked #2,266 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 1, 2026 (Skillselion catalog sync)
npx skills add https://github.com/thebushidocollective/han --skill bdd-patterns

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs169
repo stars186
Last updatedJuly 19, 2026
Repositorythebushidocollective/han

What it does

Use bdd-patterns for development tasks

Files

SKILL.mdMarkdownGitHub ↗

BDD Patterns

Master Behavior-Driven Development patterns to write clear, business-readable specifications that drive implementation.

Given-When-Then Structure

The fundamental BDD pattern uses three parts:

  • Given: The initial context or preconditions
  • When: The action or event being tested
  • Then: The expected outcome or result
Feature: User Authentication

  Scenario: Successful login with valid credentials
    Given a registered user with email "user@example.com"
    And the user has password "secure123"
    When the user submits the login form with correct credentials
    Then the user should be redirected to the dashboard
    And a session should be created

Feature File Organization

Feature: Shopping Cart
  As a customer
  I want to manage items in my cart
  So that I can purchase products I'm interested in

  Background:
    Given I am logged in as a customer
    And the product catalog is available

  Scenario: Add item to empty cart
    Given my cart is empty
    When I add "Blue T-Shirt" to my cart
    Then my cart should contain 1 item
    And the cart total should be $29.99

  Scenario: Remove item from cart
    Given my cart contains "Blue T-Shirt"
    When I remove "Blue T-Shirt" from my cart
    Then my cart should be empty

Scenario Outlines for Data-Driven Tests

Scenario Outline: Password validation
  Given I am on the registration page
  When I enter password "<password>"
  Then I should see "<message>"

  Examples:
    | password    | message                        |
    | abc         | Password too short             |
    | abcdefgh    | Password needs a number        |
    | abcdefgh1   | Password accepted              |
    | abcdefgh1!  | Password accepted              |

Step Definition Patterns

# Ruby/Cucumber example
Given('a registered user with email {string}') do |email|
  @user = User.create!(email: email, password: 'password123')
end

When('the user submits the login form with correct credentials') do
  visit login_path
  fill_in 'Email', with: @user.email
  fill_in 'Password', with: 'password123'
  click_button 'Log In'
end

Then('the user should be redirected to the dashboard') do
  expect(page).to have_current_path(dashboard_path)
end

When to Use This Skill

Use bdd-patterns when you need to:

  • Write acceptance tests that stakeholders can understand
  • Define behavior before implementation
  • Create living documentation from tests
  • Bridge communication between developers and business
  • Ensure features meet business requirements

Best Practices

  • Write scenarios from the user's perspective
  • Keep scenarios focused on single behaviors
  • Use declarative language, not implementation details
  • Reuse step definitions across scenarios
  • Use Background for common setup steps
  • Keep feature files organized by domain area

Common Pitfalls

  • Writing scenarios that are too technical
  • Coupling steps to specific UI implementations
  • Creating overly complex scenario outlines
  • Not maintaining feature files as code changes
  • Mixing multiple behaviors in one scenario

Related skills

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.