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/apexiq/skillsmith/test_driven_developmentnpx skills add ApexIQ/skillsmith --skill test_driven_developmentgit clone --depth 1 https://github.com/ApexIQ/skillsmithWhat 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.00030 | $0.00545 |
| Opus 5 | $0.00015 | $0.00272 |
| Sonnet 5 | $0.00006 | $0.00109 |
| Haiku 4.5 | $0.00003 | $0.00055 |
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 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.
What it actually says
🔴🟢♻️ Test-Driven Development (TDD)
Philosophy: Red -> Green -> Refactor. Write failing tests first, make them pass, then improve.
Workflow
1. 🔴 Red (Write Failing Test)
- Before writing any implementation code, create a test file.
- Write a test that describes the expected behavior.
- Run the test. It MUST fail. If it passes, the test is wrong.
2. 🟢 Green (Make it Pass)
- Write the minimum code required to make the test pass.
- Do not over-engineer. Do not add features not yet tested.
- Run the test. It MUST pass.
3. ♻️ Refactor (Improve the Code)
- Clean up the implementation. Remove duplication. Improve naming.
- Run the test again. It MUST still pass.
- Commit your work.
Examples
Backend (pytest):
# 1. Red - Write test first
def test_calculate_discount_applies_percentage(self):
result = calculate_discount(100, 0.1)
assert result == 90 # This will fail initially
# 2. Green - Minimal implementation
def calculate_discount(price, percentage):
return price * (1 - percentage)
# 3. Refactor - Improve if needed
Frontend (Testing Library):
// 1. Red
test('clicking delete removes item from list', async () => {
render(<ItemList items={mockItems} />);
await user.click(screen.getByRole('button', { version: 0.1.0
name: /delete/i }));
expect(screen.queryByText(mockItems[0].name)).not.toBeInTheDocument();
});
Benefits of TDD
- Forces you to think about API before implementation.
- Builds a safety net for future refactoring.
- Documentation through tests.
Guidelines
- One test = one concept. Don't test multiple behaviors in one test.
- Tests should be independent and runnable in any order.
- Treat test code with the same respect as production code.
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 · 72 lines · 30 tokens per session scan A db429da35a25
test-driven-development is a skill published in the GitHub repository ApexIQ/skillsmith (5 stars, last pushed 5mo ago), licensed MIT. It adds 30 tokens to every session and 545 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 skills, from other repositories
tdd
Use this skill to practice test-driven development — writing tests before implementation, using tests to drive design, and validating implementation against pre-written tests. Activates when implementing new functionality, refactoring code, or fixing bugs where regression coverage is needed.
test-writing
Writes meaningful tests that actually catch bugs.
Testing
Write comprehensive tests using TDD, maintain test coverage, and follow testing best practices.
Test Driven Development
Strict Red-Green-Refactor implementation methodology for high quality, regression-free software.
rove
Use when controlling Rove tasks, parallel coding attempts, hosted agent sessions, task lifecycle, or the daemon-owned issue tracker from a shell. Also the ONLY channel for messaging another agent session on this machine — rove api send, never a peer/MCP side channel.
release
Autonomously cut a Rove (@sma1lboy/rove) release end-to-end — detect the semver bump from pending changesets (flagging an upstream minor you didn't intend), run the release gates, bump/tag/push via scripts/release.sh, then poll the GitHub Actions Release workflow with gh until npm publish completes, diagnosing CI…