Fact Verification Agent

    Enforces a verification workflow for all statistics and data claims — checks your fact registry, searches for sources, and rewrites unverifiable claims with qualitative language.

    Free & openInstall in 30 seconds

    What This Agent Does

    Finds and fixes unverified statistics in your content. Enforces a strict workflow: check your fact registry first, web search if not found, use qualitative language if unverifiable, and tag as needs-verification only as a last resort.

    Includes source attribution formatting rules with hyperlinking requirements that strengthen E-E-A-T signals, qualitative rewrite patterns for unverifiable claims, and a protocol for adding newly verified stats to your registry so they are available for future content.

    What You Get

    • 5-step verification workflow: registry check → web search → verify → use or rewrite → last resort tag
    • Web search verification steps with specific query patterns for finding authoritative sources
    • Qualitative rewrite patterns for when stats can't be verified (always better than fabrication)
    • Source attribution formatting rules with hyperlinking requirements for E-E-A-T
    • Fact registry update protocol for adding newly verified statistics
    • Clear definition of what counts as a 'data claim' requiring verification

    Install

    Choose your preferred installation method. Both put the agent rule in the right place for Claude Code to discover automatically.

    Copy the rule below and save it as .claude/rules/fact-verification.md in your project root.

    .claude/rules/fact-verification.md
    # Fact Verification Agent Rules
    
    **This rule applies whenever content includes statistics, data claims, market figures, percentages, or attributed research findings.**
    
    ## The Core Rule
    
    **NEVER write an unverified statistic into content.** The old workflow of inserting `[NEEDS VERIFICATION]` as a first resort is deprecated. Instead:
    
    **Topic-relevance first:** When choosing a stat for a page or a visual stat component, use stats that **directly support the page's topic/thesis**. Do not substitute a generic or vertical-level stat when the page is about a narrow theme.
    
    1. **Check your fact registry first** -- your fact registry or data source is the source of truth. If a **topic-relevant** stat is there with a source, use it.
    2. **Web search if not in your registry** -- If the registry has no topic-relevant stat, search the web to find the claim from an authoritative source. Search for the specific figure + the attributed organization (e.g., "Gartner 2025 cybersecurity spending $212 billion") or topic-based queries.
    3. **If verified via web search** -- Use the stat with inline source attribution and add it to your fact registry after the content is complete.
    4. **If not verifiable after 2-3 search attempts** -- Do NOT insert the stat. Rewrite the sentence using qualitative language instead (see examples below).
    5. **`[NEEDS VERIFICATION]` is a last resort** -- Only use this tag when a stat is critical to the argument, you couldn't verify it, AND qualitative language would significantly weaken the content. This should be rare (<5% of claims).
    
    ## Web Search Verification Steps
    
    When you encounter a data claim that isn't in your registry:
    
    ```
    Step 1: Search for "[specific number] [attributed source] [year]"
            Example: "95% false positive rate AML transaction monitoring"
    
    Step 2: If Step 1 fails, broaden: "[topic] statistics [year] [source type]"
            Example: "AML transaction monitoring false positive rate industry statistics"
    
    Step 3: If Step 2 fails, check if the attributed source exists at all
            Example: Search for the report/study name directly
    
    Step 4: If all searches fail -> stat is UNVERIFIABLE -> rewrite without it
    ```
    
    ## Visual Stats and Stat Components
    
    Stats in visual stat components (callout cards, stat grids, etc.) must be **topic-relevant**: they should support the specific argument of the page, not just the general vertical.
    
    - **Look in your registry first** for stats that match the **page topic**, not just the vertical or category
    - **If no topic-relevant stat exists**, search the web with queries tied to the topic to find and verify a stat, then add it to your registry
    - **Do not** fill stat cards with loosely related stats (same vertical but different theme)
    
    ## Qualitative Rewrites (When Stats Can't Be Verified)
    
    Replace unverifiable numbers with honest, qualitative language:
    
    | Instead of... | Write... |
    |---|---|
    | "Market X reached $47.3B in 2024" | "Market X has grown significantly in recent years" |
    | "73% of enterprises adopt..." | "A majority of enterprises now adopt..." |
    | "Reduces costs by 30-40%" | "Reduces costs meaningfully" or "Reduces costs by double-digit percentages" |
    | "Processing 2.4 million transactions daily" | "Processing millions of transactions daily" |
    | "$1M-$3M annually" | "Significant annual investment" |
    
    **The qualitative version is ALWAYS better than a fabricated or unsourced number.** A wrong stat damages domain authority more than a qualitative statement.
    
    ## Source Attribution Format
    
    When using a verified stat in content, the source should be natural, in-line, and **hyperlinked to the original source**. Hyperlinking cited sources strengthens E-E-A-T signals for Google, helps AI models disambiguate entities and verify claims, and builds reader trust through verifiable citations.
    
    **Good:** "[94% of B2B buyers](https://www.forrester.com/...) now use AI tools during their purchasing process (Forrester, 2025)."
    
    **Good:** "According to [the CFPB](https://www.consumerfinance.gov/...), approximately 45 million Americans are credit-invisible."
    
    **Good (HTML table):** `<a href="https://example.com" target="_blank" rel="noopener">Company Name</a>`
    
    **Bad:** "According to the CFPB, approximately 45 million Americans are credit-invisible." -- No hyperlink to source.
    
    **Bad:** "Studies show that 95% of alerts are false positives [NEEDS VERIFICATION]."
    
    **Bad:** "The market reached $47.3B (Source: Grand View Research, 2024)." -- Don't use parenthetical source citations in body copy. Save those for your registry.
    
    ### Hyperlinking Rules
    - Every data claim, study reference, or attributed finding in content must link to the source URL
    - Use markdown links in prose: `[source description](URL)`
    - Use `<a href="..." target="_blank" rel="noopener">` in HTML table elements
    - Company names and tool names in comparison tables should link to their websites
    - When a source URL is unavailable (paywalled report, offline), attribute by name without a link -- don't fabricate URLs
    
    ## Adding Verified Stats to Your Registry
    
    After completing content that includes newly web-searched stats, add them to the appropriate section in your fact registry:
    
    ```markdown
    - [Stat claim] -- Source: [Source Name, Year](URL)
    ```
    
    **Hyperlink the source:** The source text should be a markdown link so the citation is clickable. When a URL is not available (e.g. paywalled report), use plain text.
    
    Group under the correct vertical/category section. This prevents the next person from having to re-search the same stat.
    
    ## What Counts as a "Data Claim"
    
    This rule applies to:
    - Specific numbers, percentages, dollar amounts
    - Market size figures
    - Growth rates (CAGR, YoY)
    - Survey results ("X% of enterprises...")
    - Attributed research ("Gartner reports...", "McKinsey found...")
    - Regulatory compliance figures ("HIPAA fines average...")
    - Industry benchmarks ("Average CAC for SaaS is...")
    
    This rule does NOT apply to:
    - Your own frameworks and methodology descriptions
    - Technical facts about how standard processes work
    - Already-sourced competitor data from your own research tools
    - Qualitative industry observations ("B2B SaaS sales cycles are longer than B2C")
    
    ---
    
    ## Out of Scope
    
    This agent focuses on fact verification workflows. The following are not covered:
    
    - Content writing or copy quality (use verified facts, but the writing itself is a separate concern)
    - Content freshness and staleness monitoring (covered by Content Refresh Agent)
    - QA scoring and structural compliance (covered by QA Agent)
    - Schema and structured data implementation
    - Keyword research and content strategy

    Usage

    Once installed, open your project in Claude Code and ask:

    Verify all statistics in /blog/my-latest-post and fix any unverified claims

    Claude Code will follow the scoring rubric, check every dimension, and output a structured scorecard with pass/fail per check and prioritized fix recommendations.

    Works Great With

    Need a Custom Agent?

    We build custom Claude Code agent rules tailored to your team's workflows, content standards, and tech stack.

    Get in touch