Skip to content
Back to skills

Use Workflow Tdd Cycle

ASecurity

TDD with RGRC cycle and Baby Steps.

  • 12 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
ai-agentsgobashtestingapi

Works with

  • api

Security analysis

A100/100

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

Scanned September 24, 2026

npx -y skills add thkt/dotclaude --skill use-workflow-tdd-cycle --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Use Workflow Tdd Cycle?

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

Security grade badge for Use Workflow Tdd Cycle
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thkt-use-workflow-tdd-cycle-dotclaude/badge)](https://www.skillsdirectory.com/skills/thkt-use-workflow-tdd-cycle-dotclaude)

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: use-workflow-tdd-cycle
description: TDD with RGRC cycle and Baby Steps.
when_to_use: TDD, テスト駆動, Red-Green-Refactor, Baby Steps
allowed-tools: Read Write Edit Bash(ugrep:*) Bash(bfs:*)
context: fork
user-invocable: false
---

# use-workflow-tdd-cycle

Test behavior via public API. Mock only at system boundaries.

## Variant Selection

When the table below does not settle the variant, and when checking whether a test verifies implementation rather than behavior, read ${CLAUDE_SKILL_DIR}/references/test-philosophy.md.

| Trigger                           | Variant         | Reference                                        |
| --------------------------------- | --------------- | ------------------------------------------------ |
| spec.md / new feature (`/code`)   | Feature-driven  | ${CLAUDE_SKILL_DIR}/references/feature-driven.md |
| Bug report / regression (`/fix`)  | Bug-driven      | ${CLAUDE_SKILL_DIR}/references/bug-driven.md     |
| Coverage gap in existing codebase | Coverage-driven | Active tests, no skip. Reuse RGRC below          |

## What to Test

| Priority   | What                                                 |
| ---------- | ---------------------------------------------------- |
| Must       | Business logic, services, critical paths, edge cases |
| Contextual | Complex utils, custom hooks, transformations         |
| Skip       | Simple accessors, UI layout, external lib behavior   |

### When Not to Use TDD

| Context                  | Reason                            |
| ------------------------ | --------------------------------- |
| Throwaway prototypes     | Discard likely, cost > benefit    |
| External API integration | Mock the API, not the integration |
| Simple one-off scripts   | Shorter than the test would be    |
| UI experiments           | Visual first, extract logic later |

## RGRC Cycle

Before writing the test in Red, read ${CLAUDE_SKILL_DIR}/references/writing-tests.md and apply its design techniques, assertion quality, and mock boundaries.

| Phase    | Goal         | Rule                                                                                                   | Common Mistake                 |
| -------- | ------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------ |
| Red      | Failing test | Verify failure matches the intended behavior gap, not syntax/import errors                             | Test passes immediately        |
| Green    | Pass test    | "You can sin" - dirty OK                                                                               | Over-implementing              |
| Refactor | Refine       | Keep tests green. Shrink only while it reads easier, per ${CLAUDE_SKILL_DIR}/../../rules/PRINCIPLES.md | Changing behavior; compressing |
| Commit   | Save state   | All checks pass                                                                                        | Skipping checks                |

## Baby Steps (2.5 min per cycle)

30s. Write failing test → 1min. Make pass → 10s. Run tests → 30s. Tiny refactor → 20s. Commit if green. Bugs are always in the last cycle's change.

## Vertical Slices Only

Stack RGRC cycles vertically per behavior. Never expand horizontally by writing all tests first and all implementations later.

```text
Wrong (horizontal):
  Red:   test1, test2, test3, test4, test5
  Green: impl1, impl2, impl3, impl4, impl5

Right (vertical):
  Red → Green: test1 → impl1
  Red → Green: test2 → impl2
  ...
```

| #   | Hazard from horizontal slices                                            |
| --- | ------------------------------------------------------------------------ |
| 1   | Bulk-written tests verify imagined behavior instead of real behavior     |
| 2   | Tests degrade into structural assertions of data shape or signature only |
| 3   | Sensitivity to behavior change drops, passing when broken                |
| 4   | Implementation knowledge follows test structure instead of guiding it    |

## Test Failure Judgment

When a test fails, decide whether to fix the test or the implementation. For `/fix`'s bug-driven flow, reproduction steps serve as the spec.

| Judgment | Condition                 | Action                               |
| -------- | ------------------------- | ------------------------------------ |
| Impl bug | Test matches spec/FR-xxx  | Fix implementation. Don't touch test |
| Test bug | Test diverges from spec   | Fix test                             |
| Unclear  | Spec ambiguous or missing | Escalate to user                     |

## References

| When to read it                                  | File                                                    |
| ------------------------------------------------ | ------------------------------------------------------- |
| Before writing the test in Red                   | ${CLAUDE_SKILL_DIR}/references/writing-tests.md         |
| The variant will not settle, or the test is suspect | ${CLAUDE_SKILL_DIR}/references/test-philosophy.md    |
| Feature-driven was chosen                        | ${CLAUDE_SKILL_DIR}/references/feature-driven.md        |
| Bug-driven was chosen                            | ${CLAUDE_SKILL_DIR}/references/bug-driven.md            |
| A test changes its result between runs           | ${CLAUDE_SKILL_DIR}/references/flaky-test-management.md |
| Deciding how far to test                         | ${CLAUDE_SKILL_DIR}/../../rules/development/TESTING.md  |

Files in this skill

  • SKILL.md5.4 KB
  • references/bug-driven.md2.2 KB
  • references/feature-driven.md2.4 KB
  • references/flaky-test-management.md935 B
  • references/test-philosophy.md1.3 KB
  • references/writing-tests.md3.7 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.