Curated Claude Code catalog
Updated 07.05.2026 · 19:39 CET
01 / Skill
Anjos2

recursive-research

Quality
9.0

A sophisticated research skill for Claude Code that performs deep, multi-cycle investigations across any domain. It uses a Weighted Decision Matrix (WDM) and Munger Inversion to ensure objective analysis, tiers sources (Tier 1-3) to filter out SEO spam, and saves checkpoints to disk to survive context window limits. It integrates with MCPs like Firecrawl and Context7 for high-quality data retrieval, aiming for PhD-level depth through auto-regulated cycles.

USP

PhD-level autonomous research with transparent source tiering and persistent disk checkpoints to survive context compaction.

Use cases

  • 01Deep technical state-of-the-art analysis
  • 02Academic literature reviews
  • 03Market and business model research
  • 04Complex problem solving using mental models
  • 05Fact-checking and source verification

Detected files (2)

  • plugins/recursive-research/skills/recursive-research/SKILL.mdskill
    Show content (18320 bytes)
    ---
    name: recursive-research
    version: 2.2.0
    author: Joseph Huayhualla (@Anjos2)
    license: MIT
    repository: https://github.com/Anjos2/recursive-research
    description: Investigación recursiva profunda con loop auto-regulado hasta nivel PhD. Aplicable a cualquier dominio (ciencia, tecnología, negocio, arte, humanidades). Usa WDM + Inversión Munger para decisiones autónomas, tiering de fuentes confiables, y checkpointing a disco para sobrevivir límites de contexto.
    ---
    
    # Skill: Investigación Recursiva Profunda (v2.0)
    
    Investigación auto-regulada que itera hasta alcanzar **nivel PhD** sobre una semilla de investigación (tema raíz). Funciona en cualquier dominio: ciencias formales, naturales, sociales, humanidades, artes, tecnología, negocio.
    
    ## Cuándo usar
    
    - Quieres profundizar en un tema hasta el nivel de un experto
    - Necesitas entender un campo nuevo para tomar decisiones informadas
    - Preparas un documento técnico, paper, propuesta o estudio
    - Quieres identificar estado del arte + gaps de conocimiento
    
    ## Principios
    
    1. **Pregunta antes de investigar** — la skill interroga al usuario sobre semilla, modo y fuentes ANTES de arrancar
    2. **Fuentes confiables con tiering transparente** — rechaza automáticamente fuentes no fiables
    3. **WDM + Inversión Munger** en toda decisión autónoma no trivial
    4. **Loop con auto-regulación** — no iteraciones fijas; criterio medible para cerrar
    5. **Checkpointing defensivo** — guarda a disco cada ciclo; sobrevive compact / cierre de sesión
    6. **Pausa preventiva** — detecta proximidad al límite de contexto y sugiere pausar antes del cierre forzoso
    
    ---
    
    ## Flujo completo
    
    ### Fase 0 — Preguntas iniciales (la skill interroga)
    
    Al invocar `/recursive-research`, la skill pregunta al usuario, en orden:
    
    1. **Semilla de investigación**: "¿Cuál es el tema que quieres investigar?" (texto libre)
    2. **Modo**: `web` / `local` / `mixto`
    3. **Si incluye local**: "¿Qué rutas locales debo investigar?" (lista de paths separados por comas)
    4. **Fuentes priorizadas** (opcional): autores, dominios, publicaciones preferidas
    5. **Fuentes excluidas** (opcional)
    6. **Tope duro de ciclos** (default: 20; configurable)
    
    La skill presenta un resumen y espera confirmación antes de arrancar.
    
    ---
    
    ### Fase 1 — Preparación del espacio de trabajo
    
    1. Generar `slug` de la semilla (kebab-case, máx. 40 caracteres)
    2. Verificar / crear `memoria/investigaciones/<slug>/` en el directorio de trabajo actual
       - **Si `memoria/` NO existe, crearla** explicando: *"No existe la carpeta `memoria/` en el proyecto. La creo porque la skill necesita consolidar hallazgos en disco cada ciclo — es lo que permite reanudar la investigación en sesiones nuevas."*
    3. Crear archivos iniciales:
       - `estado.md` — metadatos, progreso, métricas
       - `hilos.md` — árbol de hilos semilla + sub-hilos
       - `fuentes-tier-1.md`, `fuentes-tier-2.md`, `fuentes-tier-3.md`, `fuentes-rechazadas.md`
       - `hallazgos.md` — consolidación
    
    ---
    
    ### Fase 2 — Identificar hilos semilla
    
    Generar **3-5 hilos semilla** (ángulos distintos del tema).
    
    **Aplicar WDM a la selección de hilos**:
    
    | Criterio | Peso | Qué evalúa |
    |---|---|---|
    | Cobertura conceptual | 4 | ¿Cubre una dimensión distinta del tema? |
    | Diversidad de perspectivas | 3 | ¿Trae voces / escuelas distintas? |
    | Accesibilidad de fuentes | 3 | ¿Existen fuentes Tier 1/2 para este hilo? |
    | Relevancia al usuario | 4 | ¿Alinea con el objetivo que motivó la investigación? |
    
    Evaluar 5-8 hilos candidatos, seleccionar top 3-5.
    
    **Inversión Munger sobre los hilos elegidos**:
    - ¿Qué hilo importante estoy ignorando?
    - ¿Qué perspectiva ausente haría que mi investigación sea parcial?
    - ¿Qué escuela / voz disidente no aparece?
    
    Si la inversión revela un hilo crítico faltante, agregarlo y re-ejecutar WDM.
    
    **Ejemplos por dominio** (NO solo código):
    
    | Dominio | Semilla | Hilos típicos |
    |---------|---------|---------------|
    | Ciencia | Inmunoterapia contra cáncer | Mecanismos moleculares / Ensayos clínicos / Historia y evolución / Controversias y limitaciones / Estado comercial |
    | Arte | Minimalismo en música del siglo XX | Compositores clave / Técnicas / Contexto histórico-cultural / Crítica y recepción / Obras emblemáticas |
    | Negocio | Modelos de monetización SaaS B2B | Pricing strategies / Métricas financieras / Casos documentados / Marco legal / Psicología de compra B2B |
    | Humanidades | Filosofía estoica aplicada moderna | Fuentes primarias (Epicteto, Séneca, Aurelio) / Interpretaciones contemporáneas / Aplicaciones prácticas / Críticas filosóficas / Evidencia empírica psicológica |
    | Tecnología | Arquitectura hexagonal en microservicios | Fundamentos teóricos / Implementaciones por lenguaje / Casos reales / Trade-offs y críticas / Herramientas |
    
    ---
    
    ### Fase 3 — Detectar herramientas disponibles
    
    Antes del primer ciclo, detectar MCPs disponibles y ordenar por preferencia:
    
    **Preferencia (mayor a menor velocidad/efectividad)**:
    
    1. **MCPs de scraping optimizados para IA**: Firecrawl (`firecrawl_scrape`, `firecrawl_crawl`, `firecrawl_search`, `firecrawl_extract`) — texto estructurado, rápido
    2. **MCPs de documentación oficial**: Context7 (`query-docs`) — cuando la fuente es una librería/framework
    3. **Herramientas nativas**: `WebSearch`, `WebFetch` — fallback universal
    4. **MCPs de navegación real (Chrome DevTools)**: DESPRIORIZADOS — solo si el contenido requiere ejecución JS explícita (SPAs sin SSR, contenido tras auth)
    
    Razón: scrapers de IA son 10-50× más rápidos que navegadores reales y dan texto ya estructurado.
    
    ---
    
    ### Fase 4 — Fuentes semilla sugeridas
    
    La skill presenta al usuario una lista de fuentes semilla **pre-cargadas por dominio** para que **confirme, añada o rechace**:
    
    **Ciencia general / papers**:
    - arXiv (https://arxiv.org) — preprints en física, matemáticas, CS, biología, economía
    - Semantic Scholar (https://www.semanticscholar.org) — red de citaciones
    - Google Scholar (https://scholar.google.com)
    - Connected Papers (https://www.connectedpapers.com) — mapas visuales de citaciones
    - OpenReview (https://openreview.net) — revisiones abiertas en ML
    
    **Medicina / biología**:
    - PubMed (https://pubmed.ncbi.nlm.nih.gov)
    - Cochrane Library (https://www.cochranelibrary.com) — meta-análisis
    - WHO (https://www.who.int)
    - ClinicalTrials.gov
    
    **Humanidades / ciencias sociales**:
    - JSTOR (https://www.jstor.org)
    - SSRN (https://www.ssrn.com)
    - Project MUSE (https://muse.jhu.edu)
    
    **Código / tecnología**:
    - GitHub (búsqueda, topics, starred lists de expertos)
    - Context7 para docs oficiales (si MCP disponible)
    - RFCs (https://www.rfc-editor.org)
    - W3C specs (https://www.w3.org/TR/)
    
    **Datos / estadística**:
    - Banco Mundial (https://data.worldbank.org)
    - OECD Data (https://data.oecd.org)
    - Our World in Data (https://ourworldindata.org)
    - Pew Research (https://www.pewresearch.org)
    - Eurostat, INE, y equivalentes nacionales
    
    **Arte / cultura / humanidades**:
    - Europeana (https://www.europeana.eu)
    - Google Arts & Culture (https://artsandculture.google.com)
    - Internet Archive (https://archive.org)
    - Project Gutenberg (https://www.gutenberg.org)
    
    **Generales**:
    - Wikipedia — como PUNTO DE PARTIDA. Saltar siempre a la sección de **referencias** para llegar a Tier 1/2
    - Wikidata — datos estructurados
    
    **Fuentes locales** (si el usuario proporcionó rutas):
    - Listar estructura de carpeta
    - Priorizar `.md`, `.pdf`, `.txt`, `.doc/.docx`, `.html`, `.epub`
    - Usar herramientas de lectura del agente (Read, Grep, Glob)
    
    ---
    
    ### Fase 5 — Ciclo de investigación (LOOP auto-regulado)
    
    Cada ciclo ejecuta los siguientes sub-pasos.
    
    #### 5.1. Elegir el hilo con menor cobertura
    
    Calcular cobertura actual de cada hilo (`hallazgos_registrados / hallazgos_esperados_proxy`). Elegir el de menor %.
    
    #### 5.2. WDM + Munger sobre fuentes a usar en ESTE ciclo
    
    **WDM por fuente candidata**:
    
    | Criterio | Peso | Escala |
    |----------|------|--------|
    | Autoridad (Tier) | 5 | Tier 1 = 5 · Tier 2 = 3 · Tier 3 = 2 · Rechazo = 0 |
    | Relevancia al hilo actual | 5 | 1-5 por match semántico |
    | Accesibilidad | 3 | 5 = full text abierto · 3 = abstract + paywall · 1 = bloqueado |
    | Recencia apropiada al campo | 2 | Código: reciente > viejo · Filosofía clásica: viejo = relevante |
    | Ausencia de conflicto de interés | 3 | 5 = independiente · 1 = financiada por parte interesada |
    
    Seleccionar top 3-5.
    
    **Inversión Munger sobre las fuentes seleccionadas**:
    - ¿Qué fuente NO estoy usando que debería? (disidentes, escuelas críticas, voces silenciadas)
    - ¿Qué sesgo comparten todas las seleccionadas? (solo anglosajonas, solo de una época, solo de una escuela)
    - ¿Qué opinión contraria existe documentada? → Añadir al menos 1 fuente contradictoria si existe
    
    #### 5.3. Ejecutar búsquedas / lecturas
    
    - Usar MCPs en orden de preferencia detectado en Fase 3
    - Extraer: hechos concretos, datos numéricos, citas textuales con atribución, nombres de personas/obras/conceptos nuevos
    - Registrar en notas de trabajo del ciclo
    
    #### 5.4. Aplicar tiering a cada fuente consultada
    
    **Tier 1 — Máxima confianza**:
    - Papers peer-reviewed en revistas indexadas (Scopus, Web of Science, PubMed, ACM, IEEE)
    - Libros de editoriales académicas (MIT Press, Oxford UP, Cambridge UP, Springer)
    - Documentación oficial de estándares (W3C, IETF/RFC, ISO, IEEE, WHO, FDA, BIS)
    - Archivos primarios verificables (museos nacionales, bibliotecas universitarias, archivos estatales)
    - Datos crudos de instituciones estadísticas oficiales
    
    **Tier 2 — Alta confianza**:
    - Repositorios oficiales de proyectos activos y reconocidos
    - Blogs/publicaciones de autores citables (investigadores, profesionales con trayectoria verificable)
    - Charlas en conferencias reconocidas (con video y paper)
    - Wikipedia *CON* referencias a Tier 1/2 (tratar como agregador de referencias)
    - Reportes de think tanks / consultoras con metodología publicada (Pew, Gartner, McKinsey Institute)
    
    **Tier 3 — Útil con cautela**:
    - Blogs con citaciones internas a Tier 1/2
    - Stack Overflow / foros con voto alto + citaciones
    - Entrevistas grabadas con expertos identificables
    - Publicaciones de industria con autoría clara
    
    **Rechazo automático**:
    - Sin autor identificable
    - Marketing sin datos empíricos
    - Agregadores spam / SEO
    - Tutoriales sin citar fuentes
    - Social media sin contexto verificable
    - Contenido generado por IA sin supervisión humana documentada
    
    Cada fuente consultada se registra en el archivo tier correspondiente con: título, URL, autor, fecha, tier asignado, justificación.
    
    #### 5.5. Consolidar en checkpoint
    
    Guardar al final del ciclo: `memoria/investigaciones/<slug>/ciclo-N.md` con:
    - Hilo trabajado
    - Fuentes consultadas (con tier)
    - Hallazgos nuevos
    - Conexiones con hilos previos
    - Preguntas abiertas para próximos ciclos
    
    #### 5.6. Actualizar `estado.md`
    
    - Incrementar contador de ciclos
    - Recalcular cobertura por hilo
    - Registrar métrica de saturación: `saturacion = hallazgos_nuevos_ciclo / hallazgos_totales_acumulados`
    - Actualizar estimación de tool calls y tokens de output consumidos
    
    #### 5.7. Evaluar criterios de cierre — Función de fitness "nivel PhD"
    
    Los 5 criterios DEBEN cumplirse todos:
    
    1. **Cobertura ≥80%** en todos los hilos semilla
    2. **≥3 fuentes Tier-1 por hilo** (o Tier 1+2 combinadas si el campo tiene pocas Tier 1)
    3. **Saturación ≤5%** durante 3 ciclos consecutivos
    4. **Inversión Munger aplicada al estado del conocimiento**: documentado qué NO sé, qué contradicen las fuentes, qué sesgos detecté
    5. **Síntesis cruzada entre hilos**: ≥3 conexiones explícitas entre hilos diferentes registradas
    
    **Decisión**:
    - Todos cumplidos → Fase 6 (cierre natural)
    - Tope de ciclos alcanzado → Fase 6 (cierre forzado con aviso)
    - Caso contrario → continuar al paso 5.8
    
    #### 5.8. Pausa preventiva (check de contexto)
    
    Umbrales:
    - `tool_calls_en_sesion ≥ 150`
    - **O** `tokens_output_aprox ≥ 80000`
    
    Si se cruza cualquiera:
    
    1. Escribir checkpoint completo (5.5 + 5.6)
    2. Emitir mensaje:
    
    ```
    [PAUSA PREVENTIVA RECOMENDADA]
    
    Estado actual:
    - Ciclos completados: N
    - Tool calls en sesión: X (cerca del límite)
    - Tokens de output aprox: Y
    
    Razón: me aproximo al límite de contexto. Si continúo, podría perder coherencia
    al compactarse la sesión.
    
    La investigación está guardada en:
      memoria/investigaciones/<slug>/
    
    Para reanudar en nueva sesión:
      /recursive-research --resume <slug>
    
    ¿Pausar aquí, o continuar 1-2 ciclos más? (continuar / pausar)
    ```
    
    3. Esperar respuesta. Si `continuar`, seguir. Si `pausar`, saltar a Fase 6 (cierre parcial documentado).
    
    Si no se cruza el umbral → volver a 5.1 para próximo ciclo.
    
    ---
    
    ### Fase 6 — Cierre
    
    Sea cierre natural (5 criterios cumplidos), forzado (tope de ciclos), o parcial (pausa manual):
    
    1. **`sintesis.md`** — síntesis ejecutiva:
       - Resumen en lenguaje simple (3-5 párrafos)
       - Hallazgos por hilo con referencias cruzadas
       - Controversias y contradicciones detectadas
       - Gaps de conocimiento (qué NO se investigó / qué sigue abierto)
       - Mapa de hilos seguidos (árbol)
    
    2. **`acciones.md`** — checklist de acciones aplicables, priorizadas por impacto
    
    3. **Inversión Munger FINAL al estado del conocimiento** (registrar en `gaps.md`):
       - ¿Qué sigo sin saber?
       - ¿Qué fuentes contradijeron entre sí y no resolví?
       - ¿Qué sesgo tiene mi conjunto de fuentes?
       - ¿Qué pregunta debería hacerme un revisor crítico que no sepa responder?
    
    4. **Preguntar al usuario**:
    
    ```
    [INVESTIGACIÓN COMPLETADA — estado: natural / forzado / pausado]
    
    Semilla: <tema>
    Ciclos ejecutados: N / <tope>
    Fuentes consultadas: X total (T1: A · T2: B · T3: C · Rechazadas: D)
    Estado PhD: alcanzado / NO alcanzado (razones: ...)
    
    Gaps identificados:
      1. ...
      2. ...
      3. ...
    
    Opciones:
      1. Cerrar aquí
      2. Profundizar un gap específico (indica cuál)
      3. Añadir nuevo hilo y continuar
      4. Cambiar de modo (web → mixto, etc.)
    
    ¿Qué prefieres?
    ```
    
    **La investigación puede ser infinita** — solo se cierra por decisión del usuario.
    
    ---
    
    ## Modo `--resume`
    
    Invocación: `/recursive-research --resume <slug>`
    
    1. Buscar `memoria/investigaciones/<slug>/`
    2. Si no existe → error claro, sugerir `/recursive-research` normal
    3. Si existe:
       - Leer `estado.md` → reconstruir métricas
       - Leer último `ciclo-N.md` → contexto reciente
       - Leer `hilos.md` → árbol actual
       - Presentar: "Retomo desde ciclo N. Próximo paso: [hilo X]. ¿Continúo?"
    4. Continuar el loop desde Fase 5
    
    ---
    
    ## Modo `--list`
    
    Invocación: `/recursive-research --list`
    
    Listar todas las investigaciones guardadas en `memoria/investigaciones/` del proyecto actual:
    - Slug · Semilla · Ciclos completados · Estado (abierta / cerrada) · Última modificación
    
    ---
    
    ## Anti-patterns a rechazar activamente
    
    1. **Búsqueda plana** — repetir queries con sinónimos sin profundizar en resultados reales
    2. **Ignorar Munger** — seleccionar fuentes solo por confort; la inversión es obligatoria
    3. **Checkpoint ausente** — avanzar 5 ciclos sin dumpear a disco
    4. **Tier 3 sin referencias** — aceptar un blog sin que cite Tier 1/2 explícitamente
    5. **Autoconfirmación del PhD** — declarar PhD sin los 5 criterios medidos; si uno falta, NO cerrar
    6. **Ignorar gaps** — cerrar sin documentar qué no se sabe; los gaps son parte del entregable
    7. **Condescendencia intelectual** — ocultar controversias o contradicciones "para no ensuciar la síntesis"; la honestidad intelectual ES el resultado
    8. **Confiar ciegamente en el knowledge interno** — el conocimiento del agente puede estar desactualizado; siempre verificar contra fuente
    
    ---
    
    ## Estructura final de archivos generados
    
    ```
    memoria/investigaciones/<slug>/
    ├── estado.md              ← progreso, métricas, metadata
    ├── hilos.md               ← árbol de hilos y sub-hilos con estado
    ├── fuentes-tier-1.md      ← fuentes más confiables consultadas
    ├── fuentes-tier-2.md      ← fuentes de alta confianza
    ├── fuentes-tier-3.md      ← fuentes con cautela
    ├── fuentes-rechazadas.md  ← fuentes evaluadas y descartadas (con razón)
    ├── hallazgos.md           ← consolidación de descubrimientos
    ├── ciclo-01.md            ← checkpoint del ciclo 1
    ├── ciclo-02.md
    ├── ciclo-N.md
    ├── sintesis.md            ← síntesis ejecutiva (Fase 6)
    ├── acciones.md            ← checklist de acciones aplicables
    └── gaps.md                ← lo que NO se sabe, controversias, sesgos
    ```
    
    ---
    
    ## Ejemplo de invocación
    
    ```
    Usuario: /recursive-research
    
    Skill: ¿Cuál es el tema que quieres investigar?
    Usuario: Mecanismos de la memoria episódica en humanos
    
    Skill: ¿Modo? (web / local / mixto)
    Usuario: mixto
    
    Skill: ¿Rutas locales?
    Usuario: C:/Dropbox/papers-neurociencia
    
    Skill: ¿Fuentes / autores priorizados? (opcional)
    Usuario: Endel Tulving, Eleanor Maguire
    
    Skill: ¿Fuentes excluidas? (opcional)
    Usuario: -
    
    Skill: ¿Tope de ciclos? (default 20)
    Usuario: 25
    
    Skill: Confirmado.
           Semilla: "memoria episódica en humanos"
           Modo: mixto · Local: [C:/Dropbox/papers-neurociencia]
           Priorizar: [Tulving, Maguire] · Tope: 25 ciclos
    
           Aplicando WDM + Munger para identificar hilos semilla...
           [muestra tabla]
    
           Hilos seleccionados:
           1. Bases neuroanatómicas (hipocampo, PFC)
           2. Fenomenología y taxonomía (Tulving et al.)
           3. Trastornos y disociaciones (amnesia, Alzheimer)
           4. Modelos computacionales
           5. Neurociencia cognitiva contemporánea
    
           La carpeta `memoria/` no existe. La creo — es necesaria para
           consolidar cada ciclo en disco.
    
           Ruta: memoria/investigaciones/memoria-episodica-humanos/
    
           Arrancando ciclo 1 (hilo con menor cobertura: 1)...
    ```
    
    ---
    
    ## Autoría y licencia
    
    - **Autor:** Joseph Huayhualla ([@Anjos2](https://github.com/Anjos2))
    - **Licencia:** MIT — ver archivo `LICENSE` del repositorio
    - **Repositorio:** https://github.com/Anjos2/recursive-research
    
    Contribuciones bienvenidas. Si detectas un anti-pattern no cubierto, una heurística mejor, o un criterio de PhD más robusto, abre un PR.
    
  • .claude-plugin/marketplace.jsonmarketplace
    Show content (724 bytes)
    {
      "name": "recursive-research",
      "owner": {
        "name": "Joseph Huayhualla"
      },
      "metadata": {
        "description": "Recursive research skill/plugin for Claude Code by Joseph Huayhualla (@Anjos2)",
        "version": "2.2.0"
      },
      "plugins": [
        {
          "name": "recursive-research",
          "source": "./plugins/recursive-research",
          "description": "Recursive research up to PhD level across any domain (science, tech, business, arts, humanities). Source tiering, WDM + Munger inversion for autonomous decisions, and disk checkpointing to survive context compaction.",
          "version": "2.2.0",
          "homepage": "https://github.com/Anjos2/recursive-research",
          "license": "MIT",
          "strict": true
        }
      ]
    }
    

README

recursive-research

Claude Code plugin & skill for recursive research up to PhD level on any topic — science, tech, business, arts, humanities. Source tiering, loop auto-regulation, disk checkpointing, and WDM + Munger inversion for autonomous decisions.

Version: 2.2.0 · License: MIT · Author: Joseph Huayhualla (@Anjos2)


What it does

You give it a research seed (a topic) and the skill:

  1. Asks for mode (web / local / mixed), local paths if applicable, priority/excluded sources, and a cycle cap.
  2. Identifies 3-5 seed threads applying WDM (Weighted Decision Matrix) + Munger Inversion.
  3. Detects available MCPs (Firecrawl, Context7, WebFetch, WebSearch) and prioritizes by speed and quality.
  4. Iterates in auto-regulated cycles — each cycle picks the least-covered thread, selects sources, investigates, consolidates.
  5. Tiers every source into Tier 1 / 2 / 3 / Rejected with transparent criteria.
  6. Saves disk checkpoints every cycle — survives context compaction.
  7. Closes when the 5-criteria PhD fitness function is met, or upon hitting the cycle cap.
  8. Asks if you want to keep going. Research can be infinite.

Why it's different

FeatureHow it solves it
Works across any domainGeneric source tiering (papers, academic books, official archives, raw data), not code-only
Rejects garbage sources automaticallyExplicit criteria: no author, data-less marketing, SEO spam, unsupervised AI content
Survives context limitsPer-cycle disk checkpoint + --resume mode for new sessions
Self-criticalMunger inversion applied to the consolidated knowledge: what do I not know? what bias do my sources share? what's missing?
Asks before assumingFull Phase 0 interrogation of the user
TransparentEvery non-trivial autonomous decision runs WDM + Munger and shows the reasoning

Installation

This repo is a Claude Code marketplace containing one plugin (recursive-research). The easiest way to install is through Claude Code's built-in plugin manager.

Option A — Via marketplace (recommended)

Inside Claude Code, run:

/plugin marketplace add Anjos2/recursive-research
/plugin install recursive-research

The plugin appears in /plugin → Installed. Invoke it with /recursive-research:recursive-research.

Option B — Via the official Plugin Directory (pending approval)

Anthropic maintains a central Plugin Directory. Once approved there (submission in progress), install becomes a one-liner without the marketplace add step:

/plugin install recursive-research

Option C — As a standalone skill (minimal, no plugin manager)

If you prefer to bypass the plugin ecosystem, copy only the skill markdown:

Linux / macOS:

git clone https://github.com/Anjos2/recursive-research.git
mkdir -p ~/.claude/skills/recursive-research
cp recursive-research/plugins/recursive-research/skills/recursive-research/SKILL.md ~/.claude/skills/recursive-research/

Windows (PowerShell):

git clone https://github.com/Anjos2/recursive-research.git
New-Item -ItemType Directory -Force -Path "$HOME/.claude/skills/recursive-research"
Copy-Item recursive-research/plugins/recursive-research/skills/recursive-research/SKILL.md "$HOME/.claude/skills/recursive-research/"

Invoked without namespace as /recursive-research. Verify with /help inside Claude Code.


Usage

Standard invocation

/recursive-research:recursive-research     # if installed as plugin
/recursive-research                        # if installed as standalone skill

The skill guides you interactively. Answer in natural language.

Resume a paused research

/recursive-research:recursive-research --resume <slug>

<slug> = kebab-case name of the topic (e.g., episodic-memory-humans).

List saved research

/recursive-research:recursive-research --list

Usage examples by domain

DomainSuggested seed
Neuroscience"Mechanisms of episodic memory in humans"
Philosophy"Modern application of Stoic philosophy"
Music"Minimalism in 20th-century music"
Business"B2B SaaS monetization models in 2025"
History"Fall of the Western Roman Empire: economic causes"
Biology"CAR-T cell immunotherapy against cancer"
Technology"Hexagonal architecture in microservices"
Law"European AI Act and its extraterritorial impact"

"PhD level" criterion

The skill only declares PhD when all 5 criteria are met:

  1. Coverage ≥80% across all seed threads
  2. ≥3 Tier-1 sources per thread
  3. New-finding saturation ≤5% for 3 consecutive cycles
  4. Munger inversion applied to the knowledge (what I don't know, what sources contradict, what biases exist)
  5. ≥3 explicit cross-thread connections between different threads

If any criterion fails, it does not declare PhD and keeps iterating — or asks for confirmation upon hitting the cycle cap (default 20, configurable).


Source tiering

TierQualifiesWDM weight
1Peer-reviewed papers · academic books · official standards (W3C, RFC, ISO, WHO) · primary archives · official datasets5
2Official repos · blogs from citable authors · recorded conferences · Wikipedia with references · reports with methodology3
3Blogs with citations to T1/T2 · high-voted forum answers with sources · recorded interviews with identifiable experts2
RejectNo author · data-less marketing · SEO spam · tutorials without sources · unsupervised AI content0

Every consulted source is logged in a per-tier file for later audit.


Pre-loaded seed sources

The skill auto-suggests reliable sources by domain. Examples:

  • Science: arXiv, Semantic Scholar, Google Scholar, Connected Papers, OpenReview
  • Medicine: PubMed, Cochrane Library, WHO, ClinicalTrials.gov
  • Humanities: JSTOR, SSRN, Project MUSE
  • Code: GitHub, Context7, RFCs, W3C specs
  • Data: World Bank, OECD Data, Our World in Data, Pew Research
  • Art/culture: Europeana, Google Arts & Culture, Internet Archive, Project Gutenberg

The user can add or reject any before starting.


WDM + Munger inversion

Decision frameworks applied at each non-trivial autonomous step:

  • WDM (Weighted Decision Matrix) — enumerate 3+ viable alternatives, criteria with weights, 1-5 scoring, compared totals.
  • Munger inversion (Charlie Munger via Jacobi) — ask inverted about the winning option: "how would it fail? what bias does it have? what am I ignoring?"

The skill applies both to:

  • Select seed threads
  • Select sources per cycle
  • Decide when to close the research
  • Validate the consolidated knowledge at the end

Reference: Charlie Munger's essay on mental inversion.


Recommended MCPs

The skill detects what you have and uses them in this order:

  1. Firecrawl MCP (highly recommended) — AI-optimized scraping
  2. Context7 MCP — official library docs
  3. WebSearch + WebFetch (built-in Claude Code) — universal fallback
  4. Chrome DevTools MCP — only when content requires real JS execution; generally too slow for large-scale research

Generated files

In memoria/investigaciones/<slug>/ of the active project:

  • estado.md · hilos.md · hallazgos.md
  • fuentes-tier-1.md · fuentes-tier-2.md · fuentes-tier-3.md · fuentes-rechazadas.md
  • ciclo-01.md, ciclo-02.md, ..., ciclo-N.md (checkpoints)
  • sintesis.md · acciones.md · gaps.md (upon closing)

If memoria/ doesn't exist in the project, the skill creates it (notifying the user) — it's an explicit dependency.


Repository structure

recursive-research/                              ← the repo is a Claude Code marketplace
├── .claude-plugin/
│   └── marketplace.json                        ← marketplace manifest (declares the plugin)
├── plugins/
│   └── recursive-research/                     ← the plugin (named same as the marketplace)
│       ├── .claude-plugin/
│       │   └── plugin.json                     ← plugin manifest
│       └── skills/
│           └── recursive-research/
│               └── SKILL.md                    ← the skill instructions (the actual content)
├── LICENSE                                      ← MIT
├── README.md                                    ← this file
├── PRIVACY.md                                   ← privacy policy (no data collection)
└── .gitignore

Contributing

Issues and PRs welcome. If you improve a criterion, add a tier, find a new anti-pattern, or want support for more domains: open a PR.

Roadmap

  • Native integration with reference managers (Zotero, Mendeley)
  • Export research to academic formats (LaTeX, BibTeX)
  • Collaborative mode — multiple agents investigating threads in parallel
  • Automatic source-quality metrics (h-index, journal impact factor)
  • Support for PDFs behind legal paywalls

GitHub topics

claude-code · claude-code-skill · claude-code-plugin · ai-agent · research-tool · recursive-research · knowledge-management · weighted-decision-matrix · mental-models


Privacy

recursive-research does not collect any user data. Everything runs locally on your machine. See PRIVACY.md for the full policy.

License

MIT — use, modify, distribute freely. Just keep the copyright notice.


Acknowledgments

  • Charlie Munger — for "Invert, always invert" (via Carl Jacobi)
  • Claude Code team — for the skill and plugin format
  • Anthropic — for the model that makes this possible

If this skill was useful, consider giving the repo a ⭐.