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
- WilliamEbong/CourseForgetheir own version, first seen Nov 8, 2026
- surfmind-space/awesome-surfmindtheir own version, first seen Nov 8, 2026
- AmethystLuna/embedded-workbenchtheir own version, first seen Nov 5, 2026
- aktsmm/Agent-Skillstheir own version, first seen Nov 1, 2026
- kfangw/research-opstheir own version, first seen Oct 25, 2026
- mingxinbi112-source/OBI-xiao-skilltheir own version, first seen Oct 20, 2026
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.
NVIDIASkilldeep-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
nilssonrSkillseo
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
NVIDIASkillresearch
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
BlockSkillfrontend-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
Other versions38 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 38
- leonardomso/33-js-concepts★ 67ksame name
- THU-MAIC/OpenMAIC★ 43ksame name
- garrytan/gbrain★ 32ksame name
- elvisun/newsjack★ 1.7ksame name
- srid/emanote★ 963same name
- akitaonrails/my-skills★ 283same name
- Jamie-BitFlight/claude_skills★ 67same name
- jezweb/vite-flare-starter★ 49same name
- namedtoaster/The-Last-Mile★ 39same name
- AmethystLuna/embedded-workbench★ 32same name
28 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 repository24 other files it gives its agents.
- competitor-watchSkill
- file-tidySkill
- inbox-triageSkill
- keyword-researchSkill
- lead-draftSkill
- lead-exportSkill
- lead-planSkill
- lead-qualifySkill
- lead-reachSkill
- lead-retroSkill
- lead-searchSkill
- localstackSkill
- market-researchSkill
- money-reportSkill
- on-page-optimizerSkill
- reconcileSkill
- routine-reportSkill
- routine-setupSkill
- seo-auditSkill
- setup-localbrainSkill
- social-planSkill
- social-postSkill
- support-faqSkill
- support-replySkill
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
- Distinctive: line 75
Never upgrade a grade to make the writing easier.
- Distinctive: line 87
Every claim also gets a confidence level — how sure you are of the grade, given everything found, in one plain line of why:
- Very specific: line 114
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.
- Distinctive: line 116
Ask for anything still missing in a SINGLE message, then wait.
- Distinctive: line 127
2. Gather evidence, primary first: Search the open web, then read the pages themselves (a search snippet is a pointer, not evidence).
- Distinctive: line 146
Search both ways: for the claim, and for it being false ("<claim> false", "<claim> denied", "correction").
- Distinctive: line 210
Every claim in the final text has a row, and its wording matches its grade.
- Distinctive: line 211
Every row has a confidence level with a reason a person can check.
- Distinctive: line 213
Every Confirmed row quotes a primary source or two independent ones.
- Distinctive: line 214
No hedge in a source is missing from the text that relies on it.
- Distinctive: line 215
Every person's name and title is quoted from a page that lists people.
“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.
Files
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-draftbefore a draft states a fact about a lead,/social-postbefore 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
| Grade | When | How it may be written |
| Confirmed | A primary source states it (the company's own post, filing, official page, the person's own words), or two independent sources each reported it themselves | As fact: "raised a $75M Series B" |
| Reported | One secondary source, or any source that hedges | With the hedge, named: "reportedly raised, per TechCrunch" — or left out |
| Unverified | Nothing found beyond the claim itself | Not written as fact; ask, or leave it out |
| Contradicted | Sources disagree | Not 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:
- 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).
- 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.
- 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-DDheading, 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.
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.

