Skip to main content

You are already working in Claude Code, with the repository, local diff, and your review tools available in the same coding environment. But review requests arrive asynchronously, often while your attention is elsewhere, and preparing a thoughtful review still means noticing the event and reconstructing its context.

Glean catches the GitHub review event and sends it to Claude Code Monitor where you are already coding. Claude runs your local review skill against the real diff and prepares an initial round of findings before you jump in manually. You verify and refine the review, then decide what gets submitted.

GitHubAssignment, review request, or ready-for-review event
Glean TriggerPermission-aware, signed, at-least-once delivery
Local receiver + MonitorVerifies, deduplicates, queues, and wakes Claude Code
Pending GitHub reviewHuman inspects and decides whether to submit
Glean Triggers enabled with GitHub review presets available in your deployment
GitHub content indexed in Glean
A local checkout of the repository, with the GitHub CLI signed in as the reviewer
An interactive Claude Code session, or the terminal stream where Monitor is unavailable
Node 20+ and a public HTTPS tunnel to the receiver
1

Scaffold the receiver and plugin

npx -y tiged@2.12.8 --mode=git gleanwork/glean-cookbook/recipes/github-pr-review-monitor github-pr-review-monitor
2

Verify the local path with no credentials

Verifies the signed receiver, event queue, and draft-review flow using recorded events.

cd github-pr-review-monitor && npm run verify:fixture
3

Sign in to Glean

Discovers your tenant and writes GLEAN_SERVER_URL and GLEAN_API_TOKEN to an ignored .env. An exported GLEAN_API_TOKEN outranks .env, and the scripts warn when it does.

cd github-pr-review-monitor && npm run login -- --email "<work-email>"
4

Run the receiver

Keep this running. It binds to loopback, verifies signatures, and queues each webhook id once.

cd github-pr-review-monitor && npm start
5

Expose the receiver over HTTPS

Append /webhook to the printed origin and set GLEAN_WEBHOOK_URL before registering. Leave the tunnel running — the triggers outlive it, so a closed tunnel means deliveries to a dead address.

cd github-pr-review-monitor && cloudflared tunnel --url http://127.0.0.1:8787
6

Register the review triggers

Set GLEAN_TRIGGER_DATASOURCE and the preset ids you want to register. With no ids configured, setup lists the presets your deployment serves and stops. Presets that require inputs read them from GLEAN_TRIGGER_INPUT_<FIELD>.

cd github-pr-review-monitor && npm run setup
7

Attach Claude Code Monitor

Validate the plugin, then restart Claude Code from the repository being reviewed so Monitor starts with the session. Where Monitor is unavailable, run npm run stream to receive the same events in the terminal.

cd github-pr-review-monitor && claude plugin validate . --strict
8

Verify a real review request

Request a review from yourself on a real pull request. Expect one queued event and one draft grounded in the current diff, with no GitHub write until you ask for one.

The monitor may prepare a local draft. A GitHub pending review requires explicit approval, and submission always remains manual.

Review the current local repository and GitHub head SHA; never infer findings from the thin trigger payload alone.

Monitor requires a supported interactive Claude Code session. Where Monitor is unavailable, use the terminal stream to receive the same events.

Take it further
  • Teach the local review skill your repository's conventions and test commands, so the first pass reflects how your team already reviews.
  • Notify the reviewer when the first-pass draft is ready, so the queue is not something anyone has to remember to check.
  • Add inline pending-review comments once the body-only flow is reliable — line-level findings are what a reviewer acts on first.

Request a review from the configured user on a pull request in the open local repository

One signed event reaches the receiver and Claude drafts a review of the current diff. Nothing is posted to GitHub.

Explicitly approve copying the finished local draft to GitHub

The helper creates or updates a pending review and reports that it remains unsubmitted.

View source

Runs the recipe through the Glean cookbook plugin.

At a glance
SurfacesPlatform API
StatusShowcase
Time~45 min
Required scopes
TRIGGERS