# Dossier Collect > Construye un dossier estructurado en grafo sobre una entidad semilla, mediante fan-out paralelo y expansión recursiva por web, memoria, grafo de conocimiento, codebase, ADRs y git. Fuente: https://skillsagentes.com/skills/ruvnet/ruflo/dossier-collect Markdown: https://skillsagentes.com/skills/ruvnet/ruflo/dossier-collect.md Repositorio: https://github.com/ruvnet/ruflo Autor: ruvnet Licencia: MIT Actualizado: el mes pasado Coste de contexto: 41 tok instalada, 1.1k tok al activarse, 1.1k tok con todos los archivos del bundle Bundle: 1 archivo, 4 KB Permisos que pide: mcp__plugin_ruflo-core_ruflo__memory_store mcp__plugin_ruflo-core_ruflo__memory_search mcp__plugin_ruflo-core_ruflo__memory_search_unified mcp__plugin_ruflo-core_ruflo__agentdb_pattern-search mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store mcp__plugin_ruflo-core_ruflo__agentdb_hierarchical-recall mcp__plugin_ruflo-core_ruflo__embeddings_search mcp__plugin_ruflo-core_ruflo__hooks_intelligence_pattern-search mcp__plugin_ruflo-core_ruflo__hooks_intelligence_pattern-store mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-start mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-step mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-end mcp__plugin_ruflo-core_ruflo__task_create bash websearch webfetch read write grep glob ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add ruvnet/ruflo --skill dossier-collect --agent claude-code # Cursor npx -y skills add ruvnet/ruflo --skill dossier-collect --agent cursor # Codex npx -y skills add ruvnet/ruflo --skill dossier-collect --agent codex # Gemini CLI npx -y skills add ruvnet/ruflo --skill dossier-collect --agent gemini # Windsurf npx -y skills add ruvnet/ruflo --skill dossier-collect --agent windsurf # Cline npx -y skills add ruvnet/ruflo --skill dossier-collect --agent cline ``` ## Qué hace - Clasifica la entidad semilla (usuario, archivo, símbolo, ADR, URL o concepto) y elige las fuentes aplicables. - Lanza en paralelo todas las consultas de la ronda 0 (WebSearch, WebFetch, Grep, memoria, embeddings) y extrae entidades de cada resultado. - Expande recursivamente por rondas (BFS) hasta --max-depth, deduplicando entidades ya vistas. - Construye un grafo {nodes, edges} con procedencia por reclamación y lo renderiza en Markdown con mermaid y en JSON. - Respeta un presupuesto en --budget-usd; si se agota, entrega un dossier parcial marcado truncated: true. ## Cuándo usarla - Cuando hay una entidad semilla (usuario, archivo, símbolo, ADR-id, URL o concepto) y se quiere expandir descubriendo entidades conectadas. - Para investigaciones exploratorias, no para responder una pregunta puntual. ## Cuándo no - Para responder una pregunta específica y acotada, usa deep-research en su lugar. - Para planes de varios pasos, usa goal-plan en su lugar. ## Qué la activa - "Construye un dossier sobre el usuario ruvnet" - "Haz un dossier del ADR-097 con profundidad 1" ## Archivos - SKILL.md — 4 KB ## SKILL.md Reproducido tal cual desde ruvnet/ruflo bajo MIT. Esta sección es el documento original y está en inglés. # Dossier Collect Recursive parallel investigation that builds a graph-structured dossier on a seed entity. ## When to use You have a seed (a username, file, symbol, ADR-id, URL, or concept) and want to **expand outward** discovering every connected entity, with provenance per claim — rather than answering a specific question. For specific questions use `deep-research`. For multi-step plans use `goal-plan`. ## Steps 1. **Detect seed type** — classify as one of: `username` (handle), `file` (path), `symbol` (code identifier), `adr` (ADR-NNN), `url`, or `concept` (free text). 2. **Pick sources** — match the source matrix to the seed type. Default: all applicable. 3. **Start trajectory** — call `mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-start` with task `dossier:`. 4. **Round 0 fan-out** — issue ALL source queries in ONE message. Examples: - For `username`: `WebSearch`, `WebFetch` on github.com/, `mcp__plugin_ruflo-core_ruflo__memory_search_unified` - For `adr`: `Read` ADR file, `Grep` references, `mcp__plugin_ruflo-core_ruflo__memory_search` namespace `adr` - For `symbol`: `Grep`, `Glob`, `mcp__plugin_ruflo-core_ruflo__embeddings_search` 5. **Extract entities** — from each hit, surface entities (people, repos, files, adrs, urls, terms). Lightweight regex + heuristics; no LLM extraction unless ambiguous. 6. **De-dup** — drop entities already in the dossier. If `--exact` is unset, also drop entities whose embedding cosine similarity ≥ 0.92 to an existing node. 7. **Round k recursion** — for each new entity (capped at `--max-breadth` per source), recurse to step 4 until depth ≥ `--max-depth` OR budget exhausted. 8. **Aggregate** — build `{ nodes, edges }` graph. Each node carries `{ id, type, attrs, sources: [...] }`. Each edge carries `{ from, to, kind, source, confidence }`. 9. **Render artifacts**: - `.md` — executive summary, entity table, mermaid graph, source-provenance footnotes - `.json` — machine-readable graph - Default location: `v3/docs/examples/dossiers//` 10. **Persist** — `mcp__plugin_ruflo-core_ruflo__memory_store` namespace `dossier` key ``. 11. **End trajectory** — `mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-end` with success status. ## Output schema (JSON) ```json { "seed": "ruvnet", "seedType": "username", "depth": 2, "truncated": false, "generatedAt": "ISO-8601", "nodes": [ { "id": "ruvnet", "type": "username", "attrs": { "...": "..." }, "sources": ["WebSearch", "github.com"] } ], "edges": [ { "from": "ruvnet", "to": "ruflo", "kind": "owns", "source": "github.com", "confidence": "high" } ], "stats": { "nodesByType": {}, "sourcesUsed": [], "tokensSpent": 0 } } ``` ## Budget discipline - If `--budget-usd` is set, track approximate cost via trajectory. On exhaustion: emit partial dossier with `truncated: true` and the entities still queued. - BFS expansion only — finish round *k* before round *k+1*. - Never silently truncate. Always mark and record what was skipped. ## Examples ``` /ruflo-goals:dossier-collect ruvnet /ruflo-goals:dossier-collect ADR-097 --max-depth 1 /ruflo-goals:dossier-collect "src/memory/hnsw.ts" --sources codebase,git,memory /ruflo-goals:dossier-collect "ruflo-goals" --max-breadth 5 --budget-usd 1 ``` ## Dónde encaja - Categoría: [Investigación](https://skillsagentes.com/categorias/investigacion.md) — Investigación estructurada, búsqueda de fuentes y síntesis. - Creador: [ruvnet](https://skillsagentes.com/creators/ruvnet.md) — 275 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Harness Gepa](https://skillsagentes.com/skills/ruvnet/ruflo/harness-gepa.md): Inspecciona y audita genomas GEPA: carga y valida un genoma, renderiza el system prompt que compila, o clasifica los modos de fallo de una transcripción de ejecución. - [Deepseek Reason](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-reason.md): Completion en modo razonamiento contra deepseek-reasoner (R1) de DeepSeek. Devuelve el chain-of-thought por separado de la respuesta final. Lee DEEPSEEK_API_KEY y degrada si falta o la API no responde. - [Deepseek Chat](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-chat.md): Completion de un solo turno contra el modelo deepseek-chat de DeepSeek vía /v1/chat/completions. Lee DEEPSEEK_API_KEY y degrada con status:degraded si falta o la API no responde. Para tareas sin razonamiento. - [Adr Index](https://skillsagentes.com/skills/ruvnet/ruflo/adr-index.md): Construye o reconstruye el índice de ADRs y su grafo de dependencias ejecutando scripts/import.mjs, en vez de cientos de llamadas MCP. - [Agntcy Status](https://skillsagentes.com/skills/ruvnet/ruflo/agntcy-status.md): Muestra el estado de la integración AGNTCY/SLIM/CASA: si los paquetes están instalados, qué transporte está activo y si el enforcement de CASA está habilitado. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)