Claude Code Receipts — Testing skill for Claude Code
Claude Code plugin that checks the agent's end-of-turn claims against what it actually did this session — flags "tests pass" with no test run, "I edited X" with nothing touched, invented agreements.
How to install Claude Code Receipts
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open monikagadage/claude-code-receipts and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Claude Code Receipts does
Claude Code plugin that checks the agent's end-of-turn claims against what it actually did this session — flags "tests pass" with no test run, "I edited X" with nothing touched, invented agreements. Warn-only, deterministic, stdlib only.
Alternatives in Testing
- Spec Draft PR — Turn a feature idea or GitHub issue into a one-page spec saved to Documentation/specs/ and opened as a draft P 324 ★
- Mobile Scan — Quick QA scan of an existing mobile app 107 ★
- Test Matrix Planning — Turn a growing harness surface into a realistic verification matrix instead of a few lucky spot checks 58 ★
README
receipts
[](https://github.com/monikagadage/claude-code-receipts/actions/workflows/test.yml) [](LICENSE) 
**Claude Code says "Done ✅". This checks whether it actually did the thing.**
`receipts` is a Claude Code plugin that runs when Claude finishes a turn and compares what it *claimed* against what the session transcript *shows*:
- "all tests pass" — but no test command ran this session
- "I updated
src/auth.py" — but nothing touched that file - "as we agreed, switching to GraphQL" — but you never said that
It's a `Stop` hook. Deterministic — no network calls, no model, no API cost. It reads the transcript Claude Code already writes to disk. **Warn-only by default**: it surfaces the unbacked claims and lets you decide.
⚠️ receipts — 2 claims not backed by this session:
• "All tests pass." → no test command ran this session
• "I refactored auth.py." → nothing modified `auth.py` (files edited: routes.py, config.py)
Why
"Claude claimed the work was done and it wasn't" is one of the most common Claude Code complaints of 2026. The usual advice is a habit ("always ask for receipts") or a Stop hook that runs a *fixed* command like `npm test`. `receipts` is different: it reads the **specific claims** in Claude's final message and checks each one, with zero configuration.
Install
/plugin marketplace add monikagadage/claude-code-receipts
/plugin install receipts@monikagadage
Requires `python3` on your `PATH` (3.9+). No pip packages.
To try it without installing:
git clone https://github.com/monikagadage/claude-code-receipts
claude --plugin-dir ./claude-code-receipts
What it checks (v1)
| Claim in Claude's final message | Backed by | Flagged when |
|---|---|---|
| "tests |
Related Skills
Test Fixtures
Run this repo's LLM-based test fixtures (fixtures/scoring and fixtures/commands) end to end and report pass/fa
Red First Review Skill
Review a PR by measuring which of its own guards its own test suite actually catches. Neutralise each guard, r
Skills Test
Test skills against representative scenarios (positive, negative, ambiguous, incomplete-input, failure) — chec
Test Compress
Verify the deterministic /compress transcript extractor against the current session — fidelity, speed, cost. R
Claudemd Doctor
Run health checks on claudemd installation. Flags missing deps, spec drift, settings.json issues, hook drift,
Test Driven Development
Use when implementing any feature or bugfix, before writing implementation code - write the test first, watch
Related Agents
Dead Code
Confirms what nothing reaches — unreferenced exports, files, and dependencies from the tool receipts, plus wha
Session Log.Agent
Use at the end of a work session to append a structured session log to ~/.local/state/session-logs/YYYY-MM-DD.
Skill Applied Judge
Use this agent at session-end Phase 3.6.6 (#645 L3) to judge — from the session transcript tail — whether each