From citadel
Conducts focused research investigations with structured findings, confidence levels, and source citations. Spawns parallel scout agents for multi-angle research. Use when needing external information before deciding.
How this skill is triggered — by the user, by Claude, or both
Slash command
/citadel:researchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Evaluating whether a dependency has a newer version or has been superseded
Don't use when: you need to act on findings immediately (use /marshal which calls /research internally).
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.
Convert the research question into 2-4 specific search queries:
State the question clearly in one sentence before searching.
Execute searches and read actual content (not just snippets):
The WebFetch Restrictions under Parallel Mode apply in single mode too: never WebFetch rendered GitHub pages.
For each finding, record:
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}
Return the summary and recommendation to the caller (user, Marshal, or Archon). The research document persists for future reference.
Formerly /research-fleet, which is now a deprecated stub pointing here. 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.
Break the research question into 3-5 independent angles:
Example: "Should we migrate from Express to Fastify?"
Each angle must be:
Spawn one scout agent per angle using Fleet wave mechanics:
For each scout:
.planning/research/fleet-{slug}/{angle-slug}.mdAll scouts run in parallel. Wait for all to complete.
After Wave 1 completes:
If gaps or conflicts exist:
Skip Wave 2 if Wave 1 produced clear, consistent findings.
Write the unified report to .planning/research/fleet-{slug}/REPORT.md:
# Research Fleet: {Topic}
> Question: {The original question}
> Date: {ISO date}
> Scouts: {N} across {waves} wave(s)
> Confidence: {overall: high/medium/low}
## Consensus Findings
{Findings confirmed by 2+ scouts}
## Conflicts
{Findings where scouts disagreed — present both sides}
## Key Findings by Angle
### {Angle 1}: {title}
{Summary from scout 1}
Source: {scout report path}
### {Angle 2}: {title}
{Summary from scout 2}
Source: {scout report path}
...
## Recommendation
{2-3 sentences: what the evidence says, what the recommendation is}
## Open Questions
{What couldn't be resolved — needs human judgment}
Also log to .planning/telemetry/agent-runs.jsonl:
{"event":"research-fleet-complete","slug":"{slug}","scouts":0,"waves":0,"timestamp":"ISO"}
harness.json agentTimeouts.research).
If a scout exceeds its timeout, skip it and proceed with other scouts' results.
A timed-out scout's angle becomes a "Gap" in the final report.Every scout prompt MUST include this instruction:
Do NOT use WebFetch on GitHub repository pages (github.com/{user}/{repo}). These pages are massive HTML documents (500KB+) that hang the fetcher indefinitely. Instead:
- Use WebSearch to find information about repos (search snippets contain what you need)
- If you need a repo's README content, fetch the raw URL:
https://raw.githubusercontent.com/{user}/{repo}/{branch}/README.md- Never fetch rendered GitHub pages: issues, pull requests, repo root, or file views
This restriction exists because a real research-fleet run hung for 38+ minutes
on WebFetch(https://github.com/jehna/readme-best-practices) with zero output.
The circuit breaker didn't catch it because the tool didn't fail — it just
never completed.
package.json, and produce findings from local sources. In parallel mode, run all scouts in local-only mode. Note the limitation in the findings document's confidence level..planning/research/ does not exist: Create it (in parallel mode, including the fleet-{slug}/ subdirectory) before writing any findings. Never error on a missing output directory.Reversibility: Green. Writes files under .planning/research/ only; delete to undo.
Cost: Single mode spawns no agents and needs no confirmation. Parallel mode spawns up to 5 scouts per wave (max 2 waves); state the scout count before deploying.
Trust: No gates. Read-only investigation plus report files, safe at all trust levels.
Parallel mode additionally:
Output findings summary, then the HANDOFF for the mode that ran.
Single mode:
---HANDOFF---
- Research: {topic}
- Findings: {count} sources analyzed
- Recommendation: {one-line summary}
- Document: .planning/research/{slug}.md
- Reversibility: green — one file written to .planning/research/; delete to undo
---
Parallel mode:
---HANDOFF---
- Research (parallel): {topic}
- Scouts: {N} across {waves} wave(s)
- Consensus: {one-line summary of agreed findings}
- Conflicts: {any unresolved disagreements}
- Recommendation: {one-line}
- Report: .planning/research/fleet-{slug}/REPORT.md
- Reversibility: green — delete `.planning/research/fleet-{slug}/` to undo
---
npx claudepluginhub sethgammon/citadel --plugin citadelStructured multi-agent research for technology evaluation, SOTA analysis, codebase archaeology, and competitive analysis. Deploys research waves with deferred synthesis before decisions.
Orchestrates multi-source research across web, codebase, and community evidence. Use for broad, mixed, or ambiguous research requests needing synthesis.
Explores codebase topics by searching prior knowledge and conducting multi-angle analysis, outputting structured findings. Supports /research command and optional auto mode.