agentleFS
localoy-ailocaloy-ai/localstack/fact-check/SKILL.md

fact-check

Skill2 starsChanged 41 days agoMITView on GitHub

Checks any claim against the web — news, numbers, quotes, people, companies, science, history — finds the evidence (primary sources first), grades each claim Confirmed, Reported, Unverified or Contradicted with a confidence level and the reason, and makes any text that uses it say no more than the evidence allows. A source saying something is evidence, not fact. (localstack)

38 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use deep-research, seo and 2 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • NVIDIASkill

    deep-research

    Queue deep, multi-step research and analysis tasks to the DeepAgents worker. Supports execution depth presets, request-specific rubrics, SubAgent delegation, and RubricMiddleware cross-validation.

    Also in 4 projects that use this

  • nilssonrSkill

    seo

    Full SEO workflow for auditing pages and creating SEO-optimized content. Provides checklists with educational explanations aligned with Google Search Central documentation.

    Also in 3 projects that use this

  • NVIDIASkill

    research

    Before designing a feature, research how comparable libraries solve the problem, check best practices, known pitfalls, and upstream changes. Use when starting a new feature, investigating an unfamiliar area, or the user asks to research something.

    Also in 3 projects that use this

  • BlockSkill

    frontend-design

    Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 10 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 31 edited versions we read keep these.

  • 10

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Never upgrade a grade to make the writing easier.

    line 75
  2. Distinctive:

    Every claim also gets a confidence level — how sure you are of the grade, given everything found, in one plain line of why:

    line 87
  3. Very specific:

    If the text is in the folder already (a draft under PLAN-<topic>.md's "## Drafts", a leads-<topic>.csv, research-<topic>.md), read it there.

    line 114
  4. Distinctive:

    Ask for anything still missing in a SINGLE message, then wait.

    line 116
  5. Distinctive:

    2. Gather evidence, primary first: Search the open web, then read the pages themselves (a search snippet is a pointer, not evidence).

    line 127
  6. Distinctive:

    Search both ways: for the claim, and for it being false ("<claim> false", "<claim> denied", "correction").

    line 146
  7. Distinctive:

    Every claim in the final text has a row, and its wording matches its grade.

    line 210
  8. Distinctive:

    Every row has a confidence level with a reason a person can check.

    line 211
  9. Distinctive:

    Every Confirmed row quotes a primary source or two independent ones.

    line 213
  10. Distinctive:

    No hedge in a source is missing from the text that relies on it.

    line 214
  11. Distinctive:

    Every person's name and title is quoted from a page that lists people.

    line 215

“Common” is measured: kept by at least 6 in 10 of the 31 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

When to invoke this skill

Any time a claim needs checking, whatever it is about: a news story, a number, a quote, a statistic, a scientific finding, a historical date, a person's title, a company's round, a viral post. Two uses:

  • Asked directly — "is this true?", "did this really happen?", "how sure are we?": answer each claim with its grade, a confidence level and why.
  • Before saying it — before saying something as true to someone outside — a note that congratulates a founder on a round, a post that quotes a number, an email that names a customer — and whenever someone asks "is this true?" or "are we sure?". Other skills call it before they write a fact into anything that leaves the folder: /lead-draft before a draft states a fact about a lead, /social-post before a caption states a number.

Evidence is not fact — the hard boundary

A page saying something is evidence that it was said, by someone, on a date. Whether it is true is a judgement about that evidence, and the judgement is the grade. Three mistakes this skill exists to stop (all seen on 2026-10-06, congratulating five founders on their rounds):

  • The hedge that disappears. An article said Corgi "reportedly raised"; the summary said "raised". Every hedge in a source — reportedly, according to, sources say, is said to, rumoured, plans to — travels with the claim to the last word written.
  • The sentence out of context. "Aayush, JP and Aditya" read as three people when the founder list two lines below says "Aditya (JP) Jayaprakash". A person's name, title and company come from the source that lists people (the company's team or founder page, the person's own profile), never from a passing mention.
  • One source, said twice. Two outlets repeating one report are one source. Trace a claim to where it began; independence means each found it out for itself.

Never upgrade a grade to make the writing easier. Never write a claim more strongly than its grade allows.

The grades

GradeWhenHow it may be written
ConfirmedA primary source states it (the company's own post, filing, official page, the person's own words), or two independent sources each reported it themselvesAs fact: "raised a $75M Series B"
ReportedOne secondary source, or any source that hedgesWith the hedge, named: "reportedly raised, per TechCrunch" — or left out
UnverifiedNothing found beyond the claim itselfNot written as fact; ask, or leave it out
ContradictedSources disagreeNot written; show both sides to the person

Every claim also gets a confidence level — how sure you are of the grade, given everything found, in one plain line of why:

  • High — the evidence is direct and strong: a primary source, or independent sources that agree, and nothing credible against it.
  • Medium — the evidence is real but thin or indirect: one good outlet, a hedge, a primary source that is vague, or a detail (amount, date) that sources state differently.
  • Low — little to go on: one weak or partisan source, an anonymous post, a very fresh story still changing, or credible sources against it.

The grade says what the evidence is; the confidence says how much to trust that reading. A Confirmed claim from an official page is High; Reported by one careful outlet doing its own reporting is often Medium; a viral post with no source is Unverified, Low.

Also note Stale beside a grade when the evidence is older than the claim needs (a "recent" round announced a year ago; a title from an old profile): say the date, and write it in the past.

What you need first

  • The claims, or the text to check (a draft, a list, a table), and what it will be used for — a public post needs Confirmed; an internal note can carry Reported with its hedge.
  • The topic for the file name: <topic> (yc-founders, launch-post).

If the text is in the folder already (a draft under PLAN-<topic>.md's "## Drafts", a leads-<topic>.csv, research-<topic>.md), read it there. Ask for anything still missing in a SINGLE message, then wait.

Procedure

1. Split into claims. One checkable statement per line: who, what, number, date ("Corgi raised at a $4B valuation in July 2026"; "Aditya Jayaprakash is CEO of Blacksmith"; "Weave's Series A was $13.5M"). Names and titles are claims too. Opinions and the sender's own news are not checked.

Scratch for this run lives in .localstack/work/{date}-{slug}/ — hidden, one directory per run, so a new run never clobbers an earlier one and the folder's top level stays the standard files. Scratch is disposable; old run directories may be deleted freely.

2. Gather evidence, primary first. Search the open web, then read the pages themselves (a search snippet is a pointer, not evidence). For each claim, look in this order and stop when it is Confirmed:

  1. The primary source — whoever the claim is about or who made it: the company's own announcement or filing; the government agency, court, regulator or statistics office's own page; the study or paper itself (not the press release about it); the full speech, video or transcript for a quote; the person's own profile or post; an official directory (for YC companies: the company's ycombinator.com page lists founders and batch).
  2. Independent reporting — an outlet that did its own reporting (an interview, a document seen, a reporter on the scene), not a rewrite. For claims already doing the rounds, an established fact-checker's verdict (Reuters, AP, AFP Fact Check, Snopes, PolitiFact, Full Fact) counts, with its date.
  3. Anything else, labelled for what it is: an aggregator, a wire repost, Wikipedia (a pointer to its own citations, which you then read), a forum, a social post.

Search both ways: for the claim, and for it being false ("<claim> false", "<claim> denied", "correction"). A correction or retraction outranks the story it corrects. For fresh news, note the time: early reports change, and a story under a day old is rarely High.

For each piece of evidence record, in .localstack/work/{date}-<topic>/evidence.md: the claim, the URL, who published it, its date, the date read, and the exact words (at most 40) that bear on the claim — including any hedge. Read the words in their context: the sentence before and after, and for people the list or heading they sit under.

3. Grade each claim from its evidence by the table above. A claim whose primary source and reporting disagree is Contradicted, even if the reporting is louder.

4. Rewrite to the grade. Go through the text that will be used and change every sentence so it says no more than its claims' grades allow: drop the amount that is only Reported, add "reportedly" and the outlet, take out the Unverified, write a Stale fact in the past. Show each change.

5. Write facts-<topic>.md at the top of the working folder:

# Facts — <topic>
Checked: YYYY-MM-DD · for: <what the text is used for>

| Claim | Grade | Confidence — why | Evidence (exact words) | Source | Published | Read |
|---|---|---|---|---|---|---|
| Firecrawl raised a $75M Series B | Confirmed | High — the company's own post, signed by its CEO | "We raised a $75M Series B led by Smash Capital" | https://… (Firecrawl blog) | 2026-09-22 | 2026-10-06 |
| Corgi raised at a $4B valuation | Reported | Medium — one outlet, citing another, hedged | "reportedly raised more money at $4B" (citing Forbes) | https://… (TechCrunch) | 2026-07-23 | 2026-10-06 |

## Changes to the text
- <before> → <after> — because <claim> is <grade>

## Could not check
- <claim> — looked at: <where>

A rerun replaces the file; CHANGELOG.md and git keep the history.

Standard files. This folder is kept in files any agent already reads. Update them in place; never scatter output into new folders.

  • AGENTS.md — create it if missing. localstack owns only the block between <!-- localstack:start --> and <!-- localstack:end -->; rewrite that block, never anything outside it. The block says what this folder is for, the rules (drafts only; nothing is sent without the user's explicit yes, one message at a time; no invented facts), a map of the files below, and one line per topic (its PLAN, its lead count, the next unticked step) and per report (its file and date).
  • CHANGELOG.md — create it if missing (# Changelog). Add one bullet for this run under today's ## YYYY-MM-DD heading, newest date first: the skill, the topic, and the counts or outcome (e.g. - lead-search austin-dentists: 18 found, 3 skipped as already contacted).
  • TODOS.md — create it if missing (# TODOs). Add each open next action as - [ ] <action> (<topic>); tick items this run finished; never delete lines.
  • DESIGN.md — decisions meant to last (positioning, tone, channels to use or avoid). Read it before writing anything a person will see; add to it only when the user states or approves a decision.

For this step: the CHANGELOG line gives the topic and the count per grade. One TODO per Unverified or Contradicted claim the text still needs (- [ ] confirm: <claim> (fact-check <topic>)).

6. Report. For a direct question, lead with the answer per claim — grade, confidence and the one-line why, with the best source. For a text, lead with what changed in it and why, then the grade counts. Say plainly which claims cannot be said as fact and what would confirm them.

Completion status. End the chat report with one of:

  • DONE — completed, with the evidence named (files written, counts, URLs).
  • DONE_WITH_CONCERNS — completed, and list each concern.
  • BLOCKED — cannot proceed; say what blocked it and what was tried.
  • NEEDS_CONTEXT — missing information; say exactly what is needed.

Quality bar

  • Every claim in the final text has a row, and its wording matches its grade.
  • Every row has a confidence level with a reason a person can check.
  • The claim was searched for being false too, and any correction is shown.
  • Every Confirmed row quotes a primary source or two independent ones.
  • No hedge in a source is missing from the text that relies on it.
  • Every person's name and title is quoted from a page that lists people.

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.