Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jpvarbed/total-tdd
Systematic whole-app feature audit → test → fix loop, backed by tracker.py + render.py over one canonical CSV state machine. Inventory every feature into user stories with code-derived expected behavior, then loop: test every story, document errors, fix logic/UX bugs, re-test.
Passed 8 of 17 test cases with the skill, and 6 of 17 without it.
and 3 more in the full report
6 fixed5 passed either way9 still failing3 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
I marked feature ID 12 as fail in `docs/feature-audit.csv` because a test failed, but left the `issues` column blank. Will `tracker.py gate --phase 2` accept this row?
| Checked | Without skill | With skill |
|---|---|---|
| Model states that tracker.py gate rejects fail status rows missing issue repro details. | Missed | Passed |
The instructions your model reads when the skill loads.
A resumable, four-phase loop over an entire app. The canonical CSV is the single source of truth and the state machine. The deterministic mechanics — schema, phase inference, done-gates, tally, HTML render — live in two scripts so they never drift across resumes; your job is the judgment (what a feature is, what the code should do, whether observed behavior earns a status).
S=~/.claude/skills/total-tdd/scripts # this skill's scripts dir
python3 $S/tracker.py init # create docs/feature-audit.csv with the canonical header
python3 $S/tracker.py validate [--repair] # assert/repair the 9-col schema + status enum
python3 $S/tracker.py phase # which phase am I in + why (the resume command)
python3 $S/tracker.py gate --phase N # exit 0 iff phase N is complete, else lists blockers
python3 $S/tracker.py tally # "N total · spec/pass/fail/fixed/verified"
python3 $S/render.py docs/feature-audit.csv --app "<name>" # write docs/feature-audit.html
All read docs/feature-audit.csv (override with a path arg). Run tracker.py phase to
resume; run gate --phase N before advancing; run render.py after each phase. Tests:
python3 -m unittest discover $S.
Phase 2 drives the running app through three roles. Confirm one tool per role first — if any is missing, name it and stop, rather than downgrading to reading code (that defeats the skill):
agent-browser preferred, or any tool/MCP that can navigate, fill,
click, screenshot, and read console + network.portless preferred, or any fixed host:port / tunnel.emulate preferred, or any local mock for Stripe/GitHub/AWS and similar.docs/feature-audit.csv, one row per feature, columns
id,area,user_story,expected_behavior,source,status,issues,fix,verified. tracker.py
owns the schema; you fill the judgment:
test cases passed, vs 6 / 17 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.