agentleFS
fabioc-alohafabioc-aloha/Alex_ACT_Edition/.github/skills/deep-review/SKILL.md

deep-review

Skill0 starsChanged 4 months agoMITView on GitHub

Adversarial code review with three parallel perspectives — Advocate, Skeptic, Architect — that create productive tension. Use for high-stakes PRs, architectural changes, or when single-pass review would miss issues. Surfaces findings through disagreement, not consensus.

44 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use react, testing-strategy and 7 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • VercelSkill

    react

    React renderer for json-render that turns JSON specs into React components. Use when working with @json-render/react, building React UIs from JSON, creating component catalogs, or rendering AI-generated specs.

    Also in 3 projects that use this

  • BlockSkill

    testing-strategy

    Guidelines for writing effective tests in this project

    Also in 3 projects that use this

  • SentrySkill

    deslop

    Strip AI-generated noise from the diff before pushing — extra comments a human wouldn't write, defensive try/catch in trusted code paths, casts to any, inline imports in Python, and other style inconsistencies with the surrounding file. Use this immediately before commit so the diff stays clean.

    Also in 3 projects that use this

  • SentrySkill

    review

    Fixture review skill.

    Also in 5 projects that use this

  • AnthropicSkill

    debug

    Structured debugging session — reproduce, isolate, diagnose, and fix. Trigger with an error message or stack trace, "this works in staging but not prod", "something broke after the deploy", or when behavior diverges from expected and the cause isn't obvious.

    Also in 3 projects that use this

  • NVIDIASkill

    testing

    Run Python and Rust tests for physicsnemo-curator using uv + pytest with coverage reporting via pytest-cov, and cargo-nextest for Rust tests. Includes benchmark workflows with pytest-benchmark and criterion.

    Also in 3 projects that use this

  • +1 more from getsentry

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 38 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When you suspect confirmation bias in a standard review

    line 15
  2. Distinctive:

    Run all three perspectives independently.

    line 46
  3. Distinctive:

    When perspectives disagree, apply these rules:

    line 82
  4. Distinctive:

    PR: Add rate limiting middleware to API gateway

    line 143
  5. Very specific:

    Materiality Gate: Use Deep Review for high-stakes.

    line 160

“Common” is measured: kept by at least 6 in 10 of the 38 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Deep Review

Perform thorough code review using three perspectives with opposing mindsets. Their disagreement surfaces issues; their agreement signals confidence.

When to Use

  • Architectural changes, multi-file refactors, or security-sensitive code
  • PRs that are too important for single-pass review
  • When you suspect confirmation bias in a standard review
  • High-stakes merges where the cost of a missed issue is high

When NOT to Use

  • Routine single-file edits (use standard code-review skill)
  • Documentation-only PRs
  • Formatting/linting changes

The Three Perspectives

AgentMindsetQuestionOwns
Advocate"Why is this correct?"Trust boundaries, design rationale, false-positive defenseCorrectness defense
Skeptic"How can I break this?"Bugs, edge cases, code smells that indicate bugsCorrectness attack
Architect"Is this the right direction?"System impact, scope, structural smells, tech debtDirection

Workflow

Phase 1: Gather Context

  1. Identify the changes — PR diff, local changes, or specific files
  2. Collect context — related files, tests, recent history of changed modules
  3. Note observations — anything unusual before analysis begins

Phase 2: Parallel Analysis

Run all three perspectives independently. Each sees the same context but asks different questions.

Advocate Analysis

  • What problem does this solve?
  • What design decisions are intentional (not accidental)?
  • Where are the trust boundaries correctly placed?
  • What would break if we rejected this PR?
  • Defend against false-positive concerns raised by Skeptic

Skeptic Analysis

  • What inputs could break this? (null, empty, overflow, concurrent, malicious)
  • What error paths are unhandled?
  • What assumptions are undocumented?
  • What would a fuzzer find?
  • What code smells indicate deeper bugs? (naming lies, magic numbers, commented-out code)
  • What works in tests but would fail in production?

Architect Analysis

  • Does this fit the existing architecture or fight it?
  • What's the blast radius if this fails?
  • Does this increase or decrease coupling?
  • Is there scope creep disguised as "while I'm here"?
  • What precedent does this set for future changes?
  • Is there tech debt being introduced? Is it intentional and documented?

Phase 3: Synthesis

3.1 Agreement Analysis

What do multiple perspectives agree on? → High-confidence findings.

3.2 Conflict Resolution

When perspectives disagree, apply these rules:

ConflictResolution
Skeptic finds bug, Advocate defendsDoes Advocate cite file:line that refutes? If not, Skeptic wins
Advocate says intentional, Skeptic says bugIf Skeptic shows reproducible path → it's a bug regardless of intent
Architect says blocking, Skeptic disagrees on prioritySkeptic's priority on correctness issues; Architect's on direction
No evidence either wayMark as "Disputed" for human decision

Core rule: Evidence beats assertion. A file:line citation wins over "probably."

3.3 Final Output

## Deep Review: <title>

### Summary
<1-2 sentence overview of the change and verdict>

### Perspectives

**Advocate** (Design Rationale)
<key defenses and intentional design decisions>

**Skeptic** (Risk Analysis)
<bugs found, edge cases, concerns with evidence>

**Architect** (Architectural Impact)
<patterns, debt, direction, system-level concerns>

### Consolidated Findings

| # | Issue | Priority | Advocate | Skeptic | Architect |
|---|-------|----------|----------|---------|-----------|
| 1 | <issue> | Critical/High/Medium/Low | <view> | <view> | <view> |

### Disputed (if any)
<issues where perspectives disagree and human must decide>

### Recommendations
<prioritized actions>

### Follow-up Items
<non-blocking concerns worth tracking>

Priority Classification

PriorityCriteriaAction
CriticalData loss, security vulnerability, crash in production pathBlock merge
HighIncorrect behavior under realistic conditionsBlock merge
MediumCode smell, missing test, unclear naming, minor debtRequest fix or accept with note
LowStyle, nitpick, suggestion for futureComment only

Example

PR: Add rate limiting middleware to API gateway

Advocate: "Rate limiting prevents resource exhaustion. The sliding window approach handles burst traffic better than fixed windows. The 429 response includes Retry-After header per RFC 6585."

Skeptic: "The window reset logic at middleware/rate-limit.ts:47 uses Date.now() but the TTL in Redis uses seconds — off by 1000x. Under load, the counter will never expire. Also: no test covers the window boundary."

Architect: "Rate limiting belongs at this layer (before auth, after TLS). But the config is hardcoded — should use env vars for per-deployment tuning. This sets precedent that all middleware reads config from constants."

Synthesis: Skeptic's timing bug is Critical (blocks merge). Architect's config concern is Medium (fix in follow-up). Advocate's design rationale is sound.


Integration with ACT

  • Tenet II (Disconfirmation): The Skeptic's entire job is disconfirmation
  • Tenet III (Multiple Hypotheses): Three perspectives prevent anchoring on first interpretation
  • Tenet VIII (Adversarial Self-Probe): The review structure IS adversarial by design
  • Materiality Gate: Use Deep Review for high-stakes; standard code-review for routine

Would Revise If

Revise if the three-perspective (Advocate / Skeptic / Architect) review repeatedly converges to consensus that misses real defects later found in production, or if reviewer time-cost exceeds 2× standard code-review without producing distinct findings in 3+ consecutive uses.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.