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 ngvoicu/kluris --skill specmint-tdd-htmlgit clone --depth 1 https://github.com/ngvoicu/klurisWrote 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/ngvoicu/kluris/specmint-tdd-html)<a href="https://agentmods.dev/skills/ngvoicu/kluris/specmint-tdd-html"><img src="https://agentmods.dev/badge/skills/ngvoicu/kluris/specmint-tdd-html/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/skills/ngvoicu/kluris/specmint-tdd-html"><img src="https://agentmods.dev/badge/skills/ngvoicu/kluris/specmint-tdd-html.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.00147 | $0.11185 |
| Opus 5.5 | $0.00059 | $0.04474 |
| Sonnet 5.5 | $0.00029 | $0.02237 |
| Haiku 4.5 | $0.00015 | $0.01119 |
Grade A, and why
specmint-tdd-html 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 — 922 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Spec Mint TDD HTML
Turn ephemeral plans into structured, persistent specs built through deep
research and iterative interviews — with strict test-driven development at
every step. Every task starts with a failing test, production code exists
only to make tests pass, and refactoring happens under green. Tests use
testcontainers for real services, mock only at boundaries, and make no
external network calls. Specs render as professional HTML documents
(Mermaid diagrams, syntax-highlighted code diffs, optional wireframe or
hi-fi UI mockups, RGR swimlane TDD log, derived progress + current TDD
phase scorecard) and live in .specs/ at the project root. They work
with any AI coding tool that can read and edit HTML files.
Whether .specs/ is committed is repository policy. Respect .gitignore
and the user's preference for tracked vs local-only spec state.
Critical Invariants
- Single-file policy: Keep this workflow in one
SKILL.mdfile. - Canonical paths:
- Registry:
.specs/registry.md(markdown, denormalized index) - Shared assets:
.specs/assets/spec-styles.css+.specs/assets/spec-runtime.js - Per-spec files:
.specs/<id>/SPEC.html,.specs/<id>/research-*.md,.specs/<id>/interview-*.md - Optional scratch:
.specs/<id>/artifacts/— any AI-tool transient files (test-run logs, attempt dumps, debug traces). Never authoritative. Don't write scratch files anywhere else under.specs/<id>/.
- Registry:
- Authority rule: The
<script id="spec-meta">JSON insideSPEC.htmlis authoritative for identity.data-statusattributes on tasks / phases / acceptance criteria are authoritative for lifecycle. Thedata-tdd-phaseattribute on an IMPL task carries RGR state. The registry is a denormalized index for quick lookup. - Active-spec rule: Target exactly one active spec at a time.
- Parser policy: Use best-effort parsing with clear warnings and repair guidance instead of hard failure on malformed rows.
- TDD invariant: No production code without a failing test. The implement workflow enforces red-green-refactor at every task. Tests are executed via the actual test runner, not assumed to pass. This is sacred — see "Tests Are Sacred" and "Blocking Rule" in the implement section.
- Progress tracking is sacred: After completing any task, immediately
update
SPEC.html(swapdata-status, update phase pill if transitioning, append TDD log entry on cycle close) ANDregistry.md(progress count, date). Run the validate recipe (seereferences/validate.md) to confirm the file still parses. Re-read both files to verify the edits landed. Never move to the next task without updating both files. Never end a session with the registry out of sync with the derived progress inSPEC.html. This is non-negotiable.
What ships with it
11 files 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.
- assets/spec-runtime.js 35 KB runs code
- assets/spec-styles.css 50 KB
- references/command-contracts.md 15 KB
- references/edit-recipes.md 17 KB
- references/html-template.html 12 KB
- references/mockup-library.md 9.8 KB
- references/researcher.md 18 KB
- references/spec-format.md 9.2 KB
- references/testing-knowledge.md 12 KB
- references/validate.md 5.9 KB
- references/wireframe-library.md 9.4 KB
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 Changed · +668 lines · +73 tokens per session fb21d4bbfd6f
- 1mo ago First seen · 254 lines · 74 tokens per session scan A 901854e19124
specmint-tdd-html is a skill published in the GitHub repository ngvoicu/kluris (6 stars, last pushed today), licensed MIT. It adds 147 tokens to every session and 11,185 once invoked, about $0.0006 per session on Opus 5.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
writing-skills
A guide for creating and testing reusable instructions for AI agents, called skills. It applies test-driven development, or TDD—the practice of writing tests before implementation—to instruction documents.
test-driven-development
Test-driven development, or TDD, is a way to build software by writing a test that fails, adding the smallest code that makes it pass, and then cleaning up the code. These instructions require that process for features, bug fixes, refactors, and behavior changes.
ijfw-tdd
RED-GREEN-REFACTOR enforcement. Use when implementing a feature or bugfix before writing implementation code. Trigger: tdd, test first, red green refactor, /ijfw-tdd.
python-testing
Expert in Python testing with pytest and test-driven development.
testing-strategy
Design test strategies and test plans with coverage targets. Complements /draft:coverage which measures what this skill plans. Auto-loaded by /draft:implement before TDD.
pdlc-feature
An automated workflow for taking a new software feature from a description or requirements document through requirements, design, testing, implementation, review, and release preparation. It keeps one feature ID across the documents and requires tests before implementation.