Claude Code Plugins

Community-maintained marketplace

Feedback

执行 TDD 红绿重构循环(RED→GREEN→REFACTOR→REPEAT),通过先写失败测试、最小代码实现、保持绿色重构的节奏驱动开发。当启动功能开发、需要测试驱动节奏、进行迭代编码、追求高测试覆盖率时使用。提供检查清单和节奏控制。

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name tdd-cycle
description 执行 TDD 红绿重构循环(RED→GREEN→REFACTOR→REPEAT),通过先写失败测试、最小代码实现、保持绿色重构的节奏驱动开发。当启动功能开发、需要测试驱动节奏、进行迭代编码、追求高测试覆盖率时使用。提供检查清单和节奏控制。
stage EXECSPEC_FULFILL
level_supported L1-STREAMLINED

TDD Cycle Skill

Scope: EXECSPEC_FULFILL — Fulfill ExecSpec(落实 ExecSpec)

版本: 0.1.0(占位)| 创建日期: 2025-11-27


概述

TDD Cycle 是测试驱动开发的核心循环:

┌─────────────────────────────────────────────────────┐
│              🔄 TDD Cycle                           │
├─────────────────────────────────────────────────────┤
│       ┌─────┐                                      │
│       │ RED │ ← 写失败的测试                        │
│       └──┬──┘                                      │
│          ↓                                         │
│       ┌─────┐                                      │
│       │GREEN│ ← 最小代码让测试通过                  │
│       └──┬──┘                                      │
│          ↓                                         │
│    ┌──────────┐                                    │
│    │REFACTOR │ ← 重构,保持测试绿色                 │
│    └────┬─────┘                                    │
│         └──────→ REPEAT                            │
└─────────────────────────────────────────────────────┘

核心节奏

  • 🔴 RED: 先写失败的测试
  • 🟢 GREEN: 写最小代码让测试通过
  • 🔵 REFACTOR: 重构代码,保持测试绿色
  • 🔁 REPEAT: 循环直到功能完成

L1-STREAMLINED

检查清单

  • 测试先于实现代码编写
  • 每次 GREEN 后立即考虑重构
  • 单元测试覆盖率 ≥ 80%
  • 测试金字塔比例合理(60%单元/30%集成/10%E2E)
  • GOAL 注释已添加到测试文件

通过标准

  • 5 项中 4 项通过(≥80%)

>> 命令

>>tdd_check_l1         # 检查 TDD 节奏
>>coverage_report_l1   # 测试覆盖率报告

GOAL 注释规范

// GOAL: GOAL-XXX-001
describe('功能描述', () => {
  it('should ...', () => {
    // 测试代码
  });
});

常见问题

🔴 RED 阶段

问题:测试写得太大 解决:每个测试只验证一个行为

问题:不知道先测什么 解决:从最简单的 Happy Path 开始

🟢 GREEN 阶段

问题:写了太多代码 解决:只写让测试通过的最小代码

问题:想一步到位 解决:接受"丑陋"的代码,重构阶段再优化

🔵 REFACTOR 阶段

问题:跳过重构 解决:每次 GREEN 后强制问自己"能更简单吗?"

问题:重构时破坏测试 解决:小步重构,每步都运行测试


相关 Skills

  • 前置: bdd-scenario(BDD 场景已定义)
  • 并行: code-quality(质量门禁)
  • 原则: principle-dry, principle-kiss

TODO: 待细化覆盖率检查脚本和 TDD 节奏监控