readchk — Claude Code skill: check the read before the work
This skill checks whether the agent understood your instruction before it spends real work on it. Useful for long or hard-to-undo requests.
npx skills add LilMGenius/paperthin --skill readchk -a claude-codeWhat readchk does
readchk catches a misread instruction before it turns into coherent work against the wrong target. The agent restates the request in its own words, then cross-checks that restatement against the current message, session history, project memory, files on disk and established conventions. When context settles the reading, the agent just proceeds.
It fires on long or bundled requests, on loose referents like "this", "that", "it", "the other one", "whatever is cleaner", and on anything where a wrong guess costs real work. The restatement has to be a paraphrase, since echoing the wording back proves little. If a genuine fork survives the cross-check, the agent asks one specific question and names the choice instead of a vague "does this look right?". Several ambiguities get handled one at a time, highest stakes first.
This is not factchk: the question is what you meant, not whether a claim about the world is true. For substantial work the agent logs a durable "understood as: ..." line before starting, so a later reader can audit whether the work matched the confirmed read. Those logs are for plans, multi-file changes and irreversible actions, not every turn. A silent pass is the normal outcome, and raising a question on an unambiguous request counts as a defect.
What it helps with
- catch a misread instruction before work starts
- break down a long, multi-part request
- pin down what a pronoun in the instruction refers to
- skip the clarifying question when context already answers it
- leave an audit trail of how the task was understood
Example prompts for the agent
- Restate my task in your own words and tell me if you read anything wrong
- The request says "make it cleaner" — work out what that refers to before touching the code
- Before editing several files, log how you understood the task
How to install readchk
1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill readchk -a claude-code2Manually: put the files in place
~/.claude/skills/readchk/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/readchk/
1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill readchk -a codex2Manually: put the files in place
.agents/skills/readchk/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill readchk -a cursor2Manually: put the files in place
.cursor/skills/readchk/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install LilMGenius/paperthin readchk2Manually: put the files in place
.github/skills/readchk/SKILL.md1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill readchk -a gemini-cli2Platform CLI
gemini skills install https://github.com/LilMGenius/paperthin --path skills/depth/readchkManually: put the files in place
.devin/skills/readchk/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill readchk -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 readchk
How do I install readchk in Claude?
Run npx skills add LilMGenius/paperthin --skill readchk -a claude-code. The skill lands in ~/.claude/skills/readchk/SKILL.md.
What does readchk do?
It verifies that the agent understood your instruction before spending work on it. It restates the request, cross-checks it against context, and asks only when a real fork remains.
How is readchk different from factchk?
readchk settles what you meant. factchk checks whether a claim about the world is true. Different questions.
Source text
SKILL.md · MIT
--- name: readchk description: "Verify the model's understanding of a user's instruction before spending non-trivial work. Use when a request is long, bundled, high-stakes, hard to undo, or has ambiguous scope or referents such as this, that, it, the other one, whatever is cleaner, or whichever order makes sense. Restate internally, cross-check against available context, proceed silently when resolved, and surface only a genuine surviving fork." --- Check the read before acting: did you understand the instruction correctly enough to spend the work? ## Goal `readchk` catches misread instructions before they become coherent work against the wrong target. It verifies a claim about the requester's intent against available context: the current message, session history, project memory, files on disk, and established conventions. This is not `factchk`: the question is what was meant, not whether a world claim is true. ## Workflow 1. Recognize the signal: a long or multi-part instruction, ambiguous scope or referents, deliberately flexible wording, or stakes high enough that a wrong guess would cost real work. 2. Restate the instruction internally in different words. Do not copy the user's wording back to yourself and treat that as understanding. 3. Cross-check the restatement against available context. Look for contradictions, missing antecedents, or two plausible readings that context cannot choose between. 4. If context resolves the read, proceed silently. Do not ask the requester to confirm what the available context already answered. 5. If a real fork survives, surface one specific clarifying question anchored to the restated understanding. Name the choice; do not ask a vague "does this look right?" 6. For substantial work, log one durable "understood as: ..." line before beginning so a later reader can audit whether the work matched the confirmed read. ## Rules - **Restate, don't echo.** A paraphrase proves you built a model of the request; a verbatim repeat proves little. - **Silent when context resolves it.** The default good outcome is invisible. Surfacing a question for a resolved or unambiguous request is a defect. - **One fork at a time.** If several ambiguities exist, surface the highest-stakes one first instead of dumping a checklist. - Never silently resolve a fork that changes the shape of the work. - **Log large commitments, not every turn.** Durable read logs are for plans, multi-file changes, irreversible actions, or work a fresh reviewer may need to audit. ## Verification Before proceeding with the work: the restatement is a paraphrase, every surfaced fork is genuinely unresolved by available context, and no substantial work starts without either a silent pass or a resolved fork.
© LilMGenius · MIT · LilMGenius/paperthin