Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Progressive Code Review Gate

ASecurity

Use when: committing or pushing code changes. Mandatory progressive review loop via sub-agent-code-reviewer. Skip only when the user explicitly says to skip review.

8 stars
0 votes
0 copies
0 views
Added 10/6/2026
ai-agentsgobashcode-reviewgitsecurity

Works with

claude code

Security Analysis

A100/100

Scanned 10/6/2026

$npx -y skills add bordenet/superpowers-plus --skill progressive-code-review-gate --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Progressive Code Review Gate?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Progressive Code Review Gate
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bordenet-progressive-code-review-gate/badge)](https://www.skillsdirectory.com/skills/bordenet-progressive-code-review-gate)

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

Download with Pro
Files
skill.md
---
name: progressive-code-review-gate
disable-model-invocation: true
source: superpowers-plus
aliases: [PCRG, code-gate]
triggers: ["code review before commit", "review my code changes", "harsh code review", "adversarial review", "review my diff"]
anti_triggers: ["lint before commit", "run tests before commit", "pre-commit check"]
description: "Use when: committing or pushing code changes. Mandatory progressive review loop via sub-agent-code-reviewer. Skip only when the user explicitly says to skip review."
summary: "Use when: committing or pushing code. Skip only when user explicitly says to skip."
coordination:
  group: commit-gates
  order: 3
  requires: ["enforce-style-guide"]
  enables: ["professional-language-audit"]
  escalates_to: []
  internal: false
composition:
  consumes: [code-changes]
  produces: [review-feedback]
  capabilities: [reviews-code, gates-quality]
  priority: 30
---

# Progressive Code Review Gate

## When to Use

- Before every commit or push of code changes (mandatory, fires automatically)
- When user says "ready to commit," "push this," or "commit and push"
- NOT for: PR-level review (`providing-code-review`), language/profanity audit (`professional-language-audit`)

**MANDATORY before every commit/push of code changes.**
Skip only when the human **explicitly** says to skip review.

> **Wrong skill?** PR-level review of others' work → `providing-code-review`. File-protocol review → `code-review`.

## Procedure

### Step 1: Gather the diff

Determine what is being committed or pushed:

```bash
# For uncommitted changes (pre-commit):
git diff --staged                    # staged changes
git diff                             # unstaged changes

# For unpushed commits (pre-push):
git log --oneline @{u}..HEAD        # list unpushed commits
git diff @{u}..HEAD                 # diff of unpushed commits
```

If no diff exists in any of these, skip this gate.

### Step 2: Check sentinel, then dispatch battery if needed

First, run the `code-review-battery` Phase 0 sentinel check:

```bash
SENTINEL="$(git rev-parse --show-toplevel 2>/dev/null || echo .)/.code-review-cleared"
cat "$SENTINEL" 2>/dev/null || echo "NO CLEARANCE"
echo "HEAD: $(git rev-parse HEAD 2>/dev/null)"
git diff --quiet && git diff --cached --quiet && echo "WORKTREE_CLEAN" || echo "WORKTREE_DIRTY"
```

If the sentinel is valid for HEAD AND `WORKTREE_CLEAN`: battery already ran on this code. Map the existing verdict to gate verdicts (see table below) and skip dispatch.

Otherwise: dispatch battery. Follow the `code-review-battery` skill procedure (Phase 1–5):

1. **Phase 1 — Triage** the diff → select relevant specialists (monolith only via `--all` or manual request)
2. **Phase 2 — Diff + Source Context + Dispatch** activated reviewers in parallel with diff + source context inline
3. **Phase 3 — Aggregate** findings, triple-filter, classify Implement/Defer/Reject
4. **Phase 4 — Escalation** if triggers fire (re-dispatch with diff + source context re-attached)
5. **Phase 5 — Convergence** check (stop/continue/escalate-to-human)

Map battery output to gate verdicts:

| Battery Severity | Gate Classification | Gate Verdict |
|-----------------|---------------------|-------------|
| **Critical** | MUST-FIX | FAIL |
| **Important** | SHOULD-FIX | FAIL (if ≥2) or PASS_WITH_NITS (if 1) |
| **Minor** | NIT | PASS_WITH_NITS |
| All clean (✅) | — | PASS |

On **FAIL** re-review rounds (Round 2+): skip triage, re-dispatch the SAME reviewers from Round 1.
On **PASS_WITH_NITS** re-review: use targeted Step 3a below (scoped files + scoped reviewers).

**Fallback** (only if parallel sub-agent dispatch is impossible — e.g., platform
does not support firing multiple sub-agents simultaneously):

Invoke a **single** reviewer with the monolithic prompt below. Use whatever
sub-agent mechanism is available (e.g., `sub-agent-code-reviewer` on Augment,
`Task()` on Claude Code). Give it a unique name per round (e.g., `review-round-1`).

The monolithic reviewer MUST receive:

1. Repo path
2. Exact diff command matching the review scope
3. Instruction to read full source files
4. The monolithic checklist covering all review dimensions:

```text
Review the code changes in {repo_path}.
Run `cd {repo_path} && {exact_diff_command}` to see the diff.
Read the full source files for all changed code.

Be harsh and adversarial. Check for:
1. Logic errors, off-by-one, edge cases
2. Missing error handling or silent failures
3. Inconsistency with surrounding code patterns
4. Security issues (injection, secrets, unsafe operations)
5. Stale references (functions/variables that no longer exist)
6. Missing downstream changes (callers, tests, types, docs)
7. Style violations relative to the project's conventions

Classify each issue:
- MUST-FIX: Blocks commit (logic error, security, correctness)
- SHOULD-FIX: Strong recommendation (inconsistency, missing guard)
- NIT: Minor (won't block)

Verdict: PASS, PASS_WITH_NITS, or FAIL
If FAIL: list every MUST-FIX and SHOULD-FIX clearly.
```

### Step 3: Process results

| Verdict | Action |
|---------|--------|
| **PASS** | Proceed to commit/push |
| **PASS_WITH_NITS** | Fix the nits, then go to Step 3a (targeted re-review) |
| **FAIL** | Fix MUST-FIX and SHOULD-FIX items, then go to Step 2 (full re-review) |

### Step 3a: Targeted re-review (PASS_WITH_NITS loop)

After fixing nits, run a **targeted** battery round:

1. **Scope**: Only the files touched by the nit fixes (not the full original diff)
2. **Reviewers**: Only the reviewer(s) that produced the nits in the previous round
3. **Dispatch**: Re-use the original diff command with `-- <fixed-files>` appended (see `skills/engineering/code-review-battery/skill.md` Phase 4 for scoping rules). Each reviewer instruction must include: reviewer prompt + diff + source context (per Phase 2 dispatch requirements).
4. **Verdict mapping**: Same table as Step 2
5. **Exit conditions**:
   - PASS → proceed to commit/push
   - PASS_WITH_NITS → fix and repeat Step 3a (counts toward Round 5 cap)
   - FAIL → fix and go to Step 2 (full re-review — nit fix introduced a real issue)

**Why targeted, not full**: Nit fixes are low-risk by definition. Re-reviewing the entire diff wastes time. But nit fixes *can* introduce new issues, so the affected reviewer must verify.

### Step 4: Track rounds

- Round 1: Initial review (Step 2)
- Round 2+: Re-review after fixes (Step 2 for FAIL, Step 3a for PASS_WITH_NITS)
- Round 5: STOP. Tell the human: "5 review rounds without clean pass. Please review manually."

## What This Gate Does NOT Do

- Does not run lint/typecheck/tests (that's `pre-commit-gate`, order 1)
- Does not enforce style guides (that's `enforce-style-guide`, order 2 — runs before this gate so style-induced code changes are covered by this review)
- Does not handle PR-level review (that's `providing-code-review`)
- Does not scan for unprofessional language (that's `professional-language-audit`, order 4)

## Anti-Patterns

| Wrong | Right |
|-------|-------|
| Committing without review because "it's a small change" | Every code change gets reviewed |
| Skipping re-review after fixes | Fixes can introduce new issues. Always re-review |
| Running review only when human asks | Review is automatic. Human asks to SKIP, not to START |

## Failure Modes

| Failure | Symptom | Recovery |
|---------|---------|----------|
| Review loop (5+ rounds) | Each fix introduces new findings | Stop at Round 5. Tell the human. The change may need a different approach |
| Stale diff after fixes | Reviewer sees old diff because changes weren't staged | Re-run `git diff` or `git diff --staged` each round — never reuse prior output |
| Fix-induced regression | Round N fix breaks something Round N-1 passed | Reviewer must re-check ALL prior-passing areas, not just the new changes |
| Reviewer scope creep | Flagging pre-existing code not in the diff | Restrict to changed lines and their direct callers. Pre-existing issues are INFO at most |
| Skipping for "small changes" | One-line fix committed without review | Size doesn't determine risk. See Anti-Patterns table above |

## Commit Gate Chain

> **Preferred:** `use-skill unified-commit-gate` loads all 5 gates in one load. Use this skill directly only for deep-dive when the code review gate fails.

```text
pre-commit-gate (1) → enforce-style-guide (2) → progressive-code-review-gate (3) → professional-language-audit (4) → public-repo-ip-audit (5)
```

## Companion Skills

- **code-review-battery**: The review engine this gate dispatches
- **pre-commit-gate**: Runs before this gate (lint/tests)
- **enforce-style-guide**: Runs before this gate (style fixes)
- **providing-code-review**: Engineering rigor checklist (informs review focus)
- **progressive-harsh-review**: Progressive review enforcement
- **feature-development**: Full feature workflow (uses this gate)
- **micro-harsh-review**: Per-batch review (lighter)

Attribution

bordenetbordenet
View sourceSee grades on GitHubMore from bordenet →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →