paper-lookup

Par mkurman · zorai

npx skills add https://github.com/mkurman/zorai --skill paper-lookup

name: paper-lookup description: Rechercher dans 10 bases de données de publications académiques via leurs API REST pour trouver des articles de recherche, des prépublications et des articles savants. Couvre la littérature biomédicale (PubMed, texte intégral PMC), les serveurs de prépublications (bioRxiv, medRxiv, arXiv), les index multidisciplinaires (OpenAlex, Crossref, Semantic Scholar), les agrégateurs d'accès ouvert (CORE, Unpaywall). Utiliser cette skill chaque fois que l'utilisateur souhaite rechercher des articles de recherche, trouver des citations, consulter des articles par DOI ou PMID, récupérer des résumés ou du texte intégral, vérifier la disponibilité en accès ouvert, trouver des prépublications, explorer des graphes de citations, rechercher par auteur ou mot-clé, ou accéder à n'importe quelle base de données de littérature savante. Déclencher également lorsque l'utilisateur mentionne PubMed, PMC, bioRxiv, medRxiv, arXiv, OpenAlex, Crossref, Semantic Scholar, CORE, Unpaywall, ou pose des questions sur les métadonnées d'articles, les comptages de citations, les articles de revues, les recherches de manuscrits, les revues de littérature, ou les recherches systématiques. Même si l'utilisateur dit simplement « trouver des articles sur X » ou « qu'est-ce qui a été publié sur Y » ou « consulter ce DOI », cette skill doit s'activer. tags: [scientific-skills, paper-lookup, api, database, search, academic-writing, citation-management] metadata: skill-author: K-Dense Inc. ---|---| | Articles sur un sujet biomédical | PubMed | Semantic Scholar, OpenAlex | | Texte intégral d'un article biomédical | PMC | CORE | | Prépublications en biologie | bioRxiv | Semantic Scholar, OpenAlex | | Prépublications en santé/médecine | medRxiv | Semantic Scholar, OpenAlex | | Prépublications en physique, mathématiques ou informatique | arXiv | Semantic Scholar, OpenAlex | | Articles tous domaines confondus | OpenAlex | Semantic Scholar, Crossref | | Un article spécifique par DOI | Crossref | Unpaywall, Semantic Scholar | | PDF en accès ouvert pour un article | Unpaywall | CORE, PMC | | Graphe de citations (qui cite qui) | Semantic Scholar | OpenAlex | | Publications d'un auteur | Semantic Scholar | OpenAlex | | Recommandations d'articles | Semantic Scholar | -- | | Texte intégral (tous domaines) | CORE | PMC (biomédical uniquement) | | Métadonnées de revue/éditeur | Crossref | OpenAlex | | Informations sur le financement | Crossref | OpenAlex | | Convertir entre PMID/PMCID/DOI | PMC (ID Converter) | Crossref | | Prépublications récentes par date | bioRxiv, medRxiv | arXiv |

Requêtes Multibase

L'utilisateur demande... Bases à interroger
Tout sur un article (métadonnées + citations + OA) Crossref + Semantic Scholar + Unpaywall
Recherche bibliographique complète PubMed + OpenAlex + Semantic Scholar
Trouver et lire un article PubMed (trouver) + Unpaywall (lien OA) + PMC ou CORE (texte intégral)
Prépublication et sa version publiée bioRxiv/medRxiv + Crossref
Vue d'ensemble d'un auteur avec métriques de citation Semantic Scholar + OpenAlex

Lorsqu'une requête s'étend sur plusieurs besoins (ex. : « trouver des articles sur CRISPR et me donner les PDF »), interroger les bases pertinentes en parallèle.

Formats d'identifiants courants

Les différentes bases de données utilisent différents systèmes d'identifiants. En cas d'échec de la requête, le format de l'identifiant peut être incorrect.

Identifiant Format Exemple Utilisé par
DOI 10.xxxx/xxxxx 10.1038/nature12373 Toutes les bases
PMID Entier 34567890 PubMed, PMC, Semantic Scholar
PMCID PMC + chiffres PMC7029759 PMC, Europe PMC
ID arXiv YYMM.NNNNN 2103.15348 arXiv, Semantic Scholar
ID OpenAlex W + chiffres W2741809807 OpenAlex
ID Semantic Scholar 40 caractères hex 649def34f8be... Semantic Scholar
ORCID 0000-XXXX-XXXX-XXXX 0000-0001-6187-6610 OpenAlex, Crossref
ISSN XXXX-XXXX 0028-0836 Crossref, OpenAlex

Référencement croisé des identifiants : Semantic Scholar accepte DOI, PMID, PMCID et ID arXiv via des préfixes (ex. : DOI:10.1038/nature12373, PMID:34567890, ARXIV:2103.15348). OpenAlex accepte DOI et PMID via des préfixes (doi:10.1038/..., pmid:34567890). Utiliser le convertisseur d'ID PMC pour traduire entre PMID, PMCID et DOI.

Clés API et Accès

La plupart de ces bases de données sont entièrement ouvertes. Certaines bénéficient de clés API pour des limites de débit plus élevées.

Bases de données nécessitant ou bénéficiant de clés API

Base de données Variable d'environnement Requise ? Inscription
NCBI (PubMed, PMC) NCBI_API_KEY Non (3 req/s sans, 10 avec) https://www.ncbi.nlm.nih.gov/account/settings/
CORE CORE_API_KEY Oui pour texte intégral https://core.ac.uk/services/api
Semantic Scholar S2_API_KEY Non (pool partagé sans) https://www.semanticscholar.org/product/api#api-key-form
OpenAlex OPENALEX_API_KEY Recommandé https://openalex.org/settings/api

Bases de données entièrement ouvertes (aucune clé requise)

Base de données Remarques
bioRxiv / medRxiv Pas d'authentification, pas de limites de débit documentées
arXiv Pas d'authentification, max 1 requête par 3 secondes
Crossref Pas d'authentification ; ajouter le paramètre mailto pour le pool poli (2x limite de débit)
Unpaywall Pas d'authentification ; nécessite le paramètre email

Chargement des clés API

  1. Vérifier d'abord l'environnement -- la clé peut déjà être exportée (ex. : $NCBI_API_KEY).
  2. Revenir à .env -- vérifier .env dans le répertoire de travail actuel.
  3. Continuer sans -- la plupart des API fonctionnent quand même avec des limites de débit plus basses. Indiquer à l'utilisateur quelle clé manque et comment l'obtenir.

Effectuer des appels API

Utiliser l'outil de fetch HTTP de son environnement pour appeler les endpoints REST :

Plateforme Outil de Fetch HTTP Secours
Claude Code WebFetch curl via Bash
Gemini CLI web_fetch curl via shell
Windsurf read_url_content curl via terminal
Cursor Pas d'outil dédié curl via run_terminal_cmd
Codex CLI Pas d'outil dédié curl via shell
Cline Pas d'outil dédié curl via execute_command

Si l'outil de fetch échoue, revenir à curl via n'importe quel outil shell disponible.

Cas particuliers

  • arXiv retourne du XML Atom, pas du JSON. L'analyser ou utiliser curl et extraire les champs pertinents. Envisager de passer par un analyseur simple si disponible.
  • PMC eFetch retourne du XML JATS pour le texte intégral. C'est normal -- les articles en texte intégral sont au format XML.
  • Crossref et Unpaywall bénéficient d'inclure un paramètre mailto ou email pour le pool poli/rapide.

Directives de requête

  • Pour les API NCBI (PubMed, PMC) : max 3 req/sec sans clé, 10 avec clé. Effectuer les requêtes séquentiellement.
  • Pour arXiv : max 1 requête toutes les 3 secondes. Être patient.
  • Pour Crossref : 5 req/sec (public), 10 req/sec (pool poli avec mailto).
  • Pour les autres API sans limites strictes, on peut interroger plusieurs bases en parallèle.
  • En cas d'HTTP 429 (limite de débit), attendre brièvement et réessayer une fois.

Récupération d'erreurs

  1. Vérifier le format de l'identifiant -- utiliser la table Formats d'identifiants courants. Un PMID ne fonctionnera pas sur arXiv, un ID arXiv ne fonctionnera pas directement sur PubMed.
  2. Essayer des identifiants alternatifs -- si un DOI échoue dans une base, essayer le titre ou le PMID à la place.
  3. Essayer une base différente -- si PubMed ne retourne rien pour un article CS, essayer Semantic Scholar ou OpenAlex.
  4. Signaler l'échec -- indiquer à l'utilisateur quelle base a échoué, l'erreur, et ce qui a été essayé à la place.

Format de sortie

Structurer la réponse comme suit :

## Bases interrogées
- **PubMed** -- esearch + esummary pour « CRISPR gene therapy »
- **Unpaywall** -- recherche DOI pour 10.1038/...

## Résultats

### PubMed
[réponse JSON brute ou résultats formatés]

### Unpaywall
[réponse JSON brute]

Si les résultats sont très volumineux, présenter la portion la plus pertinente et noter que davantage de données sont disponibles. Mais par défaut, montrer le JSON brut complet -- c'est ce que l'utilisateur a demandé.

Bases de données disponibles

Lire le fichier de référence pertinent avant d'effectuer un appel API.

Littérature biomédicale

Base de données Fichier de référence Ce qu'elle couvre
PubMed references/pubmed.md 37M+ citations biomédicales, résumés, termes MeSH
PMC references/pmc.md 10M+ articles biomédicaux en texte intégral (XML JATS), conversion d'ID

Serveurs de prépublications

Base de données Fichier de référence Ce qu'elle couvre
bioRxiv references/biorxiv.md Prépublications en biologie (consulter par date/DOI, pas de recherche par mot-clé)
medRxiv references/medrxiv.md Prépublications en sciences de la santé (consulter par date/DOI, pas de recherche par mot-clé)
arXiv references/arxiv.md Prépublications en physique, mathématiques, informatique, biologie, économie (recherche par mot-clé, XML Atom)

Index multidisciplinaires

Base de données Fichier de référence Ce qu'elle couvre
OpenAlex references/openalex.md 250M+ travaux, auteurs, institutions, sujets, données de citations
Crossref references/crossref.md 150M+ métadonnées DOI, revues, financeurs, références
Semantic Scholar references/semantic-scholar.md 200M+ articles, graphes de citations, TLDR générés par IA, recommandations

Accès ouvert et texte intégral

Base de données Fichier de référence Ce qu'elle couvre
CORE references/core.md 37M+ textes intégraux de dépôts OA du monde entier
Unpaywall references/unpaywall.md Statut OA et liens PDF pour tout DOI

Skills similaires