
Créer une skill Claude Code pour vérifier les affirmations scientifiques
Cette skill repose sur un LLM (Claude) pour orchestrer les recherches et synthétiser les résultats. Malgré le croisement de sources (PubMed, Semantic Scholar, web) et les étapes de vérification intégrées, un LLM reste susceptible de produire des erreurs factuelles, des raccourcis ou des omissions. Les rapports générés ne remplacent pas l'avis d'un professionnel de santé ni une revue de littérature menée par un expert.
Le problème
« La spiruline c'est un super aliment. » « Le café provoque le cancer. » « Le jeûne intermittent guérit tout. »
Vérifier ce genre d'affirmation demande d'aller sur PubMed, trouver les méta-analyses, croiser avec les positions de l'ANSES, vérifier si les études sont financées par l'industrie. Deux heures de travail minimum par affirmation.
D'où l'idée : taper /science-check la spiruline est un super aliment dans Claude Code et recevoir un rapport complet en deux minutes — verdicts, niveaux de preuve, risques, sources vérifiées.
Ce que ça donne concrètement
La skill lance 3 agents de recherche en parallèle (méta-analyses, risques, analyse critique), fouille PubMed, Semantic Scholar et Google Scholar via des serveurs MCP, vérifie les études clés (rétractations, financement, taille d'échantillon) et produit un rapport structuré avec verdicts par sous-affirmation.
Sur /science-check la spiruline est un "super aliment" ? :
══════════════════════════════════════════════════════════════════════
VÉRIFICATION SCIENTIFIQUE
══════════════════════════════════════════════════════════════════════
Affirmation : La spiruline est un "super aliment"
Verdict global : PARTIELLEMENT CONFIRMÉ
── Consensus scientifique ─────────────────────────────────────────
La spiruline possède des bénéfices documentés et réels, principalement
sur le profil lipidique et la tension artérielle, soutenus par de
multiples méta-analyses de RCT. Cependant, le terme "super aliment"
n'a AUCUNE définition scientifique officielle — c'est un terme
marketing. Les bénéfices confirmés sont modestes et ciblés.
── Détail par sous-affirmation ────────────────────────────────────
Affirmation │ Verdict │ Niveau de preuve
──────────────────────────────────┼──────────────────────┼──────────────────────────────────
Réduit cholestérol/LDL/TG │ CONFIRMÉ │ Méta-analyse 20 RCT (n=1076)
Réduit la tension artérielle │ CONFIRMÉ │ Méta-analyse de RCT
Aide à la perte de poids │ Part. confirmé │ Méta-analyse 17 RCT : −1,07 kg
Contrôle glycémique (diabète T2) │ Part. confirmé │ Méta-analyse 8 études
Riche en protéines ("60%") │ EXAGÉRÉ │ 3 g portion = 2 g protéines
Source de vitamine B12 │ RÉFUTÉ │ Pseudo-B12 inactive
Détoxifie le foie │ NON PROUVÉ │ Aucun mécanisme prouvé
Anti-cancer │ PRÉMATURÉ │ In vitro uniquement
"Super aliment" (terme) │ NON APPLICABLE │ Terme purement marketing
── Risques et effets secondaires ──────────────────────────────────
Risque │ Gravité │ Population
──────────────────────────────────────┼──────────────────┼───────────────────────────────
Contamination métaux lourds │ Modérée-élevée │ Tous (94% produits contaminés)
Microcystines (cyanotoxines) │ Élevée │ Consommation ≥ 4 g/jour
Maladies autoimmunes │ Modérée-élevée │ Lupus, SEP, vitiligo, PR
Interactions anticoagulants │ Modérée │ Sous warfarine/aspirine
Phénylcétonurie (PKU) │ Très élevée │ Contre-indication absolue
── Positions officielles ──────────────────────────────────────────
ANSES (France) : Sûre à doses modérées. CI : PKU, allergies.
Alerte contamination métaux lourds. (2017)
FDA (États-Unis) : Statut GRAS. Colorant alimentaire approuvé.
EFSA (UE) : A REJETÉ les allégations diabète (2013).
── Red flags ──────────────────────────────────────────────────────
⚠ "Super aliment" = aucune définition scientifique officielle
⚠ Ratio allégations/preuves ~10:1 (50+ claims, <5 prouvées)
⚠ Marché 630 M$ → 1,4 Md$ (biais de publication probable)
⚠ 1 étude rétractée : "Spirulina Unleashed" (MDPI, 2024)
⚠ Langage weasel : 36x "may/might/suggest", 0x "proven"
⚠ 94% des échantillons positifs aux microcystines
── Sources (14 consultées) ────────────────────────────────────────
[1] Spirulina & lipid profile — Méta-analyse 20 RCT (2023)
[2] Spirulina & blood pressure — Méta-analyse RCT (2021)
[3] ANSES — Position réglementaire (2017)
...
Installer les serveurs MCP
La skill utilise deux serveurs MCP pour taper directement dans les bases scientifiques. Sans eux, elle se rabat sur WebSearch — ça marche, mais c'est moins précis.
- PubMed MCP (
mcp-simple-pubmed) : accès direct à l'API Entrez. Gratuit, juste un email. Test :uvx mcp-simple-pubmed --help - Paper Search MCP (
paper-search-mcp) : recherche multi-sources (PubMed, arXiv, bioRxiv, medRxiv, Semantic Scholar, Google Scholar). Test :uvx --from paper-search-mcp python -m paper_search_mcp.server --help
Dans ~/.claude/mcp.json :
{
"mcpServers": {
"pubmed": {
"command": "uvx",
"args": ["mcp-simple-pubmed"],
"env": {
"PUBMED_EMAIL": "votre@email.com"
}
},
"paper-search": {
"command": "uvx",
"args": ["--from", "paper-search-mcp", "python", "-m", "paper_search_mcp.server"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": ""
}
}
}
}
Quelques points :
PUBMED_EMAIL: l'API Entrez de NCBI demande un email pour identifier les requêtes, pas de clé API.SEMANTIC_SCHOLAR_API_KEY: optionnel, ça fonctionne sans avec un rate limit plus bas. Clé gratuite sur semanticscholar.org/product/api.- Les deux tournent avec
uvx. Si vous n'avez pasuv:curl -LsSf https://astral.sh/uv/install.sh | sh.
Redémarrer Claude Code après modification de mcp.json : les serveurs MCP se chargent au démarrage, pas à chaud.
Architecture : 4 fichiers, pas un seul gros
La skill vit dans ~/.claude/skills/science-check/ (voir sur GitHub) :
science-check/
├── SKILL.md # Instructions principales (105 lignes)
├── REPORT_TEMPLATE.md # Template du rapport
├── TRUSTED_SOURCES.md # Sources fiables par tier
└── EVIDENCE_HIERARCHY.md # Grille des niveaux de preuve
La première version tenait dans un seul fichier de 250 lignes : Claude perdait le fil, mélangeait les phases du workflow et oubliait des sections du rapport. Claude Code charge le SKILL.md en entier quand la skill se déclenche, et chaque token entre en compétition avec l'historique de conversation. Déplacer les références dans des fichiers séparés — progressive disclosure — a tout changé.
Le frontmatter YAML dit à Claude quand déclencher la skill, le corps markdown comment l'exécuter :
name: science-check
description: "Verifie une affirmation scientifique ou de sante en croisant
PubMed, Semantic Scholar, et le web. Produit un rapport structure avec
niveaux de preuve, risques et positions officielles. Utiliser cette skill
des que l'utilisateur pose une question sur la sante, la nutrition, un
complement alimentaire, un medicament, une therapie, ou demande si une
affirmation scientifique est vraie, prouvee ou fiable, meme si la question
est informelle."
user-invocable: true
argument-hint: '[affirmation a verifier]'
allowed-tools:
- Agent
- Bash
- Read
- WebSearch
- WebFetch
- AskUserQuestion
- Write
- mcp__pubmed__search_pubmed
- mcp__pubmed__get_paper_fulltext
- mcp__paper-search__search_pubmed
- mcp__paper-search__search_arxiv
- mcp__paper-search__search_google_scholar
- mcp__paper-search__search_biorxiv
- mcp__paper-search__search_medrxiv
- mcp__paper-search__read_pubmed_paper
- mcp__paper-search__read_biorxiv_paper
- mcp__paper-search__read_medrxiv_paper
Trois enseignements sur ce frontmatter :
La description doit être « pushy ». Claude a tendance à sous-déclencher les skills : à la question « est-ce que le magnésium aide à dormir ? », il répond directement au lieu d'utiliser la skill. Lister explicitement « nutrition, complément alimentaire, médicament, thérapie » force le déclenchement.
allowed-tools et les noms MCP complets. Le piège le plus coûteux : les agents partent, tout a l'air normal, mais ils n'utilisent jamais PubMed. Aucune erreur, aucun warning, juste du silence. Le format est mcp__<nom_serveur>__<nom_outil>, et sans déclaration dans allowed-tools, Claude n'a simplement pas le droit d'utiliser ces outils dans le contexte de la skill.
Agent dans la liste. C'est ce qui permet de lancer 3 recherches en parallèle au lieu de les enchaîner : ~1 minute au lieu de ~3.
Le workflow en 6 phases
Phase 1, traduction. Les bases scientifiques sont en anglais : « la spiruline est bonne pour la santé » devient « spirulina health benefits evidence ».
Phase 2, orientation avec 3 agents en parallèle. Agent A cherche les méta-analyses et revues systématiques (niveau de preuve le plus élevé), Agent B les risques et effets secondaires (contrepartie souvent absente des recherches orientées bénéfices), Agent C les analyses critiques et debunking (réduction du biais de confirmation).
Phase 3, approfondissement. Claude récupère les meilleures sources selon un classement de fiabilité défini dans TRUSTED_SOURCES.md :
- Tier 1 : Cochrane Library, PubMed, Examine.com
- Tier 2 : EFSA, FDA, ANSES, OMS
- Tier 3 : Harvard Health, Mayo Clinic, McGill OSS, NHS
- Tier 4 : Retraction Watch, Semantic Scholar (nombre de citations)
Le MCP paper-search récupère directement le nombre de citations depuis Semantic Scholar, ce qui donne un signal sur l'impact réel d'une étude.
Phase 4, validation croisée. Pour chaque étude clé : taille d'échantillon, type d'étude (RCT, observationnelle, animale, in vitro), financement (industrie = biais potentiel), réplication des résultats, absence de rétractation via Retraction Watch.
Phase 5, auto-vérification. Une checklist qualité est évaluée avant rédaction : au moins 3 sources indépendantes, au moins 1 méta-analyse ou revue systématique (sinon signalement dans le rapport), aucune conclusion basée sur une seule étude, risques et effets secondaires identifiés. Si un critère échoue, Claude relance des recherches ciblées. Sans cette phase, il concluait parfois « CONFIRMÉ » à partir d'un seul RCT de 30 personnes.
Phase 6, synthèse avec ultrathink. Le mot ultrathink dans le SKILL.md active la réflexion étendue. La synthèse doit peser des preuves contradictoires (méta-analyse positive vs négative, avis divergents EFSA/FDA) et produire un verdict global pondéré, selon le template de REPORT_TEMPLATE.md et la grille de EVIDENCE_HIERARCHY.md.
Tester
Relancez Claude Code, puis :
/science-check le jeûne intermittent aide à perdre du poids
Claude affiche une checklist de progression, lance 3 agents en background, fait les vérifications croisées et sort le rapport. Comptez 1 à 2 minutes selon la complexité.
Ce que ça apprend
La description, c'est 80 % du travail. Ces trois lignes de YAML demandent plus d'itérations que le workflow entier. Si Claude ne déclenche pas la skill, le reste ne sert à rien.
Les sous-agents changent la donne. Trois agents parallèles au lieu de recherches séquentielles : temps divisé par trois, et qualité en hausse parce que chaque agent a son angle dédié. Sans Agent dans allowed-tools, ça tourne en séquentiel sans prévenir.
L'auto-vérification n'est pas optionnelle. C'est la phase qui empêche de conclure « CONFIRMÉ » à partir d'une étude in vitro sur 12 souris.
Le debug silencieux des MCP est le vrai piège. Quand un outil MCP manque dans allowed-tools, aucune erreur n'est levée : Claude fait juste sans.
Limites
Ça ne remplace pas un médecin. Le rapport est aussi bon que les sources disponibles en ligne, et Claude peut mal interpréter une étude. Mais pour un premier tri — « est-ce que ça vaut le coup d'en parler à mon médecin ? » — c'est efficace.
Le pattern se transpose à tout domaine où il faut vérifier des affirmations (santé, nutrition, mais aussi finance, droit, tech) : recherche parallèle multi-angle, validation croisée, auto-vérification, rapport structuré. La skill change, le squelette reste.
Articles similaires