# Fall Out Bug Sdp Tdd

> @tdd (INTERNAL)

- Skill: `tomevault-io/fall-out-bug-sdp-tdd` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/fall-out-bug-sdp-tdd`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/fall-out-bug-sdp-tdd/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/fall-out-bug-sdp-tdd

---


# @tdd (INTERNAL)

TDD discipline. Called by @build, not users.

## Cycle

1. **RED** — Write failing test first. Run test suite (see Quality Gates in AGENTS.md) — must FAIL
2. **GREEN** — Minimal implementation. Run test suite (see Quality Gates in AGENTS.md) — must PASS
3. **REFACTOR** — Improve code. Run test suite (see Quality Gates in AGENTS.md) — still PASS
4. **COMMIT** — Save state

## Exit When

- All AC met
- Test suite passes (see Quality Gates in AGENTS.md)
- Static analysis passes (see Quality Gates in AGENTS.md)

## Example (Go)

```go
// RED: test first
func TestEmailValid(t *testing.T) {
    v := NewValidator()
    if !v.IsValid("a@b.com") { t.Error("expected valid") }
    if v.IsValid("x") { t.Error("expected invalid") }
}
// Run: FAIL (undefined NewValidator)

// GREEN: minimal impl
func NewValidator() *V { return &V{} }
func (v *V) IsValid(s string) bool { return strings.Contains(s, "@") }
// Run: PASS

// REFACTOR: improve, tests still pass
```

For Go refactors, prefer modern stdlib idioms from `@go-modern` when they preserve behavior.

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/fall-out-bug) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

