atdd

Guide implementation from acceptance tests inward using Given/When/Then scenarios.

3|Updated Mar 4, 2026
One-click install
npx skills add https://github.com/scute-sh/scute --skill atdd-scute-sh
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: atdd
Source: https://github.com/scute-sh/scute/tree/main/.claude/skills/atdd
Command: npx skills add https://github.com/scute-sh/scute --skill atdd-scute-sh

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps ensure that software is built to meet user needs by starting with acceptance tests and working inwards, preventing the development of features that don't align with desired behavior.

Core Features & Use Cases

  • Outside-In Development: Guides implementation starting from user-visible behavior and progressing layer by layer.
  • Test-Driven Approach: Leverages acceptance tests as the primary driver for development.
  • Use Case: When building a new user-facing feature, define the expected outcome as a Given/When/Then scenario, turn it into a failing acceptance test, and then implement the necessary code, stubbing dependencies as you work inwards.

Quick Start

Describe the scenario in plain language first, then turn it into an acceptance test, and make the test pass by working outside-in.

Frequently Asked Questions about atdd

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is acceptance test-driven development and how does it guide implementation?

Acceptance test-driven development (ATDD) drives software implementation from user-visible behavior inwards. You define expected outcomes as Given/When/Then scenarios, convert them into failing acceptance tests, and implement code layer by layer to make them pass.

How do I start building a feature using an outside-in development approach?

To start outside-in development, describe the desired user-facing scenario in plain language, translate it into a failing acceptance test, and implement the necessary code while stubbing dependencies as you progress through each layer.

When should I use behavior-driven development for my software design process?

Use behavior-driven development when building behavior-heavy features, algorithm-heavy logic, or integration tests. It enforces a disciplined approach by prioritizing acceptance criteria and iterative refinement to ensure software meets user needs.

What is the difference between acceptance test-driven development and test-driven development?

Acceptance test-driven development starts from user-visible behavior and works inwards using scenarios, while traditional test-driven development typically focuses on lower-level unit tests. ATDD prevents building features that do not align with desired behavior.

Can I use acceptance testing for algorithm-heavy logic and integration testing?

Yes, acceptance testing supports scenarios involving algorithm-heavy logic and integration testing through a structured outside-in build loop, ensuring implementation iteratively refines to meet the defined acceptance criteria.

Why does my outside-in development loop require stubbing dependencies?

Stubbing dependencies is required in outside-in development to isolate and progress layer by layer from user-visible behavior. It allows you to build and verify the outer acceptance criteria before implementing the inner logic.