manage-bibliography
关于
This skill manages BibTeX/BibLaTeX bibliographies by importing references from DOI/CrossRef or manual entry. It detects and merges duplicates, validates required citation fields, and organizes with keywords and groups. Use it to maintain clean reference libraries for export to LaTeX, R Markdown, and Quarto.
快速安装
Claude Code
推荐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-bibliography在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
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
GitHub 仓库
相关推荐技能
executing-plans
设计该Skill用于当开发者提供完整实施计划时,以受控批次方式执行代码实现。它会先审阅计划并提出疑问,然后分批次执行任务(默认每批3个任务),并在批次间暂停等待审查。关键特性包括分批次执行、内置检查点和架构师审查机制,确保复杂系统实现的可控性。
requesting-code-review
设计该Skill可在完成任务、实现主要功能或合并代码前自动调度代码审查子代理,确保实现符合需求和计划。它支持通过指定git SHA范围进行精准的代码变更审查,帮助开发者在关键节点及时发现潜在问题。核心原则是"早审查、勤审查",适用于开发流程的各个关键阶段。
connect-mcp-server
设计这个Skill指导开发者如何将MCP服务器连接到Claude Code,支持HTTP、stdio和SSE三种传输协议。它涵盖了从安装配置到认证安全的完整流程,适用于集成GitHub、Notion、数据库等外部服务。当开发者需要添加集成、配置外部工具或提及MCP相关功能时,这个Skill能提供实用的操作指南。
web-cli-teleport
设计该Skill帮助开发者根据任务特性选择Claude Code的Web或CLI界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。
