Skip to content
Development
Skill

/research

Focused research investigations. Converts questions into structured findings with confidence levels and source citations. Single agent by default; with --parallel (or when the question decomposes into 3+ independent angles) it spawns scout agents whose findings are compressed

From plugin
citadel
92248 skills7 agents2 MCP
Install
$ npx -y skills add SethGammon/Citadel --skill research --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/research

Context preview

The summary Claude sees to decide when to auto-load this skill.

Focused research investigations. Converts questions into structured findings with confidence levels and source citations. Single agent by default; with --parallel (or when the question decomposes into 3+ independent angles) it spawns scout agents whose findings are compressed

SKILL.md

research.SKILL.md
name: research
license: MIT
description: >-
  Focused research investigations. Converts questions into structured findings
  with confidence levels and source citations. Single agent by default; with
  --parallel (or when the question decomposes into 3+ independent angles) it
  spawns scout agents whose findings are compressed into a unified brief.
  Does not make decisions; produces information that informs the next step.
user-invocable: true
auto-trigger: false
trigger_keywords:
  - research
  - investigate
  - look into
  - find out
  - research fleet
  - parallel research
  - multi-angle research
  - compare options
last-updated: 2026-07-21

/research — Focused Investigation

When to Use

  • Evaluating whether a dependency has a newer version or has been superseded
  • Finding community best practices for a specific technical problem
  • Reading official documentation for an API or library
  • Investigating how other projects solve a similar problem
  • Checking if a pattern used in the codebase has known issues
  • Any time you need external information before making a decision

**Don't use when:** you need to act on findings immediately (use /marshal which calls /research internally).

Modes

**Single (default):** one agent, 2-4 queries, 3-6 sources. Steps 1-5 below.

**Parallel (`/research --parallel`):** scout agents investigate independent angles of the same question using Fleet wave mechanics. See Parallel Mode below. Without the flag, prefer parallel mode (and say so in the plan) when the question naturally decomposes into 3+ independent angles: evaluating multiple competing technologies or approaches, distinct sub-questions that don't depend on each other, or time-sensitive research where parallel execution matters.

If the question is narrow and focused, stay single-agent. Don't parallelize what a single agent can answer in 5 minutes.

Protocol (Single Mode)

Step 1: FORMULATE

Convert the research question into 2-4 specific search queries:

  • Official docs query (e.g., "express.js middleware error handling docs")
  • Community/GitHub query (e.g., "express error middleware best practices site:github.com")
  • Technical blog/comparison query (e.g., "express vs fastify error handling 2025")
  • Release notes query if version-specific (e.g., "express 5.x changelog breaking changes")

State the question clearly in one sentence before searching.

Step 2: SEARCH

Execute searches and read actual content (not just snippets):

  • Use WebSearch for discovery, WebFetch for reading actual pages
  • Evaluate source credibility: official docs > GitHub repos with stars > recent blog posts > forum answers
  • Stop at 3-6 credible sources (not exhaustive — focused)
  • If a source contradicts another, note the disagreement

The WebFetch Restrictions under Parallel Mode apply in single mode too: never WebFetch rendered GitHub pages.

Step 3: EXTRACT

For each finding, record:

  • **What**: The specific fact, recommendation, or pattern discovered
  • **Source**: URL or reference
  • **Relevance**: How this applies to the original question (one sentence)
  • **Confidence**: high (official docs, verified), medium (community consensus), low (single source, opinion)
  • **Action**: What the codebase should do with this information (or "informational only")

Step 4: WRITE

Write findings to `.planning/research/{topic-slug}.md`:

# Research: {Topic}

> Question: {The original question}
> Date: {ISO date}
> Confidence: {overall: high/medium/low}

## Findings

### 1. {Finding title}
**What:** {description}
**Source:** {URL}
**Confidence:** {high/medium/low}
**Action:** {recommendation or "informational"}

### 2. {Finding title}
...

## Summary
{2-3 sentences: what was learned, what the recommendation is}

## Open Questions
{Anything that couldn't be resolved — needs human judgment or deeper investigation}
````

### Step 5: RETURN

Return the summary and recommendation to the caller (user, Marshal, or Archon).
The research document persists for future reference.

## Parallel Mode (--parallel)

The former /research-fleet behavior now lives in this parallel mode. Spawns
multiple scout agents, each investigating a different angle of the same
question. Findings are compressed between waves. Produces a unified research
brief from multiple independent perspectives.

**Inputs:** the question, plus optional **angles** (specific sub-questions to
investigate). If not provided, decompose the question into 3-5 angles
automatically.

### Step P1: DECOMPOSE

Break the research question into 3-5 independent angles:

Example: "Should we migrate from Express to Fastify?"
- Scout 1: Performance benchmarks (Express vs Fastify vs Hono, latest data)
- Scout 2: Migration effort (breaking changes, middleware compatibility, ecosystem)
- Scout 3: Community health (GitHub stars trend, npm downloads, maintainer activity)
- Scout 4: Production war stories (who migrated, what broke, was it worth it)

Each angle must be:
- Independent (scout doesn't need another scout's findings to do its work)
- Specific (one clear question per scout)
- Answerable (3-6 sources should be sufficient)

#### Step P1b: INITIALIZE GRAPH (Explicit Opt-In)

With explicit `--operation-graph`, assign 3-5 opaque angle IDs and initialize a graph plus bound operation:
`node .citadel/scripts/operation-graph-runner.js research-init --project-root . --graph .planning/research/fleet-{slug}/operation-graph.json --operation .planning/research/fleet-{slug}/operation-spec.json --journal .planning/research/fleet-{slug}/graph-journal --run-id research-{slug} --angles {id1,id2,id3}`
For each P2-P5 node, call `node .citadel/scripts/operation-graph-effects.js start` with the graph journal, `--effects .../effect-journal`, node ID, and payload digest before work; call `node .citadel/scripts/operation-graph-effects.js complete` with its evidence digest after verification. Keep prompts and findings outside graph state.
On resume run `node .citadel/scripts/operatio
Read more
Ships withcitadel

An open-source operating layer for Claude Code and OpenAI Codex. Citadel routes requests, preserves repository state between sessions, coordinates parallel work, applies repository safeguards, and records evidence and handoffs around the coding agent you

Get the whole plugin

Other skills on citadel.