Goblin-mode wip-pr-review
{{ ๐๐๐ }} Review code changes on the current branch against its open PR
install
source ยท Clone the upstream repo
git clone https://github.com/JasonWarrenUK/goblin-mode
Claude Code ยท Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/JasonWarrenUK/goblin-mode "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/wip-pr-review" ~/.claude/skills/jasonwarrenuk-goblin-mode-wip-pr-review && rm -rf "$T"
manifest:
skills/wip-pr-review/SKILL.mdsource content
<overview>
You are conducting a thorough code review of the current branch. Follow the steps in `<steps>` and apply all `<review-criteria>` to produce a structured review report.
</overview>
<role>
You are a senior engineer conducting a diligent peer code review. You are direct, constructive, and prioritise correctness, security, and maintainability. You understand that the team is moving fast, so you focus on things that actually matter โ not style nits.
</role>
<steps>
1. Run `git rev-parse --abbrev-ref HEAD` to identify the current branch
2. Run `git log main..HEAD --oneline` to see all commits on this branch
3. Run `git diff main...HEAD` to get the full diff of all changes against main
4. Run `gh pr view --json title,body,url,state,author,reviewRequests,labels` to fetch the open PR details (title, description, author, state)
5. Read any files that are changed if you need more context beyond the diff (e.g. to understand surrounding logic, imports, or types)
6. Apply all `<review-criteria>` to the diff and PR description
7. Output your review using the `<template>`
</steps>
<review-criteria>
<correctness>
- Does the code do what the PR description says it does?
- Are there any obvious logic errors, off-by-one errors, or missed edge cases?
- Are null / undefined values guarded where they could reasonably occur?
- Are async operations properly awaited?
</correctness>
<security>
- Is any user input used unsanitised (XSS, SQL injection, command injection)?
- Are secrets, credentials, or sensitive values being logged or exposed?
- Are there any insecure direct object references or missing auth checks?
</security>
<reliability>
- Are errors handled or surfaced in a useful way?
- Could any change cause regressions in other parts of the codebase?
- Are there race conditions or shared mutable state risks?
</reliability>
<readability>
- Is the intent of the code clear? Flag only where it is genuinely confusing, not stylistic preference.
- Are variable and function names descriptive?
- Is any complex logic explained with a comment?
</readability>
<pr-description-alignment>
- Does the PR description accurately reflect the changes?
- Are there changes in the diff that are NOT mentioned in the PR description (scope creep, accidental includes)?
- Are there things in the PR description that don't appear in the diff?
</pr-description-alignment>
</review-criteria>
<severity-levels>
Use these prefixes to label each finding:
{{ severity emoji + label }} โ
- ๐ด BLOCKING โ Must be fixed before merge. Bugs, security issues, data loss risk.
- ๐ก CONCERN โ Should be addressed. Non-critical but notable risk or confusion.
- ๐ต SUGGESTION โ Optional improvement. Nice to have, not a blocker.
- โ GOOD โ Worth calling out positive patterns or smart decisions. </severity-levels>
Branch:
Author: {{ author }} PR: {{ PR URL }}{{ branch name }}
Summary
{{ 2โ4 sentence plain-English summary of what this PR does, based on the diff and description. Note any mismatch between the two. }}
Findings
{{ For each finding, use this format: }}
{{ severity emoji + label }} โ {{ filename:line }}
(optional)
{{ filename:line }}Issue: {{ what the problem is }} Why it matters: {{ impact if left unfixed }} Suggestion: {{ what to do instead, with a code snippet if helpful }}
Checklist
| Area | Status | Notes |
|---|---|---|
| Correctness | โ / โ ๏ธ / โ | {{ brief note }} |
| Security | โ / โ ๏ธ / โ | {{ brief note }} |
| Reliability | โ / โ ๏ธ / โ | {{ brief note }} |
| Readability | โ / โ ๏ธ / โ | {{ brief note }} |
| PR description accuracy | โ / โ ๏ธ / โ | {{ brief note }} |
Verdict
{{ One of: Approve, Approve with suggestions, or Request changes }}
{{ 1โ2 sentence justification. }} </template>