New to Claude Skills? Learn how to install them →

ruvnet on GitHub

Dossier Collect

Free

Build detailed dossiers on entities through recursive exploration.

by ruvnet67.6k stars on ruvnet/ruflo
1 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Dossier Collect does

Dossier Collect is a powerful tool designed for developers and researchers who need to gather comprehensive information about a specific entity. By starting with a seed entity—such as a username, file path, or URL—this skill enables users to expand their understanding through a systematic, recursive investigation. The tool utilizes a breadth-first search approach to explore connections across various sources, including web data, memory, knowledge graphs, and codebases.

The process begins with the identification of the seed type, which can be a username, file, symbol, ADR-id, URL, or a concept. Once the seed is classified, the skill matches it to a matrix of applicable sources. It then initiates a trajectory that issues all relevant queries in a single round, allowing for efficient data collection. As the investigation progresses, Dossier Collect extracts entities from the results, ensuring that duplicates are filtered out based on predefined criteria.

One of the key features of Dossier Collect is its ability to build a graph-structured dossier that not only includes nodes and edges but also maintains provenance for each claim made about the entities. The output is generated in both human-readable and machine-readable formats, making it easy to analyze the relationships between entities. This skill is particularly useful for those who need to understand the broader context surrounding a specific entity rather than answering a singular question.

Dossier Collect is ideal for developers and researchers looking to create detailed mappings of relationships and connections in their work. Whether you are investigating a codebase, analyzing user interactions, or exploring concepts in a knowledge graph, this tool provides a structured way to gather and visualize interconnected information.

When to use it

Use this tool when you have a specific seed entity and want to explore all its connections across multiple sources.

When not to use it

This skill is not suitable for answering specific questions or for creating multi-step plans; for those tasks, consider using other tools like deep-research or goal-plan.

What you can build with it

Researching a GitHub User

Start with a GitHub username to collect data about their repositories, contributions, and related entities.

Analyzing an ADR Document

Use an ADR-id to gather references and related decisions, building a comprehensive view of the architectural context.

Exploring Code Dependencies

Input a file path to discover related files and symbols, mapping out dependencies and relationships in the codebase.

How to install Dossier Collect

View source

1. Install with the skills CLI

npx skills add ruvnet/ruflo/dossier-collect --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by ruvnet

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:<slug>.
  4. Round 0 fan-out — issue ALL source queries in ONE message. Examples:
    • For username: WebSearch, WebFetch on github.com/<user>, 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:
    • <slug>.md — executive summary, entity table, mermaid graph, source-provenance footnotes
    • <slug>.json — machine-readable graph
    • Default location: v3/docs/examples/dossiers/<slug>/
  10. Persistmcp__plugin_ruflo-core_ruflo__memory_store namespace dossier key <slug>.
  11. End trajectorymcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-end with success status.

Output schema (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

Frequently asked questions about Dossier Collect

Similar skills