# Milktea Skills Tdd

> 供臨時開發 Agent 依已核准 Ticket 與測試接縫按需載入。以最小垂直切片執行 Red、Green 與必要時 Refactor，測試公開行為、先重現 Bug，內部迭代不逐次回報，只在 Ready for Review 提交精簡可重現證據。Implement Coordinator 不親自執行 TDD。

- Skill: `royalmilkteamaster/milktea-skills-tdd` (Agent Skill)
- Install (CLI): `npx skillmds@latest add royalmilkteamaster/milktea-skills-tdd`
- Raw SKILL.md: https://api.skillmd.com/api/skills/royalmilkteamaster/milktea-skills-tdd/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: RoyalMilkteaMaster (https://skillmd.com/u/royalmilkteamaster)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/royalmilkteamaster/milktea-skills-tdd

---


# Milktea Skills TDD

一次完成一個可觀察行為。測試保護需求，不綁內部實作。

由臨時開發 Agent 執行；Implement Coordinator 只設定要求、接收證據與管理關卡。

## 適用判斷

必須使用：

- 新增或修改可觀察行為。
- 修正 Bug 或回歸問題。
- 實作具有分支、狀態或轉換規則的邏輯。

文件、純格式、機械搬移、生成檔或沒有穩定測試接縫的變更可不使用；必須記錄原因與替代驗證。不得為了形式覆蓋率製造無價值測試。

## 前提

- Ticket 已定義行為、驗收條件與測試接縫。
- 已知測試框架、最小測試指令與完整驗證指令。
- 已讀取 `docs/planning/requirements.md`、`docs/planning/architecture.md`、`CONTEXT.md`、相關 ADR 與既有測試慣例。

缺少測試接縫時回報 Implement Coordinator，不得在執行階段自行發明或重新訪談。

## 基準

1. 執行最小相關測試，記錄既有失敗。
2. 選定一個尚未成立的可觀察行為。
3. 從 Spec、Ticket 或已核准範例取得預期結果。

## 循環

每次只處理一個垂直切片：

1. **Red**：透過公開介面新增一個測試；執行並確認它因預期原因失敗。
2. **Green**：只寫足以通過該測試的程式；執行目標測試。
3. **Refactor（必要時）**：只有目前切片出現明確重複、命名或結構問題時才做最小整理；不為了形式擴大重構。執行後重新跑目標測試。
4. 通過後再選下一個行為。

測試一開始就通過時，先確認需求是否已存在、測試是否無效或 Bug 是否未重現；不得假裝完成 Red。

## 測試規則

- 從公開介面驗證輸入、輸出與副作用。
- 不測私有方法、內部呼叫次數或可任意重構的結構。
- 預期值必須來自 Spec、已知範例或獨立真值，不複製實作算法。
- 只在外部、昂貴、隨機或不可控制的邊界使用 Mock；不 Mock 被測模組內部。
- Bug 修正先寫能重現問題的回歸測試。
- 不一次寫完整測試套件後才實作。
- 不為了讓測試通過而降低正確斷言或改寫已核准需求。

## 回報

Red／Green／Refactor 是 Developer 的內部迭代，不逐切片回報 Coordinator。保留必要輸出，首次準備 `Ready for Review` 時一次交付：

- 完成的行為與測試接縫。
- 能證明 Red 因預期原因失敗的最小證據。
- 最終目標測試的指令、退出碼與關鍵輸出。
- 既有失敗、跳過項目與理由。

完整驗收只由 Implement 的 Ready for Review 關卡執行一次；Findings 修正後依 Coordinator 指定的影響範圍重跑，不在每個 TDD 切片重跑全套。

