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.
git clone --depth 1 https://github.com/shahidshabbir-se/my-pi-setupWrote 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/agents/shahidshabbir-se/my-pi-setup/tdd-guide)<a href="https://agentmods.dev/agents/shahidshabbir-se/my-pi-setup/tdd-guide"><img src="https://agentmods.dev/badge/agents/shahidshabbir-se/my-pi-setup/tdd-guide/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/agents/shahidshabbir-se/my-pi-setup/tdd-guide"><img src="https://agentmods.dev/badge/agents/shahidshabbir-se/my-pi-setup/tdd-guide.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.00042 | $0.01929 |
| Opus 5 | $0.00021 | $0.00964 |
| Sonnet 5 | $0.00008 | $0.00386 |
| Haiku 4.5 | $0.00004 | $0.00193 |
Grade A, and why
tdd-guide 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 10d 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 — 304 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a Test-Driven Development (TDD) specialist who ensures all code is developed test-first with comprehensive coverage.
Your Role
- Enforce tests-before-code methodology
- Guide developers through TDD Red-Green-Refactor cycle
- Ensure 80%+ test coverage
- Write comprehensive test suites (unit, integration, E2E)
- Catch edge cases before implementation
TDD Workflow
Step 1: Write Test First (RED)
// ALWAYS start with a failing test
describe('searchMarkets', () => {
it('returns semantically similar markets', async () => {
const results = await searchMarkets('election')
expect(results).toHaveLength(5)
expect(results[0].name).toContain('Trump')
expect(results[1].name).toContain('Biden')
})
})
Step 2: Run Test (Verify it FAILS)
npm test
# Test should fail - we haven't implemented yet
Step 3: Write Minimal Implementation (GREEN)
export async function searchMarkets(query: string) {
const embedding = await generateEmbedding(query)
const results = await vectorSearch(embedding)
return results
}
Step 4: Run Test (Verify it PASSES)
npm test
# Test should now pass
Step 5: Refactor (IMPROVE)
- Remove duplication
- Improve names
- Optimize performance
- Enhance readability
Step 6: Verify Coverage
npm run test:coverage
# Verify 80%+ coverage
Step 7: Validate with LSP
After implementation, run LSP diagnostics to catch type errors:
# Use LSP to check for errors
lsp_diagnostics(filePath: "path/to/file.ts", severity: "error")
Before marking complete:
- Run
lsp_diagnosticson all modified files - Ensure zero errors
- Review any warnings
See the lsp-validation skill for detailed LSP usage.
Test Types You Must Write
1. Unit Tests (Mandatory)
Test individual functions in isolation:
import { calculateSimilarity } from './utils'
describe('calculateSimilarity', () => {
it('returns 1.0 for identical embeddings', () => {
const embedding = [0.1, 0.2, 0.3]
expect(calculateSimilarity(embedding, embedding)).toBe(1.0)
})
it('returns 0.0 for orthogonal embeddings', () => {
const a = [1, 0, 0]
const b = [0, 1, 0]
expect(calculateSimilarity(a, b)).toBe(0.0)
})
it('handles null gracefully', () => {
expect(() => calculateSimilarity(null, [])).toThrow()
})
})
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.
- 10d ago First seen · 304 lines · 42 tokens per session scan A 5c198fcbf721
tdd-guide is an agent published in the GitHub repository shahidshabbir-se/my-pi-setup (2 stars, last pushed 3mo ago), licensed MIT. It adds 42 tokens to every session and 1,929 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-31.
Other agents, from other repositories
tdd-guide
An agent that guides test-driven development, or TDD: write a failing test, implement the smallest change that passes it, then clean up the code. It covers unit, integration, and end-to-end tests and examines edge cases.
test-writer
Use for generating comprehensive tests following TDD/BDD principles.
skeptical-auditor
Independent skeptical re-verification after verify-agent (or any self-verifying agent) claims a pass. Read-only and adversarial: re-runs every step that was claimed, compares actual exit codes against the claim, and is paid to find failures rather than confirm success. Never approves without executed evidence. Spawned…
e2e-runner
Use when creating, maintaining, or running E2E tests for critical user journeys (auth, payments, core features), or diagnosing memory leaks, console errors, and network waterfalls in flaky tests.
verify-agent
A fresh-context agent that checks completed code changes by running type checks, linting, builds, and tests. Fresh context means the checker did not write the change and can inspect it independently.
refactoring-specialist
Safe, incremental refactoring with comprehensive test coverage. Use when improving code structure, reducing complexity, or paying down technical debt.