MCP HubMCP Hub
SKILL·F4BCFF

coverage-check

SerhiiKorniienko
Mis à jour 27 days ago
5 vues
138
9
138
Voir sur GitHub
Designai

À propos

Cette compétence analyse la couverture médiatique en interrogeant GDELT pour identifier les origines indépendantes des reportages, plutôt que de compter les URL dupliquées. Elle regroupe les réimpressions et les copies d'agences de presse en sources uniques, tout en détectant les pics de syndication par analyse des délais de publication. Utilisez-la lors de la vérification d'assertions pour distinguer entre les articles véritablement corroborés et la large réimpression d'une source unique.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add SerhiiKorniienko/bullshit-detector -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/SerhiiKorniienko/bullshit-detector
Git CloneAlternatif
git clone https://github.com/SerhiiKorniienko/bullshit-detector.git ~/.claude/skills/coverage-check

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

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.

Dépôt GitHub

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

Questions fréquentes

Qu’est-ce que le Skill coverage-check ?

coverage-check est un Skill Claude créé par SerhiiKorniienko. Un Skill regroupe des instructions et des ressources que Claude charge à la demande pour effectuer des tâches liées à coverage-check sans consigne supplémentaire.

Comment installer coverage-check ?

Utilisez les commandes d’installation de cette page : ajoutez coverage-check à Claude Code comme plugin ou clonez son dépôt dans votre dossier skills, puis redémarrez Claude pour charger le Skill.

À quelle catégorie appartient coverage-check ?

coverage-check appartient à la catégorie Design.

coverage-check est-il gratuit ?

Oui. coverage-check est référencé sur AIMCP et son installation est gratuite.

Compétences associées

executing-plans
Design

Utilisez la compétence executing-plans lorsque vous disposez d'un plan de mise en œuvre complet à exécuter par lots contrôlés avec des points de contrôle de revue. Elle charge et examine le plan de manière critique, puis exécute les tâches par petits lots (3 tâches par défaut) tout en rapportant la progression entre chaque lot pour une revue par l'architecte. Cela garantit une mise en œuvre systématique avec des points de contrôle de qualité intégrés.

Voir la compétence
requesting-code-review
Design

Cette compétence délègue un sous-agent réviseur de code pour analyser les modifications apportées au code par rapport aux exigences avant de poursuivre. Elle doit être utilisée après avoir terminé des tâches, implémenté des fonctionnalités majeures, ou avant une fusion vers la branche principale. La revue aide à détecter précocement les problèmes en comparant l'implémentation actuelle avec le plan initial.

Voir la compétence
connect-mcp-server
Design

Cette compétence fournit un guide complet permettant aux développeurs de connecter des serveurs MCP à Claude Code via les transports HTTP, stdio ou SSE. Elle couvre l'installation, la configuration, l'authentification et la sécurité pour intégrer des services externes tels que GitHub, Notion et des API personnalisées. Utilisez-la lors de la configuration d'intégrations MCP, de la configuration d'outils externes ou du travail avec le Protocole de Contexte de Modèle de Claude.

Voir la compétence
web-cli-teleport
Design

Cette compétence aide les développeurs à choisir entre les interfaces Web et CLI de Claude Code en fonction de l'analyse des tâches, puis permet une téléportation transparente des sessions entre ces environnements. Elle optimise le flux de travail en gérant l'état et le contexte de la session lors du passage entre le web, la CLI ou le mobile. Utilisez-la pour des projets complexes nécessitant différents outils à diverses étapes.

Voir la compétence