@alexprietoromani/research-suite
v1.1.0
Published
Suite de investigacion y documentacion: descubre literatura via MCP (openalex/arxiv), redacta informes, grafica datos, diagrama flujos y exporta a .tex/.pdf/.docx.
Maintainers
Readme
Le pides un informe a un agente sin este plugin y te da prosa segura y fluida sin una sola fuente real detrás — cifras de memoria, "estudios demuestran", nada que puedas verificar.
Con research-suite, cada afirmación factual del documento final lleva un DOI, un arXiv ID o una URL. Si no hay fuente, no se escribe: se reformula como hipótesis explícita o se elimina.
Antes / después
Sin el plugin, un informe típico suena así:
Los modelos de horas frío subestiman la floración en climas tropicales,
según diversos estudios recientes.Cero fuentes. No puedes verificar nada de esa oración.
Con investigar + redactar-informe:
El Dynamic Model supera al umbral fijo (HF ≤ 7 °C) en zonas tropicales porque
captura la destrucción térmica del intermediario de frío [@fishman1987b],
aunque no está calibrado para *Vaccinium* [@lobos2015].Cada claim, su cita. refs.bib lo genera investigar; exportar lo formatea al estilo que pidas (APA, Vancouver, el que sea) vía Pandoc + CSL.
Cómo funciona
investigar redactar-informe graficar-datos (datos → matplotlib/seaborn/ggplot2) exportar
(openalex/arxiv) → (técnico/científico/ → diagramar (flujos → Mermaid/Graphviz) → (.md → .tex/.pdf/.docx
+ web → refs.bib mercado/general, .md) generar-figuras (proceso, para publicar → paperbanana) vía Pandoc + LaTeX)investigardescubre fuentes reales (openalex para impacto/tendencias, arxiv para full-text, web para lo no académico) y las devuelve trazables enrefs.bib. Temas amplios se paralelizan con el agenteinvestigador, uno por sub-tema.redactar-informeconvierte ese mapa de fuentes en un documento — técnico, científico, de mercado o general — cada afirmación anclada a su cita.- Visuales por tipo, no por capricho: datos siempre vía código (
graficar-datos, nunca IA generativa para gráficos); flujos/procesos en Mermaid/Graphviz (diagramar); solo las figuras de publicación pasan porgenerar-figuras(paperbanana). exportarconvierte el.mdfinal a.tex/.pdf/.docxcon Pandoc + TeX Live, resolviendo las citas derefs.bib./revisar-informelanzarevisor-informe+verificador-citasen paralelo antes de cerrar: estructura, registro, lenguaje-IA, DOIs huérfanos, citas retractadas.
Idioma de salida: español o inglés (default_output_language, por defecto español; pídelo distinto por documento).
Skills
| Skill | Rol | Herramienta |
|---|---|---|
| investigar | Descubre y sintetiza fuentes | MCP openalex, arxiv, web |
| redactar-informe | Redacta según tipo de documento | MCP context7 |
| graficar-datos | Grafica datos vía código | matplotlib/seaborn (Python), ggplot2 (R) |
| diagramar | Diagramas de flujo/proceso/esquema para .md | Mermaid (por defecto), Graphviz |
| generar-figuras | Figuras de proceso/metodología para publicar | MCP paperbanana |
| exportar | Convierte el .md a .tex / .pdf / .docx con citas | Pandoc + TeX Live (xelatex) |
Regla de visuales: datos = código, siempre — nunca paperbanana para un gráfico de barras. paperbanana es solo para la figura de proceso/metodología con calidad de publicación.
Agentes
| Agente | Rol | Se lanza en… |
|---|---|---|
| investigador | Explora un sub-tema y devuelve fuentes + BibTeX, sin redactar | investigar (paralelo, uno por sub-tema) |
| revisor-informe | Revisión crítica: estructura, registro, claims, lenguaje-IA, rigor | /revisar-informe |
| verificador-citas | Integridad de citas: huérfanas, DOIs, afirmación↔fuente, retractadas | /revisar-informe (paralelo con el revisor) |
Comandos
| Comando | Qué hace |
|---|---|
| /research-suite [tema] | Pipeline completo: tipo → investiga (con agentes) → redacta → visuales → revisa → exporta. Pide solo investigar y se detiene ahí. |
| /revisar-informe [ruta] | Revisa un documento existente con revisor-informe + verificador-citas en paralelo. |
Tipos de documento: informe-tecnico · articulo-cientifico · analisis-mercado · general (plantilla propia en skills/redactar-informe/references/).
Install
Claude Code
/plugin marketplace add AlexPrietoRomani/research-suite
/plugin install research-suite@research-suite-marketplace(Envía los dos comandos como prompts separados)
La app de escritorio no tiene /plugin. Instálalo desde la UI: Customize → el + junto a personal plugins → Create plugin and add marketplace → Add from repository → pega la URL del repo.
Trae sus propios MCP (arxiv, openalex, paperbanana, context7) vía .mcp.json — no hay que configurarlos a mano. Si ya tienes alguno a nivel usuario, el tuyo gana (precedencia de scope) y el del plugin se ignora, sin duplicados.
Credenciales pedidas al activar (userConfig, las sensibles van al keychain):
| Config | Para | Sensible |
|---|---|---|
| context7_api_key | context7 | Sí |
| google_api_key | paperbanana (Gemini) | Sí |
| openalex_mailto | openalex (polite pool) | No |
| arxiv_storage_path | cache de papers de arxiv | No |
| default_output_language | idioma de salida (es | en) | No |
opencode
Desde npm (recomendado, sin clonar):
{ "plugin": ["@alexprietoromani/research-suite"] }Desde checkout local:
El repo trae un árbol generado desde la misma fuente:
.opencode/skills/— las 6 skills (SKILL.md nativo de opencode).opencode/command/—/research-suite,/revisar-informe(sin prefijo).opencode/agent/— los 3 subagentes (mode: subagent).opencode/plugins/research-suite.mjs— plugin que registra comandos y skillsopencode.json— los 4 MCP, reescritos a formato opencode con{env:VAR}
Exporta las variables de entorno necesarias antes de usar: ARXIV_STORAGE_PATH, OPENALEX_MAILTO, GOOGLE_API_KEY, CONTEXT7_API_KEY.
Abre opencode dentro del repo (lee .opencode/ + opencode.json solo), o copia .opencode/* a ~/.config/opencode/ y fusiona el bloque mcp.
.opencode/yopencode.jsonson generados, no los edites a mano. Tras tocarskills/,commands/,agents/o.mcp.json:python scripts/sync_opencode.py.
Gemini CLI
gemini extensions install https://github.com/AlexPrietoRomani/research-suiteCarga las reglas como contexto siempre activo y registra los comandos /research-suite y /revisar-informe de forma automática usando gemini-extension.json.
Antigravity CLI
El binario agy es la evolución de Gemini CLI; la misma extensión funciona ahí:
agy plugin install https://github.com/AlexPrietoRomani/research-suiteReutiliza gemini-extension.json para registrar los comandos y skills automáticamente. En Antigravity los comandos se escriben directamente como mensajes en el chat (por ejemplo, /revisar-informe como mensaje).
Dependencias externas
| Herramienta | Para | Estado |
|---|---|---|
| Pandoc 3.10 | exportar → PDF/LaTeX/DOCX | Instalado |
| TeX Live 2026 (xelatex) | compilar PDF | Instalado |
| strata-reader | arxiv PDF → Markdown (ahorra tokens) | pip install strata-reader |
| gh CLI | flujos de PR/issues | Instalado |
FAQ
¿Puedo pedir solo investigación, sin redactar?
Sí — /research-suite se detiene tras investigar si eso es lo único que pides. Entrega el mapa de fuentes + refs.bib + síntesis.
¿Qué pasa si una fuente no tiene DOI ni URL confiable?
No se cita. Se marca [sin fuente verificada] o se reformula como hipótesis — nunca se inventa un respaldo.
¿Por qué separa datos (código) de figuras de publicación (paperbanana)? Porque un gráfico de barras generado por IA puede alucinar valores; el mismo gráfico hecho con matplotlib sobre tus datos reales, no. paperbanana queda para ilustraciones de proceso donde no hay "datos" que graficar mal.
Licencia
MIT.
