How do I create a fact-checking agent skill?
A fact-checking agent skill can be a callable tool you register with an AI agent that takes a claim as input, searches the web for relevant sources, and returns a verdict (supported, contradicted, or unverified) with citations. The critical part is the search step: an LLM reasoning over its training data alone cannot verify recent or domain-specific claims reliably, because the answer depends on what sources actually say right now, not what the model remembers from pretraining.
| Approach | Evidence source | Freshness | Returns citations |
|---|---|---|---|
| LLM reasoning only | Training data | Stale, cutoff-limited | No |
| RAG over internal docs | Embedded document store | As fresh as last index | Yes, from indexed docs |
| Web search at query time | Live web | Current | Yes, from retrieved pages |
| Dedicated fact-check API | Curated claim databases | Varies by provider | Partial |
The minimal skill has three steps: (1) turn the claim into a search query, (2) retrieve the top results with full page content, (3) pass the claim and retrieved content to an LLM with a prompt asking it to assess whether the evidence supports or contradicts the claim. The output is a structured verdict with the source URLs used. Multi-source verification — running the same claim against two or three independent results — reduces the chance of a single biased or outdated source skewing the verdict.
Once the Firecrawl CLI is installed, the search step is a single command:
npx -y firecrawl-cli@latest init
firecrawl search "your claim here" --limit 3The CLI returns full page content per result in markdown, which you pipe directly into your agent's context. A minimal shell-based fact-check skill looks like:
Firecrawl's Search API returns full page content per result, not just snippets, so the LLM has complete article text to reason against rather than 2-3 sentence extracts that often omit the relevant detail. The CLI also installs as a tool inside Claude Code and other agents that support tool use, so agents can invoke firecrawl search directly without any additional wiring.
data from the web