Install
openclaw skills install deep-code-reviewMulti-dimensional code audit using structured subagent delegation. Use when reviewing a GitHub release, PR, or codebase. Systematically inspects security, concurrency/state-machine safety, UX/implementation logic, test quality, and simplicity/over-engineering. Spawns parallel subagents for deep verification with Four-Eyes cross-validation on critical findings. Synthesizes findings into a Confirmed/Critical-to-Low priority matrix. Trigger phrases: review this release, audit this codebase, check this PR for issues, 代码审查, review 代码, 审查这个版本, /deep-code-review, /code-review, /review-code
openclaw skills install deep-code-reviewSystematically audit a codebase release through five dimensions, using parallel subagent delegation for deep verification. Inspired by: Modern Code Review taxonomy research (Bavota & Russo 2015 "Four Eyes Are Better Than Two"), reviewdog's tool-agnostic harness pattern, Danger's pre-review gate philosophy, and community experience with AI-generated code quality issues.
Real code, not release notes. Every finding must be verified against actual source files by fetching them. The only acceptable evidence is file:line citations. The only acceptable conclusion labels are Confirmed / Mitigated / False Alarm.
Four Eyes on every Critical. Any finding classified as Critical severity MUST be independently verified by a second subagent before appearing in the final report. This is the "Four Eyes" principle from Bavota & Russo (2015): multiple reviewers independently examining the same issue catch 60%+ more real bugs than a single reviewer. See four-eyes.md.
Simplicity is a first-class dimension. AI-generated code often produces "massive overkill" — hundreds of lines for what should be a two-method change. Always ask: "Does the complexity of this solution match the complexity of the problem?" This dimension is inspired by community experience on Hacker News and Reddit (2025 State of AI Code Quality discussions).
Run these quick checks before committing to a full audit. Inspired by Danger's "automated pre-review" philosophy.
.env, credentials, large binary files?Output: Gate report (pass/warn/fail) + recommended audit depth.
Read these in order — enough to understand architecture and identify candidate issues:
Output: A list of 10-20 candidate issues, categorized by dimension:
For each non-trivial dimension, spawn an isolated subagent. Each subagent:
web_fetch — never infers from docsSee subagent-templates.md for the exact prompt template. See audit-dimensions.md for dimension-specific question probes.
Model guidance: Use the same model for all subagents to ensure consistent judgment. Prefer high-reasoning models for complex audits.
For every finding classified as Critical by a subagent:
👁️ Four-Eyes Verified badge.When all subagent reports return:
See output-format.md for table and emoji conventions. See severity-rubric.md for severity classification rules.
shell=True used? Are user-controlled strings concatenated into the command? Are file paths sanitized?.json / .jsonl write: check if it uses tmp-rename atomic pattern or flock. Direct overwrite without either = bug.load → modify → save pattern: check if the entire block is lock-protected. If load happens outside the lock, it's a TOCTOU bug.call_llm with a fake that takes **kw and reads kw.get("old_param"), it will never catch a production code change to new_param. Flag these.This skill is designed to work with existing code review tooling, not replace it. The recommended stack:
| Layer | Tool | What it catches |
|---|---|---|
| Lint/formatter | ruff, eslint, gofmt | Style, basic bugs |
| Static analysis | SonarQube, Semgrep, CodeQL | Security vulns, code smells |
| Diff harness | reviewdog, Danger | Runs the above, posts inline comments |
| 🆕 Deep audit | This skill | Cross-cutting: concurrency, over-engineering, UX logic, test gaps |
| Human review | Your team | Architecture, trade-offs, domain knowledge |
The Pre-Review Gate (Phase 0) picks up what reviewdog/SonarQube would catch, so you don't waste subagent time on style issues. Subagents focus on what static analysis can't see.