PRISMA Systematic Review — Sistema sobre Hermes Agent
Resumen ejecutivo
Sistema de revisión sistemática que convierte una pregunta de investigación en un paquete editorial publicable (PDF + LaTeX + Markdown) con trazabilidad completa, auditoría automática y cumplimiento PRISMA 2020 / PRISMA-S. No es un agente que escribe artículos: es una infraestructura con reglas, archivos, comandos y controles materiales.
Filosofía: La memoria del sistema no está en el chat, sino en archivos. Hermes no "recuerda" — relee lo que dejó escrito para generar decisiones adecuadas. La continuidad depende de archivos de estado persistentes, no de la memoria conversacional.
Cuándo usar
Revisión sistemática de literatura con metodología PRISMA 2020
Revisión que debe ser auditable por revisores/peer reviewers
Búsqueda multi-fuente con normalización DOI
Generación de paquetes editorial + LaTeX editables
Cuando se necesita watchdog/reanudación automática
Proyectos académicos que requieren transparencia metodológica
Cuándo NO usar
Revisión narrativa sin protocolo formal
Búsqueda rápida de estado del arte (usar web_search)
Papers originales de ML (usar research-paper-writing)
Revisiones de solo un par de papers
Arquitectura del sistema
Capas
Superficie — Telegram (no dependencia de interfaz web)
Runtime Docker — 2 servicios:
hermes-agent: gateway + trabajo principal
hermes-prisma-watchdog: monitoriza revisiones vivas, reanuda fases ante estancamiento
Política de modelos — cadena de relevo:
Primario: Qwen 3.6 (NaN Builders)
Relevo: DeepSeek v4-pro, Kimi K2.6, Qwen3-coder, Gemma4 (Ollama Cloud)
Config en config.yaml con temperatura, top-p, max tokens, frequency penalty, response format
Orquestación — scripts Python + skills locales
Skills (10 en agent/skills/research/):
Revisión sistemática (base)
Estado (runtime-state)
Revisión académica
Integridad
Mapa de cambios
Y 5 más de soporte
Artefactos de configuración
config.yaml — política de modelos, parámetros
docker-compose.yml — servicios hermes-agent + watchdog
start-gateway.sh —启动仪式
prisma-watchdog.py — monitor de estancamiento
6 Reglas metodológicas (no negociables)
PRISMA 2020 como marco de elaboración de informes
PRISMA-S como marco de transparencia de búsqueda
DOI-first siempre que el identificador exista
Texto completo obligatorio para el corpus final
Recomputación de conteos desde artefactos reales (no escritos a mano)
Cierre editorial solo con gate PASS, no con impresión subjetiva
Fuentes de las reglas
Page et al. 2021 (BMJ n71) — PRISMA 2020
Rethlefsen et al. 2021 (PRISMA-S)
Cochrane Handbook ch. 4
Whiting et al. 2016 (ROBIS)
Shea et al. 2017 (AMSTAR 2)
Fases del sistema
FASE 1: Intake, pregunta y criterios
Objetivo: Congelar la frontera metodológica desde el primer momento.
Artefactos generados:
protocol/intake.md — pregunta, ventana temporal, tipo de estudio, N deseado
protocol/eligibility-criteria.md — criterios de inclusión/exclusión
protocol/search-strategy.md — estrategia de búsqueda documentada
Script clave:bootstrap_topic_review.py
Crea directorios del proyecto
Materializa el punto de partida
Genera los protocol iniciales
Fija el contrato metodológico de la revisión
Decisión importante: Sin revista concreta → modo generic-common-core (plantilla primer filtro). Esto afecta LaTeX, paquete y tono editorial.
Pitfalls:
Si el tema nace como "vamos a ver qué sale", el resto automatiza ambigüedad
La sesión debe congelar: pregunta, ventana temporal, tipo de estudio, N final, criterios, marco editorial
Si el sesgo nace aquí, toda la revisión está comprometida
Fuerza capa más profunda cuando el primer pase es insuficiente
Resuelve: artículos que parecían "experimental" pero en texto completo ofrecen más datos
FASE 5: Evidencia visual (figuras)
Script clave:prepare_paper_figures.py
Separación de tipos:
figures/extracted/ — figuras científicas detectadas en PDFs
figures/page-renders/ — renderizados de apoyo
figures/manifest.csv — trazabilidad
figures/figure-catalog.md — catálogo navegable
figures/figure-ranking.csv — ranking por relevancia
Firma de figuras propias: prefijo hexadecimal (ej: 686f6c6a) para distinguir de evidencia ajena. Mezclar reutilización de evidencia ajena y síntesis visual propia = mala práctica.
Referencias: FAIR (Wilkinson et al. 2016), ACM Artifact Review
FASE 6: Generación del manuscrito
Script clave:publication_audit.py
Funciones:
Recompone secciones
Limpia incoherencias
Normaliza citas y referencias
Integra tablas y figuras
Detecta huecos obvios
Genera manuscrito en 3 formatos
Artefactos finales:
paper/manuscript/publication-ready.md — editable
paper/manuscript/publication-ready.tex — LaTeX técnico
paper/manuscript/publication-ready.pdf — compilado listo
paper/references/references.generated.bib — BibTeX
main-common-core.tex — plantilla sin revista objetivo
Requisitos editoriales:
Cada estudio relevante → ficha con 1-2 párrafos ANTES de tabla compacta
Protocolo de 3 archivos (intake, criteria, search)
Extracción de 4 bloques (núcleo, empírico, técnico, teoría)
Gate editorial con PASS/FAIL real
Paquetes ZIP generados
Sincronización Obsidian funcional
1---2name: prisma-systematic-review3description: Sistema completo de revisiones sistemáticas PRISMA 2020 sobre infraestructura Hermes Agent. Orquestación multi-fase, auditoría automática, DOI-first, gate editorial, paquetes publicables.4---56# PRISMA Systematic Review — Sistema sobre Hermes Agent78## Resumen ejecutivo910Sistema de revisión sistemática que convierte una pregunta de investigación en un paquete editorial publicable (PDF + LaTeX + Markdown) con trazabilidad completa, auditoría automática y cumplimiento PRISMA 2020 / PRISMA-S. No es un agente que escribe artículos: es una infraestructura con reglas, archivos, comandos y controles materiales.1112**Filosofía:** La memoria del sistema no está en el chat, sino en archivos. Hermes no "recuerda" — relee lo que dejó escrito para generar decisiones adecuadas. La continuidad depende de archivos de estado persistentes, no de la memoria conversacional.1314## Cuándo usar1516- Revisión sistemática de literatura con metodología PRISMA 202017- Revisión que debe ser auditable por revisores/peer reviewers18- Búsqueda multi-fuente con normalización DOI19- Generación de paquetes editorial + LaTeX editables20- Cuando se necesita watchdog/reanudación automática21- Proyectos académicos que requieren transparencia metodológica2223## Cuándo NO usar2425- Revisión narrativa sin protocolo formal26- Búsqueda rápida de estado del arte (usar web_search)27- Papers originales de ML (usar research-paper-writing)28- Revisiones de solo un par de papers2930---3132## Arquitectura del sistema3334### Capas35361. **Superficie** — Telegram (no dependencia de interfaz web)372. **Runtime Docker** — 2 servicios:38 - `hermes-agent`: gateway + trabajo principal39 - `hermes-prisma-watchdog`: monitoriza revisiones vivas, reanuda fases ante estancamiento403. **Política de modelos** — cadena de relevo:41 - Primario: Qwen 3.6 (NaN Builders)42 - Relevo: DeepSeek v4-pro, Kimi K2.6, Qwen3-coder, Gemma4 (Ollama Cloud)43 - Config en `config.yaml` con temperatura, top-p, max tokens, frequency penalty, response format444. **Orquestación** — scripts Python + skills locales455. **Skills** (10 en `agent/skills/research/`):46 - Revisión sistemática (base)47 - Estado (runtime-state)48 - Revisión académica49 - Integridad50 - Mapa de cambios51 - Y 5 más de soporte5253### Artefactos de configuración5455```56config.yaml — política de modelos, parámetros57docker-compose.yml — servicios hermes-agent + watchdog58start-gateway.sh —启动仪式59prisma-watchdog.py — monitor de estancamiento60```6162---6364## 6 Reglas metodológicas (no negociables)65661. **PRISMA 2020** como marco de elaboración de informes672. **PRISMA-S** como marco de transparencia de búsqueda683. **DOI-first** siempre que el identificador exista694. **Texto completo obligatorio** para el corpus final705. **Recomputación de conteos** desde artefactos reales (no escritos a mano)716. **Cierre editorial solo con gate PASS**, no con impresión subjetiva7273### Fuentes de las reglas7475- Page et al. 2021 (BMJ n71) — PRISMA 202076- Rethlefsen et al. 2021 (PRISMA-S)77- Cochrane Handbook ch. 478- Whiting et al. 2016 (ROBIS)79- Shea et al. 2017 (AMSTAR 2)8081---8283## Fases del sistema8485### FASE 1: Intake, pregunta y criterios8687**Objetivo:** Congelar la frontera metodológica desde el primer momento.8889**Artefactos generados:**90- `protocol/intake.md` — pregunta, ventana temporal, tipo de estudio, N deseado91- `protocol/eligibility-criteria.md` — criterios de inclusión/exclusión92- `protocol/search-strategy.md` — estrategia de búsqueda documentada9394**Script clave:** `bootstrap_topic_review.py`95- Crea directorios del proyecto96- Materializa el punto de partida97- Genera los protocol iniciales98- Fija el contrato metodológico de la revisión99100**Decisión importante:** Sin revista concreta → modo `generic-common-core` (plantilla primer filtro). Esto afecta LaTeX, paquete y tono editorial.101102**Pitfalls:**103- Si el tema nace como "vamos a ver qué sale", el resto automatiza ambigüedad104- La sesión debe congelar: pregunta, ventana temporal, tipo de estudio, N final, criterios, marco editorial105- Si el sesgo nace aquí, toda la revisión está comprometida106107### FASE 2: Búsqueda multi-fuente y normalización DOI108109**Fuentes de datos:**110- OpenAlex111- Crossref112- Semantic Scholar113- arXiv114115**Scripts clave:**116- `bootstrap_topic_review.py` — queries HTTP directas + parseo JSON/Atom117- `doi_audit.py` — estabiliza identidad bibliográfica118119**Artefactos generados:**120```121searches/search-log.csv — consulta, fuente, fecha, volumen122records/master-records.csv — universo bruto normalizado123records/doi-index.csv — clave canónica por DOI124records/duplicates.csv — colisiones detectadas125records/missing-doi.csv — sin DOI (usa hash → RID)126```127128**Lógica DOI-first:**129- Si existe DOI → identificador canónico130- Sin DOI → hash estable genera RID131- Duplicados → merges con trazabilidad132- Ambiguos → se señalan, no se descartan silenciosamente133134### FASE 3: Cribado (Screening)135136**Lógica de decisión (4 capas):**1371. **Reglas mínimas** — umbral de texto útil1382. **Decisión asistida por modelo** — el modelo propone1393. **Canonización de decisión** — normaliza variantes1404. **Auditoría con recomputación** — conteos recalculados desde decisiones canonizadas141142**Script clave:** `complete_review.py`143- `canonicalize_screening_decision()` — normaliza: include, include_ft, exclude, excluido, excluir, maybe → conjunto consistente144- Umbral mínimo de texto para inclusión final145146**Decisión OK:** supera reglas mínimas + confirma foco en texto completo + justificación trazable en CSV147148**Decisión KO:** falla criterios / motivo de exclusión claro149150**Decisión "más":** cribado rápido no basta → requiere revisión adicional151152**Referencia:** ROBIS (Whiting et al. 2016), AMSTAR 2 (Shea et al. 2017)153154### FASE 4: Extracción profunda155156**Objetivo:** No solo saber que es "experimental", sino extraer qué nombra, qué benchmark, qué muestra, qué variables, qué método, qué teoría.157158**Artefacto clave:** `extraction/extraction-table.csv`159160**Campos de extracción (4 bloques):**161162**Núcleo común:**163- work_type, year, DOI, authors, publication, keywords, abstract164165**Bloque empírico:**166- empirical_type, design_detail, country, sample_size, method, dependent_variables, independent_variables, instruments167168**Bloque técnico:**169- models_or_systems_studied, benchmark_dataset_or_corpus, corpus, tasks170171**Bloque teoría y síntesis:**172- theoretical_framework, key_findings, extraction_confidence173174**Script de refuerzo:** `refresh_extraction_depth.py`175- Relee texto extraído del PDF176- Fuerza capa más profunda cuando el primer pase es insuficiente177- Resuelve: artículos que parecían "experimental" pero en texto completo ofrecen más datos178179### FASE 5: Evidencia visual (figuras)180181**Script clave:** `prepare_paper_figures.py`182183**Separación de tipos:**184- `figures/extracted/` — figuras científicas detectadas en PDFs185- `figures/page-renders/` — renderizados de apoyo186- `figures/manifest.csv` — trazabilidad187- `figures/figure-catalog.md` — catálogo navegable188- `figures/figure-ranking.csv` — ranking por relevancia189190**Firma de figuras propias:** prefijo hexadecimal (ej: `686f6c6a`) para distinguir de evidencia ajena. Mezclar reutilización de evidencia ajena y síntesis visual propia = mala práctica.191192**Referencias:** FAIR (Wilkinson et al. 2016), ACM Artifact Review193194### FASE 6: Generación del manuscrito195196**Script clave:** `publication_audit.py`197198**Funciones:**199- Recompone secciones200- Limpia incoherencias201- Normaliza citas y referencias202- Integra tablas y figuras203- Detecta huecos obvios204- Genera manuscrito en 3 formatos205206**Artefactos finales:**207```208paper/manuscript/publication-ready.md — editable209paper/manuscript/publication-ready.tex — LaTeX técnico210paper/manuscript/publication-ready.pdf — compilado listo211paper/references/references.generated.bib — BibTeX212main-common-core.tex — plantilla sin revista objetivo213```214215**Requisitos editoriales:**216- Cada estudio relevante → ficha con 1-2 párrafos ANTES de tabla compacta217- Bloques ampliados: discusión, implicaciones teóricas, aportación original, conclusiones, líneas futuras218- Tono "determinista" — validez académica reconocible219220### FASE 7: Revisión cruzada, integridad y gate editorial221222**Capa que más diferencia de un flujo convencional con LLMs.**223224**Scripts y funciones:**225226| Script | Función |227|--------|---------|228| `publication_peer_review.py` | Revisión cruzada multi-modelo |229| `check_manuscript_integrity.py` | Detecta afirmaciones flojas, inconsistencias, huecos |230| `build_revision_roadmap.py` | Convierte revisión en matriz de cambios accionables |231| `publication_gate.py` | Comprueba artefactos + si cierre es legítimo |232| `publication_autopilot.py` | Bucle de reiteración hasta PASS o bloqueo documentado |233234**Política de modelos revisores (`reviewer-models.csv`):**235- Revisor A: Qwen 3.6 (NaN)236- Revisor B: DeepSeek v4-pro237- Relevo editorial: Kimi K2.6238239**Salidas de revisión:**240```241paper/review/review-manifest.csv242paper/review/peer-review-overview.md243paper/review/reviewer-A/244paper/review/reviewer-B/245```246247**Referencia:** lógica de evaluación estructurada ROBIS/AMSTAR 2 + espíritu ACM Artifact Review248249### FASE 8: Paquetes finales y memoria operativa250251**Gate PASS → genera 2 paquetes:**252253| Paquete | Contenido | Destino |254|---------|-----------|---------|255| `paper/package/publication-package.zip` | Paquete editorial general | Envío a revista |256| `paper/package/publication-latex-editable.zip` | Continuidad académica editable | Colaboradores |257258**Sincronización Obsidian:**259```260sync_review_to_obsidian.py261```262- Sincroniza revisión al vault de Obsidian263- Versión navegable: fichas, overview, biblioteca visual, notas, rastro PRISMA264- Cumple principios FAIR: localizable, accesible, interoperable265266**Memoria operativa:**267```268notes/runtime-state.md — estado legible269notes/runtime-state.json — estado serializado270```271- El watchdog relee y reanuda desde aquí272- La memoria real del sistema está FUERA del chat273274---275276## Guardrails no negociables277278### Metodológicos279- **Texto completo obligatorio** para inclusión final (resumen no basta)280- **Conteos recalculados** desde decisiones canonizadas (nunca escritos a mano)281- **Gate PASS** para cierre (no impresión subjetiva)282- **Trazabilidad** en cada decisión de inclusión/exclusión283- **Separación** de figuras propias vs. evidencia ajena284285### Operativos286- **Estado persistente** en archivos, no en memoria conversacional287- **Watchdog** para reanudación automática288- **Multi-modelo** para revisión cruzada289- **Configuración en YAML** con todos los parámetros visibles290- **Scripts versionables** como contrato metodológico291292### Técnicos293- **Tokens:** exigir texto completo legible para inclusión final294- **Modelo:** debe soportar papers largos y extraer bien el texto295- **No recursion:** NO llamar buildSummary() recursivamente (causa OOM)296- **Charts:** `var charts = window.charts = {}` (NO const) en frontend297- **Tab lazy:** NO marcar clima/gas en renderTab, solo al terminar fetch298299---300301## Scripts del sistema (inventario completo)302303| Script | Fase | Función principal |304|--------|------|-------------------|305| `bootstrap_topic_review.py` | 1-2 | Crear proyecto + queries multi-fuente |306| `doi_audit.py` | 2 | Normalización DOI, duplicados, trazabilidad |307| `complete_review.py` | 2-3 | Orquestación de secuencia completa |308| `review_runtime_state.py` | Todas | Serialización de estado operativo |309| `refresh_extraction_depth.py` | 4 | Re-extracción profunda de PDFs |310| `prepare_paper_figures.py` | 5 | Separación y catálogo de figuras |311| `publication_audit.py` | 6 | Generación manuscrito multi-formato |312| `publication_peer_review.py` | 7 | Revisión cruzada multi-modelo |313| `check_manuscript_integrity.py` | 7 | Auditoría de integridad del manuscrito |314| `build_revision_roadmap.py` | 7 | Matriz de cambios accionables |315| `publication_gate.py` | 7 | Validación de artefactos + gate |316| `publication_autopilot.py` | 7-8 | Bucle de reiteración |317| `sync_review_to_obsidian.py` | 8 | Sincronización vault Obsidian |318319---320321## Estructura de directorios de una revisión322323```324review-project/325├── protocol/326│ ├── intake.md327│ ├── eligibility-criteria.md328│ └── search-strategy.md329├── searches/330│ └── search-log.csv331├── records/332│ ├── master-records.csv333│ ├── doi-index.csv334│ ├── duplicates.csv335│ └── missing-doi.csv336├── screening/337│ └── screening-decisions.csv338├── extraction/339│ └── extraction-table.csv340├── figures/341│ ├── extracted/342│ ├── page-renders/343│ ├── manifest.csv344│ ├── figure-catalog.md345│ └── figure-ranking.csv346├── paper/347│ ├── manuscript/348│ │ ├── publication-ready.md349│ │ ├── publication-ready.tex350│ │ └── publication-ready.pdf351│ ├── references/352│ │ └── references.generated.bib353│ ├── review/354│ │ ├── review-manifest.csv355│ │ ├── peer-review-overview.md356│ │ └── reviewer-A/357│ └── package/358│ ├── publication-package.zip359│ └── publication-latex-editable.zip360├── notes/361│ ├── runtime-state.md362│ └── runtime-state.json363└── main-common-core.tex364```365366---367368## Casos de uso interesantes369370### 1. Revisión rápida de estado del arte371- Intake automatizado → búsqueda multi-fuente → screening → extracción superficial → manuscrito borrador372- Útil para: tesis, propuestas de investigación, state-of-the-art sections373374### 2. Revisión completa para publicación375- Pipeline completo con gate editorial y paquete LaTeX376- Útil para: journals, congresos, revisiones Cochrane-style377378### 3. Auditoría de revisiones existentes379- Cargar una revisión hecha → ejecutar DOI audit + integrity check380- Útil para: peer reviewers, editores, revisión de calidad381382### 4. Monitor de literatura continua383- Watchdog re-ejecuta búsqueda periódicamente384- Detecta nuevos papers relevantes385- Útil para: laboratorios, grupos de investigación activos386387### 5. Generación de protocolos para comités de ética388- Solo la Fase 1 (intake + criteria + search strategy)389- Genera protocolo PRISMA-compliant para presentar a comités390391### 6. Enseñanza de metodología392- El sistema como ejemplo vivo de cómo funciona PRISMA 2020393- Estudiantes pueden auditar cada fase, cada decisión394- Material didáctico interactivo395396---397398## Referencias bibliográficas del sistema399400- Page et al. 2021 (BMJ n71) — PRISMA 2020401- Page et al. 2021 (BMJ n160) — PRISMA 2020 Elaboración402- Rethlefsen et al. 2021 (PRISMA-S)403- Cochrane Handbook ch. 4404- Kitchenham et al. 2009 — SLRs en Software Engineering405- Whiting et al. 2016 — ROBIS406- Shea et al. 2017 — AMSTAR 2407- Wilkinson et al. 2016 — FAIR408- Wohlin 2014 — Snowballing Guidelines409- ACM — Artifact Review and Badging410411---412413## Pitfalls conocidos4144151. **Sesgo nace en intake** — si la pregunta es ambigua, el resto automatiza ambigüedad4162. **Resumen no basta** — exigir texto completo para inclusión final4173. **Conteos manuales** — siempre recomputar desde decisiones canonizadas4184. **Modelo único para revisión** — usar mínimo 2 modelos para cruzar4195. **Sin watchdog** — revisiones largas se estancan sin reanudación4206. **Mezclar figuras propias y ajenas** — usar firma hexadecimal para distinguir4217. **Memoria en chat** — la continuidad depende de archivos, no de "recordar"4228. **generic-common-core** — si no hay revista, no fingir alineación4239. **Recursividad** — buildSummary() recursivo causa OOM42410. **Sin gate** — entregar "algo que parece terminado" sin controles425426---427428## Checklist de implementación429430- [ ] Docker compose con 2 servicios (agent + watchdog)431- [ ] Config.yaml con política de modelos completa432- [ ] 10 skills de investigación en agent/skills/research/433- [ ] Scripts: bootstrap, doi_audit, complete_review, runtime_state434- [ ] Scripts: refresh_extraction, prepare_figures, publication_audit435- [ ] Scripts: peer_review, integrity, roadmap, gate, autopilot436- [ ] Scripts: sync_to_obsidian437- [ ] Watchdog configurado y activo438- [ ] Telegram como superficie operativa439- [ ] Protocolo de 3 archivos (intake, criteria, search)440- [ ] Extracción de 4 bloques (núcleo, empírico, técnico, teoría)441- [ ] Gate editorial con PASS/FAIL real442- [ ] Paquetes ZIP generados443- [ ] Sincronización Obsidian funcional
Run npx skillmds@latest add ntizar/prisma-systematic-review in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Sistema completo de revisiones sistemáticas PRISMA 2020 sobre infraestructura Hermes Agent. Orquestación multi-fase, auditoría automática, DOI-first, gate editorial, paquetes publicables. It is listed under AI & ML on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
ntizar (@ntizar) published this skill. Their other Agent Skills are listed on their SkillMD profile.