Fransys

Blog technique — Architecture, Cloud & DevOps

BlogServicesContactÀ propos

Suivez-moi

githubGitHublinkedinLinkedinmailMail

© 2026 Fransys • Fransys

Fransys

Catégories

  • Tous les articles
  • Tags
  • productivite10
  • nas10
  • ia8
  • securite7
  • linux6
  • claude-code6
  • auto-hebergement6
  • neovim5
  • docker5
  • editeur4
  • mcp3
  • vpn3
  • reseau3
  • lua2
  • terminal2
claude-codeiamcpscienceproductivite

Créer une skill Claude Code pour vérifier les affirmations scientifiques

Publié le
5 mars 2026·12 min de lecture
Avatar François GUERLEZFrançois GUERLEZ
Avertissement

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 :

  1. Lance 3 agents de recherche en parallèle (méta-analyses, risques, analyse critique)
  2. Fouille PubMed, Semantic Scholar, Google Scholar via des serveurs MCP
  3. Vérifie les études clés (rétractations, financement, taille d'échantillon)
  4. 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 de uv). Si vous avez pas uv : 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 Suisse

Article suivant

Créer une skill Claude Code pour fact-checker les news→
← Retour au blog

Sommaire

  • On raconte n'importe quoi sur la santé
  • Ce que ça donne concrètement
  • Installer les serveurs MCP
  • PubMed MCP (mcp-simple-pubmed)
  • Paper Search MCP (paper-search-mcp)
  • Le ~/.claude/mcp.json
  • 4 fichiers, pas un seul gros
  • Le SKILL.md : là où ça se joue
  • Ce que j'ai appris sur ce frontmatter (à la dure)
  • Le workflow en 6 phases
  • Phase 1 : Traduire l'affirmation
  • Phase 2 : Orientation - 3 agents en parallèle
  • Phase 3 : Approfondissement
  • Phase 4 : Validation croisée
  • Phase 5 : Auto-vérification
  • Phase 6 : Synthèse avec ultrathink
  • Les fichiers de référence
  • EVIDENCE_HIERARCHY.md
  • TRUSTED_SOURCES.md
  • REPORT_TEMPLATE.md
  • Tester
  • Ce que j'ai appris
  • Limites