citation-management

Par mkurman · zorai

npx skills add https://github.com/mkurman/zorai --skill citation-management

name: citation-management description: Gestion complète des citations pour la recherche académique. Recherchez sur Google Scholar et PubMed des articles, extrayez des métadonnées précises, validez les citations et générez des entrées BibTeX correctement formatées. Cette skill doit être utilisée quand vous avez besoin de trouver des articles, vérifier les informations de citation, convertir des DOI en BibTeX, ou assurer l'exactitude des références dans la rédaction scientifique. allowed-tools: Read Write Edit Bash license: MIT License tags: [scientific-skills, citation-management, writing, search] metadata: skill-author: K-Dense Inc. -----------|-----------|----------------| | 0-3 ans | 20+ | Remarquable | | 0-3 ans | 100+ | Hautement influent | | 3-7 ans | 100+ | Significatif | | 3-7 ans | 500+ | Article de référence | | 7+ ans | 500+ | Travail fondateur | | 7+ ans | 1000+ | Fondamental |

Niveaux de qualité des revues :

  • Niveau 1 (Préféré) : Nature, Science, Cell, NEJM, Lancet, JAMA, PNAS
  • Niveau 2 (Haute priorité) : Facteur d'impact >10, conférences majeures (NeurIPS, ICML, ICLR)
  • Niveau 3 (Bon) : Revues spécialisées (FI 5-10)
  • Niveau 4 (Sparingly) : Revues évaluées par les pairs à faible impact

Indicateurs de réputation des auteurs :

  • Chercheurs seniors avec h-index >40
  • Plusieurs publications dans des revues de niveau 1
  • Leadership dans des institutions reconnues
  • Prix et fonctions éditoriales

Stratégies de recherche pour articles à fort impact :

  • Trier par nombre de citations (plus cité en premier)
  • Rechercher des articles d'examen issus de revues de niveau 1 pour une vue d'ensemble
  • Vérifier « Cité par » pour évaluer l'impact et les travaux de suivi récents
  • Utiliser des alertes de citation pour suivre les nouvelles citations des articles clés
  • Filtrer par revues majeures en utilisant source:Nature ou source:Science
  • Rechercher des articles d'experts du domaine connus en utilisant author:NomDeFamille

Opérateurs avancés (liste complète dans references/google_scholar_search.md) :

"exact phrase"           # Correspondance de phrase exacte
author:lastname          # Recherche par auteur
intitle:keyword          # Recherche dans le titre uniquement
source:journal           # Recherche dans une revue spécifique
-exclude                 # Exclure des termes
OR                       # Termes alternatifs
2020..2024              # Plage d'années

Exemples de recherche :

# Trouver des articles d'examen récents sur un sujet
"CRISPR" intitle:review 2023..2024

# Trouver des articles d'un auteur spécifique sur un sujet
author:Church "synthetic biology"

# Trouver des travaux fondateurs très cités
"deep learning" 2012..2015 sort:citations

# Exclure les sondages et se concentrer sur les méthodes
"protein folding" -survey -review intitle:method

Bonnes pratiques PubMed

Utilisation des termes MeSH : MeSH (Medical Subject Headings) fournit un vocabulaire contrôlé pour une recherche précise.

  1. Trouver les termes MeSH sur https://meshb.nlm.nih.gov/search
  2. Utiliser dans les requêtes : "Diabetes Mellitus, Type 2"[MeSH]
  3. Combiner avec les mots-clés pour une couverture complète

Balises de champ :

[Title]              # Recherche dans le titre uniquement
[Title/Abstract]     # Recherche dans le titre ou le résumé
[Author]             # Recherche par nom d'auteur
[Journal]            # Recherche dans une revue spécifique
[Publication Date]   # Plage de dates
[Publication Type]   # Type d'article
[MeSH]              # Terme MeSH

Construction de requêtes complexes :

# Essais cliniques sur le traitement du diabète publiés récemment
"Diabetes Mellitus, Type 2"[MeSH] AND "Drug Therapy"[MeSH] 
AND "Clinical Trial"[Publication Type] AND 2020:2024[Publication Date]

# Articles d'examen sur CRISPR dans une revue spécifique
"CRISPR-Cas Systems"[MeSH] AND "Nature"[Journal] AND "Review"[Publication Type]

# Travaux récents d'un auteur spécifique
"Smith AB"[Author] AND cancer[Title/Abstract] AND 2022:2024[Publication Date]

E-utilities pour l'automatisation : Les scripts utilisent l'API NCBI E-utilities pour l'accès programmatique :

  • ESearch : Recherche et récupération des PMID
  • EFetch : Récupération des métadonnées complètes
  • ESummary : Obtention des informations de résumé
  • ELink : Recherche d'articles connexes

Consultez references/pubmed_search.md pour la documentation complète de l'API.

Outils et scripts

search_google_scholar.py

Recherchez Google Scholar et exportez les résultats.

Fonctionnalités :

  • Recherche automatisée avec limitation de débit
  • Support de la pagination
  • Filtrage par plage d'années
  • Export en JSON ou BibTeX
  • Informations de nombre de citations

Utilisation :

# Recherche basique
python scripts/search_google_scholar.py "quantum computing"

# Recherche avancée avec filtres
python scripts/search_google_scholar.py "quantum computing" \
  --year-start 2020 \
  --year-end 2024 \
  --limit 100 \
  --sort-by citations \
  --output quantum_papers.json

# Export direct en BibTeX
python scripts/search_google_scholar.py "machine learning" \
  --limit 50 \
  --format bibtex \
  --output ml_papers.bib

search_pubmed.py

Recherchez PubMed en utilisant l'API E-utilities.

Fonctionnalités :

  • Support des requêtes complexes (MeSH, balises de champ, booléen)
  • Filtrage par plage de dates
  • Filtrage par type de publication
  • Récupération par lots avec métadonnées
  • Export en JSON ou BibTeX

Utilisation :

# Recherche simple par mot-clé
python scripts/search_pubmed.py "CRISPR gene editing"

# Requête complexe avec filtres
python scripts/search_pubmed.py \
  --query '"CRISPR-Cas Systems"[MeSH] AND "therapeutic"[Title/Abstract]' \
  --date-start 2020-01-01 \
  --date-end 2024-12-31 \
  --publication-types "Clinical Trial,Review" \
  --limit 200 \
  --output crispr_therapeutic.json

# Export en BibTeX
python scripts/search_pubmed.py "Alzheimer's disease" \
  --limit 100 \
  --format bibtex \
  --output alzheimers.bib

extract_metadata.py

Extrayez les métadonnées complètes à partir des identifiants d'article.

Fonctionnalités :

  • Supporte DOI, PMID, ID arXiv, URL
  • Interroge les API CrossRef, PubMed, arXiv
  • Gère plusieurs types d'identifiants
  • Traitement par lots
  • Formats de sortie multiples

Utilisation :

# DOI simple
python scripts/extract_metadata.py --doi 10.1038/s41586-021-03819-2

# PMID simple
python scripts/extract_metadata.py --pmid 34265844

# ID arXiv simple
python scripts/extract_metadata.py --arxiv 2103.14030

# À partir d'une URL
python scripts/extract_metadata.py \
  --url "https://www.nature.com/articles/s41586-021-03819-2"

# Traitement par lots (fichier avec un identifiant par ligne)
python scripts/extract_metadata.py \
  --input paper_ids.txt \
  --output references.bib

# Formats de sortie différents
python scripts/extract_metadata.py \
  --doi 10.1038/nature12345 \
  --format json  # ou bibtex, yaml

validate_citations.py

Validez les entrées BibTeX pour l'exactitude et l'exhaustivité.

Fonctionnalités :

  • Vérification du DOI via doi.org et CrossRef
  • Vérification des champs obligatoires
  • Détection des doublons
  • Validation du format
  • Correction automatique des problèmes courants
  • Rapport détaillé

Utilisation :

# Validation basique
python scripts/validate_citations.py references.bib

# Avec correction automatique
python scripts/validate_citations.py references.bib \
  --auto-fix \
  --output fixed_references.bib

# Rapport de validation détaillé
python scripts/validate_citations.py references.bib \
  --report validation_report.json \
  --verbose

# Vérifier uniquement les DOI
python scripts/validate_citations.py references.bib \
  --check-dois-only

format_bibtex.py

Formatez et nettoyez les fichiers BibTeX.

Fonctionnalités :

  • Standardisation de la mise en forme
  • Tri des entrées (par clé, année, auteur)
  • Suppression des doublons
  • Validation de la syntaxe
  • Correction des erreurs courantes
  • Application des conventions de clés de citation

Utilisation :

# Formatage basique
python scripts/format_bibtex.py references.bib

# Tri par année (plus récent en premier)
python scripts/format_bibtex.py references.bib \
  --sort year \
  --descending \
  --output sorted_refs.bib

# Suppression des doublons
python scripts/format_bibtex.py references.bib \
  --deduplicate \
  --output clean_refs.bib

# Nettoyage complet
python scripts/format_bibtex.py references.bib \
  --deduplicate \
  --sort year \
  --validate \
  --auto-fix \
  --output final_refs.bib

doi_to_bibtex.py

Conversion rapide de DOI en BibTeX.

Fonctionnalités :

  • Conversion rapide d'un seul DOI
  • Traitement par lots
  • Formats de sortie multiples
  • Support du presse-papiers

Utilisation :

# DOI simple
python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2

# Plusieurs DOI
python scripts/doi_to_bibtex.py \
  10.1038/nature12345 \
  10.1126/science.abc1234 \
  10.1016/j.cell.2023.01.001

# À partir d'un fichier (un DOI par ligne)
python scripts/doi_to_bibtex.py --input dois.txt --output references.bib

# Copier dans le presse-papiers
python scripts/doi_to_bibtex.py 10.1038/nature12345 --clipboard

Bonnes pratiques

Stratégie de recherche

  1. Commencez large, puis affinez :

    • Commencez par des termes généraux pour comprendre le domaine
    • Affinez avec des mots-clés spécifiques et des filtres
    • Utilisez des synonymes et des termes connexes
  2. Utilisez plusieurs sources :

    • Google Scholar pour une couverture complète
    • PubMed pour un accent biomédicale
    • arXiv pour les prépublications
    • Combinez les résultats pour une exhaustivité
  3. Exploitez les citations :

    • Vérifiez « Cité par » pour les articles fondateurs
    • Examinez les références des articles clés
    • Utilisez les réseaux de citations pour découvrir les travaux connexes
  4. Documentez vos recherches :

    • Enregistrez les requêtes de recherche et les dates
    • Enregistrez le nombre de résultats
    • Notez tous les filtres ou restrictions appliqués

Extraction de métadonnées

  1. Utilisez toujours les DOI si disponibles :

    • Identifiant le plus fiable
    • Lien permanent vers la publication
    • Meilleure source de métadonnées via CrossRef
  2. Vérifiez les métadonnées extraites :

    • Vérifiez que les noms d'auteurs sont corrects
    • Vérifiez les noms de revues/conférences
    • Confirmez l'année de publication
    • Validez les numéros de page et les volumes
  3. Gérez les cas limites :

    • Prépublications : Incluez le dépôt et l'ID
    • Prépublications publiées ultérieurement : Utilisez la version publiée
    • Articles de conférence : Incluez le nom et la localisation de la conférence
    • Chapitres de livres : Incluez le titre et les éditeurs du livre
  4. Maintenez la cohérence :

    • Utilisez un format de nom d'auteur cohérent
    • Standardisez les abréviations de revues
    • Utilisez le même format DOI (URL préféré)

Qualité BibTeX

  1. Suivez les conventions :

    • Utilisez des clés de citation significatives (FirstAuthor2024keyword)
    • Protégez la capitalisation dans les titres avec {}
    • Utilisez -- pour les plages de pages (pas un tiret simple)
    • Incluez le champ DOI pour toutes les publications modernes
  2. Gardez-le propre :

    • Supprimez les champs inutiles
    • Aucune information redondante
    • Mise en forme cohérente
    • Validez la syntaxe régulièrement
  3. Organisez systématiquement :

    • Triez par année ou sujet
    • Groupez les articles connexes
    • Utilisez des fichiers séparés pour différents projets
    • Fusionnez avec soin pour éviter les doublons

Validation

  1. Validez tôt et souvent :

    • Vérifiez les citations lors de l'ajout
    • Validez la bibliographie complète avant la soumission
    • Re-validez après toute modification manuelle
  2. Corrigez les problèmes rapidement :

    • DOI cassés : Trouvez l'identifiant correct
    • Champs manquants : Extrayez de la source d'origine
    • Doublons : Choisissez la meilleure version, supprimez les autres
    • Erreurs de format : Utilisez la correction automatique si sûr
  3. Révision manuelle pour les citations critiques :

    • Vérifiez que les articles clés sont cités correctement
    • Vérifiez que les noms d'auteurs correspondent à la publication
    • Confirmez les numéros de page et les volumes
    • Assurez-vous que les URL sont actuelles

Pièges courants à éviter

  1. Biais de source unique : Utiliser uniquement Google Scholar ou PubMed

    • Solution : Recherchez dans plusieurs bases de données pour une couverture complète
  2. Accepter les métadonnées aveuglément : Ne pas vérifier les informations extraites

    • Solution : Vérifiez les métadonnées extraites par rapport aux sources originales
  3. Ignorer les erreurs de DOI : DOI cassés ou incorrects dans la bibliographie

    • Solution : Exécutez la validation avant la soumission finale
  4. Mise en forme incohérente : Styles de clés de citation mixtes, mise en forme

    • Solution : Utilisez format_bibtex.py pour standardiser
  5. Entrées en double : Même article cité plusieurs fois avec des clés différentes

    • Solution : Utilisez la détection des doublons lors de la validation
  6. Champs obligatoires manquants : Entrées BibTeX incomplètes

    • Solution : Validez et assurez-vous que tous les champs obligatoires sont présents
  7. Prépublications obsolètes : Citation d'une prépublication quand la version publiée existe

    • Solution : Vérifiez si les prépublications ont été publiées, mettez à jour vers la version journal
  8. Problèmes de caractères spéciaux : Compilation LaTeX cassée due aux caractères

    • Solution : Utilisez l'échappement correct ou Unicode dans BibTeX
  9. Pas de validation avant la soumission : Soumettre avec des erreurs de citation

    • Solution : Exécutez toujours la validation comme vérification finale
  10. Entrée BibTeX manuelle : Saisir les entrées manuellement

    • Solution : Extrayez toujours à partir des sources de métadonnées en utilisant les scripts

Exemples de flux de travail

Exemple 1 : Création d'une bibliographie pour un article

# Étape 1 : Trouvez les articles clés sur votre sujet
python scripts/search_google_scholar.py "transformer neural networks" \
  --year-start 2017 \
  --limit 50 \
  --output transformers_gs.json

python scripts/search_pubmed.py "deep learning medical imaging" \
  --date-start 2020 \
  --limit 50 \
  --output medical_dl_pm.json

# Étape 2 : Extrayez les métadonnées des résultats de recherche
python scripts/extract_metadata.py \
  --input transformers_gs.json \
  --output transformers.bib

python scripts/extract_metadata.py \
  --input medical_dl_pm.json \
  --output medical.bib

# Étape 3 : Ajoutez des articles spécifiques que vous connaissez déjà
python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2 >> specific.bib
python scripts/doi_to_bibtex.py 10.1126/science.aam9317 >> specific.bib

# Étape 4 : Combinez tous les fichiers BibTeX
cat transformers.bib medical.bib specific.bib > combined.bib

# Étape 5 : Formatez et dédupliquéz
python scripts/format_bibtex.py combined.bib \
  --deduplicate \
  --sort year \
  --descending \
  --output formatted.bib

# Étape 6 : Validez
python scripts/validate_citations.py formatted.bib \
  --auto-fix \
  --report validation.json \
  --output final_references.bib

# Étape 7 : Examinez tous les problèmes
cat validation.json | grep -A 3 '"errors"'

# Étape 8 : Utilisez dans LaTeX
# \bibliography{final_references}

Exemple 2 : Conversion d'une liste de DOI

# Vous avez un fichier texte avec des DOI (un par ligne)
# dois.txt contient :
# 10.1038/s41586-021-03819-2
# 10.1126/science.aam9317
# 10.1016/j.cell.2023.01.001

# Convertissez tous en BibTeX
python scripts/doi_to_bibtex.py --input dois.txt --output references.bib

# Validez le résultat
python scripts/validate_citations.py references.bib --verbose

Exemple 3 : Nettoyage d'un fichier BibTeX existant

# Vous avez un fichier BibTeX désorganisé provenant de diverses sources
# Nettoyez-le systématiquement

# Étape 1 : Formatez et standardisez
python scripts/format_bibtex.py messy_references.bib \
  --output step1_formatted.bib

# Étape 2 : Supprimez les doublons
python scripts/format_bibtex.py step1_formatted.bib \
  --deduplicate \
  --output step2_deduplicated.bib

# Étape 3 : Validez et corrigez automatiquement
python scripts/validate_citations.py step2_deduplicated.bib \
  --auto-fix \
  --output step3_validated.bib

# Étape 4 : Triez par année
python scripts/format_bibtex.py step3_validated.bib \
  --sort year \
  --descending \
  --output clean_references.bib

# Étape 5 : Rapport de validation final
python scripts/validate_citations.py clean_references.bib \
  --report final_validation.json \
  --verbose

# Examinez le rapport
cat final_validation.json

Exemple 4 : Recherche et citation d'articles fondateurs

# Trouvez les articles très cités sur un sujet
python scripts/search_google_scholar.py "AlphaFold protein structure" \
  --year-start 2020 \
  --year-end 2024 \
  --sort-by citations \
  --limit 20 \
  --output alphafold_seminal.json

# Extrayez les 10 premiers par nombre de citations
# (le script inclura les décomptes de citations dans le JSON)

# Convertissez en BibTeX
python scripts/extract_metadata.py \
  --input alphafold_seminal.json \
  --output alphafold_refs.bib

# Le fichier BibTeX contient maintenant les articles les plus influents

Intégration avec d'autres skills

Skill Examen de la littérature

Citation Management fournit l'infrastructure technique pour Literature Review :

  • Literature Review : Recherche systématique multi-base de données et synthèse
  • Citation Management : Extraction et validation de métadonnées

Flux de travail combiné :

  1. Utilisez literature-review pour la méthodologie de recherche systématique
  2. Utilisez citation-management pour extraire et valider les citations
  3. Utilisez literature-review pour synthétiser les résultats
  4. Utilisez citation-management pour assurer l'exactitude de la bibliographie

Skill Rédaction scientifique

Citation Management assure les références exactes pour Scientific Writing :

  • Exportez BibTeX validé pour utilisation dans les manuscrits LaTeX
  • Vérifiez que les citations répondent aux normes de publication
  • Formatez les références conformément aux exigences de la revue

Skill Modèles de revues

Citation Management fonctionne avec Venue Templates pour les manuscrits prêts à la soumission :

  • Différentes revues exigent différents styles de citation
  • Générez des références correctement formatées
  • Validez que les citations répondent aux exigences de la revue

Ressources

Ressources intégrées

Références (dans references/) :

  • google_scholar_search.md : Guide complet de recherche Google Scholar
  • pubmed_search.md : Documentation PubMed et API E-utilities
  • metadata_extraction.md : Sources de métadonnées et exigences de champs
  • citation_validation.md : Critères de validation et vérifications de qualité
  • bibtex_formatting.md : Types et règles de formatage des entrées BibTeX

Scripts (dans scripts/) :

  • search_google_scholar.py : Automatisation de la recherche Google Scholar
  • search_pubmed.py : Client API E-utilities PubMed
  • extract_metadata.py : Extracteur de métadonnées universel
  • validate_citations.py : Validation et vérification des citations
  • format_bibtex.py : Formateur et nettoyeur BibTeX
  • doi_to_bibtex.py : Convertisseur rapide DOI vers BibTeX

Ressources (dans assets/) :

  • bibtex_template.bib : Exemples d'entrées BibTeX pour tous les types
  • citation_checklist.md : Liste de contrôle d'assurance qualité

Ressources externes

Moteurs de recherche :

API de métadonnées :

Outils et validateurs :

Styles de citation :

Dépendances

Packages Python requis

# Dépendances principales
pip install requests  # Requêtes HTTP pour les API
pip install bibtexparser  # Analyse et formatage BibTeX
pip install biopython  # Accès E-utilities PubMed

# Optionnel (pour Google Scholar)
pip install scholarly  # Wrapper API Google Scholar
# ou
pip install selenium  # Pour un scraping Scholar plus robuste

Outils optionnels

# Pour une validation avancée
pip install crossref-commons  # Accès amélioré à l'API CrossRef
pip install pylatexenc  # Gestion des caractères spéciaux LaTeX

Résumé

La skill citation-management fournit :

  1. Capacités de recherche complètes pour Google Scholar et PubMed
  2. Extraction de métadonnées automatisée à partir de DOI, PMID, ID arXiv, URL
  3. Validation des citations avec vérification des DOI et vérification de l'exhaustivité
  4. Formatage BibTeX avec outils de standardisation et de nettoyage
  5. Assurance qualité par la validation et la création de rapports
  6. Intégration au flux de travail de rédaction scientifique
  7. Reproductibilité par la documentation des méthodes de recherche et d'extraction

Utilisez cette skill pour maintenir des citations précises et complètes tout au long de votre recherche et assurer que vos bibliographies sont prêtes pour la publication.

Skills similaires