From citadel
Spawns parallel scout agents to investigate multiple angles of a research question, compresses findings into a unified brief. Use for comparing technologies, multi-faceted topics, or time-sensitive research.
npx claudepluginhub sethgammon/citadel --plugin citadelThis skill uses the workspace's default tool permissions.
- Evaluating multiple competing technologies or approaches
Conducts deep web research with parallel agents, multi-wave exploration for gaps, and structured synthesis. Activates for investigating topics, comparing options, best practices, or comprehensive web info.
Orchestrates multi-agent research across web, codebase, and community sources for broad, mixed, or ambiguous analyze/investigate requests needing evidence synthesis.
Executes multi-agent research pipeline on any topic with Scout, Investigators, Deep Diver, Verifier, Synthesizer, and Critic reviews to produce verified, sourced reports.
Share bugs, ideas, or general feedback.
If the question is narrow and focused, use /research instead. Don't parallelize what a single agent can answer in 5 minutes.
The user provides:
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.
.planning/research/ does not exist: Create it (including the fleet-{slug}/ subdirectory) before any scout writes its findings. Never error on a missing output directory./research (single agent) rather than forcing artificial parallelism.Disclosure: Writes report to .planning/research/fleet-{slug}/REPORT.md. No source files modified.
Reversibility: green — creates report files only; delete the directory to undo.
Trust gates: Any — no restrictions.
---HANDOFF---
- Research Fleet: {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
---