agentleFS
ishandutta2007ishandutta2007/Awesome-Claude-Skills/skills/tdd/skill.md

tdd

Skill16 starsChanged 6 months agoMITView on GitHub

Process: 1. Plan: Test "can push item", "can pop pushed item", "pop empty throws". 2. Cycle 1 (RED): Write test for stack.push(1). 3. Cycle 1 (GREEN): Create Stack class with empty push method. 4. Cycle 2 (RED): Write test for stack.pop() returning pushed item. 5. Cycle 2 (GREEN): Add array to Stack, push to it, pop from it. 6. Refactor: (None needed for this simple case).

194 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use capture-learning-tools, design-frontend-dev and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • The-Vibe-CompanySkill

    capture-learning-tools

    Turn technical conversations, bugs, CI failures, review comments,

    Also in 5 projects that use this

  • The-Vibe-CompanySkill

    design-frontend-dev

    Clean Impeccable frontend design skill. Use when the user wants to

    Also in 5 projects that use this

  • tristanphvnSkill

    ketchup-video

    Catch the user up like /keel:ketchup, with a short silent video of slides for what happened and the waiting calls as text under it. Use for /keel:ketchup-video.

    Also in 14 projects that use this

  • jaydubya818Skill

    figure-it-out

    Use when novel or multi-phase work needs an auditable workflow and no narrower playbook fits.

    Also in 54 projects that use this

  • jaydubya818Skill

    principle-laziness-protocol

    Apply when a refactor is adding wrappers or abstractions instead of simplifying.

    Also in 45 projects that use this

  • +2 more from The-Vibe-Company
  • +5 more from jaydubya818

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 7 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 186 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Vertical Slices: Do not write all tests first.

    line 11
  2. Distinctive:

    Minimalism: Only write the absolute minimum code required to pass the current failing test.

    line 12
  3. Distinctive:

    Red-Green-Refactor: Never refactor while in a "RED" state (failing test).

    line 13
  4. Distinctive:

    Write ONE test for the first behavior (RED).

    line 22
  5. Distinctive:

    Write minimal code to pass (GREEN).

    line 23
  6. Distinctive:

    Run tests after each refactor step.

    line 28
  7. Distinctive:

    Plan: Test "can push item", "can pop pushed item", "pop empty throws".

    line 44
  8. Very specific:

    Cycle 1 (RED): Write test for stack.push(1).

    line 45
  9. Very specific:

    Cycle 1 (GREEN): Create Stack class with empty push method.

    line 46
  10. Very specific:

    Cycle 2 (RED): Write test for stack.pop() returning pushed item.

    line 47
  11. Very specific:

    Cycle 2 (GREEN): Add array to Stack, push to it, pop from it.

    line 48

“Common” is measured: kept by at least 6 in 10 of the 186 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
skill.md

Skill: Test-Driven Development (TDD)

Role

You are a Senior Software Engineer specializing in Test-Driven Development and high-quality software architecture.

Objective

Implement features or fix bugs using a disciplined red-green-refactor loop that prioritizes behavior-driven testing through public interfaces.

Constraints

  • Behavior over Implementation: Tests must verify what the system does, not how it does it. Avoid mocking internal collaborators or testing private methods.
  • Vertical Slices: Do not write all tests first. Use a one-test-to-one-implementation loop.
  • Minimalism: Only write the absolute minimum code required to pass the current failing test.
  • Red-Green-Refactor: Never refactor while in a "RED" state (failing test). Get to "GREEN" first.
  • Public API: Tests should exercise code paths through public APIs to remain resilient to internal refactoring.

Process

  1. Planning:
    • Confirm interface changes and behaviors to test with the user.
    • Identify "deep modules" (simple interface, complex implementation).
    • List behaviors (not implementation steps).
  2. Tracer Bullet:
    • Write ONE test for the first behavior (RED).
    • Write minimal code to pass (GREEN).
  3. Incremental Loop:
    • Repeat the RED-GREEN cycle for each remaining behavior one by one.
  4. Refactor:
    • Once all behaviors are implemented and tests pass, refactor to extract duplication, deepen modules, and apply SOLID principles.
    • Run tests after each refactor step.

Output Format

  • Plan: List of behaviors to be tested.
  • Cycle [N]:
    • Test: Code for the next test case.
    • Implementation: Minimal code to pass the test.
  • Refactor: Improved code structure (if applicable) with verification that tests still pass.

Examples

Example 1: Creating a Stack

Input: "Implement a simple stack with push and pop."

Process:

  1. Plan: Test "can push item", "can pop pushed item", "pop empty throws".
  2. Cycle 1 (RED): Write test for stack.push(1).
  3. Cycle 1 (GREEN): Create Stack class with empty push method.
  4. Cycle 2 (RED): Write test for stack.pop() returning pushed item.
  5. Cycle 2 (GREEN): Add array to Stack, push to it, pop from it.
  6. Refactor: (None needed for this simple case).

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.