/test-first
Drive one feature through a strict TDD Red-Green-Refactor cycle with checklists for each phase. Use when implementing new functionality test-first, or when the user runs /test-first.
$ npx -y skills add claude-world/director-mode-lite --skill test-first --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/test-first
Context preview
The summary Claude sees to decide when to auto-load this skill.
Drive one feature through a strict TDD Red-Green-Refactor cycle with checklists for each phase. Use when implementing new functionality test-first, or when the user runs /test-first.
SKILL.md
test-first.SKILL.mdname: test-first
description: Drive one feature through a strict TDD Red-Green-Refactor cycle with checklists for each phase. Use when implementing new functionality test-first, or when the user runs /test-first.
user-invocable: true
Test-Driven Development
Implement TDD for: $ARGUMENTS
Quick Steps
1. Write a failing test 2. Run test, confirm failure 3. Write minimal code to pass 4. Refactor while keeping tests green 5. Repeat
---
Red Phase - Write Failing Test
Test Design Principles
- **Test one specific behavior**
- **Test name describes expected result**
- **Test should fail (feature doesn't exist yet)**
Must Test
- [ ] Normal case
- [ ] Edge cases
- [ ] Error cases
- [ ] Invalid input
Example
// auth/login.test.ts
it('should return JWT token for valid credentials', async () => {
const res = await request(app)
.post('/auth/login')
.send({ email: 'test@example.com', password: 'password123' })
expect(res.status).toBe(200)
expect(res.body.token).toBeDefined()
})---
Green Phase - Minimal Implementation
Implementation Principles
- **Write ONLY enough code to pass the test**
- **Don't optimize yet**
- **Don't worry about elegance**
- **Just make it work**
---
Refactor Phase - Clean Up
Refactoring Checklist
- [ ] Is there code duplication?
- [ ] Are variable names clear?
- [ ] Are functions too long?
- [ ] Is the logic too complex?
Refactoring Rules
- **Keep tests passing**
- **Change one thing at a time**
- **Run tests frequently**
---
Test Quality Checklist
- [ ] Unit tests cover core logic
- [ ] Integration tests cover interactions
- [ ] Test names clearly describe intent
- [ ] Tests are independent and repeatable
- [ ] Tests run fast (unit tests < 100ms)
- [ ] Edge cases are covered
---
Follow TDD strictly. No shortcuts.
Read more
name: test-first description: Drive one feature through a strict TDD Red-Green-Refactor cycle with checklists for each phase. Use when implementing new functionality test-first, or when the user runs /test-first. user-invocable: true
Test-Driven Development
Implement TDD for: $ARGUMENTS
Quick Steps
1. Write a failing test 2. Run test, confirm failure 3. Write minimal code to pass 4. Refactor while keeping tests green 5. Repeat
---
Red Phase - Write Failing Test
Test Design Principles
- **Test one specific behavior**
- **Test name describes expected result**
- **Test should fail (feature doesn't exist yet)**
Must Test
- [ ] Normal case
- [ ] Edge cases
- [ ] Error cases
- [ ] Invalid input
Example
// auth/login.test.ts
it('should return JWT token for valid credentials', async () => {
const res = await request(app)
.post('/auth/login')
.send({ email: 'test@example.com', password: 'password123' })
expect(res.status).toBe(200)
expect(res.body.token).toBeDefined()
})---
Green Phase - Minimal Implementation
Implementation Principles
- **Write ONLY enough code to pass the test**
- **Don't optimize yet**
- **Don't worry about elegance**
- **Just make it work**
---
Refactor Phase - Clean Up
Refactoring Checklist
- [ ] Is there code duplication?
- [ ] Are variable names clear?
- [ ] Are functions too long?
- [ ] Is the logic too complex?
Refactoring Rules
- **Keep tests passing**
- **Change one thing at a time**
- **Run tests frequently**
---
Test Quality Checklist
- [ ] Unit tests cover core logic
- [ ] Integration tests cover interactions
- [ ] Test names clearly describe intent
- [ ] Tests are independent and repeatable
- [ ] Tests run fast (unit tests < 100ms)
- [ ] Edge cases are covered
---
Follow TDD strictly. No shortcuts.
Use Claude Code like a Director, not a Programmer. MIT toolkit with Auto-Loop, guided setup, 27 commands, 14 agents, and 32 skills.
Other skills on director-mode-lite.
- /changelog-observer
Track development session events in a daily markdown changelog, including file changes, test results, and key decisions.
Open skill - /agent-check
Validate custom agent file format and structure. Use after creating or editing an agent, before committing agent changes, or when an agent fails to load.
Open skill - /agent-template
Generate custom agent from template. Use when creating a new subagent from scratch, or scaffolding an agent file with correct frontmatter.
Open skill - /agents
List all available agents (core, expert, self-evolving). Use when the user asks what agents are available or runs /agents.
Open skill - /auto-loop
TDD-based autonomous development loop with checkpoint recovery and observability changelog
Open skill - /changelog
View and manage the runtime changelog for observability
Open skill

