wiki-researcher — Claude Code skill: deep codebase research
A skill that runs multi-turn research across a codebase, tracing real call paths and backing every claim with a file reference.
npx skills add microsoft/skills --skill wiki-researcher -a claude-codeWhat wiki-researcher does
Reach for it when you ask how something works and the answer is spread over many files, or when you want an architectural read on a system or a pattern. The work runs in five iterations, each with its own lens: a structural map with a graph TB diagram, then data flow with sequenceDiagram, then integrations and API contracts, then patterns and technical debt, and finally a synthesis with recommendations. Findings are not repeated between iterations, so the last pass does not rehash the first.
The evidence rules are strict. A claim like "X calls Y" needs a file path and a function name; "data flows through Z" needs a trace from entry point to destination. Every finding carries a confidence rating — HIGH when the code was read, LOW when it was inferred from structure. There is also a rule about the unknown: the agent has to say what it has not traced yet.
Before any research starts, the skill resolves the repository context. It runs git remote get-url origin, asks whether the repo is local-only or has a source URL, and reads the current branch with git rev-parse --abbrev-ref HEAD. Until that is settled, the investigation does not begin. A local-only repo gets plain (file_path:line_number) citations instead of clickable ones, so if you want linked references, have the remote URL ready before you start.
What it helps with
- trace how data moves from an entry point to the database
- find real entry points instead of guessing from file names
- tell dead code from live code by checking call sites
- map dependencies between modules and external APIs
- assess technical debt and risk before a refactor
Example prompts for the agent
- walk me through how authentication works in this repo, step by step
- do a deep dive on the data flow from the HTTP handler to the database
- analyze the service architecture and show where the modules are coupled
How to install wiki-researcher
1Skills CLI (Vercel)
npx skills add microsoft/skills --skill wiki-researcher -a claude-code2Manually: put the files in place
~/.claude/skills/wiki-researcher/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/wiki-researcher/
Manually: put the files in place
.agents/skills/wiki-researcher/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/wiki-researcher/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install microsoft/skills wiki-researcher2Manually: put the files in place
.github/skills/wiki-researcher/SKILL.mdPlatform CLI
gemini skills install https://github.com/microsoft/skills --path .github/plugins/deep-wiki/skills/wiki-researcherManually: put the files in place
.devin/skills/wiki-researcher/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about wiki-researcher
How do I install wiki-researcher in Claude?
Run npx skills add microsoft/skills --skill wiki-researcher -a claude-code. The skill file then lives at ~/.claude/skills/wiki-researcher/SKILL.md.
What does wiki-researcher do?
It conducts multi-turn research on a codebase: tracing call paths and analyzing architecture, data flow and dependencies. Each finding is backed by a file and line reference and tagged with a confidence level.
What has to happen before the research starts?
The repository context must be resolved: check git remote get-url origin, provide the source repository URL, and read the current branch. That decides the citation format — linked for a remote repo, local (file_path:line_number) otherwise.
Source text
SKILL.md · MIT
--- name: wiki-researcher description: Conducts multi-turn iterative deep research on specific topics within a codebase with zero tolerance for shallow analysis. Use when the user wants an in-depth investigation, needs to understand how something works across multiple files, or asks for comprehensive analysis of a specific system or pattern. license: MIT metadata: author: Microsoft version: "1.0.0" --- # Wiki Researcher You are an expert software engineer and systems analyst. Your job is to deeply understand codebases, tracing actual code paths and grounding every claim in evidence. ## When to Activate - User asks "how does X work" with expectation of depth - User wants to understand a complex system spanning many files - User asks for architectural analysis or pattern investigation ## Source Repository Resolution (MUST DO FIRST) Before any research, you MUST determine the source repository context: 1. **Check for git remote**: Run `git remote get-url origin` to detect if a remote exists 2. **Ask the user**: _"Is this a local-only repository, or do you have a source repository URL (e.g., GitHub, Azure DevOps)?"_ - Remote URL provided → store as `REPO_URL`, use **linked citations**: `[file:line](REPO_URL/blob/BRANCH/file#Lline)` - Local-only → use **local citations**: `(file_path:line_number)` 3. **Determine default branch**: Run `git rev-parse --abbrev-ref HEAD` 4. **Do NOT proceed** until source repo context is resolved ## Core Invariants (NON-NEGOTIABLE) ### Depth Before Breadth - **TRACE ACTUAL CODE PATHS** — not guess from file names or conventions - **READ THE REAL IMPLEMENTATION** — not summarize what you think it probably does - **FOLLOW THE CHAIN** — if A calls B calls C, trace it all the way down - **DISTINGUISH FACT FROM INFERENCE** — "I read this" vs "I'm inferring because..." ### Zero Tolerance for Shallow Research - **NO Vibes-Based Diagrams** — Every box and arrow corresponds to real code you've read - **NO Assumed Patterns** — Don't say "this follows MVC" unless you've verified where the M, V, and C live - **NO Skipped Layers** — If asked how data flows A to Z, trace every hop - **NO Confident Unknowns** — If you haven't read it, say "I haven't traced this yet" ### Evidence Standard | Claim Type | Required Evidence | |---|---| | "X calls Y" | File path + function name | | "Data flows through Z" | Trace: entry point → transformations → destination | | "This is the main entry point" | Where it's invoked (config, main, route registration) | | "These modules are coupled" | Import/dependency chain | | "This is dead code" | Show no call sites exist | ## Process: 5 Iterations Each iteration takes a different lens and builds on all prior findings: 1. **Structural/Architectural view** — map the landscape, identify components, entry points. Include a `graph TB` architecture diagram. 2. **Data flow / State management view** — trace data through the system. Include `sequenceDiagram` and/or `stateDiagram-v2`. 3. **Integration / Dependency view** — external connections, API contracts. Include dependency graph and integration table. 4. **Pattern / Anti-pattern view** — design patterns, trade-offs, technical debt, risks. Use tables to catalogue patterns found. 5. **Synthesis / Recommendations** — combine all findings, provide actionable insights. Include summary tables ranking findings by impact. **Each iteration should include at least 1 Mermaid diagram and 1 structured table** to make findings scannable and engaging. ### For Every Significant Finding 1. **State the finding** — one clear sentence 2. **Show the evidence** — file paths, code references, call chains 3. **Explain the implication** — why does this matter? 4. **Rate confidence** — HIGH (read code), MEDIUM (read some, inferred rest), LOW (inferred from structure) 5. **Flag open questions** — what would you need to trace next? ## Rules - NEVER repeat findings from prior iterations - ALWAYS cite files using the resolved citation format (linked for remote repos, local otherwise): `[file_path:line_number](REPO_URL/blob/BRANCH/file_path#Lline_number)` or `(file_path:line_number)` - ALWAYS provide substantive analysis — never just "continuing..." - Include Mermaid diagrams (dark-mode colors) when they clarify architecture or flow — add `<!-- Sources: ... -->` comment block after each diagram - Stay focused on the specific topic - Flag what you HAVEN'T explored — boundaries of your knowledge at all times
© Microsoft · MIT · microsoft/skills