Verify Bibtex
Altman-conquer/bibtex-verifier
Set up this repository's BibTeX Verifier and check a user's .bib file, then explain citation matches, warnings, missing records, and API failures.
Focused research investigations. An agent skill from SethGammon/Citadel.
$ npx skills add SethGammon/Citadel --skill research -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install SethGammon/Citadel research --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/research .claude/skills/research && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "research" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/research into .claude/skills/research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/SethGammon/Citadel/tree/main/skills/researchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add SethGammon/Citadel --skill research -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install SethGammon/Citadel research --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/research .agents/skills/research && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "research" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/research into .agents/skills/research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SethGammon/Citadel --skill research -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install SethGammon/Citadel research --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/research .cursor/skills/research && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "research" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/research into .cursor/skills/research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/SethGammon/Citadel.git --path skills/research--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add SethGammon/Citadel --skill research -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install SethGammon/Citadel research --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/research .gemini/skills/research && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "research" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/research into .gemini/skills/research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install SethGammon/Citadel researchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add SethGammon/Citadel --skill research -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/research .github/skills/research && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "research" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/research into .github/skills/research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SethGammon/Citadel --skill research -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install SethGammon/Citadel research --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/research .opencode/skills/research && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "research" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/research into .opencode/skills/research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
researchFocused research investigations. An agent skill from SethGammon/Citadel.
Research is an agent skill from SethGammon/Citadel. 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.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files (for example `__benchmarks__/external-library-research.md`, `__benchmarks__/no-web-results.md` and `__benchmarks__/parallel-decompose-angles.md`).
It sits in Research & Science, covering Citation management. It works with GitHub. The repository describes itself as: The operating layer for Claude Code + OpenAI Codex: persistent project memory, intent routing, safety hooks, cost telemetry, and parallel agent fleets. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e41ff1d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
raw.githubusercontent.comgithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Research loads about 3.3k tokens when it runs. Until then it costs about 95 tokens; SKILL.md has 1,454 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from SethGammon/Citadel at commit e41ff1d, republished under its MIT licence (© SethGammon). 1,454 words, ~3,345 tokens.
.claude/skills/research/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.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.
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.
Break the research question into 3-5 independent angles:
Example: "Should we migrate from Express to Fastify?"
Each angle must be:
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/operation-graph-effects.js status; resolve blocked nonrepeatable work with reviewed evidence. After the arbiter passes, run node .citadel/scripts/operation-graph-effects.js receipt with the bound operation. Without the flag, create no graph state.
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}Log the completed wave through Citadel's project-local telemetry helper:
node .citadel/scripts/telemetry-log.cjs --event wave-complete --agent research-fleet --session fleet-{slug} --status successIf the helper is unavailable, skip telemetry without blocking the research result.
Keep the scout count and total wave count authoritative in REPORT.md and the
parallel-mode HANDOFF rather than duplicating them in telemetry metadata.
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
---© SethGammon, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files in skills/research of SethGammon/Citadel.
Open the folder on GitHubat commit e41ff1d
Research next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Research this skillSethGammon/Citadel | 923 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Verify BibtexAltman-conquer/bibtex-verifier | 132 | — | ~655 | Automated safety check: Pass | MIT | |
| Paper NavigatorAI4Scientist/nano-scientist | 128 | — | ~7.7k | Automated safety check: Notes | None | |
| Eunomia Social Radareunomia-bpf/eunomia.dev | 236 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Academic AioAperivue/medsci-skills | 331 | — | ~4.8k | Automated safety check: Pass | MIT | |
| Goosetown Researcher GitHubaaif-goose/goosetown | 155 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 |
Altman-conquer/bibtex-verifier
Set up this repository's BibTeX Verifier and check a user's .bib file, then explain citation matches, warnings, missing records, and API failures.
AI4Scientist/nano-scientist
Find and read academic papers: disambiguate queries, discover papers (search, citation traversal, recommendations, arXiv monitoring, trending, GitHub search), evaluate (TLDR, citations, code, SOTA)…
eunomia-bpf/eunomia.dev
Monitor the continuing public performance and conversation around Eunomia blogs, reports, projects, and platform posts.
Aperivue/medsci-skills
A skill your agent uses when a medical AI paper should be found and cited by AI search engines and RAG tools.
aaif-goose/goosetown
Search GitHub issues, PRs, code, and discussions using the gh CLI.
joshzyj/open-scholar-skill
Build, document, test, and validate a journal-ready replication package for social science research.
SethGammon/Citadel
Creates new skills from the user's repeating patterns. An agent skill from SethGammon/Citadel.
SethGammon/Citadel
Cross-drive storage audit and cleanup. An agent skill from SethGammon/Citadel.
SethGammon/Citadel
Bounded foreground repetition for the current session. An agent skill from SethGammon/Citadel.
SethGammon/Citadel
GitHub issue and PR investigator. An agent skill from SethGammon/Citadel.
SethGammon/Citadel
File sentinel that monitors the working directory for changes and marker comments, then auto-triggers appropriate skills.
SethGammon/Citadel
Autonomous multi-session campaign agent. An agent skill from SethGammon/Citadel.
Works with
Categories
Focused research investigations. An agent skill from SethGammon/Citadel. Research is an agent skill from SethGammon/Citadel. Focused research investigations.
Research fits situations like: tasks that involve Citation management.
Run `npx skills add SethGammon/Citadel --skill research -a claude-code`. Or copy the skill folder (skills/research in SethGammon/Citadel) into .claude/skills/research in your project. Claude Code loads it when a task matches its description.
Run `npx skills add SethGammon/Citadel --skill research -a codex`. Or copy the skill folder (skills/research in SethGammon/Citadel) into .agents/skills/research in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add SethGammon/Citadel --skill research -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/research, .gemini/skills/research, .github/skills/research and .opencode/skills/research in your project.
Going by SKILL.md and its folder, Research needs the command-line tools its instructions call (node).
SKILL.md names 2 domains. In commands or code: raw.githubusercontent.com and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Research is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Research: Verify Bibtex (Altman-conquer/bibtex-verifier, 132 stars), Paper Navigator (AI4Scientist/nano-scientist, 128 stars), Eunomia Social Radar (eunomia-bpf/eunomia.dev, 236 stars) and Academic Aio (Aperivue/medsci-skills, 331 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
SethGammon (a GitHub user) maintains it in SethGammon/Citadel, which has 923 GitHub stars. The repository holds 48 skills in this directory. The repository was last updated on October 8, 2026.
Source: SethGammon/Citadel on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.