tdd-workflow

Enforces test-driven development with failing tests before minimal implementation.

1|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/TierOne-Studio/spa-velocity --skill tdd-workflow-tierone-studio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tdd-workflow
Source: https://github.com/TierOne-Studio/spa-velocity/tree/main/.ruler/skills/tdd-workflow
Command: npx skills add https://github.com/TierOne-Studio/spa-velocity --skill tdd-workflow-tierone-studio

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Code changes made without tests first often ship with untested behavior, brittle retroactive tests, and regressions that surface only in production. This Skill enforces a strict red-green-refactor discipline so every executable code change is verified by a failing test before implementation begins. ## Core Features & Use Cases - Tracer-bullet TDD cycle: Write one failing test, verify it fails for the right reason, then write the minimal implementation, repeating in vertical slices rather than batching all tests up front. - 10-point test quality rubric: Validates that tests assert observable behavior, are deterministic, non-vacuous, properly named, and mock only at system boundaries. - Explicit waiver system: Permits only four documented waiver phrases for non-code, type-only, config-only, or ADR-only changes, blocking vague excuses like "small change" or "obvious fix". - Use Case: When asked to fix a bug in an authentication service, the Skill requires writing a failing regression test first, confirming it fails for the right reason, applying the minimal fix, then running the full unit and integration suites before declaring completion. ## Quick Start Implement this feature using the tdd-workflow skill, writing a failing test first and then the minimal code to make it pass.

Frequently Asked Questions about tdd-workflow

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I practice test-driven development on a bug fix?

Write a failing regression test that reproduces the bug and asserts the intended behavior, verify it fails for the right reason, then apply the minimal fix to make it pass. Finally run the full test suite, not just the new test, before declaring the fix complete.

What is the correct order of red-green-refactor cycles?

Use vertical tracer-bullet slices: one failing test followed by one minimal implementation, repeated per behavior. Writing all tests first and then all code produces brittle tests that assert imagined behavior instead of actual behavior.

When can a code change skip writing tests?

Only four waivers are valid: non-code changes, type-only changes, config changes with no behavior impact, and ADR-only documentation changes. Excuses like "small change", "obvious fix", or "just a refactor" are explicitly forbidden.

Should tests mock internal collaborators or external services?

Mock only at system boundaries such as third-party APIs, time, randomness, and the file system. Never mock the unit under test or internal collaborators; if that seems necessary, the design has too many collaborators and should be refactored first.

Why does a passing test still fail a quality review?

A test can pass yet be vacuous if it would stay green after reverting the behavior, assert on internals instead of observable results, or never actually execute. Tests must be run, fail for the right reason before implementation, and survive the rename diagnostic.