What does prove do?
You read the document and propose checks. provecheck decides every verdict.
PROVE below means python3 ${CLAUDE_SKILL_DIR}/scripts/provecheck.pyz.
If ${CLAUDE_SKILL_DIR} is not replaced by a path where you read this, it is the folder
that holds this SKILL.md.
- If
python3is missing or fails (on Windows it is often only a Store shortcut), run the very same command withpython, and if that fails too, withpy -3. Do not search the machine for an interpreter. - Write the full path in every command: do not store it in a shell variable. Run one
PROVEcommand per call. Quote the path if it contains spaces. - Open the
reference/files with your file-reading tool and writeclaims.jsonwith your file-writing tool, not withcator a shell heredoc.
Rules you must not break
- Never state a verdict that
provecheckdid not print. Never change one. Do not call a claim wrong, right, fine or suspicious on your own judgement. - Copy numbers exactly as printed, with the sentence or table row they sit in. Do not correct, round, reformat or convert them.
- A number is rounded unless you can name why it is exact:
count,ledger,definedorcell. - If you cannot say how a number should be computed, do not invent a derivation. Leave it without a claim.
- Every number in the document ends up either in
numbersor inskippedwith a reason. Run the coverage step and go back for anything missed. - Do not fix the document, and do not edit
verdicts.jsonor the reports.
Steps
Work in a folder named prove-work/ in the current directory. DOC is the user's file.
- Ingest.
PROVE ingest DOC -o prove-work/doc.json --render-pages prove-work/pagesIf it says PDF support is missing, trypip install pymupdfonce. If that is not possible, read the file with your own tools, skip--docin step 4, and tell the user that numbers could not be grounded, so nothing can be reported as contradicted. - Scan.
PROVE scan prove-work/doc.jsonlists every numeric token with its page. This is your checklist for rule 5.PROVE text prove-work/doc.jsonprints the text of each page: copy your quotes from it. - Read and write
prove-work/claims.json. First readreference/claims-schema.mdin this skill's folder: it defines every field. Then read the document itself (and the page images for a PDF) and record:- Derived numbers: totals, differences, shares, growth rates, averages, CAGR, ranks. When the parts are printed, compute a share from the sum of the parts, not from a printed total that is itself being checked.
- Cross-references: the same quantity printed in two places (
eq). - Charts: only after reading
reference/charts.md. Read each mark twice, the second time from a 2× crop made withPROVE crop. Give an honest interval, not a point. - Sources: DOIs, arXiv ids, URLs, and any direct quotation with its source.
- Everything else numeric goes in
skippedwith a reason (year, page number, …). Page numbers and quotes must match whatPROVE textprinted, not your memory.
- Check.
PROVE check prove-work/claims.json --doc prove-work/doc.jsonIt prints the verdicts and writesprove-work/verdicts.json. If it reports schema errors,not-grounded,parse-mismatch,unit-mismatch,scale-mismatchor missed numbers, the cause is usually in your claims file: fix the file and run it again. Never fix it by changing what the document says. Stop when what remains is true of the document. - Sources.
PROVE sources prove-work/claims.jsonif the file lists any. Without network access add--offlineand tell the user sources were not checked. - Report.
PROVE report prove-work/verdicts.json --html --md --cardExit code 1 here means at least one claim is contradicted. It is a finding, not a failure. - Tell the user, in this order:
- how many claims were contradicted, then each one in a sentence with the
computation, copied from what
provecheckprinted; - the suspect claims, each with its possible range;
- the coverage line, and how many numbers were missed if any;
- what was not checked and why (unverified claims, sources when offline, charts that could not be read);
- the path of
prove-work/prove-report.html.
- how many claims were contradicted, then each one in a sentence with the
computation, copied from what
What to say about each verdict
- contradicted: "This cannot be right under any rounding." Show the numbers.
- suspect: "This only works if the inputs sit at the edge of their rounding." Show the range.
- unverified: "Not checked", with the reason. Never present it as a problem with the document.
- verified: mention the count; list them only if asked.
Chart verdicts rest on your reading of the image, and the report tags them read.
Say so, and keep them apart from the computed ones in your summary.
A clean report means the checked claims passed. Say how many were checked.
More detail, loaded when needed
reference/claims-schema.md— the claims file, field by field, with the list of relations and what eachunverifiedreason means. Read before step 3.reference/charts.md— how to read a chart for Prove. Read before any chart claim.reference/examples.md— two complete worked examples.