Créer une skill Claude Code pour vérifier les affirmations scientifiques
- Publié le
- ·12 min de lecture
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. Utilisez-les comme point de départ, pas comme vérité absolue.
On raconte n'importe quoi sur la santé
"La spiruline c'est un super aliment." "Le café provoque le cancer." "Le jeûne intermittent guérit tout."
On a tous un ami qui balance ces trucs au repas de famille. Et honnêtement, vérifier si c'est vrai demande du boulot. Faut 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... Bref, 2 heures de travail pour chaque affirmation. Minimum.
Du coup j'ai voulu automatiser ça. Taper /science-check la spiruline est un super aliment dans Claude Code et recevoir un rapport complet en 2 minutes. Verdicts, niveaux de preuve, risques, sources vérifiées. La totale.
J'ai passé un bon week-end à itérer dessus (et une soirée à me battre avec un bug de allowed-tools dont je parle plus bas). Voici ce que j'ai construit et ce que j'ai appris en route.
Ce que ça donne concrètement
La commande slash /science-check fait ça :
- Lance 3 agents de recherche en parallèle (méta-analyses, risques, analyse critique)
- Fouille PubMed, Semantic Scholar, Google Scholar via des serveurs MCP
- Vérifie les études clés (rétractations, financement, taille d'échantillon)
- Produit un rapport structuré en français avec verdicts par sous-affirmation
Voici la sortie complète dans le terminal Claude Code, sur /science-check la spiruline est un "super aliment" ? :
- [x] Affirmation récupérée et traduite en anglais
- [x] Phase ORIENTATION : 3 recherches parallèles lancées
- [x] Phase APPROFONDISSEMENT : sources de référence fetchées
- [x] Phase VALIDATION : études clés vérifiées
- [x] Phase AUTO-VÉRIFICATION : checklist qualité validée
- [x] Phase SYNTHÈSE : rapport généré
══════════════════════════════════════════════════════════════════════
VÉRIFICATION SCIENTIFIQUE
══════════════════════════════════════════════════════════════════════
Affirmation : La spiruline est un "super aliment"
Date : 5 mars 2026
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, loin de
l'image d'aliment miracle véhiculée par le marketing.
── 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
Réduit l'inflammation (CRP, IL-6) │ Part. confirmé │ Méta-analyses : effet modeste
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é
Boost immunitaire général │ NON PROUVÉ │ Zéro RCT de qualité
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
Interactions immunosuppresseurs │ Modérée │ Sous azathioprine/cyclosporine
Phénylcétonurie (PKU) │ Très élevée │ Contre-indication absolue
Réactions allergiques │ Variable │ Allergie iode/fruits de mer
Pseudo-B12 masquant carence │ Faible │ Végétaliens
── 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é.
Régulation minimale des suppléments.
EFSA (UE) : A REJETÉ les allégations diabète (2013).
Pas d'évaluation complète.
OMS : Pas de position spécifique.
── 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 & cardiometabolic health — Méta-analyse (2025)
[3] Spirulina & blood pressure — Méta-analyse RCT (2021)
[4] Spirulina & body composition — Méta-analyse 17 RCT (2025)
[5] Spirulina & type 2 diabetes — Méta-analyse (2021)
[6] Spirulina & CRP — Méta-analyse GRADE (2025)
[7] Spirulina & inflammation — Méta-analyse RCT (2025)
[8] Examine.com — Revue evidence-based (2025)
[9] ANSES — Position réglementaire (2017)
[10] Rubio et al. — Métaux lourds (2021)
[11] Autoimmune reactions — Case reports (2025)
[12] Umbrella review — Méta-analyses (2026)
[13] EFSA — Allégations rejetées (2013)
[14] "Spirulina Unleashed" — Rétractée (2024/2025)
══════════════════════════════════════════════════════════════════════
En résumé : bénéfices réels mais modestes (cholestérol, tension)
confirmés par 15+ méta-analyses. "Super aliment" = marketing pur.
Risques de contamination non négligeables.
Pas mal pour 2 minutes d'attente.
Installer les serveurs MCP
La skill utilise deux serveurs MCP pour taper directement dans les bases de données 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 de PubMed. Gratuit, juste besoin d'un email.
# Tester que ça fonctionne
uvx mcp-simple-pubmed --help
Paper Search MCP (paper-search-mcp)
Recherche multi-sources : PubMed, arXiv, bioRxiv, medRxiv, Semantic Scholar, Google Scholar. Le couteau suisse de la recherche académique.
# Tester
uvx --from paper-search-mcp python -m paper_search_mcp.server --help
Le ~/.claude/mcp.json
Ajouter les deux serveurs dans la config MCP globale :
Voir le mcp.json complet
{
"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 trucs à savoir :
PUBMED_EMAIL: l'API Entrez de NCBI demande un email. Pas de clé API, juste un email pour identifier les requêtes. Mettez le vôtre.SEMANTIC_SCHOLAR_API_KEY: optionnel. Ça fonctionne sans, avec un rate limit plus bas. Clé gratuite dispo ici : semanticscholar.org/product/api.- Les deux tournent avec
uvx(le runner deuv). Si vous avez pasuv:curl -LsSf https://astral.sh/uv/install.sh | sh.
Faut redémarrer Claude Code après avoir modifié mcp.json. Les serveurs MCP se chargent au démarrage, pas à chaud.
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
Ma première version ? Un seul fichier de 250 lignes. Claude perdait le fil à chaque fois, mélangeait les phases du workflow, oubliait des sections du rapport. Galère.
Le truc c'est que Claude Code charge le SKILL.md en entier quand la skill se déclenche. Chaque token entre en compétition avec l'historique de conversation. Déplacer les références dans des fichiers séparés, c'est du "progressive disclosure" : Claude les charge que quand il en a besoin. Ça a tout changé.
Le SKILL.md : là où ça se joue
Voici le fichier complet. Le frontmatter YAML dit à Claude quand déclencher la skill, et le corps markdown définit 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
Le workflow en 6 phases et les règles complètes sont dans le SKILL.md sur GitHub.
Ce que j'ai appris sur ce frontmatter (à la dure)
La description, faut la rendre "pushy". Claude a tendance à sous-déclencher les skills. Genre, vous demandez "est-ce que le magnésium aide à dormir ?" et il répond directement au lieu d'utiliser la skill. En listant explicitement "nutrition, complément alimentaire, médicament, thérapie" dans la description, on force un peu le déclenchement. J'ai dû reformuler 4 ou 5 fois avant que ça marche bien.
allowed-tools et les noms MCP complets. C'est là où j'ai perdu une soirée. Mon premier test : je lance /science-check, les agents partent, tout a l'air bien... sauf qu'ils utilisent jamais PubMed. Zéro erreur dans les logs. Juste... silence. En fait le format c'est mcp__<nom_serveur>__<nom_outil> et j'avais pas déclaré les outils MCP dans allowed-tools. Claude avait tout simplement pas le droit de les utiliser dans le contexte de la skill. Pas d'erreur, pas de warning. Rien. Pénible.
Agent dans la liste. C'est ce qui permet de lancer 3 recherches en parallèle au lieu de les faire une par une. ~1 minute au lieu de ~3. Non négligeable.
Le workflow en 6 phases
Phase 1 : Traduire l'affirmation
Rien de compliqué. Les bases scientifiques sont en anglais. "La spiruline est bonne pour la santé" devient "spirulina health benefits evidence".
Phase 2 : Orientation - 3 agents en parallèle
Trois sous-agents sont lancés simultanément, chacun avec un angle de recherche différent :
- Agent A recherche les méta-analyses et revues systématiques (niveau de preuve le plus élevé)
- Agent B recherche les risques et effets secondaires (contre-partie souvent absente des recherches orientées "bénéfices")
- Agent C recherche les analyses critiques et debunking (réduction du biais de confirmation)
Chaque agent a accès à WebSearch et aux MCP PubMed/Paper Search, à condition qu'ils soient déclarés dans allowed-tools.
Phase 3 : Approfondissement
Claude récupère les meilleures sources trouvées, en suivant 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 permet de récupérer 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é, Claude vérifie :
- la taille d'échantillon (n=?)
- le type d'étude (RCT, observationnelle, animale, in vitro)
- le financement (industrie = biais potentiel)
- la réplication des résultats
- l'absence de rétractation via Retraction Watch
Phase 5 : Auto-vérification
Une checklist qualité est évaluée avant la rédaction du rapport :
- Au moins 3 sources indépendantes consultées
- Au moins 1 méta-analyse ou revue systématique trouvée (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 avant de passer à la synthèse. Sans cette phase, j'ai constaté que Claude 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 de Claude. La synthèse nécessite de peser des preuves contradictoires (méta-analyse positive vs négative, avis divergents entre EFSA et FDA, etc.) et de produire un verdict global pondéré. Le rapport est généré selon le template défini dans REPORT_TEMPLATE.md, en utilisant la grille de niveaux de preuve de EVIDENCE_HIERARCHY.md.
Les fichiers de référence
EVIDENCE_HIERARCHY.md
Grille de niveaux de preuve utilisée pour attribuer les verdicts :
Voir la grille complète sur GitHub.
TRUSTED_SOURCES.md
Classement des sources fiables par priorité de consultation :
Voir le classement complet sur GitHub.
REPORT_TEMPLATE.md
Template que Claude suit pour générer le rapport final :
Voir le template complet sur GitHub.
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 (vous voyez les notifications arriver au fur et à mesure), fait les vérifications croisées, et sort le rapport complet. Comptez 1 à 2 minutes selon la complexité du sujet.
Ce que j'ai appris
La description c'est 80% du travail. J'ai passé plus de temps à peaufiner ces 3 lignes de YAML qu'à écrire le workflow entier. Si Claude déclenche pas la skill, le reste sert à rien.
Les sous-agents, ça change la donne. Recherches séquentielles -> 3 agents parallèles = temps divisé par 3, qualité en hausse parce que chaque agent a son angle dédié. Le truc c'est que sans Agent dans allowed-tools, ça tourne en séquentiel sans vous prévenir.
L'auto-vérification est pas optionnelle. J'ai failli la retirer pour gagner des tokens. Mauvaise idée. C'est la phase qui empêche Claude de conclure "CONFIRMÉ" à partir d'une étude in vitro sur 12 souris.
Le debug silencieux des MCP, c'est le piège. Quand un outil MCP manque dans allowed-tools, y'a aucune erreur. Claude fait juste sans. J'ai perdu une soirée là-dessus. Vérifiez vos outils déclarés.
Limites
Ça 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 toubib ?" - c'est devenu mon réflexe.
Mes prochaines étapes : des evals formelles avec le framework du skill-creator d'Anthropic, un cache pour éviter de retaper les mêmes requêtes PubMed, et peut-être une version web via l'Agent SDK pour les non-dev.
Si vous bossez dans un domaine où il faut vérifier des affirmations - santé, nutrition, mais aussi finance, droit, tech - le pattern est le même : recherche parallèle multi-angle, validation croisée, auto-vérification, rapport structuré. La skill change, le squelette reste.
Article précédent
← VPN souverain : monter son propre serveur avec Headscale en SuisseArticle suivant
Créer une skill Claude Code pour fact-checker les news→