verify-counts — Claude Code skill: check numbers in your docs
This skill compares numeric claims in documentation against the real values and flags the outdated ones. Handy when a README still promises 14,000+ tests.
npx skills add ldayton/Dippy --skill verify-counts -a claude-codeWhat verify-counts does
The skill works from a table of claims. Each row points at a spot like README.md:14 claiming 14,000+ tests, wiki pages promising over 200 read-only commands or over 80 tools, and a handler count. Every claim gets its own command: uv run pytest --collect-only -q for the test tally, a Python one-liner that prints len(SIMPLE_SAFE) for the read-only list, and ls -1 src/dippy/cli/*.py for the CLI handlers.
You get a report per claim: the documented number, the actual one, and a status. PASS means the real value sits within roughly 10% of what the docs say. STALE covers claims that are technically true but well behind — “50+” next to an actual 77. FAIL is a claim that is simply wrong. Any STALE or FAIL comes with the files that need editing.
The checks are wired to one repository: paths under src/dippy/, the Parable test table in tests/README.md. Point it at your own project and those commands have to be rewritten, or it will keep auditing someone else's numbers. uv has to be installed, otherwise nothing runs.
What it helps with
- spot README numbers that drifted from reality
- match the documented test count against pytest output
- count CLI handlers and compare with the docs
- tell a stale claim apart from a false one
- get a list of files that need updating
Example prompts for the agent
- Check the numeric claims in the docs and show me which ones are stale
- Compare the test count and CLI handler count with what the README says
- Run verify-counts and tell me which files to fix
How to install verify-counts
1Skills CLI (Vercel)
npx skills add ldayton/Dippy --skill verify-counts -a claude-code2Manually: put the files in place
~/.claude/skills/verify-counts/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/verify-counts/
1Skills CLI (Vercel)
npx skills add ldayton/Dippy --skill verify-counts -a codex2Manually: put the files in place
.agents/skills/verify-counts/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add ldayton/Dippy --skill verify-counts -a cursor2Manually: put the files in place
.cursor/skills/verify-counts/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install ldayton/Dippy verify-counts2Manually: put the files in place
.github/skills/verify-counts/SKILL.md1Skills CLI (Vercel)
npx skills add ldayton/Dippy --skill verify-counts -a gemini-cli2Platform CLI
gemini skills install https://github.com/ldayton/Dippy --path .claude/skills/verify-countsManually: put the files in place
.devin/skills/verify-counts/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add ldayton/Dippy --skill verify-counts -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about verify-counts
How do I install verify-counts in Claude Code?
Run npx skills add ldayton/Dippy --skill verify-counts -a claude-code. The skill lands in ~/.claude/skills/verify-counts/SKILL.md.
What does verify-counts do?
It checks numeric claims in documentation against actual values and marks each one PASS, STALE or FAIL. Stale or false claims come with the files that need fixing.
Which commands does the skill run?
uv run pytest --collect-only -q to count tests, uv run python -c "from src.dippy.core.allowlists import SIMPLE_SAFE; print(len(SIMPLE_SAFE))" for read-only commands, and ls -1 src/dippy/cli/*.py | grep -v __init__ | wc -l for handlers.
Source text
SKILL.md · MIT
--- name: verify-counts description: Verify numerical claims in documentation are still accurate --- Verify all count assertions in documentation against actual values. ## Claims to Verify | Location | Claim | Verification | |----------|-------|--------------| | `README.md:14` | 14,000+ tests | Dippy + Parable combined | | `../Dippy.wiki/Reference/Security-Model.md:79` | Over 200 read-only commands | SIMPLE_SAFE count | | `../Dippy.wiki/Reference/Security-Model.md:94` | Over 80 tools | CLI handler count | | `../Dippy.wiki/Reference/Handler-Model.md:210` | 80+ handlers | CLI handler count | ## Verification Commands **Dippy tests:** ```bash uv run pytest --collect-only -q 2>/dev/null | tail -1 ``` **Parable tests:** Check table in `/Users/lily/source/Parable/tests/README.md` **SIMPLE_SAFE count:** ```bash uv run python -c "from src.dippy.core.allowlists import SIMPLE_SAFE; print(len(SIMPLE_SAFE))" ``` **CLI handlers:** ```bash ls -1 src/dippy/cli/*.py | grep -v __init__ | wc -l ``` ## Output Report each claim with: - Documented value - Actual value - Status (PASS/FAIL/STALE) ### Status Criteria - **PASS**: Actual value is within ~10% of documented value - **STALE**: Claim is technically true but significantly outdated (e.g., "50+" when actual is 77) - **FAIL**: Claim is false If any claim is STALE or FAIL, note which file(s) need updating.
© ldayton · MIT · ldayton/Dippy