Review Pr Judgment logo

Review Pr Judgment

Community
doodledood
review-pr-judgment

Called by review-pr in both of its modes: the whole-PR premise check that asks whether a change earns its keep against the pain it solves, firing only on concrete evidence and returning non-blocking author-facing questions, one per root, with no severity. Not for direct use.

Overview

Publisherdoodledood
Repositorymanifest-dev
Skill namereview-pr-judgment
Stars
77
Forks
10
Bundled files
Instructions only
LicenseMIT
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.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

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

Installation

Install the Review Pr Judgment 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/doodledood/manifest-dev/tree/main/claude-plugins/manifest-dev-tools/skills/review-pr-judgment
  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/doodledood/manifest-dev.git /tmp/manifest-dev
mkdir -p .claude/skills
cp -r /tmp/manifest-dev/claude-plugins/manifest-dev-tools/skills/review-pr-judgment .claude/skills/review-pr-judgment
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Review Pr Judgment 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 Review Pr Judgment 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 Review Pr Judgment 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.

review-pr-judgment

The reviewer-fleet dimensions find defects inside a change whose intent is taken as given — they judge implementation against explicit requirements and weigh the author's rationale as evidence. The judgment pass adds the one thing they structurally cannot: it asks whether the change earns its keep — whether it should exist, in this shape, at this footprint, given the pain it claims to solve.

The single question: Does this change — its existence, its approach, and its footprint — earn its keep against the pain it solves, and is anything the pain requires missing?

It runs as a wide-context pass. Receives: the PR description, the PR conversation, the codebase direction, the full PR-head diff (base..head, the whole PR), and, in manifest mode, the manifest's Intent as the stated pain. It is non-blocking: every finding is a question the author answers, never a gate. The caller decides where this runs and gates fresh generation to once per PR; this skill only judges and returns.

Altitude — whole-PR only

The judgment pass operates on the PR as a whole, or a major component of it — the big question, never line-level ones. It must never fire on a small-item nitpick — an unused parameter, a single narrow helper, one incidental line; those belong to the defect dimensions or are dropped. The surface, omission, and precedent triggers fire only on a material footprint: a subsystem, a new public API area, a cluster of knobs, an established pattern — never a single incidental item.

Whole-PR altitude is unconditional: whenever the pass runs, it reads the entire PR head, not just the incrementally-reviewed range on a loop or re-review pass, so its question always concerns the whole change. Judgment findings are therefore exempt from any reviewed-range bounding that scopes defect findings to the latest delta.

The evidence bar

The pass exists to remove noise (unjustified changes, orphaned surface). It becomes noise the instant it fires on taste. So every trigger fires only on concrete, nameable evidence — something you can point at. "I'd have done it differently" is not evidence and stays dropped, just as implementation review requires evidence rather than a competing preference. When in doubt, stay silent: a missed premise question costs less than an arrogant one.

Triggers

Each trigger carries what it fires on (concrete evidence) and what it never fires on (taste / nitpick).

1. Necessity

  • Fires on: the change, or a major part of it, duplicates a capability that already exists (point to it), guards a condition that cannot occur, or solves a problem no consumer, caller, or issue actually has.
  • Never: "I wouldn't have built this," with no already-exists or no-consumer anchor to point at.

2. Pain reconstructable

  • Fires on: the pain the change claims to solve cannot be reconstructed from any source — PR description, commits, linked issue, or (manifest mode) the manifest's Intent. Surfaced as a question ("what pain does this solve?"), not a verdict.
  • Never: the pain is stated but you personally find it unconvincing.

3. Surface proportionality

  • Fires on: the change adds material surface — a new public API area, a cluster of options or flags, a new configuration concept — with no consumer in the same change and no stated need for one.
  • Never: one unused parameter or a single narrow helper — that is a defect-dimension / dead-code concern, not this pass.

4. Solution-shape

  • Fires on: a materially simpler or more direct solution to the same pain is concretely nameable — the one-line-upstream fix, the existing primitive that removes the whole mechanism. When a change modifies a shared core, runtime, or framework, test whether the whole capability is expressible through the existing extension surface instead. The evidence is the specific contract members — hooks, tool interfaces, options, middleware, or public functions — that together supply every capability the feature needs. If even one required capability is missing, this ground does not fire.
  • Never: "I'd architect it differently," with no concretely simpler solution to point at.

5. Omission-vs-pain

  • Fires on: the change leaves out something the stated pain demonstrably requires — a path or consumer the pain needs that is absent from the change and uncovered elsewhere. Name the missing piece.
  • Never: "you could also add X," where X is not required by the stated pain.

6. Irreversibility

  • Fires on: the change touches a named one-way-door surface — a schema migration, a public API signature, a persisted data format, a security boundary. The finding is "this is hard to undo — deliberate?", not a defect claim.
  • Never: reversible internal code.

7. Precedent

  • Fires on: the change introduces a new pattern already repeated within it, or clearly positioned to be copied — point to the pattern and its likely propagation.
  • Never: a one-off you simply dislike stylistically.

Findings are a distinct class — not a severity

A judgment finding is not placed on the defect severity scale (low / medium / high / critical). That scale measures defect badness and blocking weight; a premise question is a different axis — non-blocking, yet sometimes the most important thing about the PR. Each judgment finding carries exactly:

{ trigger, concrete evidence, author-facing question }

and no severity. Return shape: the list of such findings, already collapsed to one per root (below), or an empty list. This is load-bearing, not cosmetic:

  • The caller's consolidation step drops Low-severity fleet findings other than defect-class before posting — the only place a drop-Low filter exists, and only because it posts publicly. A judgment finding tagged Low would be silently deleted there. So judgment findings are exempt from the drop-Low filter and carry their own inclusion rule: surface if the evidence-gate fired and the PR does not already cover the point. They are still deduped and merged like any other finding.
  • Manifest-mode contract verification and /do gate verification keep low findings by their own acceptance thresholds; the judgment class is orthogonal to all of that.

Synthesis — one question per root

When several triggers fire on the same root — necessity + solution-shape + surface all pointing at one over-built change — collapse them into one "does this earn its keep, here's why I ask" question. Never post one comment per trigger. The pass does this collapsing itself, before returning, so one-question-per-root holds in every mode (it does not depend on any later consolidation step — which merely dedupes the already-synthesized questions against defect findings on top). Enumeration is exactly how this pass would become the noise it exists to remove.

Non-blocking — always a question, never a gate

Every judgment finding is posted as an author-answerable question through the existing review voice and posting path. The judgment pass:

  • never blocks a merge, submits request_changes, or auto-approves;
  • adds no new posting path — findings ride the existing single batched review and hidden self-marker;
  • in manifest mode, is strictly additive — the manifest contract's PASS/FAIL is computed exactly as it would be without the pass, untouched by any judgment finding.

If nothing clears the evidence bar, the pass stays silent. Silence is the expected default on a sound change.

Frequently asked questions

What does the Review Pr Judgment AI skill do?

Called by review-pr in both of its modes: the whole-PR premise check that asks whether a change earns its keep against the pain it solves, firing only on concrete evidence and returning non-blocking author-facing questions, one per root, with no severity. Not for direct use.

Why use Review Pr Judgment on TypingMind?

Because you install it once and use it with any model. Review Pr Judgment 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 Review Pr Judgment in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/doodledood/manifest-dev/tree/main/claude-plugins/manifest-dev-tools/skills/review-pr-judgment. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Review Pr Judgment?

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 Review Pr Judgment?

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

Is the Review Pr Judgment AI skill free?

Yes. It is published on GitHub by doodledood under the MIT license. 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 👇