test-driven-development

Enforces red-green-refactor test-driven development workflow before writing production code.

1|Updated Aug 17, 2025
One-click install
npx skills add https://github.com/ratnesh-maurya/mdconverter --skill test-driven-development-ratnesh-maurya
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: test-driven-development
Source: https://github.com/ratnesh-maurya/mdconverter/tree/main/.claude/skills/test-driven-development
Command: npx skills add https://github.com/ratnesh-maurya/mdconverter --skill test-driven-development-ratnesh-maurya

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers often write production code first and add tests afterward, which produces tests that pass immediately and prove nothing about correctness. This Skill enforces a strict test-first discipline so every feature and bugfix is backed by a test that was watched failing before implementation. ## Core Features & Use Cases - Red-Green-Refactor Enforcement: Guides the full TDD cycle with mandatory verification steps, including watching each test fail for the right reason before writing minimal code to pass. - Rationalization Detection: Lists common excuses for skipping TDD (such as "I'll test after" or "too simple to test") and explains why each one fails, with red flags that trigger starting over. - Testing Anti-Pattern Reference: Covers pitfalls like testing mock behavior, adding test-only methods to production classes, incomplete mocks, and mocking without understanding dependencies. - Use Case: When fixing a bug where empty emails are accepted, write a failing test asserting the rejection, watch it fail, implement the minimal validation, verify it passes, then refactor. ## Quick Start Use the test-driven-development skill to implement this feature by writing a failing test first, then the minimal code to make it pass.

Frequently Asked Questions about test-driven-development

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

FAQPage Schema
How do I practice test-driven development on a new feature?

Write one minimal failing test describing the desired behavior, run it and watch it fail for the expected reason, then write the simplest code that makes it pass. After it passes, refactor while keeping all tests green, and repeat for the next behavior.

How do I write a failing test for a bug fix?

Write a test that reproduces the bug by asserting the correct behavior, then run it to confirm it fails because the bug exists. Implement the minimal fix, verify the test passes, and the test now acts as a regression guard.

Why should tests be written before implementation code?

Tests written after code pass immediately, which proves nothing since they may test the wrong thing or mirror the implementation. Watching a test fail first confirms it actually detects the missing behavior and catches real bugs.

When is it acceptable to skip test-driven development?

Exceptions are limited to throwaway prototypes, generated code, and configuration files, and only with explicit approval from your human partner. Exploration is allowed, but the exploratory code must be discarded and rewritten test-first.

What are common mocking mistakes in unit tests?

Common mistakes include asserting on mock elements instead of real behavior, adding test-only methods to production classes, mocking methods whose side effects the test depends on, and creating incomplete mocks missing fields downstream code uses.