From cms-cultivator
Reviews pull requests and local changes with focus areas: code, security, breaking, testing, size, performance.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cms-cultivator:pr-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Review a pull request or analyze your local changes before submitting. The main session runs this skill directly — no orchestrator agent is involved.
Review a pull request or analyze your local changes before submitting. The main session runs this skill directly — no orchestrator agent is involved.
Review someone else's PR:
Self-review your own changes before creating a PR:
Focus options: code, security, breaking, testing, size, performance (or all for a comprehensive review).
PR #123, pr-review 456) → review that PR.For PR review (Tier 2 with gh available):
Run in parallel:
gh pr view <number> --json title,body,baseRefName,headRefName,author,additions,deletions,changedFilesgh pr diff <number>gh pr checks <number> (if CI status matters)For self-review:
Determine the default branch (gh repo view --json defaultBranchRef --jq .defaultBranchRef.name) — usually main or 1.x. Then run in parallel:
git branch --show-currentgit log --oneline <default>..HEADgit diff --stat <default>...HEADgit diff <default>...HEADFor portable environments (no gh):
Ask the user to share the PR description, the diff, or the file list. Do as much analysis as the provided context allows; note what would have been checked with full access.
| Size | Lines changed |
|---|---|
| XS | < 10 |
| S | 10–100 |
| M | 100–400 |
| L | 400–1,000 |
| XL | > 1,000 — recommend splitting |
Complexity is a judgment call: low for isolated changes, high for cross-cutting refactors or unfamiliar areas.
Use Read, Grep, and Bash directly. Spawn no agents — the skill performs the analysis itself.
code)security)$_GET/$_POST, request params used directly in queries or output$wpdb->prepare, db_select placeholders)esc_html/esc_attr/esc_url/Html::escape/Xss::filtercurrent_user_can), missing nonce verification (wp_verify_nonce), missing Drupal access checksunserialize on user inputbreaking)composer.json/package.jsontesting)size)performance)Drupal:
config/sync/ changes match code changesdb_query/db_select with placeholders*.services.yml properly wiredWordPress:
$wpdb->prepare() on all dynamic queriescurrent_user_can) before admin actionssanitize_text_field, wp_kses)esc_html, esc_attr, esc_url)acf-json/block.json correct, attributes typed# 🤖 AI Code Review — PR #<number>
**Size:** <XS/S/M/L/XL> (<N> files, +<X>/-<Y> lines)
**Complexity:** <Low/Medium/High>
## Summary
<2–4 sentence overall assessment>
## Required Changes
### Critical Issues
- [ ] **<issue>** (`<file>:<line>`) — <problem and recommended fix>
### Security Concerns
- [ ] **<issue>** (`<file>:<line>`) — <risk and fix>
## Suggestions
### Performance
- <bullet>
### Code Quality
- <bullet>
### Testing Gaps
- <bullet>
## Test Plan
- <specific test case>
- <specific test case>
## Overall Recommendation
- [ ] Approve
- [ ] Request Changes
- [ ] Comment
Each finding should be specific (auth.php:42, not "authentication code"), include why it matters, and suggest a fix. Avoid generic checklist output.
If reviewing a PR (not self-review) and the user wants the review posted:
gh pr review <number> --<action> --body "$(cat <<'EOF'\n<review>\nEOF\n)".Self-reviews stay local — they're not posted anywhere.
When invoked via a subagent prompt (e.g. from the code-review routine), behave non-interactively:
The parent is responsible for posting to Teamwork/GitHub/Slack and for any notification rules.
When deciding whether to recommend "approve" vs. "request changes," apply the 5 Cs from the strategic-thinking skill:
Use these to provide a recommendation with reasoning, not just a verdict.
npx claudepluginhub kanopi/claude-toolbox --plugin cms-cultivatorReviews GitHub pull requests for bugs, security, performance, and code quality issues with severity-based feedback.
Reviews GitHub pull requests end-to-end using the gh CLI. Covers diff analysis, commit history, CI checks, and severity-leveled feedback submission.
Reviews code changes for correctness, regressions, security, compatibility, and test coverage before merge. Designed for PRs, branches, or local diffs.