Skip to content
cccskills
FreePublished on GitHub

tdd

Test-driven development - write failing test first, then minimal code. Use before implementing any feature or bugfix.

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md2.9 KB
  • agents/openai.yaml184 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

Test-Driven Development (TDD)

Use when implementing any feature or bugfix, before writing implementation code.

The Iron Law

NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST

Write code before the test? Delete it. Start over.

No exceptions:

  • Don't keep it as "reference"
  • Don't "adapt" it while writing tests
  • Delete means delete

Red-Green-Refactor

RED - Write Failing Test

Write one minimal test showing what should happen.

  • One behavior
  • Clear name
  • Real code (no mocks unless unavoidable)

Verify RED - Watch It Fail

MANDATORY. Never skip.

  • Run the test, confirm it fails (not errors)
  • Failure message is expected
  • Test passes? You're testing existing behavior. Fix test.

GREEN - Minimal Code

Write simplest code to pass the test.

  • Just enough to pass
  • No extra features
  • Don't add behavior beyond the test

Verify GREEN - Watch It Pass

MANDATORY.

  • Test passes
  • Other tests still pass
  • Output pristine (no errors, warnings)

REFACTOR - Clean Up

After green only:

  • Remove duplication
  • Improve names
  • Extract helpers Keep tests green. Don't add behavior.

Why Order Matters

"I'll write tests after" Tests written after pass immediately. Passing immediately proves nothing. Test-first forces you to see the test fail, proving it actually tests something.

"Tests after achieve same goals" No. Tests-after answer "What does this do?" Tests-first answer "What should this do?"

"Deleting X hours of work is wasteful" Sunk cost fallacy. The time is gone. The waste is keeping code you can't trust.

Red Flags - STOP and Start Over

  • Code before test
  • Test after implementation
  • Test passes immediately
  • "I already manually tested it"
  • "Tests after achieve the same purpose"
  • "This is different because..."

All mean: Delete code. Start over with TDD.

Common Rationalizations

ExcuseReality
"Too simple to test"Simple code breaks. Test takes 30 seconds.
"I'll test after"Tests passing immediately prove nothing.
"Already manually tested"Ad-hoc ≠ systematic. No record, can't re-run.
"TDD will slow me down"TDD faster than debugging later.

Verification Checklist

Before marking work complete:

  • Every new function/method has a test
  • Watched each test fail before implementing
  • Each test failed for expected reason
  • Wrote minimal code to pass each test
  • All tests pass
  • Output pristine (no errors, warnings)

Can't check all boxes? You skipped TDD. Start over.

When to Use

Use this skill when the task directly matches the workflow described above.

When Not to Use

Do not use this skill when the request is unrelated, low-stakes, or better handled by a simpler direct response.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Surface and categorize assumptions underlying product strategy. Use early in development to document what you're betting on.

The English summary is being prepared. Showing the original description.

itseffi/agentic-os116Updated Oct 7, 2026

Prioritize assumptions by risk and importance. Use after assumption mapping to decide what to test first.

The English summary is being prepared. Showing the original description.

itseffi/agentic-os116Updated Oct 7, 2026

Sync Jira issues with local tasks. Use during daily planning or when user asks about Jira issues.

The English summary is being prepared. Showing the original description.

itseffi/agentic-os116Updated Oct 7, 2026

Design backend architecture for implementation with API contracts, data model changes, service boundaries, security, and observability.

The English summary is being prepared. Showing the original description.

itseffi/agentic-os116Updated Oct 7, 2026

Turn ideas into designs through collaborative dialogue. Use before any creative work - features, components, or modifications.

The English summary is being prepared. Showing the original description.

itseffi/agentic-os116Updated Oct 7, 2026

Check Google Calendar for today's schedule. Use during daily planning or when user asks about their calendar.

The English summary is being prepared. Showing the original description.

itseffi/agentic-os116Updated Oct 7, 2026

See all skills by itseffi

Report a problem with this skill