← ClaudeAtlas

did-it-actuallylisted

Verifies Claude's own work against the user's request before reporting done. Catches dropped sub-asks, stub bodies, premature "done", phantom edits. Use when the user has had to repeat themselves, when a task touched multiple files, or before any "done/completo/ready/shipped/pronto/feito" emission on multi-step work. Triggers — "did it actually", "is it really done", "are you sure", "audita-te", "verifica", "está mesmo feito", "self-audit", "did you test it", "confirma", "check your work". NOT a code reviewer (that's /code-review) — only verifies request fidelity.
pedroreisper/did-it-actually · ★ 0 · AI & Automation · score 73
Install: claude install-skill pedroreisper/did-it-actually
# did-it-actually — close the loop between request and reality You finished a task. You're about to type "done". **Don't.** Run this skill first. The cost of one self-audit is ~30 seconds and a handful of tool calls. The cost of the user discovering the gap is one wasted reply cycle. The cost of three wasted cycles is the user no longer trusting any "done" you ever emit. This skill is the closed loop: capture what was asked → check what shipped → if there's a gap, fix it without being told → re-check → only then report done. ## Core architecture Four artefacts, in order: 1. **`.did-it-actually/contract.yml`** — the original request decomposed into acceptance criteria, each individually checkable. Written at the START of the work, or reconstructed at audit time. See `references/contract-format.md`. 2. **`.did-it-actually/claims.jsonl`** — append-only ledger of every claim you made (`{op, path, sha_before, sha_after, cmd, exit_code}`). Written as you work, not reconstructed from memory. See `scripts/scan_session.py` for reconstruction when the ledger is missing. 3. **`.did-it-actually/report.json`** — structured audit outcome. Schema in `references/output-schema.json`. The prose verdict box is a *view* of this file. 4. **A fresh-context critic sub-agent** — spawned via the Task tool with `general-purpose` subagent_type. Receives ONLY the contract, the claims ledger, and `git diff HEAD`. Does NOT see this conversation. Returns per-criterion PASS/FAIL with file:line evidenc