Help us improve
Share bugs, ideas, or general feedback.
From tdder
Guides strict Red-Green-Refactor TDD cycles for adding features and fixing bugs. Includes test list creation, one-test-at-a-time discipline, and clean code review.
npx claudepluginhub t1/tdder --plugin tdderHow this skill is triggered — by the user, by Claude, or both
Slash command
/tdder:tddThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Strict Red-Green-Refactor discipline for adding features and fixing bugs.
Enforces Test-Driven Development (TDD) with red-green-refactor cycle. Guides writing failing tests first for features, bug fixes, or when OMC_TDD_MODE enabled and TDD keywords detected.
Share bugs, ideas, or general feedback.
Strict Red-Green-Refactor discipline for adding features and fixing bugs. This skill is language-agnostic; language-specific conventions are provided by separate skills.
Create a list of test cases for base functionality only before writing any implementation.
Use the language's equivalent of pending/todo tests (e.g., it.todo(), @Disabled, @Ignore).
Focus on core functionality, not advanced features.
After creating the test list, present it as markdown.
Then, if the human-in-the-loop is not off, use AskUserQuestion:
Convert exactly one pending test to executable test code at a time. All other tests remain as pending descriptions. Never have more than one failing test in the red phase. Implement only what is needed to make that single test pass. Do not think ahead or implement features for future tests.
Start with a non-existent function/class. The test should fail with a compilation error. This ensures a true start from scratch.
Create an empty function that returns a wrong value. The test should fail with an assertion error, verifying the test works as expected.
Implement minimal code to make the test pass. Do not add features for future tests. Do not optimize or refactor yet.
Must attempt at least one refactoring. If no improvement is possible, document why.
Trigger a Clean Code Review: use the Agent tool with subagent_type=clean-code-reviewer to spawn
the clean code review agent. Pass it the paths of the implementation and test files modified in this
TDD cycle.
Present the agent's findings using the Refactoring Scope process from the Clean Code skill
(present as markdown, then, if the human-in-the-loop is not off, ask via AskUserQuestion).
Apply approved suggestions, ensuring all tests continue to pass after each change.
Naming evaluation (first priority):
Apply the 4 Rules of Simple Design: tests pass, no duplication, reveals intent, fewest elements.
If no refactoring improves the code, document why the current state is optimal and move on.
Before running tests, explicitly state:
Run the test, then compare the actual result with the prediction.
Make the smallest possible change to get to green. If a test fails, make it pass with the simplest implementation. Do not try to solve multiple problems at once.
Check the project's .claude/tdder.local.md settings file (in the project root) for the
human-in-the-loop level. If no settings file exists, use AskUserQuestion to ask:
.claude/tdder.local.md so subsequent sessions reuse it.every-phaseStop after every TDD phase (Red, Green, Refactor). Summarize what was completed and explicitly ask for permission to continue:
end-of-cycleStop after each complete Red-Green-Refactor cycle. Summarize the full cycle and ask: "Cycle complete. Should I proceed to the next test?"
offRun autonomously without stopping. Report results at the end.
Regardless of level, immediately stop when a guessing game prediction fails significantly. Explain the prediction failure, assess implications, and ask whether to investigate further or continue.
When stopping for human review, include:
After Red Phase:
After Green Phase:
After Refactor Phase:
TDD practices will feel counterintuitive and uncomfortable. This discomfort indicates the discipline
is being followed correctly. For detailed analysis of psychological resistance, common failure modes,
and recovery strategies, see failure-modes.md.
For detailed guidance on specific aspects:
failure-modes.md - Detailed failure mode analysis and recovery strategies