Skip to main content
skill

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add microsoft/skills --skill wiki-researcher -a claude-code
Open on GitHub

What 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-code

2Manually: put the files in place

~/.claude/skills/wiki-researcher/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/wiki-researcher/

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

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set64

The whole set →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor