| name | tdd-automation |
| version | 0.2.0 |
| description | Automated TDD enforcement for LLM-assisted development with comprehensive safety features |
| author | Pattern Suggestion Pipeline |
| category | productivity |
| status | stable |
| tags | tdd, testing, automation, workflow |
TDD Red-Green-Refactor Automation
Overview
This skill transforms any project to automatically enforce TDD (Test-Driven Development) workflow when using LLMs for code generation. Once installed, Claude Code will automatically follow the red-green-refactor cycle without manual prompting.
Version: 0.2.0 Status: Stable Success Rate: 86% (based on 37 pattern applications) Source: Pattern Suggestion Pipeline (Issue #13)
What This Skill Does
Automatic TDD Enforcement - When you ask Claude to implement a feature, it will:
- 🔴 RED Phase: Write failing test FIRST
- 🟢 GREEN Phase: Implement minimal code to pass test
- 🔵 REFACTOR Phase: Improve code quality while keeping tests green
No manual steps required - The LLM is automatically configured through CLAUDE.md to follow this workflow.
Installation Process
When you invoke this skill, it will:
Detect project configuration
- Identify test framework (Vitest, Jest, Mocha, AVA)
- Check for TypeScript/JavaScript
- Validate git repository exists
Configure CLAUDE.md safely
- Create automatic backup before any changes
- Merge TDD requirements (preserves existing content)
- Add clear section markers for identification
Install npm scripts
test:tdd- Run all tests oncetest:tdd:watch- Run tests in watch modetest:red- Verify test fails (RED phase)test:green- Verify test passes (GREEN phase)validate:tdd- Check TDD compliancegenerate:test- Create test template
Install git hooks
- Pre-commit hook validates tests exist
- Prevents commits without tests
- Enforces test-first workflow
Create helper scripts
- Test template generator
- TDD compliance validator
- Rollback utility
- Section removal utility
When to Use This Skill
Use this skill when:
- Starting a new project that requires strict TDD adherence
- Migrating existing project to TDD workflow
- Training team members on TDD practices
- Ensuring consistent quality in LLM-generated code
- Working on mission-critical code that needs high test coverage
Don't use this skill if:
- Project doesn't have or need tests
- Working on prototypes or experiments
- TDD workflow conflicts with existing practices
Trigger Phrases
The skill can be invoked by:
- Direct invocation:
tdd-automation - Natural language: "Set up TDD automation"
- Natural language: "Configure automatic TDD workflow"
- Natural language: "Install TDD enforcement"
Behavior After Installation
Once installed, when you say something like:
"Implement user authentication"
Claude will automatically:
1. Create todo list with TDD phases:
- [ ] RED: Write failing test for user authentication
- [ ] Verify test fails with expected error
- [ ] GREEN: Implement minimal authentication logic
- [ ] Verify test passes
- [ ] REFACTOR: Improve code quality
- [ ] Verify all tests still pass
2. Create test file FIRST:
src/auth/authenticate.test.ts
3. Write failing test with clear description
4. Run test and verify RED state:
npm run test:red -- src/auth/authenticate.test.ts
5. Implement minimal code:
src/auth/authenticate.ts
6. Run test and verify GREEN state:
npm run test:green -- src/auth/authenticate.test.ts
7. Refactor if needed while keeping tests green
8. Final validation:
npm run test:tdd
Safety Features
Non-Destructive Installation
- Automatic backups before file modifications
- Merge strategy preserves all existing CLAUDE.md content
- Clear markers (
<!-- TDD_AUTOMATION_START/END -->) for identification - Rollback capability to restore previous state
Validation Before Installation
- Detects if TDD automation already installed (skips if present)
- Checks for existing CLAUDE.md (merges safely)
- Validates project structure
- Reports warnings for missing dependencies
Clean Uninstallation
- Remove only TDD section without affecting other content
- Restore from timestamped backups
- Utility scripts for easy maintenance
Response Style
After installation, this skill guides Claude Code to:
- Be explicit: Always state which TDD phase is active
- Be thorough: Verify each phase completion before proceeding
- Be traceable: Use TodoWrite to track progress
- Be safe: Run tests to confirm RED/GREEN states
- Be helpful: Provide clear error messages if TDD is violated
Files Modified/Created
Modified Files
.claude/CLAUDE.md- TDD workflow configuration added (backed up)package.json- npm scripts added (backed up).git/hooks/pre-commit- TDD validation added (backed up if exists)
Created Files
.tdd-automation/
├── scripts/
│ ├── generate-test.js # Test template generator
│ ├── validate-tdd.js # Compliance checker
│ ├── rollback-tdd.js # Restore previous state
│ └── remove-tdd-section.js # Clean uninstall
├── templates/
│ └── test-template.js # Test file template
└── README.md # Usage documentation
.claude/
├── CLAUDE.md.backup.* # Timestamped backups
└── hooks/
└── tdd-auto-enforcer.sh # Pre-prompt hook (optional)
Success Criteria
Installation succeeds when:
- ✅ CLAUDE.md contains TDD configuration
- ✅ npm scripts added to package.json
- ✅ Git pre-commit hook installed (if git repo exists)
- ✅ Helper scripts created in .tdd-automation/
- ✅ Backups created for all modified files
- ✅ Validation passes:
npm run validate:tdd
Troubleshooting
Issue: LLM not following TDD
Check:
# Verify CLAUDE.md has TDD configuration
grep "TDD_AUTOMATION" .claude/CLAUDE.md
# Verify npm scripts
npm run test:tdd
# Run validation
npm run validate:tdd
Issue: Git hook blocking commits
Solution:
- Ensure tests exist for implementation files
- Commit tests before implementation
- Or bypass temporarily:
git commit --no-verify
Issue: Want to remove TDD automation
Options:
# Option 1: Remove CLAUDE.md section only
node .tdd-automation/scripts/remove-tdd-section.js
# Option 2: Rollback to previous CLAUDE.md
node .tdd-automation/scripts/rollback-tdd.js
Generated By
🤖 Pattern Suggestion Pipeline
- Detected from 37 successful TDD applications
- Success rate: 86%
- Source: GitHub Issue #13
- Generated: 2025-11-02
- Enhanced with full implementation: 2025-11-02
Version History
- 0.2.0 (2025-11-02) - Stable release with full implementation
- 0.1.0 (2025-11-02) - Initial proof-of-concept
Additional Resources
- Full documentation:
README.md - Helper scripts:
.tdd-automation/scripts/ - Examples: See README.md "Usage Examples" section