agentleFS
ThakurvaibhavThakurvaibhav/platform-agent-harness/skills/verify-claims/SKILL.md

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

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
  1. Distinctive:

    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 …

    line 42

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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>
EOF

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 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:line and the code that shows it) · REFUTED (+ file:line and 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

VerdictWhat happens
CONFIRMEDannotate the claim with its file:line so the next reader need not re-verify
REFUTEDcorrect the source document, and say what it used to say
UNVERIFIABLEtag 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 file

Lead 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.