Skip to content
Back to skills

Code Review Assistant

ASecurity

Analyzes code changes for security vulnerabilities, performance issues, and maintainability concerns. Provides structured feedback with SOLID principle checks and anti-pattern detection. Triggers on: "review this code", "code review", "check my PR", "review my changes".

  • 10 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 13, 2026
ai-agentspythongoshellsqlcode-reviewapidatabasesecurityperformance

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned June 13, 2026

npx -y skills add timwukp/agent-skills-best-practice --skill code-review-assistant --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Code Review Assistant?

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

Security grade badge for Code Review Assistant
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/timwukp-code-review-assistant/badge)](https://www.skillsdirectory.com/skills/timwukp-code-review-assistant)

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: code-review-assistant
description: >
  Analyzes code changes for security vulnerabilities, performance issues, and maintainability concerns.
  Provides structured feedback with SOLID principle checks and anti-pattern detection.
  Triggers on: "review this code", "code review", "check my PR", "review my changes".
license: MIT
metadata:
  author: Community
  version: 1.0.0
  category: code-quality
---

# Code Review Assistant

## Instructions

### Step 1: Gather Context

Before reviewing, determine:
1. What language and framework is the code written in?
2. Is this a PR diff, a single file, or a full module?
3. What is the review scope? (Security | Performance | Maintainability | All)

If reviewing a PR, ask for the diff or file list. If a single file, ask for the surrounding context (what calls it, what it calls).

### Step 2: Security Analysis

Check for these categories in order of severity:

**Critical:**
- SQL injection (string concatenation in queries)
- Command injection (unsanitized shell commands)
- Path traversal (user input in file paths without validation)
- Hardcoded secrets (API keys, passwords, tokens)

**High:**
- Missing authentication/authorization checks
- Insecure deserialization
- SSRF vulnerabilities (user-controlled URLs)
- Missing input validation on public endpoints

**Medium:**
- Missing rate limiting on public APIs
- Verbose error messages leaking internals
- Missing CSRF protection
- Insecure random number generation for security contexts

### Step 3: Performance Review

Look for:
1. **N+1 queries** - database calls inside loops
2. **Unbounded collections** - loading all records without pagination
3. **Missing indexes** - queries filtering on non-indexed columns
4. **Unnecessary allocations** - creating objects in hot paths
5. **Blocking I/O** - synchronous calls in async contexts
6. **Missing caching** - repeated expensive computations with same inputs

### Step 4: SOLID Principles Check

Evaluate each principle:

| Principle | Red Flag |
|-----------|----------|
| Single Responsibility | Class has multiple reasons to change |
| Open/Closed | Modifying existing code instead of extending |
| Liskov Substitution | Subclass breaks parent contract |
| Interface Segregation | Forcing implementation of unused methods |
| Dependency Inversion | High-level module depends on concrete class |

Only flag violations that cause real maintainability problems, not theoretical ones.

### Step 5: Anti-Pattern Detection

Check for:
- **God objects** - classes with more than 10 public methods or 300+ lines
- **Feature envy** - methods that use another class's data more than their own
- **Primitive obsession** - using strings/ints where a value object improves clarity
- **Long parameter lists** - functions with more than 4 parameters
- **Deep nesting** - more than 3 levels of indentation in conditionals

### Step 6: Produce Structured Feedback

Format findings as:

```markdown
## Code Review Summary

**Risk Level:** Critical | High | Medium | Low

### Findings

#### [Category] Finding Title
- **Location:** file:line
- **Severity:** Critical | High | Medium | Low
- **Issue:** What is wrong
- **Impact:** What could happen
- **Fix:** Concrete suggestion with code

### Positive Observations
- List things done well (always include at least one)

### Recommendations
1. Prioritized action items
```

**STOP after producing the summary.** Ask if the user wants deeper analysis on any specific finding.

## Example

User says: "Review this Python function"

```python
def get_user(user_id):
    query = f"SELECT * FROM users WHERE id = {user_id}"
    result = db.execute(query)
    return result
```

Response:
- **Critical: SQL Injection** at line 2 - string interpolation in SQL query
- **Medium: Overfetching** - SELECT * returns all columns
- **Fix:** Use parameterized queries: `db.execute("SELECT id, name, email FROM users WHERE id = ?", [user_id])`

## Guidelines

- Always start with security findings, then performance, then style
- Be specific with line numbers and concrete fix suggestions
- Do not nitpick formatting or style unless it impacts readability significantly
- Acknowledge good patterns alongside problems
- If the code is already good, say so briefly and suggest one area for further improvement
- Limit findings to the top 5 most impactful issues unless asked for exhaustive review
- Never suggest changes that alter business logic without flagging it as a behavioral change

Files in this skill

  • SKILL.md4.4 KB
  • evals/evals.json1.6 KB
  • evals/trigger_evals.json1.9 KB

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.