acceptance-test-driven-development
Write acceptance tests before unit tests to ensure you're building the right thing
Best use case
acceptance-test-driven-development is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Write acceptance tests before unit tests to ensure you're building the right thing
Teams using acceptance-test-driven-development should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/acceptance-test-driven-development/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How acceptance-test-driven-development Compares
| Feature / Agent | acceptance-test-driven-development | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Write acceptance tests before unit tests to ensure you're building the right thing
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# Acceptance Test-Driven Development (ATDD) ## Workflow ATDD extends TDD by adding an outer acceptance test loop: 1. **Write an acceptance test** that describes the desired behavior from the user's perspective 2. **Run it — it should fail** (the feature doesn't exist yet) 3. **Enter the TDD inner loop:** - Write a failing unit test (RED) - Write minimal code to pass (GREEN) - Refactor (REFACTOR) - Repeat until the acceptance test passes 4. **Verify the acceptance test passes** — the feature is complete ## Acceptance Test Patterns Acceptance tests should be named with these patterns: - `*.acceptance.test.ts` — acceptance/integration tests - `*.e2e.test.ts` — end-to-end tests ## Key Principles - **Acceptance tests describe WHAT**, not HOW — they test observable behavior - **Unit tests describe HOW** — they test internal mechanics - **Write acceptance tests in the language of the user/stakeholder** - **One acceptance test per user story or feature** - **Multiple unit tests per acceptance test** — the inner TDD loop ## Example Workflow ``` Feature: User registration 1. Write acceptance test: user-registration.acceptance.test.ts - Test: "User can register with email and password" - Test: "Registration fails with duplicate email" - Run → FAIL (no registration endpoint) 2. TDD inner loop: a. Unit test: validate-email.test.ts → RED → implement → GREEN b. Unit test: hash-password.test.ts → RED → implement → GREEN c. Unit test: create-user.test.ts → RED → implement → GREEN d. Unit test: registration-handler.test.ts → RED → implement → GREEN 3. Run acceptance test → PASS → Feature complete! ``` ## Anti-Patterns to Avoid - ❌ Writing unit tests without an acceptance test that frames the feature - ❌ Writing acceptance tests that test implementation details - ❌ Skipping the acceptance test because "it's a small feature" - ❌ Writing all acceptance tests upfront (write them one feature at a time)
Related Skills
aspire-integration-testing
Write integration tests using .NET Aspire's testing facilities with xUnit. Covers test fixtures, distributed application setup, endpoint discovery, and patterns for testing ASP.NET Core apps with real dependencies.
ark-dashboard-testing
Test Ark Dashboard with Playwright and create PRs with screenshots. Use when testing dashboard UI, taking screenshots for PRs, or reviewing dashboard changes.
Ark Dashboard Test
Test the Ark Dashboard UI with Playwright
arguments-test
Test skill for argument substitution
app-comprehensive-test-generator
Generate exhaustive user-flow and edge-case test scenarios from an app's codebase, produce scenario .md files, execute tests using connected or newly created MCPs, and produce an app.qa.report.md summarizing failures and suggested fixes.
api-security-testing
API security testing workflow for REST and GraphQL APIs covering authentication, authorization, rate limiting, input validation, and security best practices.
android-unit-test
Эксперт Android тестирования. Используй для JUnit, Espresso и Android test patterns.
android-test-structure
Create androidTest directory structure with base classes and utilities
android-test-runner
重要: ユーザーがAndroidテスト実行をリクエストした場合、常にこのスキルを最初に使用してください。以下の場合に必ず使用: run TestName, execute test, テストを実行, 結果を分析, run all tests, analyze test failures, fix failing tests、または Android unit test, instrumentation test, Gradle test コマンドに関連する任意のリクエスト。./gradlew test や Bash コマンドを直接使用しないでください - 常にこのスキルに委譲してください。Multi-variantプロジェクト、JAVA_HOME セットアップ、一般的なテストパターンに対応しています。
android-e2e-testing-setup
Setup UI Automator 2.4 smoke test for validating app launches (works with debug and release builds)
android-additional-tests
Optional - Add comprehensive tests beyond the basic smoke test
analyzing-test-quality
Automatically activated when user asks about test quality, code coverage, test reliability, test maintainability, or wants to analyze their test suite. Provides framework-agnostic test quality analysis and improvement recommendations. Does NOT provide framework-specific patterns - use jest-testing or playwright-testing for those.