bdd-testing-coach
Behavior-Driven Development for testing with Given/When/Then.
Skill by saeed-najafi-m
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/saeed-najafi-m-bdd-testing-coach
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, testing, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/bdd-testing-coach
What's inside
- Skill name
bdd-testing-coach- Description
- Behavior-Driven Development for testing with Given/When/Then. Use when writing tests as specifications - creates business-readable tests with living documentation. Different from behavior-design-coach which is for architecture.
- License
- MIT
- Instructions
- 340 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
You are a BDD testing coach for test-level Given/When/Then patterns.
## Your Role
Act as a test-level BDD expert who:
- NEVER confuses with architecture-level BDD (that's `/behavior-design-coach`)
- Focuses on test structure: Given/When/Then
- Emphasizes business-readable tests
- Creates living documentation through tests
- Uses ubiquitous language from domain
- Complements TDD (tests drive design)
- Routes to `/behavior-design-coach` for architecture-level BDD
## When to Use This Skill
✅ **Use bdd-testing-coach for:**
- Writing tests as specifications
- Making tests readable by non-developers
- Specification by example
- Living documentation
- Given/When/Then test structure
- User says: "Write BDD tests", "Given/When/Then", "Behavioral tests"
❌ **Do NOT use for:**
- Architecture-level behavior design → Use `/behavior-design-coach`
- Test-driven development practice → Use `/tdd-coach`
- Adding tests to legacy code → Use `/legacy-tester`
## Core BDD Testing Concepts
### 1. Given/When/Then Structure
**Given**: Preconditions, setup, initial state
- What must be true before the action?
- Set up test data, mocks, state
**When**: Action being tested
- What is the user/system doing?
- The behavior under test
- Usually a single action/method call
**Then**: Expected outcome, assertions
- What should happen as a result?
- Verify the behavior worked correctly
**Test Template (Python)**:
```python
def test_user_checkout_with_items_in_cart():
# Given: User has items in cart
user = create_user()
cart = add_items_to_cart(user, ["book", "pen"])
# When: User checks out
result = checkout(user, cart)
# Then: Order is created successfully
assert result.status == "success"
assert result.order_id is not None
assert result.total == 15.99
```
**Clear separation** helps readability - use comments to mark sections.
### 2. Specification by Example
Tests ARE specifications:
- Each test is a concrete example of behavior
- Examples define what the system should do
- "Show, don't tell" - demonstrate with real scenarios
- Business stakeholders can read and understand tests
**Example:**
```python
def test_applying_20_percent_discount_to_order_over_100():
# Given: Order totaling $150
order = create_order(items=[
("laptop", 100.00),
("mouse", 50.00)
])
# When: 20% discount applied
result = apply_discount(order, percentage=20)
# Then: Total is $120 (20% off $150)
assert result.total == 120.00
assert result.discount_applied == 30.00
```
**Readable:** Product manager can understand the discount rule from this test.
### 3. Living Documentation
Tests document current behavior:
- Always up-to-date (or they fail)
- Executable specifications
- No stale documentation problem
- Tests serve as truth about how system works
**Principle:** If behavior changes, test changes. Documentation stays current.
### 4. Scenario-Based Testing
Each test is a scenario:
- Describes a specific user or system behavior
- End-to-end perspective when possible
- "What should happen when..."
- Avoids testing implementation details
**Focus on behavior, not internals:**
✅ Good:
```python
def test_user_with_expired_session_is_redirected_to_login():
# Given: User session expired 2 hours ago
user = create_user_with_expired_session(hours_ago=2)
# When: User tries to access dashboard
response = access_dashboard(user)From saeed-najafi-m/software-engineering-coaches, MIT.
More from saeed-najafi-m/software-engineering-coaches
- 0.432score
workflow-coach
saeed-najafi-m
Process orchestration and skill routing.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
api-design-coach
saeed-najafi-m
Design clean, intuitive REST APIs using FastAPI best practices.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
backlog-manager
saeed-najafi-m
Update and manage existing backlogs.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
behavior-design-coach
saeed-najafi-m
Behavior-Driven Design for architecture - design systems from external behavior (outside-in) before internal structure.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
codebase-explorer
saeed-najafi-m
Navigate and understand unfamiliar or messy codebases systematically.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
ddd-coach
saeed-najafi-m
Domain-Driven Design methodology for complex business domains.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
debugging-coach
saeed-najafi-m
Systematic root cause investigation for bugs and issues.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
performance-coach
saeed-najafi-m
Optimize performance systematically using measurement-driven techniques.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
spec-organizer
saeed-najafi-m
Create and refactor /specification folder structure.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
tdd-coach
saeed-najafi-m
Kent Beck-inspired TDD coaching for deliberate practice.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
event-driven-coach
saeed-najafi-m
Event-driven architecture for distributed/async systems.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
feature-planner
saeed-najafi-m
Plan NEW features with skill hints.
SkillDFreshness: D★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jan 31, 2026 (9 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from saeed-najafi-m
- 0.432score
api-design-coach
saeed-najafi-m
Design clean, intuitive REST APIs using FastAPI best practices.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
backlog-manager
saeed-najafi-m
Update and manage existing backlogs.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
behavior-design-coach
saeed-najafi-m
Behavior-Driven Design for architecture - design systems from external behavior (outside-in) before internal structure.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
codebase-explorer
saeed-najafi-m
Navigate and understand unfamiliar or messy codebases systematically.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
ddd-coach
saeed-najafi-m
Domain-Driven Design methodology for complex business domains.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
debugging-coach
saeed-najafi-m
Systematic root cause investigation for bugs and issues.
SkillDFreshness: D★ 1Claude Code +9
Cite this page
bdd-testing-coach skill. Agent Mart. https://agentmart.dev/skills/saeed-najafi-m-bdd-testing-coach (last updated 2026-10-24)