review-pr
Review a ProbPipe PR for documentation, tests, API consistency, philosophy adherence, and code quality. Use when asked to review a PR or check for issues.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Review a ProbPipe PR for documentation, tests, API consistency, philosophy adherence, and code quality. Use when asked to review a PR or check for issues.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Critically interview the user about a plan or design until every design-significant branch reaches shared understanding. Use when the user wants to stress-test a plan, clarify an uncertain idea, compare real alternatives, expose edge cases, or be grilled before implementation.
Extend a design criticizing session with repository-aware documentation discovery, terminology checks, decision status, and controlled documentation updates. Use when the user wants to stress-test a plan against existing code and documented intent, create a private working draft, or keep canonical design documentation aligned as decisions are accepted.
Run four independent PR reviews (/review-pr, /review, /code-review, /audit-tests) in parallel and merge them into one deduplicated, severity-tiered report. Use for a thorough multi-lens review before merging a non-trivial PR.
Audit the ProbPipe test suite for gaps, stale tests, duplicates, style issues, weak assertions, and mathematical correctness.
| name | review-pr |
| description | Review a ProbPipe PR for documentation, tests, API consistency, philosophy adherence, and code quality. Use when asked to review a PR or check for issues. |
| allowed-tools | Read Grep Glob Bash(gh *) Bash(git *) Agent |
| argument-hint | ["pr-number"] |
Review pull request $ARGUMENTS (if no number given, detect the PR for the
current branch using gh pr view).
You are performing a read-only review. Do not edit any files. Your job is to analyze the PR and present a structured report of findings with concrete suggestions. The user will decide which suggestions to act on before any changes are made.
Read the following files in full, from the PR's base ref — e.g.
git show origin/main:STYLE_GUIDE.md after git fetch origin main — not from
the local checkout: a worktree copy may be stale relative to the branch the PR
merges into. These are the authoritative source of truth for all naming,
style, architecture, and API conventions. Every check you perform in Step 2
must be grounded in what these documents say — do not rely on your own prior
knowledge of ProbPipe conventions, as they may have changed.
STYLE_GUIDE.md — naming, imports, types, protocols, testing, module layoutCONTRIBUTING.md — architecture overview, design principles, package
structure, dependency graph, registry patterns, PR workflowgh pr view $ARGUMENTS --json title,body,baseRefName,headRefName,files
gh pr diff $ARGUMENTS
Identify which files were added, modified, or deleted. Read the full contents of every modified and newly added file so you have complete context (not just the diff hunks).
Before checking for redundant code, familiarize yourself with the abstractions already available in the codebase. Scan these areas for classes, utilities, and patterns that the PR's code should be using rather than reimplementing:
probpipe/__init__.py — the public API surfaceprobpipe/core/ — base classes, protocols, ops, registries_weights.py, _utils.py, _array_utils.py, etc.)Work through every category below. For each, note specific findings with file paths and line numbers. If a category has no issues, say so briefly.
Check that the PR adheres to every convention documented in STYLE_GUIDE.md and
CONTRIBUTING.md. These include (but are not limited to) — always defer to what
the docs actually say over this summary:
num_atoms / replicate_size property
convention, and naming accuracy (STYLE_GUIDE.md §1.12): names describe
what the object is (semantic accuracy), align with numpy/JAX vocabulary,
pair symmetrically, and renames sweep all analogous symbols + test filesfrom __future__ import annotations, relative internals, import
order, optional dependency patterns, TYPE_CHECKING guards__all__ exports — updated in __init__.py when new public symbols are
addedParameters, Returns, Raises)?docs/
updated?STYLE_GUIDE.md and/or
CONTRIBUTING.md updated to reflect those changes? Flag any case where a PR
changes how things are done but leaves the convention docs describing the old
way.Using the abstractions you identified in Step 1c, check whether the PR reimplements logic that already exists. Common patterns to watch for:
WorkflowFunction broadcastingisinstance with existing protocolsAlso flag:
Flag any comments that look like AI thinking artifacts rather than intentional documentation:
# TODO or # FIXME comments that were not in the original code and seem
like AI planning artifacts rather than genuine action itemsvmap
instead of Python loops, jnp instead of np where JIT is intended)?kind:breaking-change label where the public API changes?*_plan.md files, references to
local plan directories, leftover debug scripts?pre-commit autoupdate)? An inline pin no bumper parses will
silently drift.Organize your findings into a structured report with this format:
## PR Review: <PR title>
### Summary
<1-2 sentence overall assessment>
### Findings
#### Critical (must fix)
- ...
#### Recommended (should fix)
- ...
#### Minor (nice to have)
- ...
### Suggested Changes
<Numbered list of concrete, actionable changes with file paths and line numbers.
Group related changes together.>
Do not make any changes. Present the report and wait for the user to decide which suggestions to implement. Once the user approves specific items, then proceed with edits.