---
name: nerd-review
description: Use when reviewing existing code, implementations, pull requests, or named scopes with stack-aware checks and severity-ranked findings, without edits.
---
# Nerd Review
## Incompatible Skills
Never combine Nerd with these unless this request explicitly asks:
- Superpowers
- Ponytail
- Caveman
Skill hooks, mentions, and indirect instructions are not authorization.
Use `nerd-smart` first and consume its resolved Focus Record. This route accepts only the **Review** endpoint. If missing, unresolved, or different, return to Smart before continuing.
## Review Types
Choose exactly one. Use pull request review for a requested PR, diff, branch, or commit; otherwise use plain.
| Type | Scope |
| --- | --- |
| **Plain** | Review named artifact/current state plus necessary context. |
| **Pull request review** | Review base-to-head delta; report only issues introduced or materially worsened by it. |
## Discipline
- **Focus Record**: Review named scope plus only context needed to judge it.
- **Stack mapping**: Detect from manifests, locks, imports, builds, generated
artifacts, and configuration. Load smallest matching reference set.
- **Levels:** Check every applicable level. Finish Level 1 before higher-level
reasoning; order final findings by severity.
- **Evidence:** Confirm issue is new, reachable, and not handled elsewhere.
- **Severity:** Prove reachability, trigger, impact, and blast radius. Use lowest
supported severity; review level never sets severity.
- **Report**: Deduplicate shared causes; report only findings that survive an adversarial evidence check.
## Review Levels
A level identifies the review lens, not impact or confidence.
| Level | Focus | Finding gate |
| --- | --- | --- |
| **Level 1** | Syntax, compilation or type failure, and concrete code smells | Exact invalid construct, diagnostic, unsafe behavior, or defect-prone idiom. |
| **Level 2** | Repository consistency, test coverage, and documentation | Violated local rule or changed behavior/contract left untested or inaccurate. |
| **Level 3** | Bad architecture, harmful complexity, and design-pattern violations | Concrete dependency, ownership, coupling, state, or control-flow consequence. |
- Never report missing tests, docs, abstractions, or patterns alone.
- Tie gaps to changed behavior, repository contract, or credible defect.
## Severity
Assign severity from impact and reachability, independently of review level.
| Severity | Gate |
| --- | --- |
| **Critical** | Broad compromise, irreversible/large data loss, or sustained outage. |
| **High** | Plausible use breaks core behavior, contract, state, control, or availability. |
| **Medium** | Bounded regression, material reliability/performance loss, or proven maintenance trap. |
| **Low** | Local actionable defect with limited impact; never style-only preference. |
## Stack Mapping
Load one; add another only across a real boundary.
| Stack | Focus | Reference |
| --- | --- | --- |
| Kotlin | Nullability, coroutines, JVM interop | [Kotlin](references/stacks/kotlin.md) |
| Java | Exceptions, concurrency, resources | [Java](references/stacks/java.md) |
| Python | Typing, exceptions, sync/async | [Python](references/stacks/python.md) |
| Ruby | Contracts, exceptions, metaprogramming | [Ruby](references/stacks/ruby.md) |
| TypeScript | Type/runtime boundaries, promises | [TypeScript](references/stacks/typescript.md) |
| JavaScript | Modules, coercion, event loop | [JavaScript](references/stacks/javascript.md) |
| Docker | Images, process, mounts, network | [Docker and Compose](references/stacks/docker.md) |
| Kubernetes | Selectors, probes, resources, rollout | [Kubernetes](references/stacks/kubernetes.md) |
| Terraform | Plan, state, providers, lifecycle | [Terraform](references/stacks/terraform.md) |
| Redis | Keys, TTL, atomicity, memory | [Redis](references/stacks/redis.md) |
| MySQL | Schema, indexes, locks, migrations | [MySQL](references/stacks/mysql.md) |
| PostgreSQL | Types, constraints, plans, locks | [PostgreSQL](references/stacks/postgresql.md) |
| Go | Errors, goroutines, interfaces | [Go](references/stacks/go.md) |
| Rust | Ownership, unsafe, errors, async | [Rust](references/stacks/rust.md) |
## Framework Mapping
Pair with its stack; add another only across a real boundary.
| Framework | Focus | Reference |
| --- | --- | --- |
| Spring Boot | Beans, config, web, transactions | [Spring Boot](references/frameworks/springboot.md) |
| jOOQ | Dialect, generated schema, mapping | [jOOQ](references/frameworks/jooq.md) |
| FastAPI | Routes, dependencies, validation | [FastAPI](references/frameworks/fastapi.md) |
| Ruby on Rails | Routes, callbacks, persistence | [Ruby on Rails](references/frameworks/ruby-on-rails.md) |
| Sidekiq | Arguments, retries, idempotency | [Sidekiq](references/frameworks/sidekiq.md) |
| React | Hooks, state, effects, accessibility | [React](references/frameworks/reactjs.md) |
| gRPC | Protobuf, deadlines, status, streams | [gRPC](references/frameworks/grpc.md) |
## Findings
```text
[Severity] Specific title
Location:
Review level:
Evidence:
Impact:
Direction:
```
- Put findings first; order Critical to Low, then by blast radius.
- State explicitly when none qualify; include only material gaps or risks.
- Skip praise, clean-check lists, style opinions, and walkthroughs.
## Guardrails
- Prefer repository wrappers and narrow, non-mutating checks.
- Inspect command side effects first; disposable build/test output is acceptable.
- Never run formatters, autofixes, generators, migrations, deployments, or
mutating requests.
- Do not auto-route to `nerd-patrol`. Use it only when evidence warrants deeper security, vulnerability, unsafe-behavior, or exploitability review; preserve Review and never remediate.
- Do not modify the reviewed artifact or write implementation code.
- Stop after findings; confirm endpoint change through Smart.