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/lerianstudio/ring/test-driven-developmentnpx skills add LerianStudio/ring --skill test-driven-developmentgit clone --depth 1 https://github.com/LerianStudio/ringWhat 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.00089 | $0.00914 |
| Opus 5 | $0.00044 | $0.00457 |
| Sonnet 5 | $0.00018 | $0.00183 |
| Haiku 4.5 | $0.00009 | $0.00091 |
Grade A, and why
ring: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 2d 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 — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Test-Driven Development (TDD)
When to use
- Starting implementation of new feature
- Starting implementation of bugfix
- Writing new production code
Skip when
- Reviewing/modifying existing tests
- Exploratory/spike work — TDD is for known requirements, not exploration.
Write the test first. Watch it fail. Write minimal code to pass.
Core principle: If you didn't watch the test fail, you don't know if it tests the right thing.
The Iron Law
NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
RED → GREEN → REFACTOR
RED: Write Failing Test
Write one minimal test showing what should happen. Name describes behavior. Tests real code (not mocks unless unavoidable).
Time limit: <5 minutes. Complex setup = design too complex.
# Run test — MANDATORY. Never skip.
npm test path/to/test.test.ts # or go test ./... | pytest
Paste the actual failure output. No output = violation.
| Test Type | Expected Failure |
|---|---|
| New feature | NameError: function not defined or AttributeError |
| Bug fix | Actual wrong output/behavior |
Test passes immediately? You're testing existing behavior — fix the test.
GREEN: Minimal Code
Write simplest code to pass the test. Nothing more. No extra features, no refactoring unrelated code.
Run test → confirm passes → confirm other tests still pass.
REFACTOR: Clean Up
After green only. Remove duplication, improve names. Keep tests green. Don't add behavior.
Repeat
Next failing test for next feature.
Violation: Code Written Before Test
Only one action: DELETE IT. Immediately.
rm <files> # remove new files
git restore --staged --worktree <files> # discard changes to tracked files
# Destructive operations (e.g., git reset --hard) require user confirmation.
Delete means gone forever. These are NOT deleting: git stash, mv to .bak, commenting out, keeping as "reference."
No asking permission. No alternatives. No exceptions.
- Deadline? Delete, communicate delay, do it right.
- 4 hours of work? Sunk cost fallacy. Delete.
- Manager pressure? Delete, explain TDD prevents bugs.
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.
- 2d ago First seen · 119 lines · 89 tokens per session scan A c235b813567d
ring:test-driven-development is a skill published in the GitHub repository LerianStudio/ring (210 stars, last pushed 13d ago), licensed Apache-2.0. It adds 89 tokens to every session and 914 once invoked, about $0.0004 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
brainstorm
Explores a codebase, researches the problem space, and produces an approved design specification before any code is written. Use when the user wants to create a new feature, add significant functionality, redesign a subsystem, or build something that touches multiple parts of the project.
pentest
Hybrid white-box + black-box penetration testing across 7 dimensions (PT1-PT7). Stack-aware source-to-sink tracing, exploit verification, CMS overlay, and deterministic finding aggregation. Uses explicit candidate schemas, canonical-key deduplication, score caps, and MUST-GATE enforcement. Flags: zuvo:pentest [path] |…
a11y-audit
Dedicated WCAG 2.2 AA/AAA accessibility audit across 10 dimensions (A1-A10) covering semantic HTML, keyboard navigation, ARIA patterns, color contrast, forms, images/media, responsive/zoom, motion/animation, reading/content, and legal compliance. Goes far beyond surface-level design-review checks with deep…
debug
Systematic bug investigation with a five-phase framework: reproduce, narrow, diagnose, fix, verify. Supports automated regression bisect via --regression flag. Produces a structured debug report with root cause analysis, regression test, and CQ/Q self-evaluations.
init
Write or refresh the ## Tech debt operations section in CLAUDE.md so a team shares one source of truth for debt-ops disciplines and cached quality commands. Idempotent. Only the managed section changes; other sections are untouched. Invoked explicitly via /debt-ops:init (solo users get the same content from the…
debt-ops-init
Write or refresh a "Tech debt operations" section in the project's AGENTS.md so the team shares one source of truth for debt-ops disciplines. Run ONLY when the user explicitly asks to set up, install, or initialize debt-ops disciplines — never auto-invoke. Idempotent; only the managed section changes, other sections…