--- name: atdd scope: partial description: | Guide teams through Acceptance Test-Driven Development workflow. Use when: defining acceptance criteria, running specification workshops, writing user stories with acceptance tests, PO sign-off. Keywords: ATDD, acceptance test, acceptance criteria, user story, product owner, specification workshop, 驗收測試驅動開發. --- # ATDD Assistant > **Language**: English | [繁體中文](../../locales/zh-TW/skills/atdd-assistant/SKILL.md) **Version**: 1.0.0 **Last Updated**: 2026-01-19 **Applicability**: Claude Code Skills --- ## Purpose This skill guides teams through the Acceptance Test-Driven Development workflow, helping them: - Conduct effective Specification Workshops - Write testable acceptance criteria in Given-When-Then format - Convert criteria to executable acceptance tests - Ensure proper collaboration between PO, Dev, and QA - Integrate ATDD with BDD and TDD for complete workflow --- ## Quick Reference ### ATDD Workflow Checklist ``` ┌─────────────────────────────────────────────────────────────────┐ │ 🤝 SPECIFICATION WORKSHOP Phase │ │ □ Product Owner presents user story │ │ □ Team asks clarifying questions │ │ □ Acceptance criteria defined together │ │ □ Concrete examples written for each AC │ │ □ Edge cases and error scenarios discussed │ │ □ Out of scope explicitly documented │ ├─────────────────────────────────────────────────────────────────┤ │ 🧪 DISTILLATION Phase │ │ □ Examples converted to executable tests │ │ □ Ambiguity removed from tests │ │ □ Tests in executable format (Gherkin, FitNesse, etc.) │ │ □ Product Owner signs off on tests │ ├─────────────────────────────────────────────────────────────────┤ │ 💻 DEVELOPMENT Phase │ │ □ Acceptance tests initially fail (RED) │ │ □ BDD used for feature tests, TDD for unit tests │ │ □ Incremental progress toward passing ATs │ │ □ All acceptance tests pass (GREEN) │ │ □ Code refactored and clean │ ├─────────────────────────────────────────────────────────────────┤ │ 🎬 DEMO Phase │ │ □ All acceptance tests passing │ │ □ Demo environment prepared │ │ □ Key stakeholders present │ │ □ Product Owner validates functionality │ │ □ Story accepted or criteria refined │ └─────────────────────────────────────────────────────────────────┘ ``` ### Acceptance Criteria Quick Reference | Element | Format | Example | |---------|--------|---------| | **User Story** | As a / I want / So that | As a customer, I want to reset my password, so that I can regain access | | **AC Format** | Given / When / Then | Given I'm on the login page, When I click "Forgot Password", Then I should see a reset form | | **Out of Scope** | Bullet list | - SMS reset, - Admin reset capability | | **Technical Notes** | Bullet list | - Token expires in 24 hours | ### INVEST Criteria | Principle | Description | Check | |-----------|-------------|-------| | **I**ndependent | Can be developed independently | No blocking dependencies | | **N**egotiable | Details can be discussed | Not a contract | | **V**aluable | Delivers business value | PO can explain the "why" | | **E**stimable | Can be estimated | Team understands scope | | **S**mall | Fits in one sprint | < 1 week of work | | **T**estable | Can be verified | Clear acceptance criteria | --- ## Workflow Assistance ### Specification Workshop Guidance When conducting a specification workshop: 1. **Story Presentation** (5 min) ``` User Story: [Title] As a [role] I want [feature] So that [benefit] Business Value: [Why this matters] ``` 2. **Clarifying Questions** (10 min) - Business: "What's the value?", "Who are the users?" - Development: "What's the impact?", "Dependencies?" - Testing: "What could go wrong?", "Edge cases?" 3. **AC Definition** (20 min) ```markdown ### AC-1: [Criterion name] **Given** [precondition] **When** [action] **Then** [expected result] ``` 4. **Out of Scope** (10 min) - Explicitly list what is NOT included - Prevents scope creep during development 5. **Technical Notes** (5 min) - Implementation hints - Known constraints - Dependencies ### Distillation Guidance When converting AC to executable tests: 1. **Review Each AC** - Is it unambiguous? - Can it be automated? - Does it verify business value? 2. **Choose Test Format** | Format | Best For | |--------|----------| | Gherkin | Behavior-focused, business-readable | | FitNesse | Data-driven, wiki tables | | Robot Framework | Complex workflows | | Code (xUnit) | Technical teams | 3. **Write Executable Tests** ```gherkin # For AC-1: Password reset request Scenario: Request password reset Given I am on the login page And I have a registered account When I click "Forgot Password" And I enter my email address Then I should see "Reset link sent" And I should receive an email within 5 minutes ``` 4. **Get PO Sign-off** - PO confirms tests represent requirements - Sign-off before development starts ### Demo Guidance When preparing for demo: 1. **Pre-Demo Checklist** ``` □ All acceptance tests passing □ Demo environment ready □ Test data prepared □ Stakeholders notified ``` 2. **Demo Structure** (15-30 min) - Context (1 min): Remind story and AC - Tests (2 min): Run acceptance tests live - Feature (5-10 min): Walk through each AC - Feedback (5 min): Gather feedback, Q&A 3. **Possible Outcomes** - ✅ Accepted: Story complete - 🔄 Refinement: Return to workshop - ❌ Rejected: Identify gaps --- ## User Story Template ```markdown ## User Story: [Title] **As a** [role] **I want** [feature] **So that** [benefit] ## Acceptance Criteria ### AC-1: [Happy path] **Given** [precondition] **When** [action] **Then** [expected result] ### AC-2: [Error scenario] **Given** [precondition] **When** [invalid action] **Then** [error handling] ### AC-3: [Edge case] **Given** [edge condition] **When** [action] **Then** [appropriate result] ## Out of Scope - [Feature 1 not included] - [Feature 2 deferred to future] ## Technical Notes - [Implementation constraint] - [Dependency information] - [Performance requirement] ## Questions / Assumptions - [Open question 1] - [Assumption 1] ``` --- ## Integration with Other Workflows ### ATDD → BDD → TDD Flow ``` ATDD Level (Business Acceptance) │ │ User Story + Acceptance Criteria │ PO Sign-off │ ▼ BDD Level (Behavior Specification) │ │ Feature Files (Gherkin) │ Three Amigos collaboration │ ▼ TDD Level (Implementation) │ │ Unit Tests │ Red → Green → Refactor │ ▼ Verification (Demo) │ └──▶ PO Acceptance ``` ### ATDD + SDD Integration ```markdown # Link ATDD to SDD Spec ## User Story: US-123 **Spec Reference**: SPEC-001 ### AC-1: Implements SPEC-001 Section 3.1 **Given** [from spec requirements] **When** [action per spec] **Then** [expected per spec] ``` --- ## Configuration Detection This skill supports project-specific configuration. ### Detection Order 1. Check `CONTRIBUTING.md` for "Disabled Skills" section 2. Check `CONTRIBUTING.md` for "ATDD Standards" section 3. Check for existing acceptance test patterns 4. If not found, **default to standard ATDD practices** ### First-Time Setup If no configuration found: 1. Ask: "This project hasn't configured ATDD preferences. Which acceptance test format do you prefer?" - Gherkin (Cucumber, SpecFlow) - FitNesse tables - Code-based (xUnit) 2. After selection, suggest documenting in `CONTRIBUTING.md`: ```markdown ## ATDD Standards ### Acceptance Test Format - Gherkin (Cucumber.js) ### User Story Template - INVEST criteria required - Given-When-Then format for AC ### Workflow - Specification workshop required for all stories - PO sign-off before development - Demo for each completed story ``` --- ## Detailed Guidelines For complete standards, see: - [ATDD Core Standard](../../core/acceptance-test-driven-development.md) - [ATDD Workflow Guide](./atdd-workflow.md) - [Acceptance Criteria Guide](./acceptance-criteria-guide.md) For related standards: - [BDD Standards](../../core/behavior-driven-development.md) - [TDD Standards](../../core/test-driven-development.md) - [Testing Standards](../../core/testing-standards.md) --- ## Anti-Patterns Quick Detection | Symptom | Likely Problem | Quick Fix | |---------|----------------|-----------| | Features marked done but PO rejects | AC not validated with PO | Mandatory PO sign-off | | Long dev with no progress | AC too large or vague | Break into smaller criteria | | Acceptance tests always pass first time | Tests written after implementation | Tests before dev | | Endless scope discussions | No "out of scope" definition | Explicit out-of-scope | | AC can't be automated | QA/Dev not involved in AC definition | Technical perspective in workshop | --- ## RACI Matrix | Activity | Product Owner | Developer | QA/Tester | |----------|--------------|-----------|-----------| | Define user story | **R/A** | C | C | | Specification workshop | **R** | C | C | | Define acceptance criteria | **A** | R | R | | Write executable tests | C | R | **R/A** | | Implement feature | C | **R/A** | C | | Execute acceptance tests | I | R | **R/A** | | Accept/reject feature | **R/A** | I | I | **Legend**: R = Responsible, A = Accountable, C = Consulted, I = Informed --- ## Related Standards - [Acceptance Test-Driven Development](../../core/acceptance-test-driven-development.md) - Core ATDD standard - [Behavior-Driven Development](../../core/behavior-driven-development.md) - BDD standard - [Test-Driven Development](../../core/test-driven-development.md) - TDD standard - [Spec-Driven Development](../../core/spec-driven-development.md) - SDD workflow - [Testing Standards](../../core/testing-standards.md) - Testing framework - [BDD Assistant](../bdd-assistant/SKILL.md) - BDD skill - [TDD Assistant](../tdd-assistant/SKILL.md) - TDD skill --- ## Version History | Version | Date | Changes | |---------|------|---------| | 1.0.0 | 2026-01-19 | Initial release | --- ## License This skill is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). **Source**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)