Review-only GitHub pull request analysis with the gh CLI. Use when asked to review a PR, provide structured feedback, or assess readiness to land. Do not merge, push, or make code changes you intend to keep.
86
83%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Perform a thorough review-only PR assessment and return a structured recommendation on readiness for /preparepr.
main or origin/main, not during review, not ever.git push at all during review. Treat review as read only.~/dev/openclaw if available; otherwise ask user..local/review.md inside the worktree.Create a checklist of all review steps, print it, then continue and execute the commands.
Use an isolated worktree for all review work.
cd ~/dev/openclaw
# Sanity: confirm you are in the repo
git rev-parse --show-toplevel
WORKTREE_DIR=".worktrees/pr-<PR>"
git fetch origin main
# Reuse existing worktree if it exists, otherwise create new
if [ -d "$WORKTREE_DIR" ]; then
cd "$WORKTREE_DIR"
git checkout temp/pr-<PR> 2>/dev/null || git checkout -b temp/pr-<PR>
git fetch origin main
git reset --hard origin/main
else
git worktree add "$WORKTREE_DIR" -b temp/pr-<PR> origin/main
cd "$WORKTREE_DIR"
fi
# Create local scratch space that persists across /reviewpr to /preparepr to /mergepr
mkdir -p .localRun all commands inside the worktree directory.
Start on origin/main so you can check for existing implementations before looking at PR code.
gh pr view <PR> --json number,title,state,isDraft,author,baseRefName,headRefName,headRepository,url,body,labels,assignees,reviewRequests,files,additions,deletions --jq '{number,title,url,state,isDraft,author:.author.login,base:.baseRefName,head:.headRefName,headRepo:.headRepository.nameWithOwner,additions,deletions,files:.files|length,body}'# Use keywords from the PR title and changed files
rg -n "<keyword_from_pr_title>" -S src packages apps ui || true
rg -n "<function_or_component_name>" -S src packages apps ui || true
git log --oneline --all --grep="<keyword_from_pr_title>" | head -20If it already exists, call it out as a BLOCKER or at least IMPORTANT.
Assign yourself so others know someone is reviewing. Skip if the PR looks like spam or is a draft you plan to recommend closing.
gh_user=$(gh api user --jq .login)
gh pr edit <PR> --add-assignee "$gh_user"Use the body from step 1. Summarize goal, scope, and missing context.
Minimum:
gh pr diff <PR>If you need full code context locally, fetch the PR head to a local ref and diff it. Do not create a merge commit.
git fetch origin pull/<PR>/head:pr-<PR>
# Show changes without modifying the working tree
git diff --stat origin/main..pr-<PR>
git diff origin/main..pr-<PR>If you want to browse the PR version of files directly, temporarily check out pr-<PR> in the worktree. Do not commit or push. Return to temp/pr-<PR> and reset to origin/main afterward.
# Use only if needed
# git checkout pr-<PR>
# ...inspect files...
git checkout temp/pr-<PR>
git reset --hard origin/mainBe honest. Call out low value AI slop.
Review correctness, design, performance, and ergonomics.
Assume OpenClaw subagents run with full disk access, including git, gh, and shell. Check auth, input validation, secrets, dependencies, tool safety, and privacy.
Identify what exists, what is missing, and what would be a minimal regression test.
Check if the PR touches code with related documentation such as README, docs, inline API docs, or config examples.
Check if CHANGELOG.md exists and whether the PR warrants an entry.
Decide if /preparepr can fix issues or the contributor must update the PR.
Write the full structured review sections A through J to .local/review.md.
Create or overwrite the file and verify it exists and is non-empty.
ls -la .local/review.md
wc -l .local/review.mdProduce a review that matches what you saved to .local/review.md.
A) TL;DR recommendation
B) What changed
C) What is good
D) Security findings
E) Concerns or questions (actionable)
F) Tests
G) Docs status
H) Changelog
CHANGELOG.md needs an entry and which category.I) Follow ups (optional)
J) Suggested PR comment (optional)
ec8d4f8
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.