Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Jamie-BitFlight/claude_skills --skill code-review-cligit clone --depth 1 https://github.com/Jamie-BitFlight/claude_skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jamie-bitflight/claude_skills/code-review-cli)<a href="https://agentmods.dev/skills/jamie-bitflight/claude_skills/code-review-cli"><img src="https://agentmods.dev/badge/skills/jamie-bitflight/claude_skills/code-review-cli.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00071 | $0.01093 |
| Opus 5 | $0.00036 | $0.00547 |
| Sonnet 5 | $0.00014 | $0.00219 |
| Haiku 4.5 | $0.00007 | $0.00109 |
Grade A, and why
code-review-cli scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLI Application Code Review Patterns
Stack-specific rules loaded by dh:code-reviewer when CLI entrypoints are detected (argparse, click, typer, commander.js, or similar argument parsing libraries).
Exit Codes
- Exit code
0must be returned only on success — any error condition must produce a non-zero exit code - Returning exit code
0after printing an error message is a blocking finding — tools in pipelines cannot detect the failure - Common conventions:
1for general errors,2for usage/argument errors,3+for application-specific codes documented in--help sys.exit(1)orprocess.exit(1)must be called on fatal errors, not just printing to stderr
# WRONG: exits 0 even on error
def main():
try:
run()
except Exception as e:
print(f"Error: {e}", file=sys.stderr)
# implicit exit 0
# RIGHT: non-zero on error
def main():
try:
run()
except Exception as e:
print(f"Error: {e}", file=sys.stderr)
sys.exit(1)
Help and Version Flags
--helpmust be present and print usage information, option descriptions, and examples — the auto-generated help from argparse/click/typer is acceptable as a minimum--versionmust be present and print the version string matchingpyproject.tomlorpackage.json- Help text must be consistent with actual behavior — stale help text is a blocking finding
--helpmust exit0;--versionmust exit0
stdin / stdout / stderr Separation
- Progress indicators, status messages, and diagnostic output go to
stderr - Data output (results to be piped or redirected) goes to
stdout - Mixing diagnostic messages into
stdoutbreaks pipe usage — this is a blocking finding for tools that produce structured output - Error messages go to
stderrwith a non-zero exit code
Non-Interactive Operation
- Every interactive prompt (
input(),readline,inquirer) must have a corresponding flag alternative (--flag value) for use in CI and scripts - Interactive prompts that block in non-TTY environments (piped input, CI) are a blocking finding
- Detect TTY with
sys.stdin.isatty()or equivalent and skip interactive prompts in non-TTY mode
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 116 lines · 71 tokens per session scan A a3f0bc87daa5
code-review-cli is a skill published in the GitHub repository Jamie-BitFlight/claude_skills (65 stars, last pushed yesterday), licensed MIT. It adds 71 tokens to every session and 1,093 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
adversarial-reviewer
Adversarial code review that assumes bugs exist and hunts for them. Use when asked to review code, find bugs, audit for correctness, stress-test a PR, or when someone says "tear this apart" or "what's wrong with this". Give no benefit of the doubt — every line is guilty until proven innocent.
gsd-ns-review
Route to the appropriate quality / review skill based on the user's intent. gsd-code-review-fix was absorbed by gsd-code-review --fix in #2790.
issue
Use when starting a chain from a GitHub issue — turning an issue URL or number into a triaged, planned, dispatched, and reviewed pull request. Classifies the thread (bug → root-cause discipline, feature → plan chain, question → drafted reply), synthesizes a spec from the issue's own acceptance criteria, then runs the…
gitnexus
A code-graph analysis add-on for examining an existing codebase, including symbols, call paths, execution flows, and effects across repositories. It can query GitNexus through its command-line or MCP interfaces.
cleanup-code-inspections
Reduce technical debt and improve code quality by systematically resolving static analysis warnings.
superlint
This skill describes the mandatory standard operating procedure for using our internal SuperLint tool. Use this when tasks require fixing code quality issues according to corporate standards.