| name | jules-review |
| description | Review Jules (Google AI agent) pull requests using AI council. Supports -quick flag for lightweight reviews via parallel triage. |
| argument-hint | [-quick] [PR#] |
| allowed-tools | ["Bash","Read","Grep","Glob","Skill"] |
| user-invocable | true |
| context | fork |
| agent | general-purpose |
| metadata | {"author":"rube-de","version":"1.0.0"} |
Review Jules PRs
Review Jules (Google's AI coding agent) pull requests with council-powered multi-model review. Posts structured GitHub PR reviews with inline line comments tagging @jules.
Before posting any review (Step 6), read references/WORKFLOW.md for the exact review format, @jules tag placement, inline comment structure, and error handling. Do not guess at the format.
Triggers
/jules-review โ review the current branch's PR
/jules-review -quick โ quick review via parallel triage
/jules-review 42 โ review PR #42
/jules-review -quick 123 โ quick review of PR #123
Step 1: Parse Arguments
Extract from the user's input:
-quick flag (boolean): If present, force quick mode (parallel triage)
- PR number (optional integer): If present, use as target PR
Input: "-quick 42" โ quick=true, pr=42
Input: "42" โ quick=false, pr=42
Input: "-quick" โ quick=true, pr=null
Input: "" โ quick=false, pr=null
Step 2: Resolve PR
If a PR number was provided, fetch it directly. Otherwise, detect from the current branch.
gh pr view <PR#> --json number,title,body,author,headRefName,additions,deletions,changedFiles,url
gh pr view --json number,title,body,author,headRefName,additions,deletions,changedFiles,url
If no PR is found, abort with a clear error message.
Jules Detection
Check if this is a Jules PR (informational โ does not change behavior):
AUTHOR=$(gh pr view <PR#> --json author --jq '.author.login')
BRANCH=$(gh pr view <PR#> --json headRefName --jq '.headRefName')
If the PR appears to be from Jules, note it in output:
"Detected Jules PR (author: jules-google, branch: jules/fix-auth-bug)"
If not from Jules, proceed anyway โ the review workflow is useful for any PR.
Step 3: Gather Diff
gh pr diff <PR#>
ADDITIONS=$(gh pr view <PR#> --json additions --jq '.additions')
DELETIONS=$(gh pr view <PR#> --json deletions --jq '.deletions')
TOTAL_LINES=$((ADDITIONS + DELETIONS))
Step 4: Select Review Mode
Decision logic:
| Condition | Mode | Action |
|---|
-quick flag set | Quick | Invoke /council quick |
| Total changed lines โค 100 | Auto-quick | Notify user: "Small PR (โค100 lines) โ using quick review." Then invoke /council quick |
| Total changed lines > 100 | Full | Invoke /council review |
Inform the user which mode was selected and why before proceeding.
Step 5: Invoke Council
Prepare the PR context for the council skill:
PR #<number>: <title>
Author: <author>
Branch: <branch>
Changed files: <count>
Lines changed: +<additions> / -<deletions>
PR Description:
<body>
Diff:
<diff output from gh pr diff>
Quick Mode
Invoke the council skill with the quick workflow:
/council quick
Review this pull request for issues:
<PR context from above>
Full Mode
Invoke the council skill with the review workflow:
/council review
Review this pull request:
<PR context from above>
Wait for the council to complete and collect its output (findings, verdict, summary).
Step 6: Post GitHub PR Review
After the council returns its findings, post them as a proper GitHub PR review.
Read references/WORKFLOW.md now and follow its posting format exactly. Do not invent your own format.
WORKFLOW.md covers:
- Parsing council findings into structured data
- Mapping verdict severity to GitHub review events (APPROVE, COMMENT, REQUEST_CHANGES)
- Filtering findings into inline comments (within diff) vs review body (outside diff)
- Building the review body with
@jules tag
- Posting via
gh api with inline comments
- Fallback to
gh pr comment on permission failure
Critical format rules (specified in WORKFLOW.md โ repeated here for emphasis):
- Review body first line must be
`@jules` (backtick-wrapped, standalone line)
- Inline comment format:
**[<severity>] <type>** `@jules`
- Review header:
## Council Review โ <VERDICT>
Step 7: Present Results
Return the council output verbatim to the user. After the council output, append a brief postscript with review metadata:
---
Review posted to PR #<number> (<review URL>) | Mode: <quick|full> | Verdict: <APPROVE|COMMENT|REQUEST_CHANGES>
If the review was posted via fallback (gh pr comment), note:
"Posted as PR comment (review API unavailable). Inline comments not supported in fallback mode."