Complete collection of AI agent skills including: - Frontend Development (Vue, React, Next.js, Three.js) - Backend Development (NestJS, FastAPI, Node.js) - Mobile Development (React Native, Expo) - Testing (E2E, frontend, webapp) - DevOps (GitHub Actions, CI/CD) - Marketing (SEO, copywriting, analytics) - Security (binary analysis, vulnerability scanning) - And many more... Synchronized from: https://skills.sh/ Co-Authored-By: Claude <noreply@anthropic.com>
150 lines
2.7 KiB
Markdown
150 lines
2.7 KiB
Markdown
---
|
|
name: tdd-workflow
|
|
description: Test-Driven Development workflow principles. RED-GREEN-REFACTOR cycle.
|
|
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
---
|
|
|
|
# TDD Workflow
|
|
|
|
> Write tests first, code second.
|
|
|
|
---
|
|
|
|
## 1. The TDD Cycle
|
|
|
|
```
|
|
🔴 RED → Write failing test
|
|
↓
|
|
🟢 GREEN → Write minimal code to pass
|
|
↓
|
|
🔵 REFACTOR → Improve code quality
|
|
↓
|
|
Repeat...
|
|
```
|
|
|
|
---
|
|
|
|
## 2. The Three Laws of TDD
|
|
|
|
1. Write production code only to make a failing test pass
|
|
2. Write only enough test to demonstrate failure
|
|
3. Write only enough code to make the test pass
|
|
|
|
---
|
|
|
|
## 3. RED Phase Principles
|
|
|
|
### What to Write
|
|
|
|
| Focus | Example |
|
|
|-------|---------|
|
|
| Behavior | "should add two numbers" |
|
|
| Edge cases | "should handle empty input" |
|
|
| Error states | "should throw for invalid data" |
|
|
|
|
### RED Phase Rules
|
|
|
|
- Test must fail first
|
|
- Test name describes expected behavior
|
|
- One assertion per test (ideally)
|
|
|
|
---
|
|
|
|
## 4. GREEN Phase Principles
|
|
|
|
### Minimum Code
|
|
|
|
| Principle | Meaning |
|
|
|-----------|---------|
|
|
| **YAGNI** | You Aren't Gonna Need It |
|
|
| **Simplest thing** | Write the minimum to pass |
|
|
| **No optimization** | Just make it work |
|
|
|
|
### GREEN Phase Rules
|
|
|
|
- Don't write unneeded code
|
|
- Don't optimize yet
|
|
- Pass the test, nothing more
|
|
|
|
---
|
|
|
|
## 5. REFACTOR Phase Principles
|
|
|
|
### What to Improve
|
|
|
|
| Area | Action |
|
|
|------|--------|
|
|
| Duplication | Extract common code |
|
|
| Naming | Make intent clear |
|
|
| Structure | Improve organization |
|
|
| Complexity | Simplify logic |
|
|
|
|
### REFACTOR Rules
|
|
|
|
- All tests must stay green
|
|
- Small incremental changes
|
|
- Commit after each refactor
|
|
|
|
---
|
|
|
|
## 6. AAA Pattern
|
|
|
|
Every test follows:
|
|
|
|
| Step | Purpose |
|
|
|------|---------|
|
|
| **Arrange** | Set up test data |
|
|
| **Act** | Execute code under test |
|
|
| **Assert** | Verify expected outcome |
|
|
|
|
---
|
|
|
|
## 7. When to Use TDD
|
|
|
|
| Scenario | TDD Value |
|
|
|----------|-----------|
|
|
| New feature | High |
|
|
| Bug fix | High (write test first) |
|
|
| Complex logic | High |
|
|
| Exploratory | Low (spike, then TDD) |
|
|
| UI layout | Low |
|
|
|
|
---
|
|
|
|
## 8. Test Prioritization
|
|
|
|
| Priority | Test Type |
|
|
|----------|-----------|
|
|
| 1 | Happy path |
|
|
| 2 | Error cases |
|
|
| 3 | Edge cases |
|
|
| 4 | Performance |
|
|
|
|
---
|
|
|
|
## 9. Anti-Patterns
|
|
|
|
| ❌ Don't | ✅ Do |
|
|
|----------|-------|
|
|
| Skip the RED phase | Watch test fail first |
|
|
| Write tests after | Write tests before |
|
|
| Over-engineer initial | Keep it simple |
|
|
| Multiple asserts | One behavior per test |
|
|
| Test implementation | Test behavior |
|
|
|
|
---
|
|
|
|
## 10. AI-Augmented TDD
|
|
|
|
### Multi-Agent Pattern
|
|
|
|
| Agent | Role |
|
|
|-------|------|
|
|
| Agent A | Write failing tests (RED) |
|
|
| Agent B | Implement to pass (GREEN) |
|
|
| Agent C | Optimize (REFACTOR) |
|
|
|
|
---
|
|
|
|
> **Remember:** The test is the specification. If you can't write a test, you don't understand the requirement.
|