
Typed Service Contracts
- 92 installs
- 1.8k repo stars
- Updated July 23, 2026
- google-labs-code/stitch-sdk
Enforce a disciplined Red-Green-Refactor TDD workflow in TypeScript/Node.js, writing one failing test at a time before minimal implementation.
About
Implements a strict incremental TDD cycle (Red, Green, Refactor) for AI-assisted TypeScript development. A developer uses it to keep every change verifiable, typed, and free of test-splurging.
- Strict one-test-at-a-time loop with backpressure via typing and assertions
- Integrity rule: never edit an existing test to make failing code pass
Typed Service Contracts by the numbers
- 92 all-time installs (skills.sh)
- Ranked #1,028 of 2,153 Testing & QA skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/google-labs-code/stitch-sdk --skill typed-service-contractsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 92 |
|---|---|
| repo stars | ★ 1.8k |
| Last updated | July 23, 2026 |
| Repository | google-labs-code/stitch-sdk ↗ |
What it does
Enforce a disciplined Red-Green-Refactor TDD workflow in TypeScript/Node.js, writing one failing test at a time before minimal implementation.
Files
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
};