MCP HubMCP Hub
SKILL·F4BCFF

coverage-check

SerhiiKorniienko
更新日 27 days ago
5 閲覧
138
9
138
GitHubで表示
デザインai

について

このスキルは、GDELTにクエリを実行してニュース報道を分析し、重複するURLをカウントするのではなく、独立した報道源を特定します。転載記事や配信記事を単一の情報源に統合しつつ、公開タイミングの分析を通じてシンジケーションによる集中発生を検出します。主張の検証時に使用することで、真に裏付けられた報道と単一情報源の広範な転載とを区別できます。

クイックインストール

Claude Code

推奨
メイン
npx skills add SerhiiKorniienko/bullshit-detector -a claude-code
プラグインコマンド代替
/plugin add https://github.com/SerhiiKorniienko/bullshit-detector
Git クローン代替
git 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_MATCH in 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.

    ExitMeaning
    0measurement succeeded (including a legitimate zero-result window)
    1bad input or unreachable host
    3GDELT 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 リポジトリ

SerhiiKorniienko/bullshit-detector
パス: skills/ingestion/coverage-check
0
agent-skillsai-agentsclaude-codecontent-analysisfact-checkingmisinformation
FAQ

よくある質問

coverage-check Skillとは何ですか?

coverage-check はSerhiiKorniienko が作成した Claude Skillです。Skillは、Claudeが必要に応じて読み込む指示とリソースをまとめ、追加の指示なしで coverage-check に関連するタスクを実行できるようにします。

coverage-check をインストールするには?

このページのインストールコマンドを使用してください。coverage-check をプラグインとして Claude Code に追加するか、リポジトリを skills ディレクトリにクローンし、Claudeを再起動してSkillを読み込みます。

coverage-check はどのカテゴリに属しますか?

coverage-check は デザイン カテゴリに属します。

coverage-check は無料で利用できますか?

はい。coverage-check は AIMCP に掲載されており、無料でインストールできます。

関連スキル

executing-plans
デザイン

executing-plansスキルは、完全な実装計画があり、それを管理されたバッチでレビューチェックポイントを設けながら実行する場合に使用します。このスキルは計画を読み込んで批判的にレビューした後、小さなバッチ(デフォルトは3タスク)でタスクを実行し、各バッチの間に進捗状況を報告してアーキテクトのレビューを受けます。これにより、品質管理チェックポイントが組み込まれた体系的な実装が保証されます。

スキルを見る
requesting-code-review
デザイン

このスキルは、コードレビュアーサブエージェントを起動し、処理を進める前に要件に対してコード変更を分析します。タスク完了後、主要な機能の実装後、またはmainブランチへのマージ前などに使用すべきです。このレビューは、現在の実装と元の計画を比較することで、問題を早期に発見するのに役立ちます。

スキルを見る
connect-mcp-server
デザイン

このスキルは、開発者がHTTP、stdio、またはSSEトランスポートを使用してMCPサーバーをClaude Codeに接続するための包括的なガイドを提供します。GitHub、Notion、カスタムAPIなどの外部サービスを統合するためのインストール、設定、認証、セキュリティについて解説しています。MCP統合のセットアップ、外部ツールの設定、またはClaudeのModel Context Protocolを扱う際にご利用ください。

スキルを見る
web-cli-teleport
デザイン

このスキルは、タスク分析に基づいて開発者がClaude Code WebとCLIインターフェースの選択を支援し、これらの環境間でのシームレスなセッションテレポーテーションを可能にします。Web、CLI、モバイル環境を切り替える際のセッション状態とコンテキストを管理することで、ワークフローを最適化します。様々な段階で異なるツールを必要とする複雑なプロジェクトにご活用ください。

スキルを見る