From Darkroom Engineering
Runs typecheck, test, and lint gates to verify a diff is review-ready before human review. Attaches a proof report after diff-producing tasks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/darkroom:proof-of-workThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The Amdahl-shrink move from the Orchestration Tax: human review is the serial bottleneck, so don't spend it confirming what a machine can verify. An agent's diff is **review-ready** only when the machine-verifiable battery is green — types, tests, lint (and a screenshot for UI). What a machine can prove shouldn't cost a human's attention.
The Amdahl-shrink move from the Orchestration Tax: human review is the serial bottleneck, so don't spend it confirming what a machine can verify. An agent's diff is review-ready only when the machine-verifiable battery is green — types, tests, lint (and a screenshot for UI). What a machine can prove shouldn't cost a human's attention.
Run the battery on the current working tree:
bun run proof
It detects typecheck / test / lint from package.json, runs them cheapest-first, and prints one verdict:
review-ready ✓NOT review-ready ✗ — fix the failing gate before a human looksProjects can opt into advisory probes by depending on the tool — the gate then runs the project's pinned binary: react-doctor (React render/quality score, telemetry off) and/or deslop (framework-agnostic cross-file dead-code count). Advisory results are reported but never flip the verdict — deterministic signals alongside the hard gates, not blockers. Silent for projects that don't depend on them.
For UI changes, attach a screenshot (/qa or the chrome-devtools MCP) as the visual half of the proof — tests can't prove "looks right".
The mechanical battery proves the diff is self-consistent — it compiles, tests pass, lint is clean. It cannot prove the diff is correct: a bug that typechecks and passes the tests you wrote sails straight through. When the Codex bridge is available, add a semantic probe from a different model family on top of the mechanical gate:
bun "$HOME/.claude/src/scripts/codex-run.ts" review
Treat it exactly like react-doctor and deslop: advisory — reported alongside the verdict, never flips it. A green mechanical gate stays review-ready even if Codex raises a finding; surface the finding for the human to weigh, don't block on it. The bridge is gated and fails open — silent when Codex isn't installed, authed, or has quota.
Keep it out of bun run proof itself. That gate is cheapest-first and runs constantly; a remote model call would make every proof slow. Run this probe deliberately on non-trivial diffs — not on every typo fix — which also keeps it cheap regardless of how roomy the Codex window is.
the review-queue branch of tool-cadence.ts) limits how many unproven diffs pile up; this gate makes each one cheaper to close.Pure-research or read-only agent output (explore, oracle) has no diff to prove — proof-of-work is for changes, not findings.
npx claudepluginhub darkroomengineering/cc-settings --plugin darkroomGuides rigorous code review practices: technical feedback reception, subagent reviewer requests after tasks, verification gates before PR completion claims.
Runs a structured multi-phase verification pass on completed AI agent work, catching bugs, missed requirements, and incorrect assumptions before changes are committed.
Guides rigorous code review practices: evaluate feedback technically, request code-reviewer subagent reviews after tasks/features, verify before completion claims. For subagent-driven dev and PRs.