
fact-check
Verify claims in generated output against sources. Use as a separate pass AFTER content generation to catch hallucinations. Critical constraint - cannot be reliably combined with generation in a single pass.
- Installs
- 751
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/jwynia/agent-skills --skill fact-check- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads fact-check automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Fact-Check Skill
Systematic verification of claims in generated content. Designed to catch hallucinations, confabulations, and unsupported assertions.
Why Separate Passes Matter
The Fundamental Problem: LLMs generate plausible-sounding content by predicting what should come next. This same mechanism produces hallucinations—confident statements that feel true but aren't. An LLM in generation mode cannot reliably catch its own hallucinations because:
- Attention is on generation, not verification
- Coherence pressure makes false claims feel correct in context
- Same weights that produced the error will confirm it
- No external grounding to contradict the confabulation
The Solution: Verification must be a separate cognitive pass with:
- Fresh attention focused solely on each claim
- Explicit source checking (not memory/training data)
- Adversarial stance toward the content
- External grounding where possible
Diagnostic States
F1: No Verification Pass
Symptoms: Content generated and delivered without any fact-checking. Risk: Hallucinations pass through undetected. Intervention: Run verification pass before delivery. Extract claims, check each against sources.
F2: Self-Verification (Invalid)
Symptoms: Same pass asked to "check your facts" while generating. Risk: False confidence—errors confirmed by same process that created them. Intervention: Complete generation first, then run separate verification pass with explicit source requirements.
F3: Memory-Based Verification (Unreliable)
Symptoms: Claims checked against "what I know" without external sources. Risk: Hallucinations verified by hallucinated knowledge. Intervention: Require explicit source citation for each verified claim. If no source available, mark as unverified.
F4: Selective Verification
Symptoms: Only some claims checked; others assumed correct. Risk: Unchecked claims may contain errors. Intervention: Systematic extraction of ALL verifiable claims. Check each, or explicitly mark unchecked items.
F5: Verification Complete
Symptoms: All claims extracted, each checked against sources, confidence levels assigned. Indicators: Source citations present, unverified claims marked, confidence explicit.
The Verification Process
Phase 1: Claim Extraction
Extract every verifiable statement from the content.
Claim types to extract:
- Factual assertions ("X is Y", "X causes Y")
- Statistics and numbers ("40% of...", "in 2023...")
- Attributions ("According to X...", "Research shows...")
- Definitions ("X means...", "X is defined as...")
- Historical claims ("X happened in...", "X was founded by...")
- Causal claims ("X leads to Y", "X prevents Y")
- Comparative claims ("X is better than Y", "X is the largest...")
What to skip:
- Opinions clearly marked as such
- Hypotheticals and speculation (if labeled)
- Logical deductions from stated premises
- Direct quotes (verify attribution, not content)
Phase 2: Claim Categorization
Categorize each claim by verifiability:
| Category | Description | Verification Strategy |
|---|---|---|
| Verifiable-Hard | Numbers, dates, names, quotes | Must match source exactly |
| Verifiable-Soft | General facts, processes, mechanisms | Source should substantially support |
| Attribution | "X said...", "According to..." | Verify source exists and said something similar |
| Inference | Conclusions drawn from evidence | Verify premises, assess reasoning |
| Opinion-as-Fact | Subjective claim stated as objective | Flag for rewording or qualification |
Phase 3: Source Verification
For each claim, attempt verification:
## Claim Verification Log
### Claim 1: "[exact claim text]"
- **Category:** [Verifiable-Hard/Soft/Attribution/Inference]
- **Source checked:** [specific source]
- **Finding:** [Confirmed/Partially supported/Not found/Contradicted]
- **Confidence:** [High/Medium/Low]
- **Notes:** [discrepancies, qualifications needed]
### Claim 2: ...
Verification outcomes:
| Outcome | Meaning | Action |
|---|---|---|
| Confirmed | Source explicitly supports claim | Keep, cite source |
| Partially supported | Source supports part, not all | Qualify or narrow claim |
| Not found | No source located | Mark unverified, consider removing |
| Contradicted | Source says opposite | Remove or correct |
| Outdated | Source is dated; current state may differ | Update or add recency caveat |
Phase 4: Confidence Assignment
Assign overall confidence to the content:
| Level | Criteria |
|---|---|
| High | All key claims verified; no contradictions found |
| Medium | Most claims verified; some unverified but plausible |
| Low | Significant claims unverified; some corrections needed |
| Unreliable | Multiple contradictions found; major revision needed |
Hallucination Patterns
Common hallucination types to watch for:
1. Plausible Fabrication
Pattern: Specific details that sound right but don't exist. Examples: Fake paper citations, non-existent statistics, invented quotes. Detection: Verify specific claims against primary sources.
2. Confident Extrapolation
Pattern: Reasonable inference stated as established fact. Examples: "Studies show..." (no specific study), "Experts agree..." (no citation). Detection: Require specific source for any claim of external support.
3. Temporal Confusion
Pattern: Mixing information from different time periods. Examples: Old statistics presented as current, defunct organizations described as active. Detection: Check dates on sources, verify current status.
4. Attribution Drift
Pattern: Correct information attributed to wrong source. Examples: Quote assigned to wrong person, finding attributed to wrong study. Detection: Verify attribution specifically, not just content.
5. Amalgamation
Pattern: Combining details from multiple sources into one fictional source. Examples: Invented study that combines real findings from separate papers. Detection: Verify the specific source exists and contains all attributed claims.
6. Precision Inflation
Pattern: Adding false precision to vague knowledge. Examples: "Approximately 47.3%" when only "about half" is supported. Detection: Check if source actually provides that level of precision.
Verification Checklist
Before releasing fact-checked content:
- Claims extracted? All verifiable statements identified
- Sources checked? Each claim verified against external source
- Specific, not memory? Verification used actual sources, not LLM training data
- Contradictions flagged? Conflicts between claims and sources noted
- Unverified marked? Claims without sources explicitly identified
- Confidence stated? Overall reliability level communicated
- Separate pass? Verification done after generation, not during
Integration with Research Skill
| Research Phase | Fact-Check Role |
|---|---|
| During research | Verify claims in sources themselves |
| After synthesis | Verify that synthesis accurately represents sources |
| Before delivery | Final pass to catch hallucinations in output |
Handoff pattern:
- Research skill gathers and synthesizes information
- Content is generated based on research
- Fact-check skill runs as separate pass
- Corrections made, confidence assigned
- Output delivered with verification status
Operational Constraints
What This Skill Cannot Do
- Verify during generation — Must be separate pass
- Catch all hallucinations — Some may slip through
- Verify without sources — No sources = unverified, not "verified by knowledge"
- Replace domain expertise — Can check sources exist, not evaluate quality
When Verification Is Most Critical
| Context | Verification Level |
|---|---|
| Published content | Full verification required |
| Decision support | Key claims must be verified |
| Educational content | High accuracy expected |
| Casual conversation | Light verification acceptable |
| Creative fiction | N/A (different standards) |
Anti-Patterns
| Pattern | Problem | Fix |
|---|---|---|
| "I'm confident" | Confidence ≠ accuracy | Require source citation |
| "To the best of my knowledge" | Memory is unreliable | Check external source |
| "Generally speaking" | Vagueness hides uncertainty | Be specific or mark unverified |
| "Research shows" | Which research? | Cite specific source |
| Verify-while-generating | Same pass can't catch own errors | Separate passes mandatory |
| Check one, assume rest | Partial verification | Check all or mark unchecked |
Output Format
When delivering fact-checked content:
## [Content Title]
[Content body with claims]
---
### Verification Status
**Overall Confidence:** [High/Medium/Low]
**Verified Claims:**
- [Claim 1] — Source: [citation]
- [Claim 2] — Source: [citation]
**Unverified Claims:**
- [Claim 3] — No source found; treat as uncertain
**Corrections Made:**
- [Original claim] → [Corrected claim] (Source: [citation])
**Caveats:**
- [Any limitations or qualifications]
Output Persistence
This skill writes primary output to files so work persists across sessions.
Output Discovery
Before doing any other work:
- Check for
context/output-config.mdin the project - If found, look for this skill's entry
- If not found or no entry for this skill, ask the user first:
- "Where should I save output from this fact-check session?"
- Suggest:
explorations/fact-check/or a sensible location for this project
- Store the user's preference:
- In
context/output-config.mdif context network exists - In
.fact-check-output.mdat project root otherwise
- In
Primary Output
For this skill, persist:
- Claims extracted - all verifiable statements identified
- Verification results - each claim with source and status
- Confidence assessment - overall content reliability
- Corrections made - any changes from original
Conversation vs. File
| Goes to File | Stays in Conversation |
|---|---|
| Verification status report | Discussion of sources |
| Claim-by-claim results | Clarifying questions |
| Confidence assessment | Verification process |
| Corrections and caveats | Real-time feedback |
File Naming
Pattern: {content-name}-factcheck-{date}.md
Example: research-synthesis-factcheck-2025-01-15.md
Source Framework
This skill extends the research cluster with post-generation verification. Distinct from research (which gathers information) and operates as quality control on output.
Related: skills/research/SKILL.md (pre-generation), references/doppelganger/ (truth hierarchies)
FAQ
What does the fact-check skill do?
Verify claims in generated output against sources. Use as a separate pass AFTER content generation to catch hallucinations. Critical constraint - cannot be reliably combined with generation in a single pass.
How do I install fact-check?
Run npx skills add https://github.com/jwynia/agent-skills --skill fact-check in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/fact-check/ (personal) or .claude/skills/fact-check/ (project).
Which AI agents can use fact-check?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is fact-check safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains fact-check?
It is published by jwynia in jwynia/agent-skills. It has 751 recorded installs.
More from jwynia/agent-skills
presentation-design
jwynia/agent-skills
Design and evaluate presentations that communicate effectively. Use when designing a presentation, creating slides, getting presentation feedback, structuring a talk, or reviewing slides. Keywords: presentation, slides, talk, PowerPoint, Keynote, reveal.js.
frontend-design
jwynia/agent-skills
Create distinctive, production-grade frontend interfaces with high design quality. Provides analysis tools for auditing existing designs and generation tools for creating color palettes, typography systems, design tokens, and component templates. Supports React, Vue, Svelte, and vanilla HTML/CSS. Use when building web components, pages, or applications. Keywords: design, UI, frontend, CSS, components, palette, typography, tokens, accessibility.
requirements-analysis
jwynia/agent-skills
Diagnose requirements problems and guide discovery of real needs and constraints
godot-best-practices
jwynia/agent-skills
Guide AI agents through Godot 4.x GDScript coding best practices including scene organization, signals, resources, state machines, and performance optimization. This skill should be used when generating GDScript code, creating Godot scenes, designing game architecture, implementing state machines, object pooling, save/load systems, or when the user asks about Godot patterns, node structure, or GDScript standards. Keywords: godot, gdscript, game development, signals, resources, scenes, nodes, state machine, object pooling, save system, autoload, export, type hints.
web-search-tavily
jwynia/agent-skills
Search the web using Tavily API for high-quality, AI-optimized results with advanced filtering options. Use when you need structured search results, domain filtering, relevance scores, or AI-generated answer summaries. Requires TAVILYAPIKEY. Keywords: tavily, advanced search, filtered search, domain filtering, relevance scoring.
godot-asset-generator
jwynia/agent-skills
Generate game assets using AI image generation APIs (DALL-E, Replicate, fal.ai) and prepare them for Godot. Covers the full art pipeline from concept art and style guides to final sprites, sprite sheets, and import configuration. This skill should be used when creating game art, generating sprites, making tilesets, creating UI elements, or preparing assets for Godot import. Keywords: game assets, AI art, DALL-E, Replicate, fal.ai, sprite sheet, tileset, Godot, pixel art, character sprite, game art, texture, animation frames.
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available