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.
npx skills add Pharaoh-so/pharaoh-mcp --skill tddgit clone --depth 1 https://github.com/Pharaoh-so/pharaoh-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/pharaoh-so/pharaoh-mcp/tdd)<a href="https://agentmods.dev/skills/pharaoh-so/pharaoh-mcp/tdd"><img src="https://agentmods.dev/badge/skills/pharaoh-so/pharaoh-mcp/tdd/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/pharaoh-so/pharaoh-mcp/tdd"><img src="https://agentmods.dev/badge/skills/pharaoh-so/pharaoh-mcp/tdd.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00058 | $0.00774 |
| Opus 5.5 | $0.00023 | $0.00310 |
| Sonnet 5.5 | $0.00012 | $0.00155 |
| Haiku 4.5 | $0.00006 | $0.00077 |
Grade A, and why
tdd 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 9d ago.
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.
How it starts
The opening of the file, as written. The whole thing — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Test-Driven Development
Write the test first. Watch it fail. Write minimal code to pass. Refactor.
If you didn't watch the test fail, you don't know if it tests the right thing.
When to Use
Always — for new features, bug fixes, refactoring, and behavior changes. Exceptions require explicit user permission (throwaway prototypes, generated code, config files).
The Iron Law
NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
Wrote code before the test? Delete it. Start over. Don't keep it as "reference." Don't adapt it. Delete means delete.
Red-Green-Refactor
RED — Write Failing Test
Write one minimal test showing what should happen.
- One behavior per test
- Clear name describing the behavior
- Real code, not mocks (unless unavoidable)
Run the test. Confirm it fails (not errors) for the expected reason — the feature is missing, not a typo.
GREEN — Minimal Code
Write the simplest code that makes the test pass. Nothing more.
- Don't add features the test doesn't require
- Don't refactor other code
- Don't "improve" beyond the test
Run the test. Confirm it passes. Confirm other tests still pass.
REFACTOR — Clean Up
Only after green:
- Remove duplication
- Improve names
- Extract helpers
Keep tests green throughout. Don't add behavior during refactor.
Repeat
Next failing test for next behavior.
Bug Fix Flow
- Write a failing test that reproduces the bug
- Watch it fail — confirms the test catches the bug
- Fix the bug with minimal code
- Watch it pass — confirms the fix works
- Refactor if needed
Never fix bugs without a regression test.
Common Rationalizations
| Excuse | Reality |
|---|---|
| "Too simple to test" | Simple code breaks. Test takes 30 seconds. |
| "I'll test after" | Tests passing immediately prove nothing. |
| "Need to explore first" | Fine. Throw away exploration, then start with TDD. |
| "Test hard = skip test" | Hard to test = hard to use. Simplify the interface. |
| "TDD will slow me down" | TDD is faster than debugging. Always. |
| "Already manually tested" | Ad-hoc is not systematic. No record, can't re-run. |
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.
- 9d ago First seen · 106 lines · 58 tokens per session scan A eb722f5c1a0b
tdd is a skill published in the GitHub repository Pharaoh-so/pharaoh-mcp (2 stars, last pushed today), licensed MIT. It adds 58 tokens to every session and 774 once invoked, about $0.0002 per session on Opus 5.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-10-21.
Other skills, from other repositories
sparc-methodology
SPARC (Specification, Pseudocode, Architecture, Refinement, Completion) comprehensive development methodology with multi-agent orchestration.
testatlas
Use for any question about the tests in a .NET test-automation solution (Reqnroll, SpecFlow, NUnit, xUnit, MSTest, Playwright, RestSharp) - finding, identifying, listing or counting the tests, scenarios or step definitions for a feature or keyword, checking whether coverage exists, and before writing, changing or…
index
Build or rebuild the TestAtlas map (codemap.db) for the .NET solution in this project. Use when the session-start note says the map is missing or stale, when the testatlas tools report no map, or after editing .cs or .feature files.
add-tests
Generates tests for existing code. Analyzes the target function, method, or class to identify the happy path, error cases, and edge cases, then writes test cases following the project's testing framework and naming conventions. Invoked when the user asks to add tests, write tests, cover code, or increase coverage.
report
Write the TestAtlas HTML report for the .NET solution in this project - a self-contained drill-down of features, scenarios, step bindings, class kinds and endpoints - and optionally the project dependency graph. Use when the person asks for the TestAtlas report, an HTML view or overview of the test suite, a drill-down…
deep-plan
Creates detailed, sectionized, TDD-oriented implementation plans through research, stakeholder interviews, and multi-LLM review. Use when planning features that need thorough pre-implementation analysis.