agentsclimarketplace

Test first

Skill buildmoonshot/skillpacks/skills/engineering/intermediate/test-first

A beginner-to-expert curriculum of drop-in skills for Claude Code, Codex, and any coding agent. Copy-paste ready, tested, not a link farm.

Install
npx -y skills add buildmoonshot/skillpacks --skill test-first

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when fixing a bug or adding behavior that can be covered by an automated test — especially bug fixes, where a test should reproduce the problem before any fix is written. Makes the agent write a failing test first, then the code that makes it pass, so the change is provably correct and stays fixed.

SKILL.md

1.8 KB, as published. Nobody here has run it

Test First

When the change can be tested, write the test before the implementation.

For a bug fix

  1. Reproduce it with a failing test. Write a test that asserts the correct behavior — it should fail against the current buggy code. This proves you understand the bug.
  2. Run it and watch it fail for the expected reason. A test that passes before you've fixed anything is testing the wrong thing.
  3. Write the minimal fix that makes it pass.
  4. Run the full suite to confirm the fix works and breaks nothing else.

For a new feature

  1. Write a test describing the behavior you want (it fails — the feature doesn't exist yet).
  2. Implement until it passes.
  3. Add tests for the obvious edge cases (empty input, boundaries, error paths).

Keep it honest

  • The test must actually fail first. "I wrote a test and it passes" on unwritten code means the test is hollow.
  • Test behavior, not implementation details — assert what the code does, not how, so the test survives refactors.
  • If something genuinely can't be tested (UI nuance, external service), say so and fall back to a concrete manual check instead of pretending.

Why this matters

A bug with a failing-then-passing test around it is a bug that won't silently come back — the test stands guard forever. Writing the test first also forces you to define "done" before you write code, which is exactly when it's cheapest to get the definition right.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.