manage-bibliography
À propos
Cette compétence gère les bibliographies BibTeX/BibLaTeX en important des références depuis DOI/CrossRef ou par saisie manuelle. Elle détecte et fusionne les doublons, valide les champs de citation requis, et organise les références avec des mots-clés et des groupes. Utilisez-la pour maintenir des bibliothèques de références propres en vue de leur export vers LaTeX, R Markdown et Quarto.
Installation rapide
Claude Code
Recommandénpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-bibliographyCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
name: manage-bibliography description: > Gestionar colecciones bibliográficas en formato BibTeX/BibLaTeX: importar referencias desde DOI, CrossRef o entradas manuales, detectar y fusionar duplicados, validar campos requeridos por estilo de cita, organizar con palabras clave y grupos, y exportar bibliotecas limpias compatibles con LaTeX, R Markdown y Quarto. license: MIT allowed-tools: Read Grep Glob WebFetch WebSearch locale: es source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16 metadata: author: Philipp Thoss version: "1.0" domain: citations complexity: basic language: r tags: citations, bibtex, bibliography, reference-management, deduplication
Gestionar Bibliografía
Crear, mantener y depurar una colección bibliográfica BibTeX/BibLaTeX mediante importación automatizada de metadatos, detección de duplicados, validación de campos requeridos por el estilo de cita objetivo, y exportación de un archivo .bib limpio listo para LaTeX, R Markdown o Quarto.
Cuándo Usar
- Iniciar una nueva bibliografía de proyecto e importar referencias desde DOIs o bases de datos
- Fusionar múltiples archivos
.bibde diferentes colaboradores o proyectos - Detectar y resolver entradas duplicadas antes de la publicación
- Validar que cada entrada tenga todos los campos requeridos por un estilo de cita dado (APA, Chicago, Vancouver, etc.)
- Organizar referencias con palabras clave, grupos o categorías para facilitar la recuperación
- Exportar un subconjunto de referencias para un manuscrito, capítulo o presentación específicos
Entradas
- Requerido: Fuente de referencias (DOIs, archivo
.bibexistente, resultados de búsqueda de base de datos o entradas manuales) - Requerido: Estilo de cita objetivo (APA, Chicago, Vancouver, IEEE, personalizado
.csl) - Opcional: Estructura organizativa deseada (palabras clave, grupos, carpetas)
- Opcional: Archivo
.bibexistente para fusionar - Opcional: Requisitos de formato de clave de cita (p.ej.,
autorAño,autor:año:titulo)
Procedimiento
Paso 1: Importar y Normalizar Referencias
Recopilar metadatos de referencia y convertir al formato BibTeX canónico:
- Importación por DOI: Para cada DOI, consultar la API de CrossRef o usar
rcrossref::cr_works()en R para obtener metadatos estructurados. Convertir la respuesta JSON a una entrada BibTeX con todos los campos disponibles. - Importación desde archivo: Analizar archivos
.bibexistentes conbibtex::read.bib()oRefManageR::ReadBib(). Registrar advertencias de análisis para entradas malformadas. - Entrada manual: Para fuentes sin DOI (libros, informes, sitios web), crear entradas BibTeX manualmente asegurando que los campos requeridos para el tipo de entrada estén presentes.
- Normalizar tipos de entrada: Mapear tipos no estándar a tipos BibTeX estándar (
@article,@book,@inproceedings,@incollection,@phdthesis,@techreport,@misc). - Generar claves de cita: Asignar claves de cita consistentes según la convención elegida. Las claves comunes incluyen
apellidoAño(p.ej.,miller2024) oapellido:año:palabraTitulo. - Estandarizar codificación: Asegurar codificación UTF-8 en todo el archivo. Convertir acentos LaTeX (
{\"u}) a Unicode (ü) o viceversa, según los requisitos del flujo de trabajo.
library(RefManageR)
library(rcrossref)
# Importar desde DOI
doi_metadata <- cr_works(dois = c("10.1234/example.2024"))
bib_entry <- as.BibEntry(doi_metadata$data)
# Importar desde archivo existente
existing_bib <- ReadBib("references.bib", check = FALSE)
# Fusionar
combined <- c(existing_bib, bib_entry)
Esperado: Una colección unificada de entradas BibTeX con claves de cita consistentes, tipos de entrada normalizados y codificación estandarizada.
En caso de fallo: Si la búsqueda por DOI falla (DOI no encontrado, API no disponible), intentar buscar por título a través de CrossRef o registrar la entrada para creación manual. Si el análisis de un archivo .bib falla, aislar la entrada malformada y corregir la sintaxis (corchetes sin cerrar, comas faltantes) antes de reintentar.
Paso 2: Detectar y Resolver Duplicados
Identificar y fusionar entradas duplicadas para evitar citas inconsistentes:
- Coincidencia por DOI: Las entradas con DOI idénticos son duplicados definitivos. Fusionarlas conservando la entrada con campos más completos.
- Coincidencia por título: Normalizar títulos (minúsculas, eliminar puntuación, reducir espacios en blanco) y calcular similitud. Títulos con similitud > 90% son probables duplicados.
- Coincidencia por autor+año: Comparar autores normalizados (solo apellido) y año de publicación. Las coincidencias son candidatos a duplicados que requieren verificación por título.
- Revisión manual: Para cada par duplicado candidato, presentar ambas entradas lado a lado. El usuario confirma si son verdaderos duplicados o publicaciones distintas (p.ej., preprint vs. versión publicada, parte I vs. parte II).
- Estrategia de fusión: Al fusionar, preferir campos de la entrada con más metadatos. Nunca sobrescribir un campo con un valor vacío. Conservar la clave de cita más informativa.
- Registrar: Documentar todos los duplicados encontrados y cómo se resolvieron para auditoría.
# Detectar duplicados potenciales por título
titles <- sapply(combined, function(x) tolower(x$title))
dups <- which(duplicated(titles) | duplicated(titles, fromLast = TRUE))
Esperado: Una biblioteca sin duplicados donde cada publicación única aparece exactamente una vez, con el registro más completo conservado.
En caso de fallo: Si la deduplicación automatizada produce falsos positivos (p.ej., publicaciones genuinamente diferentes con títulos similares), refinar los umbrales de coincidencia o requerir coincidencia tanto de autor+año como de título. Si produce falsos negativos (duplicados no detectados), agregar coincidencia por DOI como verificación prioritaria.
Paso 3: Validar Campos Requeridos
Verificar que cada entrada tenga todos los campos necesarios para el estilo de cita objetivo:
- Definir campos requeridos por tipo y estilo:
| Tipo | Campos Siempre Requeridos | Campos APA Adicionales | Campos Vancouver Adicionales |
|---|---|---|---|
| @article | author, title, journal, year | volume, pages, doi | volume, issue, pages |
| @book | author/editor, title, publisher, year | address | address |
| @inproceedings | author, title, booktitle, year | pages, doi | pages |
| @phdthesis | author, title, school, year | -- | -- |
- Ejecutar validación: Para cada entrada, verificar la presencia de cada campo requerido. Registrar los campos faltantes con la clave de cita y el nombre del campo.
- Intentar autocompletar: Para campos faltantes, intentar obtenerlos:
- DOI faltante: buscar en CrossRef por título+autor
- Páginas faltantes: consultar los metadatos del DOI
- Volumen/número faltantes: consultar la API de la revista
- Informar los vacíos restantes: Listar todas las entradas con campos requeridos que faltan después del intento de autocompletar, para corrección manual.
Esperado: Cada entrada pasa la validación para el estilo de cita objetivo, o los campos faltantes están documentados con instrucciones claras para resolución.
En caso de fallo: Si no se pueden obtener campos requeridos (p.ej., artículo antiguo sin DOI, proceedings sin páginas), documentar la excepción. Algunos estilos de cita permiten valores de respaldo (p.ej., "n.p." para páginas, "s.f." para fecha). Consultar el manual del estilo de cita para los formatos de respaldo permitidos.
Paso 4: Organizar y Anotar
Estructurar la colección para facilitar la recuperación y el uso:
- Asignar palabras clave: Agregar el campo
keywordsa cada entrada con términos descriptivos. Usar vocabulario controlado cuando sea posible (p.ej., términos MeSH para literatura médica). - Agrupar por tema: Organizar entradas en grupos lógicos (p.ej., por capítulo, por tema de revisión de literatura, por tipo de método). Implementar como campos
groupsen JabRef o como archivos.bibseparados. - Agregar anotaciones: Usar el campo
annoteoannotationpara notas breves sobre la relevancia de cada referencia para el proyecto actual. - Marcar entradas clave: Identificar las 5-10 referencias fundamentales y marcarlas para fácil identificación.
- Ordenar entradas: Ordenar el archivo
.bibalfabéticamente por clave de cita para facilitar la búsqueda manual y los diffs de control de versiones.
Esperado: Una colección bibliográfica bien organizada con palabras clave consistentes, agrupación lógica y anotaciones que ayuden a la recuperación.
En caso de fallo: Si el vocabulario de palabras clave se vuelve inconsistente (sinónimos, variaciones ortográficas), crear una lista de autoridad de términos permitidos y validar contra ella. Si los grupos se superponen excesivamente, reevaluar la taxonomía.
Paso 5: Exportar y Verificar
Producir el archivo .bib final y confirmar que funciona con el flujo de trabajo objetivo:
- Exportar a
.bib: Escribir la colección limpia y validada en un archivo.bib. UsarRefManageR::WriteBib()o exportación equivalente con codificación UTF-8. - Compilación de prueba: Compilar un documento de prueba (LaTeX, R Markdown o Quarto) que cite cada entrada. Verificar que:
- Cada cita se resuelve sin errores "cita indefinida"
- El formato de las citas coincide con el estilo objetivo
- La bibliografía se renderiza correctamente con todos los campos visibles
- Verificación cruzada: Comparar el conteo de entradas exportadas con el conteo original de importación. Asegurar que no se perdieron ni duplicaron entradas durante el procesamiento.
- Control de versiones: Hacer commit del archivo
.biben el control de versiones con un mensaje descriptivo. Los archivos.bibson texto plano y funcionan bien con diff de Git.
WriteBib(combined, file = "references_clean.bib", biblatex = TRUE)
Esperado: Un archivo .bib limpio que compila sin errores, produce citas correctamente formateadas y está bajo control de versiones.
En caso de fallo: Si LaTeX reporta errores "cita indefinida", verificar que la clave de cita en el documento coincide exactamente con la clave en el archivo .bib (sensible a mayúsculas). Si el formato de las citas es incorrecto, verificar que se está usando el archivo .csl o el paquete BibTeX/BibLaTeX correcto.
Validación
- Todas las fuentes de referencia están importadas y convertidas a formato BibTeX
- Las claves de cita siguen una convención de nomenclatura consistente
- Los duplicados están detectados y resueltos con decisiones documentadas
- Cada entrada tiene todos los campos requeridos para el estilo de cita objetivo
- Las palabras clave y la agrupación están aplicadas de manera consistente
- El archivo
.bibexportado compila sin errores en un documento de prueba - Las citas se renderizan correctamente en el estilo objetivo
- El archivo
.bibestá bajo control de versiones
Errores Comunes
- Claves de cita inconsistentes: Mezclar convenciones (p.ej.,
Miller2024ymiller:2024:neural) en el mismo proyecto causa confusión y dificulta la búsqueda de entradas. Elegir una convención y aplicarla en todas las entradas. - Campos de autor malformados: BibTeX requiere
{Apellido, Nombre and Apellido2, Nombre2}conandliteral (no&ni,) entre autores. Autores con nombres compuestos necesitan protección con llaves:{Van der Berg, Jan}. - Problemas de codificación: Mezclar caracteres acentuados LaTeX (
{\'e}) con Unicode (é) en el mismo archivo causa errores de compilación. Estandarizar a una codificación. - Ignorar la protección de títulos: BibTeX convierte títulos a minúsculas en la mayoría de los estilos. Proteger acrónimos y nombres propios con llaves:
title = {Análisis de {RNA} en cáncer de {Hodgkin}}. - No verificar contra el estilo objetivo: Un archivo
.bibválido para APA puede faltar campos requeridos por Vancouver. Siempre validar contra el estilo específico que se usará. - Ignorar preprints y versiones: Un artículo puede tener un preprint de arXiv y una versión publicada. Decidir cuál citar y asegurar que no ambas permanezcan como duplicados.
Habilidades Relacionadas
format-citations-- aplicar formato CSL a las referencias gestionadas en este flujo de trabajovalidate-references-- verificación profunda de la integridad bibliográfica más allá de la validación de camposmanage-renv-dependencies-- gestión de dependencias R que complementa la gestión bibliográfica
Dépôt GitHub
Compétences associées
executing-plans
DesignUtilisez la compétence executing-plans lorsque vous disposez d'un plan de mise en œuvre complet à exécuter par lots contrôlés avec des points de contrôle de revue. Elle charge et examine le plan de manière critique, puis exécute les tâches par petits lots (3 tâches par défaut) tout en rapportant la progression entre chaque lot pour une revue par l'architecte. Cela garantit une mise en œuvre systématique avec des points de contrôle de qualité intégrés.
requesting-code-review
DesignCette compétence délègue un sous-agent réviseur de code pour analyser les modifications apportées au code par rapport aux exigences avant de poursuivre. Elle doit être utilisée après avoir terminé des tâches, implémenté des fonctionnalités majeures, ou avant une fusion vers la branche principale. La revue aide à détecter précocement les problèmes en comparant l'implémentation actuelle avec le plan initial.
connect-mcp-server
DesignCette compétence fournit un guide complet permettant aux développeurs de connecter des serveurs MCP à Claude Code via les transports HTTP, stdio ou SSE. Elle couvre l'installation, la configuration, l'authentification et la sécurité pour intégrer des services externes tels que GitHub, Notion et des API personnalisées. Utilisez-la lors de la configuration d'intégrations MCP, de la configuration d'outils externes ou du travail avec le Protocole de Contexte de Modèle de Claude.
web-cli-teleport
DesignCette compétence aide les développeurs à choisir entre les interfaces Web et CLI de Claude Code en fonction de l'analyse des tâches, puis permet une téléportation transparente des sessions entre ces environnements. Elle optimise le flux de travail en gérant l'état et le contexte de la session lors du passage entre le web, la CLI ou le mobile. Utilisez-la pour des projets complexes nécessitant différents outils à diverses étapes.
