Skip to content
Back to skills

Security Review

ASecurity

USE BEFORE committing security-sensitive changes (auth, crypto, routes, user-input handling, secret loading, templates), or when the `security-nudge` Stop hook suggests it. Audits the current diff for OWASP-Top-10-shaped issues + deps typosquatting. Read-only. Delegates to the `security-reviewer` Sonnet subagent shipped here; returns Critical / Important / Nice schema with `file:line`.

  • 68 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 28, 2026
ai-agentsgobashtestinggitapisecurity

Works with

  • api

Security analysis

A100/100

Scanned May 28, 2026

npx -y skills add Filip-Podstavec/claude-leverage --skill security-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Security Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Security Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/filip-podstavec-security-review/badge)](https://www.skillsdirectory.com/skills/filip-podstavec-security-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: security-review
description: >
  USE BEFORE committing security-sensitive changes (auth, crypto,
  routes, user-input handling, secret loading, templates), or when
  the `security-nudge` Stop hook suggests it. Audits the current diff
  for OWASP-Top-10-shaped issues + deps typosquatting. Read-only.
  Delegates to the `security-reviewer` Sonnet subagent shipped here;
  returns Critical / Important / Nice schema with `file:line`.
allowed-tools:
  - Read
  - Bash(git diff:*)
  - Bash(git status:*)
  - Bash(git log:*)
  - Task
---

# /security-review

## When to use

- Before committing changes that touch authentication, authorization,
  cryptography, user-input handling, file/path operations, request handling
  (routes/middleware/templates), or anything that reads/writes secrets.
- When the `security-nudge` Stop hook prints a one-liner suggestion.
- Whenever you want a second pair of eyes on a diff before pushing —
  Sonnet running on isolated context will catch things Opus inline missed
  about a third of the time in informal testing.

## What it does NOT replace

- **Static analysis** (Semgrep, CodeQL, Bandit) — those have rule sets
  built by full-time security teams. Run them separately in CI.
- **Dependency vulnerability scanning** (`npm audit`, `pip-audit`,
  `cargo audit`, GitHub Dependabot). The skill flags suspicious package
  additions but does not check CVE feeds.
- **A real pentest.** This is a diff review by a model, not an attacker
  exercising your live system.

## How it runs

```mermaid
sequenceDiagram
    participant U as User
    participant M as Main session (Opus)
    participant S as security-reviewer (Sonnet)

    U->>M: /security-review
    M->>M: git diff --cached
    M->>S: Task: review this diff for OWASP Top 10 patterns
    S->>S: Read diff + surrounding context
    S->>S: Pattern-walk + tier findings
    S-->>M: Markdown report (Critical / Important / Nice / OOS)
    M->>U: Relay report verbatim + offer "fix all Critical, fix one, ignore"
```

1. Main session reads the staged diff (`git diff --cached`; falls back to
   `git diff` if nothing staged).
2. If diff is empty, report "no changes to review" and stop.
3. Delegate to `security-reviewer` subagent (Sonnet, read-only). Pass:
   - The full diff
   - The list of changed files
   - The current branch and `git log --oneline -5` for context
4. Receive the structured Markdown report.
5. Relay the report **verbatim** to the user. Do not paraphrase, summarize,
   or pre-emptively fix anything.
6. Ask the user: "Fix all Critical findings, address one specific finding,
   or commit as-is and address later?"

## Hard rules for the main session

- **Never modify code from this skill's invocation.** This skill is purely
  audit + relay. If the user says "yes, fix the Critical findings," that's
  a separate main-session step — exit this skill first.
- **Never silently downgrade tiers.** If the subagent reported a finding
  as Critical, surface it as Critical. The user decides priority.
- **Always relay the full report.** Do not trim the "Out of scope" section
  — it tells the user what wasn't covered.

## Why a subagent, not inline

The benchmark series in `bench/archive-token-savings-thesis/` showed that
subagent dispatch is usually a cost loss vs Opus inline. We accept that
cost here because:

1. **Deterministic output schema.** Sonnet returns Critical/Important/Nice
   tiers every invocation; Opus inline produces prose of varying shape.
   Downstream tooling (e.g., a CI gate that only blocks on Critical) can
   parse the structured output.
2. **Context isolation.** A read-only subagent cannot accidentally "fix"
   findings mid-review — eliminating the class of bugs where the reviewer
   becomes the implementer.
3. **Cost-not-amortized work.** Security review is naturally bounded (one
   diff in, one report out). It doesn't benefit from main-session warm
   cache the way iterative coding does.

If you want to skip the dispatch and have Opus inline read the diff and
emit a report freeform, just type "review this diff for security issues"
without invoking the skill — the model will do it. The skill exists for
the cases above (schema, isolation, structured-output workflows).

## Codex parity

The same skill ships in Codex via `scripts/install-codex.sh`. The
subagent is at `.codex/agents/security-reviewer.toml` (generated from
`agents/security-reviewer.md` by `scripts/gen-codex-agents.py`).

## Tunables

- The `security-nudge` Stop hook fires when net-new code crosses
  **80 LOC** and at least one changed file matches a sensitive-path
  pattern (`*auth*`, `*login*`, `routes/`, `api/`, `*crypto*`,
  `*payment*`, `templates/`, `*.env*`, …). Override threshold via env
  var `CLAUDE_LEVERAGE_SECURITY_NUDGE_LOC`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.