Citadel research
install
source · Clone the upstream repo
git clone https://github.com/SethGammon/Citadel
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/SethGammon/Citadel "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/research" ~/.claude/skills/sethgammon-citadel-research && rm -rf "$T"
manifest:
skills/research/SKILL.mdsource content
/research — Focused Investigation
Identity
/research is for focused research investigations. It converts questions into structured findings with confidence levels. It does NOT make decisions or modify code — it produces information that informs the next step.
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
Protocol
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
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.
What /research Does NOT Do
- Make architectural decisions (that's the caller's job)
- Install packages or modify code
- Search exhaustively (2-4 queries, 3-6 sources, done)
- Evaluate subjective opinions as facts
- Recommend without evidence
Fringe Cases
- No web access available: Fall back to local-only research. Search the codebase, read docs files, check
, and produce findings from local sources. Note the limitation in the research document's confidence level.package.json - Search returns nothing relevant: Broaden the query (remove version-specific terms, try synonyms), try one more angle. If still empty, report uncertainty explicitly: "No strong evidence found. Recommend human review."
does not exist: Create it before writing the findings document. Never error on a missing output directory..planning/research/- Conflicting sources: Surface the conflict explicitly in the findings rather than silently picking one. Both sides belong in the document.
- Question is too broad for 3-6 sources: Narrow to the single most important sub-question, answer it well, and note what was scoped out. Suggest
for multi-angle questions./research-fleet
Quality Gates
- Every finding must have a source URL
- Confidence levels must be justified (not guessed)
- Summary must answer the original question or state why it can't be answered
- Research document must be written before returning findings
Exit Protocol
Output findings summary, then:
---HANDOFF--- - Research: {topic} - Findings: {count} sources analyzed - Recommendation: {one-line summary} - Document: .planning/research/{slug}.md ---