verifying-before-done — Claude Code skill
An agent skill that forces a check on the changed code's real surface and a pasted verify output before any completion claim goes out.
npx skills add riekelt/principal-engineer --skill verifying-before-done -a claude-codeWhat verifying-before-done does
The trigger is the sentence the agent is about to write: shipped, fixed, all green. This skill makes it earn that sentence. Instead of judging by the diff, the agent exercises the path where the change meets its caller — sets the switched flag, sends the handler its request, hits the error branch — and reports what came back.
A clean suite is treated as suspicious, not reassuring. The skill asks whether the test actually ran and whether it can go red at all; a check that never fires yields a confident and wrong “done”. It also keeps three levels apart: present in the repo, running live, and confirmed in the outside system. Evidence from one never stands in for another.
Before wrapping up, the agent sweeps the diff for stray edits, missing docs and acceptance criteria that were only roughly met. Changes on declared critical paths, plus irreversible migrations, need a reviewer who did not write the code. The skill requires principal-engineering as background, so that one goes in first. Destructive operations are not run live: with no safe target, verification happens around them and the untested path gets named.
What it helps with
- prove a fix by running it rather than reading the diff
- catch a test that never actually executed
- separate deployed from merely committed
- clear a red gate left over from earlier work
- strip unrelated edits from the diff before reporting
Example prompts for the agent
- Run the change at its surface and paste the verify command output.
- The suite is green — show that this test ran and that it can fail.
- Report what is implemented, what is deployed and what is confirmed outside.
How to install verifying-before-done
1Skills CLI (Vercel)
npx skills add riekelt/principal-engineer --skill verifying-before-done -a claude-code2Manually: put the files in place
~/.claude/skills/verifying-before-done/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/verifying-before-done/
1Skills CLI (Vercel)
npx skills add riekelt/principal-engineer --skill verifying-before-done -a codex2Manually: put the files in place
.agents/skills/verifying-before-done/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add riekelt/principal-engineer --skill verifying-before-done -a cursor2Manually: put the files in place
.cursor/skills/verifying-before-done/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install riekelt/principal-engineer verifying-before-done2Manually: put the files in place
.github/skills/verifying-before-done/SKILL.md1Skills CLI (Vercel)
npx skills add riekelt/principal-engineer --skill verifying-before-done -a gemini-cli2Platform CLI
gemini skills install https://github.com/riekelt/principal-engineer --path plugins/principal-engineer/skills/verifying-before-doneManually: put the files in place
.devin/skills/verifying-before-done/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add riekelt/principal-engineer --skill verifying-before-done -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 verifying-before-done
How to install verifying-before-done in Claude Code?
Run npx skills add riekelt/principal-engineer --skill verifying-before-done -a claude-code; the skill file then sits at ~/.claude/skills/verifying-before-done/SKILL.md.
What does verifying-before-done do?
It blocks a completion claim until the changed code has been driven on its surface and the verify command output backs the report.
Why not just run the whole test suite?
A full run answers “did anything break”, not “does my change work”. If the suite never covered that path, a pass says nothing about it, so the skill asks for a targeted check.