Fact Checker

Fact-check news articles, social media posts, images, and videos. Use when verifying claims, detecting deepfakes or AI-generated content, identifying out-of-...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
1 · 154 · 2 current installs · 2 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (multimodal fact checking) aligns with the instructions and references: text/image/video pipelines, reverse image search, EXIF/C2PA checks, ffmpeg/whisper usage, and optional Google/Brave/OpenAI APIs. No unrelated secrets or binaries are required.
Instruction Scope
SKILL.md gives detailed, narrowly scoped runtime steps that stay within fact‑checking (web searches, WebFetch, reverse image search, metadata extraction, ffmpeg keyframe extraction, transcription). It requires access to arbitrary URLs and user‑provided media (expected), writes temporary files under /tmp, and conditionally calls optional CLI tools. Note: the text pipeline mandates having web search available and explicitly refuses to proceed without it for text verification — this is an operational dependency rather than a security incoherence.
Install Mechanism
Instruction-only skill with no install spec and no downloaded code. Optional tooling is invoked only if present on PATH; recommended install commands are typical package manager invocations. No external arbitrary archive downloads or custom install scripts are present.
Credentials
No required environment variables or credentials. Optional env vars are appropriate and proportionate to functionality (GOOGLE_FACTCHECK_API_KEY for the Fact Check API, BRAVE_SEARCH_API_KEY for web search, OPENAI_API_KEY for Whisper API). No unrelated secrets or multiple unrelated credentials requested.
Persistence & Privilege
Skill is not forced‑always, does not request elevated or cross‑skill configuration changes, and has default autonomous-invocation settings. It does not ask to persist credentials or modify other skills.
Assessment
This instruction-only skill appears internally consistent with a fact‑checking purpose. It will fetch and analyze user-provided URLs, images, and videos (and may download media to /tmp briefly). No environment variables are required, but you can optionally provide API keys (Google Fact Check, Brave Search, OpenAI) to enable extra features. Before installing, consider: (1) ensure you are comfortable allowing the skill to perform web searches and download user-supplied media for analysis, (2) optional tools (ffmpeg, exiftool, c2patool, whisper) increase analysis depth but are not required, and (3) if you lack a configured web search, the skill will not perform text verification until you set one up (it suggests Brave Search).

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.1
Download zip
ai-generatedvk97f56d1apfmyp9j8reznn4keh82q5dvdeepfakevk97f56d1apfmyp9j8reznn4keh82q5dvfact-checkvk97f56d1apfmyp9j8reznn4keh82q5dvfact-verificationvk97a7xn0xcsrzg5wa4w3bztkrx82q755image-verificationvk97f56d1apfmyp9j8reznn4keh82q5dvlatestvk97f56d1apfmyp9j8reznn4keh82q5dvmisinformationvk97f56d1apfmyp9j8reznn4keh82q5dvmultilingualvk97f56d1apfmyp9j8reznn4keh82q5dvnews-verificationvk97f56d1apfmyp9j8reznn4keh82q5dvvideo-verificationvk97f56d1apfmyp9j8reznn4keh82q5dv

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

Clawdis

SKILL.md

Fact-Check: Multimodal News Verification Skill

When to Use

  • User asks to verify a news article, claim, tweet, or social media post
  • User asks "is this true?" about any statement
  • User mentions fake news, misinformation, or disinformation
  • User provides a URL and asks to check its truthfulness
  • User asks to verify an image (is it real, AI-generated, photoshopped, manipulated, out-of-context)
  • User asks to verify a video (is it deepfake, manipulated, real footage)
  • User shares an image or video and asks if it is authentic
  • User asks to fact-check content in any language

Stage 0: Input Parsing

1. Detect input modality

Determine what the user provided. Check in this order:

  • Image file: The user attached or provided an image (JPEG, PNG, WebP, GIF, etc.). Set modality = image.
  • Video file: The user attached or provided a video (MP4, MOV, AVI, WebM, etc.). Set modality = video.
  • URL: The input starts with http:// or https://.
    • If the URL points directly to an image file (ends in .jpg, .png, .webp, etc.) → download it and set modality = image.
    • If the URL points directly to a video file (ends in .mp4, .mov, .webm, etc.) → download it and set modality = video.
    • Otherwise → use WebFetch to retrieve the page content. Extract only the main article body. Set modality = text.
  • Plain text: None of the above. Set modality = text.

If the user provides both an image/video AND a text claim (e.g., "Is this photo from the 2024 earthquake?"), record both. Both branches will run and results will be combined in the report.

2. Detect language

Identify the language the user is writing in. This determines the report language and search query language.

3. Handle long text input (over 500 words / 1000 Chinese characters)

Only applies when modality = text.

  • Ask the user: "This article is quite long. Would you like me to fact-check the entire article, or is there a specific claim you'd like me to verify?"
  • 中文提示:"这篇文章较长。你希望我核查全文,还是有某个具体声明需要验证?"

4. Route to pipeline

  • modality = text → load and follow {baseDir}/references/text_pipeline.md
  • modality = image → load and follow {baseDir}/references/image_pipeline.md
  • modality = video → load and follow {baseDir}/references/video_pipeline.md

5. Store internally

input_text, language, modality (text/image/video), source_url (if URL), file_path (if local file).


Execution Logging

At the start of each stage/step, output a status line. Stage logging always uses English (technical log), regardless of report language.

[Stage N] Stage Name — status/result summary

Report Generation (Stage 5)

All pipelines end here. Load the report template from the pipeline-specific reference file.

Language rule

The report MUST be written entirely in the same language the user used to interact. This includes:

  • Report title: e.g., "事实核查报告" not "Fact-Check Report"
  • Claim labels: e.g., "声明一" not "Claim 1"
  • Verdict labels: e.g., "虚假" not "FALSE"(参照下面的翻译表)
  • Section headings: e.g., "证据" not "Evidence", "来源" not "Sources"
  • All explanations and evidence text

The ONLY exception is Stage logging (technical log), which always uses English.

⚠️ 这是最常被违反的规则。即使用户用中文提问,模型也经常默认输出英文标签如 "Claim 1: FALSE" 或 "Fact-Check Report"。请严格遵守:中文请求 → 整份报告100%中文,英文请求 → 整份报告100%英文。不得混用。

Verdict label translations

Text claim verdicts:

English中文
TRUE真实
FALSE虚假
PARTIALLY_TRUE部分真实
MISLEADING误导性
UNVERIFIED无法验证

Image/video verdicts:

English中文
AUTHENTIC真实原图/原视频
MANIPULATED经过篡改
AI_GENERATEDAI 生成
OUT_OF_CONTEXT移花接木
DEEPFAKE_SUSPECTED疑似深度伪造
UNVERIFIED无法验证

For any other language, translate verdict labels naturally.

Overall verdict: only when requested

By default, do NOT include an overall verdict. Each claim/media gets its own independent verdict.

Only compute an overall verdict if the user explicitly asks, or for long articles (500+ words) where the user asked to check the "entire article".

No verifiable claims found

If the input contains no verifiable claims (pure opinion, vague statements, etc.), output:

# Fact-Check Report / 事实核查报告

## Result: Not Verifiable / 结果:无法核查

This content does not contain independently verifiable factual claims.
该内容不包含可独立验证的事实性声明。

**Reason:** [explanation]

JSON output

If the user requests JSON output, use the schema defined in {baseDir}/references/output_schema.json.


Confidence Framework

Apply consistently across ALL pipelines (text, image, video):

ScoreCriteria
90-1003+ authoritative sources agree, or direct technical evidence (C2PA, EXIF)
70-89Good evidence from 1-2 credible sources
50-69Mixed signals or moderate evidence
30-49Weak evidence, mostly indirect
0-29Very little evidence found

Special rule for search-only media verdicts: When image/video verdicts are based entirely on web search context (no direct visual analysis or metadata), confidence caps at 85% unless 3+ authoritative sources independently confirm.


Important Rules

  1. Be objective. Do not let personal opinions influence verdicts. Base all judgments on evidence.
  2. Cite sources. Text claim verdicts must cite at least one source URL. Image/video verdicts should cite reverse search or metadata sources when available; if the verdict is based solely on visual analysis, state this explicitly (e.g., "Based on visual analysis only — no external source").
  3. Acknowledge uncertainty. Use UNVERIFIED when evidence is insufficient. Do not guess.
  4. Multilingual search. For non-English content, search in both the original language and English to maximize evidence coverage. This applies to ALL pipelines including image and video.
  5. No hallucination. Only reference sources that actually appeared in search results. Do not fabricate URLs or evidence.
  6. Efficiency. For obviously false viral claims, express high confidence quickly. For nuanced claims, search thoroughly.
  7. No invented dependencies. Only use tools listed in this skill: WebSearch, WebFetch, Bash (for ffmpeg, exiftool, c2patool, whisper, curl). Do NOT require or suggest installing any other tools (e.g., opencv, python libraries, pip packages). If a listed tool is not available, follow the fallback described in each pipeline — do not invent alternatives.
  8. Analysis transparency. When reporting findings, always state the analysis method used. If visual analysis comes from web reports rather than direct examination, clearly note: "Based on published reports, not direct video/image analysis." Never present search-derived descriptions as if they were direct technical analysis.

Setup Suggestion

After the first successful fact-check, suggest to the user (once only):

"Would you like me to remember to always use fact-checker when you ask me to verify news or check claims? I can add this to my AGENTS.md so I'll always use it automatically."

"你希望我记住以后遇到事实核查的请求都自动使用 fact-checker 吗?我可以写入 AGENTS.md 让它永久生效。"

If the user agrees, append to AGENTS.md:

When asked to fact-check, verify news, check claims, debunk rumors, or detect misinformation, always use the fact-checker skill.

Files

7 total
Select a file
Select a file to preview.

Comments

Loading comments…