关于
This skill analyzes news coverage by querying GDELT to identify independent reporting origins rather than counting duplicate URLs. It collapses reprints and wire copies into single sources while detecting syndication bursts through publication timing analysis. Use it during claim verification to distinguish between genuinely corroborated stories and widespread reprinting of a single source.
快速安装
Claude Code
推荐npx skills add SerhiiKorniienko/bullshit-detector -a claude-code/plugin add https://github.com/SerhiiKorniienko/bullshit-detectorgit clone https://github.com/SerhiiKorniienko/bullshit-detector.git ~/.claude/skills/coverage-check在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
coverage-check
Ten URLs are not ten sources. This turns "lots of outlets reported it" into a number you can defend.
When to reach for it
During claim verification, when a claim looks corroborated by volume — a pile of search results all saying the same thing. That pattern has two very different causes:
- Many newsrooms independently established the fact → genuinely strong evidence
- One press release, wire story, or study got reprinted 40 times → one source
Search results look identical in both cases. This tells them apart.
Usage
uv run scripts/coverage.py "<query>" [--timespan 3m] [--max 250] [--sort dateasc] [--timeout 120] [--json]
It is slow. This is normal. GDELT takes ~15s for a trivial one-day query and considerably longer
for a 3-month window at 250 records. The script prints progress to stderr and how long the call took,
so you can tell "working" from "hung" — if you see the querying line, wait. Narrowing --timespan is
the speed lever; raise --timeout before assuming it's broken.
The query accepts GDELT operators: "exact phrase", (a OR b), -exclude,
domain:example.com, sourcelang:english. Quote the distinctive phrasing of the claim — a
verbatim phrase is what catches reprints.
# Is this "40 outlets confirmed it" or one wire story?
uv run scripts/coverage.py '"quantum breakthrough" AND university'
# Narrow to the week the claim surfaced
uv run scripts/coverage.py '"record quarterly revenue" domain:reuters.com' --timespan 7d
Reading the output
The first line is the verdict the detector needs. The rest supports it.
- Distinct story clusters — articles grouped by headline similarity. This is the origin estimate. Outlets ≫ clusters means syndication.
- ⚠️ syndicated on a cluster — multiple outlets published the same story inside 24h. Treat the whole cluster as one source.
- Span (hours) — a tight burst points at a press release or embargo lift; coverage developed over weeks is more likely independent.
Feed the result into the report's evidence column as an origin count: "6 results, 1 origin (all reprints of the company's press release)" is worth more than six links.
Limits — read these before trusting a number
-
Rolling 3-month window only. GDELT DOC 2.0 does not reach further back. For an older claim this returns nothing, and nothing does not mean unreported. The script says so in its output; don't let the agent quietly read empty as disconfirming.
-
Clustering is headline similarity, on two measures: sequence ratio for reworded headlines and token overlap for the same facts in a different order. Grouping is transitive — three outlets on one wire story stay together even when the two extremes score below the bar individually. Verbatim reprints, rewritten wire copy and reordered headlines all collapse correctly.
What it still won't catch: two newsrooms that independently reached the same finding and described it in genuinely different words. Those show as separate clusters, which is the safe direction to be wrong in — it under-reports syndication rather than inventing it.
Thresholds were tuned against real GDELT output, not guessed. If you see false merges, raise
TITLE_MATCH/TOKEN_MATCHin the script; if wire copy slips through as distinct, lower them. -
Presence is not credibility. A claim covered by 200 outlets in 30 distinct clusters is widely reported, not true. Verdicts still need the source hierarchy in the detector's RUBRIC.md.
-
Results cap at 250 per query. When the cap is hit the output says so — every count becomes a lower bound, and the honest fix is a narrower
--timespan, not a bigger number. -
The free endpoint is unreliable, and this is the important one. GDELT returns "Please limit requests to one every 5 seconds" well below that rate whenever its public API is busy — independent of IP, User-Agent, and query size. Measured behaviour: identical calls succeed and fail minutes apart. The script retries with growing backoff and then exits 3.
Exit 3 means "unmeasured", not "no coverage". Never let a failed check weaken or strengthen a verdict, and never record it as though the search came back empty. If the tool can't measure, the report says the origin count is unknown and falls back to the eyeball tells in RUBRIC.md. Retry in a few minutes, or skip it.
Exit Meaning 0 measurement succeeded (including a legitimate zero-result window) 1 bad input or unreachable host 3 GDELT throttled — no measurement, claim is unmeasured -
No API key, no auth, free. Nothing to configure, nothing to rotate.
What it does not do
It counts and groups coverage. It does not fetch article text — that's fetch-content — and it does not judge anything. Analysis skills read its output; they never call it to decide a verdict on their own.
GitHub 仓库
常见问题
什么是 coverage-check Skill?
coverage-check 是一个 Claude Skill,作者为 SerhiiKorniienko。Skill 将 Claude 按需加载的说明和资源打包,让 Claude 无需额外提示即可执行与 coverage-check 相关的任务。
如何安装 coverage-check?
使用本页的安装命令:将 coverage-check 作为插件添加到 Claude Code,或将其仓库克隆到 skills 目录,然后重启 Claude 以加载该 Skill。
coverage-check 属于哪个分类?
coverage-check 属于设计分类。
coverage-check 可以免费使用吗?
可以。coverage-check 已收录在 AIMCP,可免费安装。
相关推荐技能
该Skill用于当开发者提供完整实施计划时,以受控批次方式执行代码实现。它会先审阅计划并提出疑问,然后分批次执行任务(默认每批3个任务),并在批次间暂停等待审查。关键特性包括分批次执行、内置检查点和架构师审查机制,确保复杂系统实现的可控性。
该Skill可在完成任务、实现主要功能或合并代码前自动调度代码审查子代理,确保实现符合需求和计划。它支持通过指定git SHA范围进行精准的代码变更审查,帮助开发者在关键节点及时发现潜在问题。核心原则是"早审查、勤审查",适用于开发流程的各个关键阶段。
这个Skill指导开发者如何将MCP服务器连接到Claude Code,支持HTTP、stdio和SSE三种传输协议。它涵盖了从安装配置到认证安全的完整流程,适用于集成GitHub、Notion、数据库等外部服务。当开发者需要添加集成、配置外部工具或提及MCP相关功能时,这个Skill能提供实用的操作指南。
该Skill帮助开发者根据任务特性选择Claude Code的Web或CLI界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。
