Deep Review logo

Deep Review

Community
pedronauck
deep-review

Review branch diffs, working trees, or PRs in depth with defect, polish and cross-contract coverage. Includes incremental and spec-conformance reviews; excludes fixes, spec-document reviews and quick single-file feedback.

Overview

Publisherpedronauck
Repositoryskills
Skill namedeep-review
Stars
635
Forks
89
Bundled files
22
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 22 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by pedronauck on GitHub. Read the source before you install it.

Installation

Install the Deep Review AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/pedronauck/skills/tree/main/skills/mine/deep-review
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/pedronauck/skills.git /tmp/skills
mkdir -p .claude/skills
cp -r /tmp/skills/skills/mine/deep-review .claude/skills/deep-review
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Deep Review in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Deep Review on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Deep Review is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Deep Review

Find actionable defects and improvements with complete selected-hunk and project-rule accounting. Scripts handle discovery, partitions, artifact assembly and validation; the model supplies applicability decisions and evidence-based review. Keep source read-only; write review artifacts under <out> (default .deep-review/<target>/). Resolve <skill-dir> from this file and run bundled commands from the reviewed repository root.

Contract

  • No total file or line cap on the PR. Every selected hunk has exactly one defect owner and one polish owner. Both default to broad cohorts of 200 files / 15,000 changed lines per job, adjustable with --max-cohort-files, --max-cohort-lines, --max-polish-files and --max-polish-lines. Oversized files are sliced without losing hunks. An optional --max-context-lines N preparation budget accounts for whole-file reading while preserving selection.
  • Every defect has causal evidence; every advisory has an observed premise, concrete improvement and bounded fix. Investigated rejections stay in the suppression ledger. No quota; advisories never block SHIP.
  • Every applied rule comes from material actually read, with verbatim text, source, scope and explicit assessment. Root/nested instructions retain scope and precedence. Metadata is a triage queue, not an instruction to load every skill.
  • Relevant linters run first or reuse evidence for the same frozen inputs. Record unavailable lanes; suppress overlapping findings. Never install tools to fill a lane.
  • The checkout, rule evidence and job contracts are pinned. Valid outputs are reused only for their unchanged contracts. Missing coverage, stale evidence and malformed results prevent completion.
  • Publish only with --publish or explicit session authorization. Product fixes are outside this skill.

1. Prepare

bash
python3 <skill-dir>/scripts/prepare_review.py --out <out> \
  [--pr N | --base REF | --staged | --worktree] [--files p1,p2] \
  [--spec PATH] [--full] [--max-cohort-files N] [--max-cohort-lines N] \
  [--max-polish-files N] [--max-polish-lines N]

The helper creates the manifest, knowledge.md and decisions.template.json. Inspect the manifest summary for correct base/head and file selection, especially after a rebase. Empty selection ends as “nothing reviewable.” For PRs, fetch the missing head/base/history using the manifest's diagnostic and retry.

Read knowledge.md, not the raw registry. Use its metadata to classify routers; read applicable instructions and selected skill sections. Copy the template with cp <out>/decisions.template.json <out>/decisions.json, then edit only the semantic decisions, preserving fingerprints. Use compact source IDs or grouped exclusions; supply actual reasons, exact rule spans, change intent and linter evidence. Read context-pack.md — Decision file for this input contract, including rule lane/lens binding.

bash
python3 <skill-dir>/scripts/prepare_review.py --out <out> --decisions <out>/decisions.json

Exit 2 means decisions remain: applied skill parents reveal their reference routes on the next compile. The refreshed decisions.template.json already preserves prior decisions and additional fields; copy it over decisions.json and edit the pending entries. Assess references from their routing conditions. Excluding a parent accounts for its dependent references; shared references remain pending while an applicable parent needs them. Missing required references block preparation.

Complete decisions compile rules.json, context-pack.md, a package-oriented plan.json, per-job contracts and jobs.json. Do not write preparation scripts, manually enumerate partitions, or author a walkthrough before dispatch. Adjust generated groups only for real semantic boundaries. Sweeps default to none; use orchestration.md — Sweeps only for a concrete cross-cohort hypothesis. --spec adds the conformance sweep automatically.

2. Review

Use native agents by default, at most six concurrent. A worker receives only its rendered prompt: “Read <prompt> and complete its assigned review; submit its draft with the local command in that prompt.” Start without inherited conversation where supported (fork_turns=none). The worker does not load this skill, global jobs/manifest files or orchestrator references. Its contract includes the necessary context, rules, hunk IDs, evidence grammar and output shape.

Workers fill the provided draft template with explicit assessments, then run:

bash
python3 <skill-dir>/scripts/run_jobs.py --out <out> --job <label> --submit

This validates only that job and expands IDs into canonical output. Missing or invalid fields produce complete local diagnostics; repair the existing draft. No blanket clear/compliant, global validation in workers, or new investigation merely to reconstruct JSON.

The orchestrator alone runs the global gate after a batch, or to resume an interrupted round:

bash
python3 <skill-dir>/scripts/run_jobs.py --out <out> --validate-only

Dispatch only pending/invalid status rows using their prompt field: invalid rows already point to a targeted repair prompt. Reuse valid outputs. Repeated failure without progress requires inspecting the actual diagnostic, not looping the same review request. For Workflow execution, read orchestration.md — Engines; for non-native --subagent, read subagent-runtimes.md. External calls spend compozy exec credit; preserve the user-selected model/effort.

3. Report

After global validation exits 0:

bash
python3 <skill-dir>/scripts/merge_findings.py --out <out>
python3 <skill-dir>/scripts/render_review.py --out <out> [--rework "<structural rationale>"]
python3 <skill-dir>/scripts/render_html.py --out <out>

The renderer builds the walkthrough from the plan, intent and reviewer summaries at report time. It derives SHIP / FIX_BEFORE_SHIP / REWORK from defects, preserves advisories/suppressions and writes state. State the verdict only after render succeeds; include counts, every Critical/Major defect, coverage and the review.html path. Use ReportFindings when available, defects first and advisories afterward. Read output-contracts.md only when changing presentation or resolving a report diagnostic.

Scope, configuration and recovery

--base, --staged, --worktree, --files, --pr, --full retain the manifest builder's scope semantics. Worktree review includes uncommitted/untracked files and is always full. Prior state scopes normal rounds incrementally; --full requests a complete round. --spec accepts a file/directory and additional canonical artifacts can be named in decisions.

Batch limits accept any positive integer and never truncate the PR. Preparation preserves selected limits across decision stages, resume and refresh in prepare-request.json; passing a limit again overrides only that setting. Direct build_jobs.py inherits plan limits and accepts the same four batch flags.

Repo .deep-review.yaml keys path_filters, path_instructions, request_changes_workflow fall back individually to .coderabbit.yaml (reviews.*). Built-in generated/vendor/lock/snapshot exclusions remain. Path instructions have highest rubric precedence, followed by deepest applicable project instructions, root instructions, routed skills and learnings.

Re-run preparation without --refresh to resume pinned inputs. A changed scope/source needs --refresh and fresh applicability evidence; never bless the old snapshot manually. Provider block is runner exit 2 with run-blocker.json; resume the same command when available. Runner/global freeze exit 3 means stale inputs. Invalid input exit 1 needs artifact repair, never bypassed coverage. prepare-status.json, per-job statuses and external attempt logs expose timing without additional model work.

With --publish, read publish-github.md and execute its GitHub recipes after local rendering. When a user rebuts a finding, read state-and-learnings.md for the correction workflow. Read taxonomy.md only when an evidence/severity decision is unclear; the normal reviewer prompt already contains its required grammar.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Deep Review AI skill do?

Review branch diffs, working trees, or PRs in depth with defect, polish and cross-contract coverage. Includes incremental and spec-conformance reviews; excludes fixes, spec-document reviews and quick single-file feedback.

Why use Deep Review on TypingMind?

Because you install it once and use it with any model. Deep Review is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Deep Review in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/pedronauck/skills/tree/main/skills/mine/deep-review. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Deep Review?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Deep Review?

As many as you like. As long as a model supports skills, you can use Deep Review with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Deep Review AI skill free?

It is published on GitHub by pedronauck. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇