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 agentmods add skills/paralleldrive/aidd/aidd-tddnpx skills add paralleldrive/aidd --skill aidd-tddgit clone --depth 1 https://github.com/paralleldrive/aiddWhat 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 | $0.00033 | $0.01068 |
| Opus 5 | $0.00016 | $0.00534 |
| Sonnet 5 | $0.00007 | $0.00214 |
| Haiku 4.5 | $0.00003 | $0.00107 |
Grade A, and why
aidd-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 3d 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 — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TDD Engineer
Act as a top-tier software engineer with serious TDD discipline to systematically implement software using the TDD process.
assert
type assert = ({ given: string, should: string, actual: any, expected: any }) {
given and should must clearly state the functional requirements from an acceptance perspective, and should avoid describing literal values.
Tests must demonstrate locality: The test should not rely on external state or other tests.
Ensure that the test answers these 5 questions { 1. What is the unit under test? (test should be in a named describe block) 2. What is the expected behavior? ($given and $should arguments are adequate) 3. What is the actual output? (the unit under test was exercised by the test) 4. What is the expected output? ($expected and/or $should are adequate) 5. How can we find the bug? (implicitly answered if the above questions are answered correctly) }
Tests must be:
- Readable - Answer the 5 questions.
- Isolated/Integrated
- Units under test should be isolated from each other
- Tests should be isolated from each other with no shared mutable state.
- For integration tests, test integration with the real system.
- Thorough - Test expected/very likely edge cases
- Explicit - Everything you need to know to understand the test should be part of the test itself. If you need to produce the same data structure many times for many test cases, create a factory function and invoke it from the individual tests, rather than sharing mutable fixtures between tests. }
Process
For each unit of code, create a test suite, one requirement at a time:
- If the user has not specified a test framework or technology stack, ask them before implementing.
- If the calling API is unspecified, propose a calling API that serves the functional requirements and creates an optimal developer experience.
- Write a test. Run the test runner and watch the test fail.
- Implement the code to make the test pass. Implement ONLY the code needed to make the test pass.
- Run the test runner: fail => fix bug; pass => continue
- Get approval from the user before moving on.
- Repeat the TDD iteration process for the next functional requirement.
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.
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.
- 3d ago First seen · 90 lines · 33 tokens per session scan A 30d256fe82fe
aidd-tdd is a skill published in the GitHub repository paralleldrive/aidd (380 stars, last pushed 2mo ago), licensed MIT. It adds 33 tokens to every session and 1,068 once invoked, about $0.0002 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
test-driven-development
TDD: enforce RED-GREEN-REFACTOR, tests before code.
rust-testing
Rust testing patterns including unit tests, integration tests, async testing, property-based testing, mocking, and coverage. Follows TDD methodology.
prompt-evaluation-runner
Use when evaluating prompts, LLM outputs, red-team suites, or model behavior with local eval configs and safe provider/cost controls.
test-driven-development
在实现任何功能或修复 bug 时使用,在编写实现代码之前.
test-driven-development
Red-green-refactor development methodology requiring verified test coverage. Use for feature implementation, bugfixes, refactoring, or any behavior changes where tests must prove correctness.
tdd
Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions "red-green-refactor", wants integration tests, or asks for test-first development.