Skip to content
Skill Authoring
Skill

/code-review

Review code for quality, security, performance, and maintainability. Use when reviewing PRs, auditing a codebase, or refactoring. Covers TypeScript, Node.js, infrastructure-as-code, and full-stack web apps.

BOOST
From plugin
pi
12238 skills5 agents
Install
$ npx -y skills add espennilsen/pi --skill code-review --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/code-review

Context preview

The summary Claude sees to decide when to auto-load this skill.

Review code for quality, security, performance, and maintainability. Use when reviewing PRs, auditing a codebase, or refactoring. Covers TypeScript, Node.js, infrastructure-as-code, and full-stack web apps.

SKILL.md

code-review.SKILL.md
name: code-review
description: Review code for quality, security, performance, and maintainability. Use when reviewing PRs, auditing a codebase, or refactoring. Covers TypeScript, Node.js, infrastructure-as-code, and full-stack web apps.

Code Review

Systematic code review for Espen's TypeScript/Node.js projects.

Process

1. **Understand scope** — Read the changed files or the area under review:

   # For git changes
   git diff --name-only HEAD~1
   git diff HEAD~1

   # For a specific area
   find src/ -name "*.ts" -newer <reference-file>

2. **Read the code** — Use the `read` tool on each file. Don't guess.

3. **Analyze against checklist** — Score each category.

4. **Report** — Use the output format below.

Review Checklist

Correctness

  • [ ] Logic handles edge cases (null, empty, boundary values)
  • [ ] Error handling is explicit (no swallowed errors, no bare `catch {}`)
  • [ ] Async code handles rejection/cancellation properly
  • [ ] Types are accurate (no unnecessary `any`, proper narrowing)

Security

  • [ ] No secrets or credentials in code
  • [ ] User input is validated/sanitized before use
  • [ ] SQL queries use parameterized statements (no string interpolation)
  • [ ] File paths are resolved safely (no path traversal)
  • [ ] Auth checks are present where needed

Performance

  • [ ] No N+1 queries or unbounded loops over large datasets
  • [ ] Heavy operations are async or streamed (not blocking)
  • [ ] Database queries use appropriate indexes
  • [ ] Large responses are paginated or truncated

Maintainability

  • [ ] Functions do one thing with clear names
  • [ ] No magic numbers or hardcoded values that should be config
  • [ ] Types and interfaces are defined (not inline object shapes)
  • [ ] Dead code and unused imports are removed
  • [ ] Comments explain *why*, not *what*

Project Conventions

  • [ ] Follows existing patterns in the codebase
  • [ ] File naming and directory structure is consistent
  • [ ] Error messages are helpful for debugging
  • [ ] Logging is appropriate (not too noisy, not silent on errors)

Output Format

## Code Review: [scope]

### Summary
One paragraph: what the code does, overall quality assessment.

### Issues

#### 🔴 Critical
- [file:line] Description and fix

#### 🟡 Important
- [file:line] Description and suggestion

#### 🔵 Minor
- [file:line] Nit or style suggestion

### What's Good
- Call out well-written code, good patterns, clever solutions

### Recommendations
- Prioritized list of changes, starting with most impactful

Common Patterns in Espen's Stack

| Project Type | Key Things to Check | |---|---| | **Pi extensions** | Tool parameter schemas, error returns, signal/abort handling | | **Eleventy sites** | Template data flow, permalink structure, Tailwind purge config | | **TanStack apps** | Router setup, query keys, optimistic updates, Clerk auth guards | | **Infrastructure** | Terraform state safety, Docker layer caching, env var handling | | **SQLite** | Migration ordering, prepared statements, WAL mode, index coverage |

Read more
Ships withpi

This repository is my Pi coding agent home directory. I keep it under version control and symlink it to ~/.pi/agent so Pi loads configuration, extensions, skills, and runtime state from here.

Get the whole plugin

Other skills on pi.