Code check
Post-write verification pass on code you just wrote or edited: re-read the real diff, make it actually run, confirm non-trivial logic has one runnable check behind it, and confirm every changed line traces to the request. Fires from the PostToolUse hook after Edit/Write on a code file, and on "check this", "verify that code", "did that actually run", "code-check". Not a full audit (/audit) and not a bug hunt (/code-review) — this is the did-what-I-just-wrote-actually-work pass.From its SKILL.md
npx -y skills add Evan-Daruwalla/claude-skill-suite --skill code-checkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
2.4 KB, 494 tokens by cl100k_base, as published. Nobody here has run it
code-check
Enforces the two rules that drift without a trigger — verify before claiming done, and non-trivial logic ships with one runnable check behind it — whether they live in your CLAUDE.md or only in your head. The hook fires deterministically; running the pass is still the model's job (a hook cannot invoke a skill).
SKIP WHEN the edit was a comment, a string, a doc, or a one-line constant — say so in one line and move on. Verification that costs more than the change it guards is theater.
The pass
-
Re-read the real diff.
git diff(or re-read the file region) — the actual bytes on disk, not your memory of what you meant to write. Most post-write bugs are visible here and nowhere else. -
Make it run. Cheapest thing that proves it executes:
python -c "import mod",node --check file.js,tsc --noEmit, the linter, the existing test. If the project has a suite that covers this path, run it and paste real output. No output = not verified. -
One runnable check behind non-trivial logic. A branch, loop, parser, or money/security path leaves behind the smallest thing that fails if the logic breaks — an assert-based self-check or one small test. No frameworks, no fixtures unless asked. Trivial one-liners are exempt.
-
Scope. Every changed line traces to the request. Anything else — drive-by reformat, an import you added then stopped needing, a helper nobody calls — comes back out now.
Report
One block, honest:
ran: <command> → <real result>
checked: <what step 3 left behind, or "n/a — trivial">
scope: clean | removed <X>
A failure reported with its output beats a pass you didn't run. Never write "should work" — either it ran or it didn't, and say which.
Config
- Off for a session:
CODE_CHECK_OFF=1. - Nudge debounce and the code-file extension list live at the top of
hooks/postwrite-check.js.
What ships with it: 1 file
3.8 KB alongside SKILL.md, 1 of them executable
hooks/
- postwrite-check.jsruns3.8 KB