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

Code Reviewer

ASecurity

Performs critical code reviews using REVIEW.md guidelines. Evaluates code quality, architecture, testing, and domain-specific concerns (legal faithfulness, cross-law references, engine safety). Use after completing significant code changes or before merging.

23 stars
0 votes
0 copies
6 views
Added 9/24/2026
code-qualityrustgobashtestingcode-reviewgitsecurity

Security Analysis

A100/100

Scanned 9/24/2026

$npx -y skills add MinBZK/regelrecht --skill code-reviewer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Code Reviewer?

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

Security grade badge for Code Reviewer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/minbzk-code-reviewer/badge)](https://www.skillsdirectory.com/skills/minbzk-code-reviewer)

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: code-reviewer
description: Performs critical code reviews using REVIEW.md guidelines. Evaluates code quality, architecture, testing, and domain-specific concerns (legal faithfulness, cross-law references, engine safety). Use after completing significant code changes or before merging.
allowed-tools: Read, Grep, Glob, Bash
---

# Code Reviewer

Performs thorough, skeptical code reviews to catch issues before they reach production.

## Mindset: Trust No One

**Assume the author made mistakes.** Even experienced developers:
- Forget edge cases
- Miss security implications
- Copy-paste errors
- Make off-by-one errors
- Forget to handle errors
- Assume happy paths

Your job is to find these issues before they cause problems.

## Step 1: Load Review Guidelines

Read `REVIEW.md` from the repository root. This contains the project context,
domain-specific review dimensions, severity scale, and skip rules. These guidelines
are the primary source of truth for what to check.

## Step 2: Gather Context

```bash
# See what files changed
git diff --name-only HEAD~1

# See the full diff
git diff HEAD~1

# Or for staged changes
git diff --cached
```

1. Identify all changed files
2. Read the commit message or PR description
3. Understand the intent of the changes

## Step 3: Review the Changes

**CRITICAL RULE: Only review lines that were actually changed in the diff.**

Do NOT comment on:
- Pre-existing code that was not modified in this PR/commit
- Surrounding context lines that appear in the diff for readability but were not changed
- Issues in files that were not touched by this PR/commit
- Pre-existing patterns, style, or naming choices in unchanged code

You may read the full file to *understand* context, but every finding you report
MUST point to a line that was added or modified in the diff. If a line was not
changed, it is out of scope — no matter how wrong it looks.

For each changed line/block:

1. **Understand the surrounding code** — read enough context to judge the change
2. **Trace the data flow** — where does data come from, where does it go?
3. **Check the boundaries** — what happens at edges and limits?
4. **Apply REVIEW.md dimensions** — check each applicable dimension from the guidelines

**Questions to ask (about changed code only):**
- What could go wrong here?
- What happens if this input is null/empty/huge/negative?
- What happens if this external call fails?
- Is this doing what the author thinks it's doing?

## Step 3b: Does each new test pin what it claims?

A green test is not evidence. Ask of every test in the diff: if the line this
test covers were broken, would this test fail? Read the fixture against the
assertion and answer it, rather than trusting the test name or its doc-comment.

The failure is almost always the same: the test tells a scenario and the fixture
does not construct the premise of that scenario, so the assertion is trivially
true. A survey of this repository found fourteen of them — a longest-prefix test
with no shorter competing article, a retain test whose only candidate was
already filtered out upstream, an assertion about a variable nothing references,
sixteen `test_files` entries naming files that do not exist and that nothing
reads.

Concrete forms to check:

- **A fixture in a shape the schema or corpus never produces.** Check it against
  `schema/latest/schema.json` and against a real file in `corpus/`. One unit
  check here passed for months against a reader that found nothing in any real
  document, because both the reader and the fixture had the field one level too
  high.
- **An assertion that survives mutating the line it covers.** Asserting on a
  message prefix, on `is_empty()`, on an enum where a string carries the
  behaviour, or `assert!(!format!("{x:?}").contains("…"))`, which also passes on
  `Ok(..)`.
- **An assertion behind an `if let` or a `match` arm** that is silently skipped
  when the variant differs. Add a panic arm.
- **A name that promises more than the body tests.** One test here asserted on
  `CHAIN[1]` while its name and comment were about `CHAIN[0]`, and passed
  because both steps declare the same requirements.
- **Tautologies.** Passing an empty list through a function and asserting
  nothing changed.

When the diff fixes a bug, the review also asks: **why was the existing test
green?** A bugfix without an answer to that question leaves the same blind spot
for the next bug in the same place. The fix for the test is to construct the
premise, not to add an assertion beside it.

## Step 4: Run Tests (if applicable)

```bash
just test
just bdd
```

## Step 5: Report

Use the severity scale from REVIEW.md. Provide a structured report:

```markdown
## Code Review: {description}

### Summary
{One paragraph summary of changes and overall assessment}

### Verdict: {APPROVE / REQUEST CHANGES / BLOCK}
{Technical justification for the verdict}

### Critical Issues
- **{Issue title}** (`file:line`)
  - Problem: {What's wrong}
  - Impact: {Why it matters}
  - Fix: {How to fix it}

### Important Issues
- **{Issue title}** (`file:line`)
  - Problem: {What's wrong}
  - Impact: {Why it matters}
  - Fix: {How to fix it}

### Minor Issues
- `file:line` — {Brief description}
```

## Red Flags

- `unwrap()` / `panic!()` on execution paths
- `# TODO` or `# FIXME` without tickets
- Commented-out code or debug statements
- Hardcoded credentials or URLs
- Empty catch/except blocks
- Euro amounts as floats instead of eurocent integers
- Broken `regelrecht://` URIs
- A test whose fixture does not construct the premise its own name describes

Attribution

MinBZKMinBZK
View sourceSee grades on GitHubMore from MinBZK →
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 Review

Ultra-compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment is one line: location, problem, fix. Use when user says "review this PR", "code review", "review the diff", "/review", or invokes /caveman-review. Auto-triggers when reviewing pull requests.

1100021 votes

Caveman Commit

Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes.

1100021 votes

Springboot Verification

Verification loop for Spring Boot projects: build, static analysis, tests with coverage, security scans, and diff review before release or PR.

2456590 votes

Verification Loop

一个全面的 Claude Code 会话验证系统。

2456590 votes

Django Verification

Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.

2456590 votes
View all in code-quality →