bdd-collaboration
$
npx mdskill add TheBushidoCollective/han/bdd-collaborationFacilitate BDD workshops to align technical and business teams.
- Coordinates Three Amigos sessions for joint story definition.
- Integrates Bash and Read tools for documentation access.
- Generates structured example mapping diagrams with color coding.
- Outputs clear acceptance criteria and edge case lists.
SKILL.md
.github/skills/bdd-collaborationView on GitHub ↗
---
name: bdd-collaboration
description: Use when facilitating BDD collaboration between developers, testers, and business stakeholders. Use when running discovery workshops and example mapping sessions.
allowed-tools:
- Bash
- Read
---
# BDD Collaboration
Master the collaborative aspects of Behavior-Driven Development to bridge communication between technical and business teams.
## Three Amigos Sessions
The Three Amigos brings together three perspectives:
- **Business/Product**: Defines the desired behavior
- **Development**: Understands implementation implications
- **Testing/QA**: Identifies edge cases and risks
```
Session Structure:
1. Product Owner presents the user story
2. Developer asks clarifying questions
3. Tester identifies potential edge cases
4. Team writes scenarios together
5. Everyone agrees on acceptance criteria
```
## Example Mapping
Example Mapping is a structured conversation technique:
```
┌─────────────────────────────────────────┐
│ STORY: As a customer, I want to... │ (Yellow card)
├─────────────────────────────────────────┤
│ RULE: Orders over $50 get free shipping │ (Blue card)
│ ├── Example: $60 order = free │ (Green card)
│ ├── Example: $49 order = $5 shipping │ (Green card)
│ └── Question: What about $50 exactly? │ (Red card)
├─────────────────────────────────────────┤
│ RULE: Express shipping always costs $15 │ (Blue card)
│ ├── Example: $100 order express = $15 │ (Green card)
│ └── Example: $30 order express = $15 │ (Green card)
└─────────────────────────────────────────┘
```
## Discovery Workshop Format
```
1. INTRODUCE (5 min)
- Present the feature or story
- Share any existing context
2. EXPLORE (20 min)
- "What are the rules?"
- "Can you give me an example?"
- "What could go wrong?"
3. DOCUMENT (15 min)
- Write scenarios together
- Capture questions for later
4. REVIEW (10 min)
- Read scenarios aloud
- Confirm shared understanding
```
## Ubiquitous Language
Build a shared vocabulary:
```gherkin
# Domain terms defined clearly
Feature: Subscription Management
# Define terms in feature description
A "subscriber" is a customer with an active subscription.
A "churned subscriber" has cancelled within the last 30 days.
"Winback" is re-activating a churned subscriber.
Scenario: Winback offer for churned subscriber
Given a churned subscriber from 15 days ago
When they visit the pricing page
Then they should see the winback offer
```
## Living Documentation
```gherkin
Feature: Payment Processing
# Link to business documentation
@jira:PAY-123
@confluence:payment-rules
# Version tracking
@since:v2.1
Scenario: Process credit card payment
# This scenario documents the current behavior
# Last verified: 2024-01-15
```
## When to Use This Skill
Use bdd-collaboration when you need to:
- Align team understanding of requirements
- Reduce miscommunication between roles
- Create shared ownership of quality
- Build domain knowledge across team
- Prevent defects through early discussion
## Best Practices
- Schedule regular Three Amigos sessions
- Use Example Mapping for complex stories
- Create and maintain a domain glossary
- Keep scenarios as living documentation
- Involve stakeholders in scenario reviews
- Time-box discovery sessions
## Common Pitfalls
- Skipping collaboration and writing scenarios alone
- Not including all three perspectives
- Using technical jargon with business stakeholders
- Letting scenarios become outdated
- Over-documenting simple features
- Not following up on questions raised
More from TheBushidoCollective/han
- absinthe-resolversUse when implementing GraphQL resolvers with Absinthe. Covers resolver patterns, dataloader integration, batching, and error handling.
- absinthe-schemaUse when designing GraphQL schemas with Absinthe. Covers type definitions, interfaces, unions, enums, and schema organization patterns.
- absinthe-subscriptionsUse when implementing real-time GraphQL subscriptions with Absinthe. Covers Phoenix channels, PubSub, and subscription patterns.
- act-docker-setupUse when configuring Docker environments for act, selecting runner images, managing container resources, or troubleshooting Docker-related issues with local GitHub Actions testing.
- act-local-testingUse when testing GitHub Actions workflows locally with act. Covers act CLI usage, Docker configuration, debugging workflows, and troubleshooting common issues when running workflows on your local machine.
- act-workflow-syntaxUse when creating or modifying GitHub Actions workflow files. Provides guidance on workflow syntax, triggers, jobs, steps, and expressions for creating valid GitHub Actions workflows that can be tested locally with act.
- ameba-configurationUse when configuring Ameba rules and settings for Crystal projects including .ameba.yml setup, rule management, severity levels, and code quality enforcement.
- ameba-custom-rulesUse when creating custom Ameba rules for Crystal code analysis including rule development, AST traversal, issue reporting, and rule testing.
- ameba-integrationUse when integrating Ameba into development workflows including CI/CD pipelines, pre-commit hooks, GitHub Actions, and automated code review processes.
- analyze-performanceAnalyze performance metrics and identify slow transactions in Sentry