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 scalarian/oh-my-codex --skill tddgit clone --depth 1 https://github.com/scalarian/oh-my-codexWrote 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/scalarian/oh-my-codex/tdd)<a href="https://agentmods.dev/skills/scalarian/oh-my-codex/tdd"><img src="https://agentmods.dev/badge/skills/scalarian/oh-my-codex/tdd.svg" alt="Measured on agentmods" 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.00020 | $0.00293 |
| Opus 5 | $0.00010 | $0.00147 |
| Sonnet 5 | $0.00004 | $0.00059 |
| Haiku 4.5 | $0.00002 | $0.00029 |
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 8d 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.
What it actually says
TDD
Purpose
Use $tdd when behavior can be specified before implementation. TDD is for design pressure and regression safety, not for ritual.
Good TDD Candidates
- business rules
- API contracts
- parsing/formatting/validation
- state transitions
- algorithms and utility behavior
Skip TDD For
- pure layout and styling work
- config-only changes
- trivial glue code
- exploratory prototypes where the behavior is not yet known
Iron Law
No production code without a failing test first.
Cycle
- Red
- write the smallest failing test for the next behavior
- run it and prove it fails for the right reason
- Green
- write the minimum code to make it pass
- rerun the test and the relevant suite
- Refactor
- clean up only after green
- keep the suite green after every change
Rules
- one behavior per cycle
- do not batch multiple features into one red-green pass
- prefer regression tests for changed behavior
- record the verify command in the plan or task notes
Output Standard
- what behavior the test locked in
- the failing signal
- the minimal implementation
- the final verification command
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.
- 8d ago First seen · 56 lines · 20 tokens per session scan A 1b49bea58b24
tdd is a skill published in the GitHub repository scalarian/oh-my-codex (73 stars, last pushed 5mo ago), licensed MIT. It adds 20 tokens to every session and 293 once invoked, about $0.0001 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.
Other skills, from other repositories
tdd-cycle
Execute full TDD red-green-refactor cycle with validation gates. Use when saying "TDD cycle", "test-driven development", or "full TDD workflow".
atomic-tdd
Test-first discipline. Auto-triggers on "let's implement X", "add feature Y", "fix bug Z", "write a test for", "implement", "build out", and similar pre-code-change phrases. Iron rule: failing test exists before production code. Skip only for pure docs/config changes with an explicit "skipped because:" note. Explicit…
ralphctl-test-driven-development
Execute-phase skill — write the failing test before the code that makes it pass; for bug fixes, this is the reproduction test itself. Use for any logic change, bug fix, or behavioural modification; for the full root-cause triage pipeline around an unexpected failure, see ralphctl-debugging-and-error-recovery.
tdd
A test-driven development workflow based on repeating three stages: write a failing test, make it pass, then improve the code. The tests focus on what users can do through public interfaces rather than internal implementation details.
go
Go phase. Reads the approved SPEC file, maps Requirements to tasks (plan), executes via TDD (build), and integrates results verifying all Acceptance Criteria.
test-driven-development
Use when user explicitly requests test-driven development. Triggers: 'TDD', 'write tests first', 'red green refactor', 'test-first', 'start with the test'. Also invoked by develop and executing-plans for implementation tasks. NOT for: full feature work (use develop, which includes TDD internally).