manage-bibliography
정보
이 스킬은 DOI/CrossRef에서 참고 문헌을 가져오거나 수동으로 입력하여 BibTeX/BibLaTeX 서지 목록을 관리합니다. 중복 항목을 감지하고 병합하며, 필요한 인용 필드를 검증하고, 키워드와 그룹으로 정리합니다. LaTeX, R Markdown, 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-bibliographyClaude 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
디자인executing-plans 스킬은 검토 체크포인트가 포함된 통제된 배치로 실행할 완전한 구현 계획이 있을 때 사용합니다. 이 스킬은 계획을 불러와 비판적으로 검토한 후, 소규모 배치(기본값 3개 작업)로 작업을 실행하면서 각 배치 사이에 진행 상황을 아키텍트 검토를 위해 보고합니다. 이를 통해 내재된 품질 관리 체크포인트를 갖춘 체계적인 구현이 보장됩니다.
requesting-code-review
디자인이 스킬은 코드 변경 사항을 요구 사항에 따라 분석하기 위해 코드 리뷰어 하위 에이전트를 호출합니다. 작업 완료 후, 주요 기능 구현 후, 또는 메인 브랜치에 병합하기 전에 사용해야 합니다. 이 리뷰는 현재 구현체와 원래 계획을 비교하여 문제를 조기에 발견하는 데 도움이 됩니다.
connect-mcp-server
디자인이 스킬은 개발자들이 HTTP, stdio 또는 SSE 전송 방식을 통해 MCP 서버를 Claude Code에 연결하는 포괄적인 가이드를 제공합니다. GitHub, Notion 및 사용자 정의 API와 같은 외부 서비스를 통합하기 위한 설치, 구성, 인증 및 보안을 다룹니다. MCP 통합 설정, 외부 도구 구성 또는 Claude의 모델 컨텍스트 프로토콜 작업 시 활용하세요.
web-cli-teleport
디자인이 스킬은 작업 분석을 기반으로 개발자가 Claude Code 웹 인터페이스와 CLI 인터페이스 중 선택할 수 있도록 돕고, 두 환경 간 원활한 세션 텔레포트를 가능하게 합니다. 웹, CLI 또는 모바일 환경 전환 시 세션 상태와 컨텍스트를 관리하여 워크플로를 최적화합니다. 다양한 단계에서 서로 다른 도구가 필요한 복잡한 프로젝트에 사용하세요.
