tdd

Teach teams test-driven development through public interface tests and incremental loops.

1|Updated Jun 12, 2025
One-click install
npx skills add https://github.com/domenhribernik/portfolio --skill tdd-domenhribernik
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tdd
Source: https://github.com/domenhribernik/portfolio/tree/main/.agents/skills/tdd
Command: npx skills add https://github.com/domenhribernik/portfolio --skill tdd-domenhribernik

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Enables teams to adopt test-driven development by focusing tests on public interfaces, reducing brittleness from refactors and guiding safe, incremental progress.

Core Features & Use Cases

  • Emphasizes behavior over implementation to ensure durable tests
  • Guides end-to-end planning, tracer bullets, and incremental loops
  • Encourages strong refactoring practices and clear interface design

Quick Start

Begin with a tracer bullet: write one end-to-end test for a public behavior and implement only the minimal code required to pass it.

Frequently Asked Questions about tdd

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

FAQPage Schema
How does test-driven development reduce brittleness when refactoring?

Test-driven development reduces brittleness by validating behavior through public interfaces. Focusing tests on external behavior rather than internal implementation ensures durable tests that guide safe refactoring without breaking.

What is the best way to start test-driven development with vertical slices?

Start test-driven development with vertical slices by writing a tracer bullet: one end-to-end test for a public behavior. Implement only the minimal code required to pass it, ensuring incremental progress.

How do integration tests guide safe software evolution?

Integration tests guide safe software evolution by enforcing end-to-end progress through public interfaces. They validate behavior across components, minimizing brittleness and ensuring refactors do not break functionality.

Why should I test behavior through public interfaces instead of implementation details?

Testing behavior through public interfaces ensures tests remain durable during refactoring. Implementation details change frequently, but public interfaces define expected behavior, guiding safe evolution without test brittleness.

Can I use red-green-refactor cycles for incremental software development?

Yes, red-green-refactor cycles support incremental software development. Write a failing test, implement minimal code to pass it, then refactor safely. This disciplined loop ensures end-to-end progress and robust software.