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
92748 skills7 agents

Claude Code

$ npx -y skills add SethGammon/Citadel --skill research --agent claude-code

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
@sethgammon
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

92748 skills7 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
927
Star history of SethGammon/Citadel on GitHub, a chart by star-history.com

Other skills on citadel.

architect

architect

Given a PRD, produces an implementation architecture: file tree, component breakdown, data model, and a phased build plan with…

@sethgammon@sethgammonInstall Skill
archon

archon

Autonomous multi-session campaign agent. Decomposes large work into phases, delegates to sub-agents, reviews output, and…

@sethgammon@sethgammonInstall Skill
ascii-diagram

ascii-diagram

Generate perfectly aligned ASCII diagrams — architecture, flow, sequence, box-and-arrow. Uses a programmatic character-grid…

@sethgammon@sethgammonInstall Skill
autopilot

autopilot

Intake-to-delivery pipeline. Processes pending items from .planning/intake/: briefs new ideas, executes approved work through…

@sethgammon@sethgammonInstall Skill
cost

cost

Deep cost exploration and transparency. Shows real token usage, session costs, campaign spend, burn rates, and model breakdown.…

@sethgammon@sethgammonInstall Skill
create-app

create-app

End-to-end app creation from a single description. Five tiers: blank project, guided, templated, fully generated, or feature…

@sethgammon@sethgammonInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about research.

Which coding agents can use research?
research installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.