Agent skill

Review

by softspark in softspark/ai-toolkit

Reviews code for quality, security, correctness. An agent skill from softspark/ai-toolkit.

Apache-2.0Auto-check: notesDevelopment

Install Review

skills CLI
$ npx skills add softspark/ai-toolkit --skill review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install softspark/ai-toolkit review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/app/skills/review .claude/skills/review && rm -rf skills-src

Use ~/.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/

Facts

Skill name
review
GitHub stars
179
Token cost
~3.1k tokens
SKILL.md length
1,274 words
Files
2 (incl. scripts)
Skills in repo
112
Repo updated
First seen
Licence
Apache-2.0

At a glance

Reviews code for quality, security, correctness. An agent skill from softspark/ai-toolkit.

  • Works in 3 steps: Synthesize findings into unified Code… → Prioritize by severity (blocker > major… → Issue verdict per the verdict rule below…
  • Tasks that involve Code review
  • SKILL.md covers Changed files context, Signal Collection (never stop…, Automated Diff Analysis and Parallel Review (Agent Teams), plus 9 more sections
  • Runs Python scripts from its folder; calls git, gh and python3

What it does

Review is an agent skill from softspark/ai-toolkit. Reviews code for quality, security, correctness. Triggers: code review, quality review, security review, review PR, review branch.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/diff-analyzer.py`).

It sits in Development, covering Code review, Pull requests and Security review. It works with Git. The repository describes itself as: Professional-grade AI coding toolkit: 94 skills, 44 agents, multi-platform (Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, Aider, Augment, Antigravity, Codex CLI… The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Code review
  • Tasks that involve Pull requests
  • Tasks that involve Security review

Example prompts

  • “Use the review skill to review code for quality, security, correctness. An agent skill from softspark/ai-toolkit”
  • “/review”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Grep, Glob, Bash

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Synthesize findings into unified Code Review Report
  2. Prioritize by severity (blocker > major > minor > nit)
  3. Issue verdict per the verdict rule below — not by impression

What it can do on your machine

Read from SKILL.md and the folder at commit d64db2b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Grep
    • Glob
    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • gh
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Review loads about 3.1k tokens when it runs. Until then it costs about 34 tokens; SKILL.md has 1,274 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~34
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Grep, Glob, Bash

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); the scripts in this folder are not scanned.

SKILL.md

The full file from softspark/ai-toolkit at commit d64db2b, republished under its Apache-2.0 licence (© softspark). 1,274 words, ~3,118 tokens.

Download SKILL.mdSave it as .claude/skills/review/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
review
description
Reviews code for quality, security, correctness. Triggers: code review, quality review, security review, review PR, review branch.
allowed-tools
Read, Grep, Glob, Bash
user-invocable
true
effort
high
argument-hint
[target: branch, pr, file path, or staged changes]
agent
code-reviewer
context
fork

Code Review

$ARGUMENTS

Reviews code changes for quality and issues.

Changed files context

  • Changes: !git diff --stat main...HEAD 2>/dev/null || git diff --cached --stat 2>/dev/null || echo "no changes detected"

Signal Collection (never stop at the first red)

Collect every failing signal up front, then review the diff in full anyway:

SignalHow to read it
Merge conflict with basegh pr view --json mergeable,mergeStateStatus or git merge-tree
Failing CI checksgh pr checks or the platform equivalent
Lint / typecheck failurethe project's own commands

Each failing signal becomes a blocker finding. None of them ends the run.

A review that aborts on the first red signal spends the whole cycle repeating what the tracker already displayed, while the finding that would have told the author something new never gets written. One invocation produces the most complete picture of the change that it can.

Automated Diff Analysis

Before starting manual review, run the diff analyzer script to get a structured risk assessment:

bash
python3 ${CLAUDE_SKILL_DIR}/scripts/diff-analyzer.py [base_branch]
# Default base branch: main
# Example: python3 ${CLAUDE_SKILL_DIR}/scripts/diff-analyzer.py develop

The script outputs JSON with:

  • files: each changed file with additions, deletions, category (security/test/config/migration/infra/docs/logic), and risk level
  • risk_score: overall assessment (high/medium/low)
  • hotspots: top 5 files by additions
  • secrets_scan: potential secret leaks detected in added lines
  • test_coverage_estimate: whether test files accompany logic changes (good/partial/none)
  • parallel_review_recommended: boolean flag

If the script reports parallel_review_recommended: true, use the Parallel Review (Agent Teams) mode below.


Parallel Review (Agent Teams)

For significant PRs or large changesets, create a parallel review team:

Create an agent team to review [target]:
- Teammate 1 (security-auditor): "Review for security vulnerabilities, auth issues,
  injection risks, secret leaks. Report with severity ratings." Use Opus.
- Teammate 2 (performance-optimizer): "Check for N+1 queries, memory leaks,
  unnecessary allocations, caching opportunities. Report with impact ratings." Use Opus.
- Teammate 3 (test-engineer): "Validate test coverage, edge cases, mock quality,
  missing assertions. Report coverage gaps." Use Opus.
Each reviewer should report findings independently. Do NOT modify files.

After all reviewers complete:

  1. Synthesize findings into unified Code Review Report
  2. Prioritize by severity (blocker > major > minor > nit)
  3. Issue verdict per the verdict rule below — not by impression

When to use: PRs with >5 files changed, cross-module changes, security-sensitive code. READ-ONLY: No teammate should modify files during review.


Sequential Review (Default)

  1. Reads changed files
  2. Analyzes for issues
  3. Checks best practices
  4. Reports findings

Review Scope

TargetWhat's Reviewed
(none)Staged changes
branchBranch vs main
prPull request changes
file.tsSpecific file

Review Checklist

Code Quality
  • Clear naming
  • Proper error handling
  • No code duplication
  • Appropriate abstractions
Security (OWASP Top 10)
  • A01: Proper auth/authorization on all endpoints
  • A02: No weak crypto, HTTPS for external comms
  • A03: Input validation, parameterized queries, output encoding (XSS)
  • A04: Threat model assumptions documented for new features
  • A05: No debug mode, default credentials, or verbose errors in prod config
  • A06: Dependencies checked for known CVEs
  • A07: No hardcoded secrets, session management correct
  • A08: Integrity checks on deserialized data, CI/CD pipeline safety
  • A09: Security-relevant events logged (without PII)
  • A10: External URL handling validates scheme/host (SSRF prevention)
  • Cross-scope replay: can an identifier from one tenant/user/org be replayed in another?
  • Fails closed wherever the path affects security, money, or data retention
  • Secrets at rest: a new column, setting or queued payload holding a token, password or key is encrypted (read back) or keyed-hashed (only compared), and a test reads the raw stored value; see reference/secrets-at-rest.md in security-patterns
  • Commercial messages: a new message type is classified commercial or transactional in code; a commercial one re-checks current per-channel consent and carries an opt-out; see reference/commercial-messages.md in security-patterns
API / Contract Changes
  • Backward compatibility preserved (no silent breaking changes)
  • API versioning updated if contract changed
  • Schema validation on request/response
  • Client validation uses the authoritative input contract, including operation groups/defaults, finite bounds, nested paths and documented Unicode units; read reference/input-validation.md from the security-patterns skill located through the current client's installed catalog
  • Shared backend/client fixtures and generation drift checks cover changed rules; unsupported/server-only checks are explicit, and local refusals do not masquerade as HTTP responses
  • Error responses follow project convention
  • Statuses and messages distinguish input/state refusals from infrastructure failures; original causes remain available in authorized diagnostics
  • Error filtering preserves machine codes, field paths, JSON object/list types, locale and recovery headers; background-job error fields are covered too
  • Retry advice reflects known persisted/provider state and does not invite blind replay of an uncertain mutation
  • Wire-level contracts checked, not just code signatures: HTTP routes, webhook payloads, event/queue schemas
Concurrency / Async
  • Shared mutable state protected (locks, atomics, channels)
  • No fire-and-forget promises without error handling
  • Database transactions scoped correctly (no long-held locks)
  • Race condition risk assessed for concurrent access paths
Migrations / Schema Changes
  • Migration is reversible (has rollback path)
  • No table locks on large tables during peak hours
  • Data backfill handles NULL/missing values
  • Indexes added for new query patterns
Performance
  • No N+1 queries
  • Appropriate caching
  • No memory leaks
  • Optimized loops
Show full SKILL.md (554 more words)Show less
Frontend & UI Craft (Anti-Slop Gates)
  • No gradient text headlines (background-clip: text) or saturated purple/blue hero washes
  • No cliché 3-column card grids with icon-above-title tiles, card-in-card nesting, or side-stripe cards
  • Interactive elements implement all 8 states (default, hover, focus-visible, active, disabled, loading, error, success)
  • Input fields maintain constant 1px border-width across all states (zero layout shift) and reserve 2px transparent outline
  • Mobile responsive: overflow-x: clip on html and body; no buttons/links wrapping to 2 lines; image grid tracks use minmax(0, 1fr)
  • Typography: headings are roman (font-style: normal, no italic emphasis in headers); max 3 font families (2+1 rule)
  • Content honesty: no invented metrics ("+47% conversion"), fake testimonials, or placeholder stock logos
  • No fake re-drawn browser/OS chrome; no emoji used as load-bearing icons
Testing
  • Tests for new code
  • Edge cases covered
  • Mocks appropriate

Severity & Verdict

TierMeaningMerge impact
blockerCauses damage: data loss, security hole, money, corruptionBlocks merge, no exceptions
majorReal defect that will bite in productionBlocks merge unless waived in writing
minorShould be fixed, not worth blocking onDoes not block
nitPolish, taste, styleDoes not block

Verdict rule — apply it mechanically, do not negotiate with yourself:

  • any blocker → REQUEST_CHANGES
  • any major without a documented waiver (who waived it, why, what the follow-up is) → REQUEST_CHANGES
  • only minor / nit → APPROVE
  • the change cannot be classified from the diff → NEEDS_DISCUSSION, and state what would resolve it

Severity describes impact, confidence describes certainty — they are independent axes. A finding with confidence < 6 is reported at the tier its evidence supports and is never promoted to blocker on suspicion alone.

Output Format

markdown
## Code Review Report

### Summary
- **Files Changed**: [count]
- **Lines Added**: [+count]
- **Lines Removed**: [-count]
- **Issues Found**: [count]
- **Overall Confidence**: [1-10] — how confident the reviewer is in the assessment

### Findings

#### Blocker
- **[file:line]**: [issue]
  - Severity: blocker | Confidence: [1-10]
  - Evidence: [specific code reference and reasoning]
  - Suggested fix: [code]

#### Major
- **[file:line]**: [issue]
  - Severity: major | Confidence: [1-10]
  - Evidence: [specific code reference and reasoning]
  - Suggested fix: [code]

#### Minor
- **[file:line]**: [issue]
  - Severity: minor | Confidence: [1-10]
  - Evidence: [line number + reasoning]

#### Nit
- **[file:line]**: [suggestion]
  - Severity: nit | Confidence: [1-10]

### Confidence Guide

| Score | Meaning |
|-------|---------|
| 9-10 | Certain — verified via code, tests, or documentation |
| 7-8 | High — strong evidence, minor assumptions |
| 5-6 | Medium — plausible issue, needs author confirmation |
| 3-4 | Low — speculative, based on patterns not proof |
| 1-2 | Guess — flag for discussion, don't block on this |

### Positive Notes
- [What's good about the code]

### Verdict
[APPROVE / REQUEST_CHANGES / NEEDS_DISCUSSION]

State which clause of the verdict rule produced it, e.g.
"REQUEST_CHANGES — 1 blocker (auth.ts:88)" or
"APPROVE — 2 minor, 1 nit, no blocker or major".
Waived majors must name the waiver and the follow-up.

Common Rationalizations

ExcuseWhy It's Wrong
"Small change, quick scan is enough"Small changes introduce subtle bugs — apply consistent review regardless of size
"Tests pass, so the code is correct"Tests validate specific scenarios, not all behaviors — verify missing coverage
"It's just a refactor, no need for deep review"Refactors change invariants — verify behavior preservation, not just compilation
"The author is senior, they know what they're doing"Seniority doesn't prevent mistakes — review the code, not the person
"We're in a hurry, ship it"Rushed reviews create tech debt that costs 10x more to fix later

Self-Evaluation (LLM-as-Judge)

After completing the review, perform a self-evaluation pass:

Check for Blind Spots
  1. Did I verify, or assume? — For each finding, confirm you read the actual code (not inferred from context)
  2. Did I miss the inverse? — If you flagged X as a problem, did you check if NOT doing X is also a problem elsewhere?
  3. Did I anchor on the first issue? — Review whether early findings biased you toward similar patterns, missing different issue classes
  4. Did I check the unhappy path? — Error handling, edge cases, failure modes — not just the golden path
  5. Did I flag uncertainty? — Findings with confidence < 6 should be clearly marked as "needs author input"
Calibrate Confidence
  • If all findings are confidence 7+, you may be overconfident — re-examine the weakest finding
  • If any finding lacks a file:line reference, downgrade it or remove it
  • If you found zero issues, state what you specifically checked (not "looks good")

READ-ONLY

This skill only analyzes. It does NOT modify any files.

  • Issues found? → /debug to trace root causes
  • Missing tests? → /tdd to add test-first coverage
  • Security findings? → /cve-scan for dependency vulnerabilities
  • Architecture concerns? → /analyze for deeper code quality metrics

© softspark, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in app/skills/review of softspark/ai-toolkit.

  • SKILL.md
  • scripts/diff-analyzer.py

Open the folder on GitHubat commit d64db2b

Compare with similar skills

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.

Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Review this skillsoftspark/ai-toolkit179—~3.1kAutomated safety check: NotesApache-2.0
Code Review with Beads Tasksmaslennikov-ig/claude-code-orchestrator-kit260—~2kAutomated safety check: PassCustom licence
Openqodexopenqodex/openqodex303—~1.9kAutomated safety check: PassApache-2.0
Trailmark Review Gatetrailofbits/skills7.4k—~1.1kAutomated safety check: NotesCC-BY-SA-4.0
Differential Security Reviewtrailofbits/skills7.4k—~1.8kAutomated safety check: NotesCC-BY-SA-4.0
Verdaccio Code Reviewverdaccio/verdaccio18k—~853Automated safety check: PassMIT

Similar skills

  • Code Review with Beads Tasks

    maslennikov-ig/claude-code-orchestrator-kit

    Reviews staged changes, a branch, a PR or a path for bugs, security gaps and performance issues, then writes an evidence-based report and creates Beads tasks.

    260 GitHub stars~2k tokensUpdated 7 mo ago
    DevelopmentAuto-check passed
  • Openqodex

    openqodex/openqodex

    Code review for the current change, before it is pushed. An agent skill from openqodex/openqodex.

    303 GitHub stars~1.9k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Trailmark Review Gate

    trailofbits/skills

    Official

    Compares before and after Trailmark graphs of a branch, pull request or release diff to flag new entry points, tainted paths, removed validation and other structural security regressions.

    7.4k GitHub stars~1.1k tokensUpdated yesterday
    SecurityAuto-check: notes
  • Official

    Reviews a pull request, commit or diff for security problems, using git history, caller counts and test coverage, and writes a markdown report.

    7.4k GitHub stars~1.8k tokensUpdated yesterday
    SecurityAuto-check: notes
  • Verdaccio Code Review

    verdaccio/verdaccio

    Reviews a verdaccio diff, branch or PR against the repository's review guide, verifies each finding in the code and reports only actionable issues.

    18k GitHub stars~853 tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Bug Hunter

    codexstar69/bug-hunter

    Precision-first adversarial bug hunting for runtime, logic, data, concurrency, and security defects.

    519 GitHub stars~5k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from softspark/ai-toolkit

All 112 skills in this repo
  • Prepare Test Env

    softspark/ai-toolkit

    Prepare or verify a project QA environment with source identity, readiness, browser access, evidence paths and owned cleanup.

    179 GitHub stars~1.8k tokensUpdated 2 days ago
    Auto-check: notes
  • A11y Validate

    softspark/ai-toolkit

    Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. An agent skill from softspark/ai-toolkit.

    179 GitHub stars~3.8k tokensUpdated 2 days ago
    Auto-check: notes
  • Analyze

    softspark/ai-toolkit

    Analyzes code quality, complexity, patterns across codebase.

    179 GitHub stars~1k tokensUpdated 2 days ago
    Auto-check passed
  • Autonomous Dev

    softspark/ai-toolkit

    Drives a brief, specification, issue or existing PR through implementation, review, tests and QA to a ready PR.

    179 GitHub stars~2.6k tokensUpdated 2 days ago
    Auto-check: notes
  • Brand Voice

    softspark/ai-toolkit

    Direct technical voice for docs, README, user-facing text. An agent skill from softspark/ai-toolkit.

    179 GitHub stars~2.1k tokensUpdated 2 days ago
    Auto-check passed
  • CI

    softspark/ai-toolkit

    Detect/generate/debug CI pipeline config (GitHub Actions, GitLab CI).

    179 GitHub stars~1.1k tokensUpdated 2 days ago
    Auto-check: notes

Works with

Questions about Review

What does Review do?

Reviews code for quality, security, correctness. An agent skill from softspark/ai-toolkit. Review is an agent skill from softspark/ai-toolkit. Reviews code for quality, security, correctness.

When should I use Review?

Review fits situations like: tasks that involve Code review; tasks that involve Pull requests; tasks that involve Security review.

How do I install Review in Claude Code?

Run `npx skills add softspark/ai-toolkit --skill review -a claude-code`. Or copy the skill folder (app/skills/review in softspark/ai-toolkit) into .claude/skills/review in your project. Claude Code loads it when a task matches its description.

How do I install Review in Codex?

Run `npx skills add softspark/ai-toolkit --skill review -a codex`. Or copy the skill folder (app/skills/review in softspark/ai-toolkit) into .agents/skills/review in your project. Codex loads it when a task matches its description.

Can I use Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add softspark/ai-toolkit --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.

What does Review need to run?

Going by SKILL.md and its folder, Review needs Python for the scripts in its folder and the command-line tools its instructions call (git, gh and python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Grep, Glob, Bash.

Does Review access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Review safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Review use?

Review is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Review use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Review?

Skills that share tags, products or a category with Review: Code Review with Beads Tasks (maslennikov-ig/claude-code-orchestrator-kit, 260 stars), Openqodex (openqodex/openqodex, 303 stars), Trailmark Review Gate (trailofbits/skills, 7.4k stars) and Differential Security Review (trailofbits/skills, 7.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Review?

softspark (a GitHub user) maintains it in softspark/ai-toolkit, which has 179 GitHub stars. The repository holds 112 skills in this directory. The repository was last updated on October 7, 2026.

Source: softspark/ai-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.