Agent Skillsgoogle-labs-code/design.md › tdd-red-green-refactor

tdd-red-green-refactor

GitHub

强制执行 TypeScript/Node.js 中的 TDD 红绿重构工作流,通过增量测试驱动开发确保代码质量与可验证性。

.agents/skills/tdd/SKILL.md google-labs-code/design.md

Trigger Scenarios

创建新功能 修复 Bug 迁移逻辑

Install

npx skills add google-labs-code/design.md --skill tdd-red-green-refactor -g -y
More Options

Non-standard path

npx skills add https://github.com/google-labs-code/design.md/tree/main/.agents/skills/tdd -g -y

Use without installing

npx skills use google-labs-code/design.md@tdd-red-green-refactor

指定 Agent (Claude Code)

npx skills add google-labs-code/design.md --skill tdd-red-green-refactor -a claude-code -g -y

安装 repo 全部 skill

npx skills add google-labs-code/design.md --all -g -y

预览 repo 内 skill

npx skills add google-labs-code/design.md --list

SKILL.md

Frontmatter
{
    "name": "tdd-red-green-refactor",
    "description": "Enforces a disciplined Red-Green-Refactor (TDD) workflow in TypeScript\/Node.js.  Use this whenever creating new features, fixing bugs, or migrating logic to ensure  high-quality, verifiable implementations."
}

Red-Green-Refactor (TDD) Skill: TypeScript Edition

This skill implements a structural framework for AI-assisted programming to ensure every line of code is verifiable, typed, and purposeful.

The Three-Phase Cycle

Phase 1: Red (Establish Failure)

You must prove the feature does not exist and that your test is valid.

  1. Write One Test: Create a single test case (e.g., in Vitest or Jest) for the next small piece of behavior.
  2. Execute & Fail: Run the test. It must fail.
  3. Verify: Ensure the failure is related to the missing logic (e.g., ReferenceError: add is not defined) and not a configuration error.

Phase 2: Green (Minimal Pass)

Make the test pass as quickly and simply as possible.

  1. Minimal Implementation: Write the simplest code that satisfies the test. Do not build for the future; focus strictly on the current "Red" test.
  2. Run Tests: Execute the suite. All tests must be Green.
  3. Evidence: The transition from Red to Green is the "Proof of Work" for the developer.

Phase 3: Refactor (Clean Up)

Improve the code structure while maintaining the "Green" state.

  1. Clean Up: Improve naming, remove duplication, and optimize the code written in Phase 2.
  2. Safety Net: Rerun the tests after every change. If they turn Red, revert the change immediately.

Core Operational Rules

1. No "Horizontal Splurging"

You are strictly forbidden from writing a large "splurge" of multiple tests at once. You must follow a strictly incremental loop:

  • Write 1 Test -> See it Fail -> Write 1 Fix -> See it Pass.
  • Repeat this loop for every sub-feature.

2. Impose Backpressure

Use automated assertions and strong typing (TypeScript) as backpressure to prevent the AI from "guessing" the solution or "playing in the mud" with low-quality code.

3. Verification of Integrity

Never modify an existing test to make a failing implementation pass. If a test must change, it must be because the requirement changed, not because the code is difficult to write.


Example Workflow (TypeScript + Vitest)

Step 1: Red

// math.test.ts
import { describe, it, expect } from 'vitest';
import { add } from './math';

describe('add', () => {
  it('should sum two numbers', () => {
    expect(add(2, 2)).toBe(4); // Fails: ReferenceError: add is not defined
  });
});

Step 2: Green

// math.ts
export const add = (a: any, b: any) => {
  return 4; // Passes: Minimal code to satisfy the test
};

Step 3: Refactor

// math.ts
/**
 * Sums two numbers with explicit type safety.
 */
export const add = (a: number, b: number): number => {
  return a + b; // Passes: Proper implementation with safety net
};

Version History

  • 0.3.0 Current 2026-07-24 21:05

Same Skill Collection

.agents/skills/agent-dx-cli-scale/SKILL.md
.agents/skills/ink/SKILL.md
.agents/skills/typed-service-contracts/SKILL.md

Metadata

Files
0
Version
0.4.0
Hash
8df7a9e3
Indexed
2026-07-24 21:05

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-22 00:20
浙ICP备14020137号-1 $mapa de visitantes$