verify-claims
Skill2 starsChanged 8 days agoApache-2.0View on GitHub
Verify claims about third-party behaviour against upstream source at the version you run, one parallel worker per claim. Use when a design doc, research report, PR description, or learnings entry asserts how a tool/controller/library behaves and those assertions decide something. Trigger phrases: "verify these claims", "check this against the source", "is this actually true", "/verify-claims", "ground this doc", "R2 pass". Implements reflex R2 at fan-out width.
12 other projects use a version of this.
Adopted by
Most recently taken up by
- carriegale2710/resume-tailortheir own version, first seen Nov 8, 2026
- pedrohcgs/claude-code-my-workflowtheir own version, first seen Nov 7, 2026
- happier-dev/happiertheir own version, first seen Nov 3, 2026
- jasoncaston/two-body-verifytheir own version, first seen Nov 1, 2026
- zirui-song/claude-skillstheir own version, first seen Nov 1, 2026
- ShaishavMaisuria/research-paper-lifecycle-skillstheir own version, first seen Nov 1, 2026
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- happier-dev/happier★ 2.2ksame name
- pedrohcgs/claude-code-my-workflow★ 1.7ksame name
- indranilbanerjee/digital-marketing-pro★ 934same name
- ShaishavMaisuria/research-paper-lifecycle-skills★ 59same name
- AlessandroCaforio/Academic-Writing★ 17same name
- zirui-song/claude-skills★ 17same name
- bhagyamudgal/skills★ 2same name
- busycaesar/Harness★ 1same name
- carriegale2710/resume-tailor★ 1same name
- ChenneyZhuang/verify-claims★ 0same name
2 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository16 other files it gives its agents.
- AGENTS.mdAGENTS.md
- adopt-evalSkill
- contract-validationSkill
- create-prSkill
- designSkill
- graphifySkill
- helm-upgradeSkill
- ingest-readingSkill
- investigate-alertSkill
- k8s-debugSkill
- parallax-reviewSkill
- shiny-engineerSkill
- stakeholder-commsSkill
- stop-slop-codeSkill
- systematic-debuggingSkill
- upstream-triageSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 42
Write claims to a file and pass the path: Never inline them in a shell argument — backticks in a claim are command substitution, which both …
“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
verify-claims — R2 at fan-out width
Reflex R2 (core/protocols/code-quality.md) says any
claim about third-party runtime behaviour must be backed by its source at the version you run,
cited file:line. Checking claims one at a time is why it gets skipped. This fans them out.
When it pays
A document makes several load-bearing assertions about a tool you did not write — a controller's reconcile behaviour, an admission check, a default, a flag's effect. Each is independently checkable, so they parallelise perfectly.
Not for claims about your own code (read it), your cluster state (query it), or anything where one grep settles it. Two claims is a grep; six is a fan-out.
Flow
1. Extract claims to a file
Pull out the falsifiable assertions — ones a source read can settle. Skip opinions, recommendations, and anything about your own repo.
cat > /tmp/claims.md <<'EOF'
1. <claim> | tool: <name> | version: <pinned version you run>
2. <claim> | tool: <name> | version: <pinned version you run>
EOFWrite claims to a file and pass the path. Never inline them in a shell argument — backticks in a claim are command substitution, which both corrupts the prompt and executes whatever is inside them.
Every claim carries its version pin. "Does the controller do X" is unanswerable; "does controller 1.29.6 do X" is a source read. A claim without a version is not yet a claim — fix it before dispatch.
2. Fan out, one worker per claim
Cap at 8 concurrent. Beyond that you hit rate limiting and gain nothing.
Dispatch all in a single message so they run in parallel. Each worker gets one claim only and no other worker's output.
Worker brief:
Verify exactly this claim against the tool's SOURCE at the stated version. Find the repository, check out or fetch that version, read the relevant code, and cite
file:line. Documentation, release notes, blog posts and issue threads are NOT evidence — they are frequently stale or aspirational. Return one of: CONFIRMED (+file:lineand the code that shows it) · REFUTED (+file:lineand what the code actually does) · UNVERIFIABLE (+ what you looked at and why it did not settle it). Do not soften a REFUTED into "partially correct". Do not dispatch further workers.
Mixed-runtime is better than uniform: send some claims through
agent-knowledge/scripts/codex-dispatch.sh
(or your runtime's cross-model equivalent) so a second model class reads the same kind of
source. A model that wrote a claim is a poor choice to check it.
3. Report — never silently drop
| Verdict | What happens |
| CONFIRMED | annotate the claim with its file:line so the next reader need not re-verify |
| REFUTED | correct the source document, and say what it used to say |
| UNVERIFIABLE | tag UNVERIFIED (assumption) in place — never delete it |
Deleting an unverifiable claim destroys exactly the signal the reader needs. A claim you could not check is information; silence is not.
Output:
claim verdict evidence
------------------------------------- ------------- -----------------------------------
<short form> CONFIRMED pkg/foo/bar.go:412
<short form> REFUTED actually returns nil — bar.go:88
<short form> UNVERIFIABLE source is generated; no upstream fileLead with REFUTED and UNVERIFIABLE. A confirmed claim needs no attention.
Why this exists
A learnings entry asserted that isolation between two environments came from a cloud account boundary. The two environments actually shared one account — the isolation came from a name-prefix glob, which is a far weaker guarantee. The claim sat in the knowledge base for weeks and surfaced only during a consolidation sweep. One worker and one source read would have caught it the day it was written.
That is the shape to watch for: a claim that names the strongest plausible mechanism for a property you have observed, without anyone having checked which mechanism is actually load-bearing.
Correcting a wrong claim in a knowledge base is cheap. Acting on one is not.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

