From stdd-agents
Use when writing acceptance tests or adding scenarios to spec.yaml. Defines Given/When/Then format and acceptance test patterns.
npx claudepluginhub craigtkhill/stdd-agents --plugin stdd-agentsThis skill uses the workspace's default tool permissions.
This skill defines how to write acceptance tests and scenarios that validate end-to-end feature behavior.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
This skill defines how to write acceptance tests and scenarios that validate end-to-end feature behavior.
Write acceptance tests when the feature requires end-to-end testing across multiple modules or external dependencies.
If the feature only involves isolated logic within a single module, use unit tests instead.
Scenarios live in the scenarios section of spec.yaml. Only add scenarios when the feature requires end-to-end testing with other modules. Ask the user if scenarios apply before adding them.
scenarios:
- name: Descriptive scenario name
given: Setup/preconditions
when: User action/trigger
then: Expected outcome/verification
Describe WHAT, not HOW:
Cover end-to-end flows:
Acceptance tests follow the Given/When/Then pattern from scenarios:
Each acceptance test should map to a scenario in spec.yaml.
Unit Tests:
test: unit in spec.yamlAcceptance Tests:
test: acceptance in spec.yamlIntegration Tests:
tests/ directory at project rootTest hierarchy: Default to unit tests. Use acceptance tests when you need end-to-end feature validation. Use integration tests sparingly for tactical external integration needs.
test: to-implement → test: acceptancecode: to-implement → code: donecode: to-implement → code: done