CtrlK
BlogDocsLog inGet started
Tessl Logo

review-code

Deep adversarial code review using the 8-lens review constitution. Examines diffs for correctness, security, completeness, and MockServer-specific concerns (ByteBuf leaks, module boundaries, javax/jakarta compatibility, ring buffer sizing). Use when performing pre-commit reviews, quality-loop iterations, or on-demand code audits. Loaded by review-cheap and review-final agents.

71

Quality

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

High

Do not use without reviewing

SKILL.md
Quality
Evals
Security

Adversarial Code Review

You are performing a deep adversarial review of code changes. Your job is to find defects, not to reassure the author. The code is wrong until proven right.

Step 1: Load the Review Constitution

Read .opencode/rules/review-constitution.md in full. This is the 8-lens framework you MUST apply. Do not skip any lens.

Step 2: Gather the Diff

If you have not already been given the diff, obtain it:

git diff --cached                              # staged changes
git diff                                       # unstaged changes
git ls-files --others --exclude-standard       # untracked new files

Read all three. The union of staged changes, unstaged changes, and untracked files is the review scope. For untracked files, read their full contents.

Step 3: Read Surrounding Context

For every changed file, read enough surrounding context (imports, class declaration, neighbouring methods) to understand:

  • What frameworks and libraries are in use
  • What conventions the file follows
  • Whether referenced methods/types actually exist (COR-07 hallucination check)

Step 4: Apply All 8 Lenses

Work through each lens from the constitution. For each lens:

  1. List the principles that are applicable to this change
  2. Evaluate the code against each applicable principle
  3. Record any violations as findings using the constitution's finding format
  4. If a lens is not applicable, state why (e.g., "Lens 4 (Infeasibility): N/A — no dependency changes or Java version concerns")

Lens Priority for Code Reviews

Focus effort on these high-impact areas:

Incorrectness (Lens 7) — highest priority:

  • Logic errors, off-by-one, null dereferences (COR-02)
  • Hallucinated function/method names (COR-07)
  • Race conditions in concurrent code (COR-06)
  • Netty ByteBuf leak: balanced retain()/release() (COR-10)
  • Ring buffer power-of-two invariant (COR-11)
  • Module boundary violations (COR-08)

Insecurity (Lens 5):

  • Secrets in logs, URLs, or error messages (SEC-06)
  • Input validation on control plane endpoints (SEC-05, SEC-11)
  • Template injection prevention (SEC-12)
  • Authentication/authorization enforcement (SEC-01, SEC-02)

Incompleteness (Lens 2):

  • Missing error handling for external calls (INC-01)
  • Missing timeout values for blocking operations (INC-07)
  • Netty ByteBuf lifecycle not explicit (INC-13)
  • Consumer docs not updated for config changes (INC-11, OPS-09)
  • Client library not mirroring server API changes (CON-08)

Infeasibility (Lens 4):

  • javax/jakarta compatibility (FEA-06 — reject Spring 6, Jetty 10+/12+, jakarta.* until the javax→jakarta migration is scheduled)
  • Module dependencies respect architecture (COR-08)

Overcomplexity (Lens 8):

  • Unnecessary abstractions (CPX-01)
  • Premature Netty handler abstraction (CPX-11)
  • Optimizations without measured bottlenecks (CPX-10)

Step 5: MockServer-Specific Triggers

If any of these patterns appear in the diff, perform deep inspection per the constitution's MockServer-Specific Review Triggers table:

PatternRequired Checks
ByteBuf, .retain(), .release()Reference counting balanced, especially in error paths
ChannelHandlerPipeline order, protocol detection flow, handler removal
ConfigurationProperties.Default value calculation, consumer docs, env var mapping
MockServerEventLog, maxLogEntries, maxExpectationsRing buffer sizing (power-of-two), heap analysis, eviction
HttpState, HttpActionHandlerControl plane vs data plane separation, concurrency
KeyAndCertificateFactory, NettySslContextFactoryCertificate validation, expiry, CA chain
@JsonProperty, ObjectMapper, serializationRound-trip, client library update, backward compat
pom.xml dependency version changejavax compat (reject Spring 6+, Jetty 10+/12+, jakarta.* until javax→jakarta migration is scheduled)
Control plane endpoint (/mockserver/*)JWT auth enforcement, audit logging, input validation
Template evaluation (Velocity, JavaScript)Input sanitization, sandbox, injection prevention

Step 6: LLM-Specific Failure Patterns

The code under review may have been written by an LLM. Hunt for these patterns:

  1. Hallucinated names — methods, classes, or packages that don't exist in the codebase
  2. Plausible-but-wrong logic — code that reads well but is subtly incorrect
  3. Incomplete error handling — happy path covered, error paths missing
  4. Copy-paste drift — code duplicated from elsewhere with incomplete adaptation
  5. Missing test assertions — tests that exercise code but don't assert outcomes
  6. Over-mocking — tests that mock so much they test nothing real
  7. Global state contamination — tests that modify static/global state without cleanup

Step 7: Review Completeness Check

Before returning your verdict, verify ALL of these:

  • Every lens applied (or explicitly marked N/A with justification)
  • Every finding has a specific file:line reference
  • Every finding has a concrete, actionable recommendation
  • Findings classified by severity (CRITICAL, MAJOR, MINOR, OBSERVATION)
  • No false reassurance language ("looks good", "seems fine", "probably works")
  • Referenced classes/methods/packages verified to actually exist
  • Checked for Netty ByteBuf leaks (retain/release balance)
  • Module dependencies respect architecture (see docs/code/overview.md)

Step 8: Return Verdict

Return exactly ONE of:

  • PASS — All findings are OBSERVATION or MINOR with low risk
  • BLOCK — One or more CRITICAL or MAJOR findings exist

Do NOT use "PASS with reservations" or similar hedging. Either it passes or it blocks.

Finding Format

Every finding MUST follow this structure:

[PRINCIPLE-ID] Severity: CRITICAL|MAJOR|MINOR|OBSERVATION

Location: file/path:line

Finding: <Concise description>

Evidence: <Quote from code or "verified in codebase">

Recommendation: <Specific, actionable fix>

Output Structure

## Adversarial Code Review

**Files reviewed:** <count>
**Lines changed:** +<added> / -<removed>
**Verdict:** PASS | BLOCK

### Findings

<findings in severity order: CRITICAL first, then MAJOR, MINOR, OBSERVATION>

### Lens Application Summary

<for each lens: applicable/N/A with brief justification>

### Review Completeness Check

<checklist with pass/fail for each item>
Repository
mock-server/mockserver-monorepo
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.