Review Jules (Google AI agent) pull requests using AI council. Supports -quick flag for lightweight reviews via parallel triage.
From jules-reviewnpx claudepluginhub rube-de/cc-skills --plugin jules-reviewThis skill is limited to using the following tools:
references/WORKFLOW.mdProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Calculates TAM/SAM/SOM using top-down, bottom-up, and value theory methodologies for market sizing, revenue estimation, and startup validation.
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.
/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 #123Extract from the user's input:
-quick flag (boolean): If present, force quick mode (parallel triage)Input: "-quick 42" → quick=true, pr=42
Input: "42" → quick=false, pr=42
Input: "-quick" → quick=true, pr=null
Input: "" → quick=false, pr=null
If a PR number was provided, fetch it directly. Otherwise, detect from the current branch.
# If PR number provided:
gh pr view <PR#> --json number,title,body,author,headRefName,additions,deletions,changedFiles,url
# If no PR number — detect from current branch:
gh pr view --json number,title,body,author,headRefName,additions,deletions,changedFiles,url
If no PR is found, abort with a clear error message.
Check if this is a Jules PR (informational — does not change behavior):
# Check author login
AUTHOR=$(gh pr view <PR#> --json author --jq '.author.login')
# Jules PRs typically come from "jules-google" or similar bot accounts
# Also check branch name for "jules/" prefix
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.
# Get the full diff
gh pr diff <PR#>
# Count changed lines
ADDITIONS=$(gh pr view <PR#> --json additions --jq '.additions')
DELETIONS=$(gh pr view <PR#> --json deletions --jq '.deletions')
TOTAL_LINES=$((ADDITIONS + DELETIONS))
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.
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>
Invoke the council skill with the quick workflow:
/council quick
Review this pull request for issues:
<PR context from above>
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).
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:
@jules taggh api with inline commentsgh pr comment on permission failureCritical format rules (specified in WORKFLOW.md — repeated here for emphasis):
`@jules` (backtick-wrapped, standalone line)**[<severity>] <type>** `@jules` ## Council Review — <VERDICT>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."