Skip to main content

You already have the repository, local diff, and review tools in Claude Code. The hard part is noticing a new review request and rebuilding enough context to give it a thoughtful first pass.

Glean catches the GitHub event and delivers it to Claude Code Monitor, where your local review skill examines the current diff and prepares initial findings. You review and refine the draft, then decide whether anything should be submitted.

GitHubReview 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

Use recorded events to verify the signed receiver, event queue, and draft-review flow.

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

Sign in to Glean

Sign in to discover your tenant and save GLEAN_SERVER_URL and GLEAN_API_TOKEN to the ignored .env file. An exported GLEAN_API_TOKEN takes precedence over .env, and the scripts warn you when it does.

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

Run the receiver

Keep the receiver running. It listens on 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. Keep the tunnel running: triggers outlive the tunnel, so closing it sends future 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 to register. If you leave the IDs empty, setup lists the presets available in your deployment and stops instead of guessing. Provide required preset inputs through 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 under review so Monitor starts with the session. If 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. Confirm one queued event and one draft grounded in the current diff. The workflow makes 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.

Auth

Run the authenticate step on this page. It discovers your tenant from work email and signs you in with OAuth, using the shipped login command. If OAuth is unavailable, create a scoped Glean-issued token in Token Management (TRIGGERS).

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