code

Enforce Test-Driven Development with failing tests, minimal code, and atomic commits.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/astrosteveo/epic --skill code-astrosteveo
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: code
Source: https://github.com/astrosteveo/epic/tree/main/plugins/explore-plan-implement-commit/skills/code
Command: npx skills add https://github.com/astrosteveo/epic --skill code-astrosteveo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Implements tasks using TDD, writing failing tests first, minimal code, and atomic commits.

Core Features & Use Cases

  • Test-Driven: Failing test then minimal implementation.
  • Real Tests: Tests verify real behavior, not just no-throw.
  • Structured Commits: Clear, descriptive git messages.

Quick Start

For each task, write a failing test, implement, run tests, then commit.

Frequently Asked Questions about code

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

FAQPage Schema
How do I implement test-driven development in my TypeScript codebase?▼

Test-driven development writes failing tests first, then minimal implementation to pass them. This approach ensures code changes are validated by tests before committing, using red-green-refactor cycles where tests are written prior to implementation across feature development, bug fixes, and refactors.

What's the best way to structure commits when using TDD?▼

Atomic commits capture one complete red-green-refactor cycle—a failing test, minimal code to pass it, and any refactoring. Each commit should have a clear, descriptive message that reflects the specific task completed, enabling reviewers to understand the progression of changes.

How do I write tests that actually verify behavior, not just avoid throwing errors?▼

Real tests include specific assertions that verify expected outcomes and edge cases, not just confirm code runs without errors. Tests should validate actual behavior—return values, state changes, error conditions—ensuring they catch regressions and document requirements.

Can I use TDD with existing codebases, or only on new projects?▼

TDD applies to feature development, bug fixes, and refactors across any codebase. Start by writing a failing test for the specific change, implement minimally to pass it, then commit atomically. Existing code can adopt TDD incrementally, one task at a time.

What do I do when tests fail during implementation?▼

Debugging mode treats test failures as design feedback. Review the failing test to confirm it captures the intended behavior, adjust either the test or implementation, then re-run. The test should always guide the implementation, not the reverse.

Do I need experience with testing frameworks to start using TDD?▼

Basic testing framework knowledge helps but isn't required to begin. TDD principles—write failing test, implement minimally, refactor, commit—work with any testing tool. Start simple with assertions and edge cases, then deepen framework expertise as needed.