test-driven-development

A test-first development method in which you write a failing test, make the code pass it, and then improve the code. TDD means test-driven development; the tests are used as evidence that a change works.

In plain words
What is it for?
Use it when adding logic, fixing bugs, changing behavior, or handling edge cases. For a bug fix, first reproduce the problem with a test.
Why use it?
It helps catch bugs before and after implementation and prevents changing tests or hiding failures just to get a passing test suite.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/borhen68/skillengine/test-driven-development
Any agent
npx skills add borhen68/SkillEngine --skill test-driven-development
Clone the repo
git clone --depth 1 https://github.com/borhen68/SkillEngine

Made for: Claude Code, Codex.

Per session 79 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,961 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00079 $0.03961
Opus 5 $0.00039 $0.01980
Sonnet 5 $0.00016 $0.00792
Haiku 4.5 $0.00008 $0.00396

Measured yesterday against content hash ae814e37d63f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

test-driven-development scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/test-driven-development/SKILL.md · 407 lines

How it starts

The opening of the file, as written. The whole thing — 407 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Test-Driven Development

Overview

Write a failing test before writing the code that makes it pass. For bug fixes, reproduce the bug with a test before attempting a fix. Tests are proof — "seems right" is not done. A codebase with good tests is an AI agent's superpower; a codebase without tests is a liability.

When to Use

  • Implementing any new logic or behavior
  • Fixing any bug (the Prove-It Pattern)
  • Modifying existing functionality
  • Adding edge case handling
  • Any change that could break existing behavior

When NOT to use: Pure configuration changes, documentation updates, or static content changes that have no behavioral impact.

Related: For browser-based changes, combine TDD with runtime verification using Chrome DevTools MCP — see the Browser Testing section below.

Iron Rules

These target the failure modes that make AI-written tests worthless. Each rule is absolute — no rationalization in this skill or outside it overrides them.

  1. Never weaken a test to make it pass. When a test fails, the default assumption is that the code is wrong, not the test. Changing an assertion, widening a tolerance, or deleting a test case requires proof that the test was incorrect — state that proof explicitly before touching the test.
  2. RED must fail for the right reason. A test failing with ImportError or undefined is not a function proves nothing. Read the failure output: it must show the behavioral gap the test targets (e.g., expected 'completed', received 'pending'). A setup failure is not RED — fix the setup and re-run.
  3. Never hardcode to the test. If the implementation special-cases test inputs (if (id === 'test-1')), no behavior was implemented — the test was laundered into the code. Implement the general rule the test exemplifies, then ask: "would this pass for inputs the tests don't mention?"
  4. Evidence or it didn't happen. "All tests pass" must be backed by actual runner output: suite counts, pass/fail numbers, duration. Reporting results from memory is fabrication.
  5. A silently skipped test is a lie. .skip, .todo, commenting out, or deleting a test to get a green suite must be declared to the user with a reason — never done silently.

Read the full file on GitHub · 407 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 407 lines · 79 tokens per session scan A ae814e37d63f

Subscribe to this mod's changes

test-driven-development is a skill published in the GitHub repository borhen68/SkillEngine (17 stars, last pushed 2mo ago), licensed MIT. It adds 79 tokens to every session and 3,961 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

code-review-and-quality

执行多维度代码审查。用于合并任何变更之前;用于审查自己、其他 agent 或人类编写的代码;用于在代码进入主分支前从多个维度评估代码质量。.

vinvcn/addyosmani-agent-skills-zh · 53 tokens

code-simplification

为清晰度简化代码。用于在不改变行为的前提下重构代码以提升清晰度;用于代码能运行但比应有状态更难阅读、维护或扩展时;用于审查已累积不必要复杂度的代码时。.

vinvcn/addyosmani-agent-skills-zh · 64 tokens

doubt-driven-development

在每个非平凡决策成立前,用全新上下文进行对抗式审查。当正确性比速度更重要、处理不熟悉代码、风险较高(生产、安全敏感逻辑、不可逆操作),或任何自信输出现在验证比之后调试更便宜时使用。.

vinvcn/addyosmani-agent-skills-zh · 72 tokens

test-driven-development

用测试驱动开发。用于实现任何逻辑、修复任何 bug,或改变任何行为。用于需要证明代码能工作、收到 bug 报告,或即将修改现有功能时。.

vinvcn/addyosmani-agent-skills-zh · 48 tokens

api-and-interface-design

指导稳定的 API 和接口设计。设计 API、模块边界或任何公共接口时使用。创建 REST 或 GraphQL endpoint、定义模块之间的类型契约,或建立前后端边界时使用。.

vinvcn/addyosmani-agent-skills-zh · 51 tokens

ci-cd-and-automation

自动化 CI/CD pipeline 设置。用于设置或修改构建和部署 pipeline 时;用于需要自动化质量门禁、在 CI 中配置 test runners,或建立部署策略时。.

vinvcn/addyosmani-agent-skills-zh · 46 tokens