Skeptical Review
matthiasn/lotti
Act as a skeptical senior engineer performing a detailed code review of the latest changes on the current branch (or a given PR) — best practices, maintainability, performance, security, and…
5-pass structured code review — correctness, security, performance, readability, consistency
$ npx skills add SethGammon/Citadel --skill review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install SethGammon/Citadel review --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/review .claude/skills/review && 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 "review" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/review into .claude/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", 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/reviewType 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 review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install SethGammon/Citadel review --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/review .agents/skills/review && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "review" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/review into .agents/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", 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 review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install SethGammon/Citadel review --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/review .cursor/skills/review && 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 "review" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/review into .cursor/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", 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/review--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 review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install SethGammon/Citadel review --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/review .gemini/skills/review && 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 "review" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/review into .gemini/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", 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 reviewInstalls 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 review -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/review .github/skills/review && 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 "review" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/review into .github/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", 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 review -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 review --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/review .opencode/skills/review && 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 "review" agent skill from https://github.com/SethGammon/Citadel/tree/main/skills/review into .opencode/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", 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.
review5-pass structured code review — correctness, security, performance, readability, consistency
Review is an agent skill from SethGammon/Citadel. 5-pass structured code review — correctness, security, performance, readability, consistency
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `__benchmarks__/no-files-changed.md` and `__benchmarks__/specific-file.md`).
It sits in Development, covering Plain language and style rules and Code review. It works with Git. 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:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From 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.
Review loads about 2.1k tokens when it runs. Until then it costs about 25 tokens; SKILL.md has 979 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). 979 words, ~2,070 tokens.
.claude/skills/review/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Use when: reviewing code for correctness, security, performance, and readability. Don't use when: generating tests (use /test-gen); security audit (use /security-review); skill file review (use /improve skill-md).
You are a senior code reviewer executing a structured 5-pass review. You find the problems tools miss: logic errors, security holes, performance cliffs, and convention drift. Every finding is specific, located, and actionable — not "consider improving" but what is wrong, where, and what to do.
Input: A review target — one of:
/review src/auth/session.ts)/review src/auth/)/review --diff HEAD~3 or /review --diff main..feature)git diff HEAD)Output: A structured review report with findings grouped by pass and severity, ending with a summary verdict.
Scope rules:
Determine the review target. If a diff range, run git diff and also read the full file for each changed file. If a directory, glob for source files. Read all files in scope before starting passes — do not re-read during each pass.
Read CLAUDE.md, .eslintrc*, tsconfig.json, .prettierrc*, or equivalent config at repo root. These become the baseline for Pass 5. If no conventions exist, still flag internal inconsistency within the reviewed code.
Run each pass across ALL files. Do not skip a pass — confirm explicitly if nothing found.
dangerouslySetInnerHTML, innerHTML, unescaped template interpolationeval(), Function(), JSON.parse on untrusted input without schema validation, pickle.loads, yaml.load without SafeLoaderMath.random() for security-sensitive valuesScan against conventions from Step 2: import style/ordering/aliases, error handling pattern, file organization, API signatures, naming conventions. Also flag internal inconsistency within the reviewed code (e.g., some functions throw, others return null for errors in the same module).
Every finding must include: File (absolute path), Line, Severity (CRITICAL / WARNING / INFO), Finding (one sentence), Code (problematic lines only), Fix (specific action).
Severity: CRITICAL = production bugs/security/crashes; WARNING = conditional problems or maintenance burden; INFO = minor clarity/style. Group by pass, sort by severity within each pass. If a pass finds nothing: **Pass N ({name})**: No findings.
Count findings across all passes:
| Verdict | Criteria |
|---|---|
| PASS | 0 critical, 3 or fewer warnings |
| CONDITIONAL | 0 critical, more than 3 warnings |
| FAIL | Any critical finding |
Output the verdict with a one-line rationale and the finding counts.
Disclosure: "Running structured code review. Read-only — no files modified." Reversibility: green — read-only 5-pass review; no files modified Trust gates:
Deliver the review in this structure:
## Code Review: {target}
**Scope**: {N files, M total lines} | **Mode**: {file | directory | diff}
---
### Pass 1: Correctness
{findings or "No findings."}
### Pass 2: Security
{findings or "No findings."}
### Pass 3: Performance
{findings or "No findings."}
### Pass 4: Readability
{findings or "No findings."}
### Pass 5: Consistency
{findings or "No findings."}
---
## Verdict: {PASS | CONDITIONAL | FAIL}
{one-line rationale}
| Severity | Count |
|---|---|
| Critical | N |
| Warning | N |
| Info | N |If the user provided a diff range, also note which findings are in new/changed code vs. pre-existing code surfaced by context — the user should prioritize new-code findings.
Do not offer to fix anything unless asked. The review is the deliverable.
© 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 2 other files in skills/review of SethGammon/Citadel.
Open the folder on GitHubat commit e41ff1d
Review 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 |
|---|---|---|---|---|---|---|
| Review this skillSethGammon/Citadel | 922 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Skeptical Reviewmatthiasn/lotti | 1.2k | — | ~2k | Automated safety check: Pass | GPL-3.0 | |
| Code Walkthroughtestdouble/han | 279 | — | ~4.4k | Automated safety check: Pass | MIT | |
| Parallel Code Reviewspencerpauly/awesome-cursor-skills | 842 | — | ~781 | Automated safety check: Pass | CC0-1.0 | |
| Review Triage Phaseprisma/orm | 48k | — | ~995 | Automated safety check: Pass | Apache-2.0 | |
| Cursor Composer Task DelegateChachamaru127/claude-code-harness | 3.2k | — | ~4.4k | Automated safety check: Notes | MIT |
matthiasn/lotti
Act as a skeptical senior engineer performing a detailed code review of the latest changes on the current branch (or a given PR) — best practices, maintainability, performance, security, and…
testdouble/han
Walks a person through code changes one step at a time in conversation, starting at the entry point and following the flow that changes, showing a small chunk per step and explaining it in plain…
spencerpauly/awesome-cursor-skills
Run four parallel read-only subagents that each review the same diff from a different lens — security, performance, correctness, and readability — then merge findings into one report.
prisma/orm
Runs the triage step of the review-framework loop: reads fetched PR review state, builds `review-actions.json`, validates it and renders `review-actions.md`.
Chachamaru127/claude-code-harness
Hands one implementation task to Cursor Composer in an isolated git worktree, then reviews its diff and cherry-picks the result into the main branch.
pydantic/pydantic-ai-harness
Fills in issue-brief.md and pr-decisions.md for an existing pull request, so you can pick up a PR mid-flight with its linked issue and past review decisions summarized.
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
5-pass structured code review — correctness, security, performance, readability, consistency. Review is an agent skill from SethGammon/Citadel.
Review fits situations like: tasks that involve Plain language and style rules; tasks that involve Code review.
Run `npx skills add SethGammon/Citadel --skill review -a claude-code`. Or copy the skill folder (skills/review in SethGammon/Citadel) into .claude/skills/review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add SethGammon/Citadel --skill review -a codex`. Or copy the skill folder (skills/review in SethGammon/Citadel) into .agents/skills/review 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 review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review, .gemini/skills/review, .github/skills/review and .opencode/skills/review in your project.
Going by SKILL.md and its folder, Review needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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.
Review is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k 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 Review: Skeptical Review (matthiasn/lotti, 1.2k stars), Code Walkthrough (testdouble/han, 279 stars), Parallel Code Review (spencerpauly/awesome-cursor-skills, 842 stars) and Review Triage Phase (prisma/orm, 48k 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 922 GitHub stars. The repository holds 48 skills in this directory. The repository was last updated on October 1, 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.