Skip to content
Back to skills

Run Tdd

ASecurity

Write failing unit tests (RED), implement minimal code (GREEN), refactor with quality validation for Stages F-H of the VibeFlow docs-first workflow

  • 8 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 26, 2026
testinggobashgitapidatabaseperformance

Works with

  • api

Security analysis

A100/100

Pro scans all 8 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add hardness1020/VibeFlow --skill run-tdd --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Run Tdd?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Run Tdd
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hardness1020-run-tdd/badge)](https://www.skillsdirectory.com/skills/hardness1020-run-tdd)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: run-tdd
description: Write failing unit tests (RED), implement minimal code (GREEN), refactor with quality validation for Stages F-H of the VibeFlow docs-first workflow
metadata:
  triggers:
    - implement feature
    - start TDD
    - write tests
    - Stage F
    - Stage G
    - Stage H
    - RED phase
    - GREEN phase
    - REFACTOR phase
---

# run-tdd

TDD implementation cycle for Stages F-H of the VibeFlow docs-first workflow.

## Purpose

This skill guides the TDD cycle:
- **Stage F (RED)**: Create stubs + write failing unit tests
- **Stage G (GREEN)**: Implement minimal code to pass tests
- **Stage H (REFACTOR)**: Write integration tests + refactor + quality validation

## Workflow

```
Stage F: RED
    │
    ├── Create stubs from Feature Spec API Design
    ├── Write failing unit tests
    ├── Tests fail with NotImplementedError
    └── Checkpoint #3: Tests Complete
    │
    ▼
Stage G: GREEN
    │
    ├── Implement minimal code to pass tests
    ├── If contracts change → Stage G.1
    └── All unit tests pass
    │
    ▼
Stage H: REFACTOR
    │
    ├── Write integration tests for I/O
    ├── Pass integration tests
    ├── Refactor with tests green
    ├── Complete H.4 quality validation
    └── Checkpoint #4: Implementation Complete
```

## Usage

### Start TDD Cycle

```
/run-tdd start
```

Guides through the full TDD cycle starting with Stage F.

### Stage F: RED Phase

```
/run-tdd red
```

1. Create implementation stubs from Feature Spec API Design
2. Write failing unit tests
3. Verify tests fail with "not implemented" errors

### Stage G: GREEN Phase

```
/run-tdd green
```

1. Implement minimal code to pass unit tests
2. Check for contract changes (trigger G.1 if needed)
3. Verify all unit tests pass

### Stage H: REFACTOR Phase

```
/run-tdd refactor
```

1. Write integration tests for I/O boundaries
2. Refactor code while keeping tests green
3. Complete H.4 quality validation

### Validate Tests

```
/run-tdd validate
```

Runs test quality validation (Stage H.4 checklist).

### Handle Design Changes

```
/run-tdd g1
```

Guides through Stage G.1 protocol when implementation reveals contract changes.

## Stage G.1: Design Changes Protocol

If implementation reveals contract changes, **STOP IMMEDIATELY** and follow these steps:

1. Document the discovered issue
2. Update SPEC first (increment version)
3. Create/update ADR if non-trivial
4. Update Feature Spec API Design
5. Update tests to new contract
6. Resume implementation

**Contract changes that trigger G.1:**
- API/Interface signature changes
- Database schema changes
- Event format changes
- New external dependencies
- SLO changes

**Changes that DON'T trigger G.1:**
- Internal algorithms
- Private function names
- Error handling improvements (within taxonomy)
- Performance optimizations (within SLO)

## Test Categorization

All tests must have categorization tags:

**Speed/Scope (required):**
- `unit` / `fast` — All dependencies mocked, runs in ms
- `integration` / `medium` — Uses test DB, mocked external APIs
- `e2e` / `slow` — Full workflow, multiple components
- `real_api` — Makes real external API calls

**Module (required):**
- Tag with module name (e.g., `accounts`, `generation`, `api`)

## Stage H.4 Quality Validation

Before completing Stage H, validate:

**Organization:**
- File structure follows conventions
- Test names use `test_<what>_<condition>_<expected>`
- Related tests grouped

**Usefulness:**
- Tests based on acceptance criteria
- Happy path, edge cases, error cases tested
- Tests validate behavior, not implementation

**Code Quality:**
- External dependencies mocked in unit tests
- AAA pattern clear
- No skipped tests without justification

**Categorization:**
- All tests have speed/scope tags
- No real API calls in "unit" tests

**Reliability:**
- Unit tests < 1s each
- Integration tests < 5s each
- Tests pass consistently (no flaky tests)

**Quality Gate:**
- 0-2 violations: PASS
- 3-5 violations: CONDITIONAL
- 6+ violations OR 2+ major: FAIL

## Validation

- `scripts/validate_red.py` — Validate Stage F (tests failing correctly)
- `scripts/validate_green.py` — Validate Stage G (tests passing)
- `scripts/validate_refactor.py` — Validate Stage H (integration + quality)
- `scripts/check_coverage.py` — Report test coverage

## References

See `references/`:
- `tdd-policy.md` — TDD policy and requirements
- `tdd-guide.md` — TDD workflow guidance
- `stage-g1-protocol.md` — Design change handling protocol

## Manifest Update

After completing each stage, update `docs/workflow-state.yaml`:

**Stage F (RED):**
- Set `stage: F`

**Checkpoint #3 (after Stage F):**
- Set `checkpoint: 3` after passing validation
- Criteria: Stubs exist matching Feature Spec API Design, unit tests exist and fail with NotImplementedError

**Stage G (GREEN):**
- Set `stage: G`

**Stage H (REFACTOR):**
- Set `stage: H`

**Checkpoint #4 (after Stage H):**
- Set `checkpoint: 4` after passing validation
- Criteria: All unit tests pass, integration tests pass, H.4 quality validation passes

## Git Commit

After completing each stage, ask the user for permission before committing:

**Stage F (RED):**
```bash
git add <test-files> <stub-files> docs/workflow-state.yaml
git commit -m "feat(<module>): add failing tests and stubs (#ft-<ID>)"
```

**Stage G (GREEN):**
```bash
git add <source-files> docs/workflow-state.yaml
git commit -m "feat(<module>): implement to pass tests (#ft-<ID>)"
```

**Stage H (REFACTOR):**
```bash
git add <source-files> <test-files> docs/workflow-state.yaml
git commit -m "feat(<module>): add integration tests and refactor (#ft-<ID>)"
```

Replace `<module>` with the actual module name, `<ID>` with the work item ID, and file placeholders with actual paths.

## Auto-Advance

After each sub-stage commit, directly run `/manage-work advance <ID>`:
1. **After Stage F (RED) commit** → advances F→G. The advance command will automatically validate Checkpoint #3 at the F→G boundary.
2. **After Stage G (GREEN) commit** → advances G→H.
3. **After Stage H (REFACTOR) commit** → advances H→DONE or I. The advance command will automatically validate Checkpoint #4 at the H→DONE/I boundary.

Files in this skill

  • SKILL.md6.2 KB
  • references/stage-g1-protocol.md8.1 KB
  • references/tdd-guide.md8.5 KB
  • references/tdd-policy.md5 KB
  • scripts/check_coverage.py7.7 KB
  • scripts/validate_green.py6.7 KB
  • scripts/validate_red.py7.3 KB
  • scripts/validate_refactor.py11.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.