Director-mode-lite test-first

Test-Driven Development (TDD Red-Green-Refactor)

install
source · Clone the upstream repo
git clone https://github.com/claude-world/director-mode-lite
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/claude-world/director-mode-lite "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/test-first" ~/.claude/skills/claude-world-director-mode-lite-test-first && rm -rf "$T"
manifest: skills/test-first/SKILL.md
source content

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.