reviewing-external-prs
Review external GitHub PRs with human approval for each comment.
Skill by DrJKL
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/drjkl-reviewing-external-prs
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/reviewing-external-prs
What's inside
- Skill name
reviewing-external-prs- Description
- Review external GitHub PRs with human approval for each comment. Use when asked to review a PR URL or leave review comments on someone else's PR.
- License
- MIT
- Instructions
- 156 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Reviewing External PRs
Two-phase PR review: Phase 1 checks out the PR and runs the review orchestrator. Phase 2 (in a new thread after handoff) converts findings to conventional comments and posts them.
## Prerequisites
- `gh auth status` must pass
## Phase 1: Checkout + Orchestrate (This Thread)
### 1. Checkout PR Locally
Try in order until one works:
```bash
# Method 1: wt-continue (preferred)
which wt-continue && wt-continue <repo-name> "$(gh pr view <N> --repo <OWNER/REPO> --json headRefName -q .headRefName)"
# Method 2: git fetch PR ref (most reliable for forks)
gh repo clone "https://github.com/<OWNER>/<REPO>.git" /tmp/review-<REPO>-<N> -- --depth=100
cd /tmp/review-<REPO>-<N>
git fetch origin pull/<N>/head:pr-<N>
git checkout pr-<N>
# Method 3: gh pr checkout (sometimes fails for forks)
gh pr checkout <N>
```
Confirm: `pwd && git branch --show-current`
### 2. Gather PR Context
```bash
BASE=$(gh pr view <N> --repo <OWNER/REPO> --json baseRefName -q .baseRefName)
git fetch origin "$BASE"
# Write PR context for the review bundle
PR_CONTEXT=$(gh pr view <N> --repo <OWNER/REPO> --json title,body,author --template '{{.title}} by {{.author.login}}
{{.body}}')
```
### 3. Run Review Orchestrator
Load the skill:
```json
{ "name": "review-orchestrator" }
```
Follow the orchestrator workflow with:
- **Base ref:** `origin/${BASE}`
- **PR context:** pass to `gather-context.sh`
- **Note:** B-group usually skipped (no node_modules in temp clones). Minimum viable: A2-A11, A13, A15-A16 + C2.
**Do NOT manually review files instead. Do NOT use `gh pr diff`. Do NOT install deps.**
### 4. Mandatory Handoff After Triage
After the orchestrator triage completes, **you MUST hand off** to a new thread for Phase 2. Use the `handoff` tool:
```
goal: "Phase 2 of external PR review for <OWNER/REPO>#<N>. Load the reviewing-external-prs skill. Review artifacts are in <REPO_PATH>/.review-orch/compiled.md with triage decisions. Convert selected findings to conventional comments, get human approval, post as batched review, and reassign PR. Repo path: <REPO_PATH>, PR: <N>, Owner/Repo: <OWNER/REPO>, Base: <BASE>"
follow: true
```
**Do NOT attempt Phase 2 in this thread.** Context is exhausted by the orchestrator.
---
## Phase 2: Post Comments (New Thread After Handoff)
### 5. Convert Findings to Comments
Read `.review-orch/compiled.md` from the repo path. Convert each **selected** finding to conventional comment format:
| Orchestrator Severity | Conventional Label |
| --------------------- | ------------------------------------------ |
| Critical | `issue:` or `todo:` (blocking) |
| Major | `issue:` or `suggestion:` |
| Minor | `suggestion: (non-blocking)` or `nitpick:` |
| Nitpick | `nitpick: (non-blocking)` |
Exclude only: praise, exact duplicates, factually wrong findings (verify before dropping).
### 6. Present for Approval
```
[1] src/Foo.vue:42 - question
Draft: question: both key and label are set to item.id. Is that intended?
[2] src/parser.ts:128 - nitpick
Draft: nitpick (non-blocking): this split assumes no delimiter in values.
---
Which to post? Numbers ("1, 2"), "2cr" for @coderabbitai issue, "all", "none"
```
Wait for human decision. `cr` suffix appends `\n\n@coderabbitai Make an Issue to do this in a followup PR on a future date`.
### 7. Choose Review Event Type
```
Submit as: 1) COMMENT 2) APPROVE 3) REQUEST_CHANGES
```
Guidelines: all nits → APPROVE, blocking issues → REQUEST_CHANGES, questions → COMMENT.
### 8. Show Final Review + Post
Show exact review, wait for confirmation, then post as single batched review:
```bash
gh api repos/<OWNER>/<REPO>/pulls/<N>/reviews \
--method POST \
--input <(cat <<'EOF'
{"commit_id":"<SHA>","event":"COMMENT","body":"","comments":[...]}
EOF
)From DrJKL/ticket-to-pr-pipeline, MIT.
More from DrJKL/ticket-to-pr-pipeline
- 0.414score
issue-triage
DrJKL
Triages GitHub issue backlogs systematically.
SkillDFreshness: DClaude Code +9 - 0.414score
quality-checks
DrJKL
Runs quality gates (format, lint, typecheck) via single script.
SkillDFreshness: DClaude Code +9 - 0.409score
ci-checker
DrJKL
Checks GitHub CI status and guides fixing failures.
SkillDFreshness: DClaude Code +9 - 0.409score
notion-personal
DrJKL
Access personal/life Notion workspace shared with girlfriend.
SkillDFreshness: DClaude Code +9 - 0.409score
resolving-review-comments
DrJKL
Resolves GitHub PR review threads after commits address feedback.
SkillDFreshness: DClaude Code +9 - 0.409score
slack-context-fetcher
DrJKL
Fetches Slack thread content using a Slack bot for ticket context enrichment.
SkillDFreshness: DClaude Code +9 - 0.409score
coderabbit-intake
DrJKL
Fast-track CodeRabbit issues to PRs.
SkillDFreshness: DClaude Code +9 - 0.409score
addressing-review-comments
DrJKL
Checks out a PR branch via worktree, implements code review feedback as individual commits linking to each comment URL, runs quality gates, and hands off to…
SkillDFreshness: DClaude Code +9 - 0.408score
review-orchestrator
DrJKL
Dispatch review subagents, compile feedback, triage for human decision.
SkillDFreshness: DClaude Code +9 - 0.406score
pr-split-advisor
DrJKL
Analyzes implementation plans and recommends PR splitting strategy.
SkillDFreshness: DClaude Code +9 - 0.406score
coderabbit-reviewer
DrJKL
Integrates CodeRabbit for automated PR code review.
SkillDFreshness: DClaude Code +9 - 0.406score
pr-creator
DrJKL
Generate PR description, create PR with labels, update Notion.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Mar 4, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/DrJKL/ticket-to-pr-pipeline
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from DrJKL
- 0.414score
quality-checks
DrJKL
Runs quality gates (format, lint, typecheck) via single script.
SkillDFreshness: DClaude Code +9 - 0.414score
issue-triage
DrJKL
Triages GitHub issue backlogs systematically.
SkillDFreshness: DClaude Code +9 - 0.409score
resolving-review-comments
DrJKL
Resolves GitHub PR review threads after commits address feedback.
SkillDFreshness: DClaude Code +9 - 0.409score
ci-checker
DrJKL
Checks GitHub CI status and guides fixing failures.
SkillDFreshness: DClaude Code +9 - 0.409score
notion-personal
DrJKL
Access personal/life Notion workspace shared with girlfriend.
SkillDFreshness: DClaude Code +9 - 0.409score
slack-context-fetcher
DrJKL
Fetches Slack thread content using a Slack bot for ticket context enrichment.
SkillDFreshness: DClaude Code +9
Cite this page
reviewing-external-prs skill. Agent Mart. https://agentmart.dev/skills/drjkl-reviewing-external-prs (last updated 2026-10-24)