Agent skill

PR Monitor

by ai-dynamo in ai-dynamo/dynamo

Runs a CI health check on an ai-dynamo/dynamo pull request — report check status, explain why full CI has or has not triggered, root-cause failed job logs, cross-reference failures against main to…

Apache-2.0Auto-check passedDevelopment

Install PR Monitor

skills CLI
$ npx skills add ai-dynamo/dynamo --skill pr-monitor -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ai-dynamo/dynamo pr-monitor --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ai-dynamo/dynamo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pr-monitor .claude/skills/pr-monitor && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pr-monitor
GitHub stars
8.3k
Token cost
~3.8k tokens
SKILL.md length
1,732 words
Files
1
Skills in repo
27
Repo updated
First seen
Licence
Apache-2.0

At a glance

Runs a CI health check on an ai-dynamo/dynamo pull request — report check status, explain why full CI has or has not triggered, root-cause failed job logs, cross-reference failures against main to…

  • Works in 6 steps: PR Overview → CI Status Dashboard → Failure Analysis → …
  • Asked whether a PRs CI is healthy
  • SKILL.md covers Step 1: PR Overview, Step 2: CI Status Dashboard, Step 3: Failure Analysis and Step 3b: Main Branch…, plus 4 more sections
  • Calls gh and git; reaches github.com

What it does

PR Monitor is an agent skill from ai-dynamo/dynamo. Runs a CI health check on an ai-dynamo/dynamo pull request — report check status, explain why full CI has or has not triggered, root-cause failed job logs, cross-reference failures against main to separate PR-caused regressions from pre-existing flakes, and flag unexpected skips. Use when asked whether a PR's CI is healthy, why checks are failing or missing, or whether a failure is a flake.

Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Root cause analysis and Pull requests. It works with Rust. The repository describes itself as: A Datacenter Scale Distributed Inference Serving Framework. The licence is Apache-2.0.

When your agent uses it

  • Asked whether a PRs CI is healthy
  • Why checks are failing
  • Whether a failure is a flake

Example prompts

  • “/pr-monitor”

Requirements

  • Docker

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. PR Overview
  2. CI Status Dashboard
  3. Failure Analysis
  4. Skip & Discrepancy Analysis
  5. Actionable Summary
  6. Monitor Pending Checks

What it can do on your machine

Read from SKILL.md and the folder at commit b208989. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

PR Monitor loads about 3.8k tokens when it runs. Until then it costs about 101 tokens; SKILL.md has 1,732 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~101
When it runs · the whole SKILL.md, loaded when a task matches
~3.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ai-dynamo/dynamo at commit b208989, republished under its Apache-2.0 licence (© ai-dynamo). 1,732 words, ~3,829 tokens.

Download SKILL.mdSave it as .claude/skills/pr-monitor/SKILL.md (or your agent's skills folder).
name
pr-monitor
description
Runs a CI health check on an ai-dynamo/dynamo pull request — report check status, explain why full CI has or has not triggered, root-cause failed job logs, cross-reference failures against main to separate PR-caused regressions from pre-existing flakes, and flag unexpected skips. Use when asked whether a PR's CI is healthy, why checks are failing or missing, or whether a failure is a flake.
license
Apache-2.0
user-invocable
true
disable-model-invocation
true
metadata.author
NVIDIA
metadata.tags
dynamo, github, ci, pull-request

PR CI Monitor

<!--
SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: CC-BY-4.0
-->

Perform a full health check on a Dynamo pull request. Takes a PR number as argument (e.g., /dynamo:pr-monitor 6554).

Step 1: PR Overview

Gather PR metadata and determine what CI should look like for this PR.

bash
gh pr view $PR_NUMBER --repo ai-dynamo/dynamo --json title,body,author,state,isDraft,additions,deletions,changedFiles,labels,reviewDecision,headRefName,baseRefName

gh pr diff $PR_NUMBER --repo ai-dynamo/dynamo --name-only

Check if full CI should be running. The dynamo repo has two tiers of CI:

  • Lightweight (pre-merge.yml): Triggers on all pull_request events. Runs pre-commit, copyright checks, DCO, and optionally rust-clippy/rust-tests (if rust filter matches). This always runs.
  • Full pipeline (pr.yaml, container-validation-dynamo.yml): Triggers on push to main or pull-request/[0-9]+ branches ONLY. This includes docker builds, GPU tests, deploy tests. It does NOT trigger on regular PR branches.

To get full CI on a PR, a pull-request/$PR_NUMBER branch must exist (created by copy-pr-bot after an NVIDIA maintainer approves). Check:

bash
gh api repos/ai-dynamo/dynamo/branches/pull-request/$PR_NUMBER 2>/dev/null

If the branch does not exist, full CI has not been triggered. Common reasons:

  1. Awaiting approval: An NVIDIA maintainer needs to comment /ok to test <commit_sha> on the PR to create the branch and trigger full CI. This applies to both fork PRs and internal PRs from authors not yet in the approval list.
  2. DCO failure: Commits are not signed (Signed-off-by line missing). Check for a DCO bot comment. Fix: author signs their commits (see DCO.md).
  3. Unverified commit signature (eligible fork automatic approval): The automatic /ok to test flow requires GitHub to report every PR commit as Verified. A DCO sign-off alone does not meet this requirement. This applies only after the PR has an automatic approval path; signing commits does not create that path. Check the workflow's unsigned-commit comment or inspect .commit.verification for every PR commit; sign each unverified commit, then push again. A maintainer can manually review the current head and comment /ok to test <sha> when automatic approval is unavailable.
  4. Draft PR: Some checks may not run until marked ready for review.

For a fork PR that is otherwise eligible for automatic approval, check every commit's verification result:

bash
gh api --paginate "repos/ai-dynamo/dynamo/pulls/$PR_NUMBER/commits?per_page=100" --jq '.[].sha' | while read -r sha; do
  gh api "repos/ai-dynamo/dynamo/commits/$sha" --jq '"\(.sha[0:7]) verified=\(.commit.verification.verified) reason=\(.commit.verification.reason)"'
done

Verify which workflows actually ran against the PR's HEAD commit:

bash
# Get the HEAD SHA
HEAD_SHA=$(gh pr view $PR_NUMBER --repo ai-dynamo/dynamo --json headRefOid --jq '.headRefOid')

# Check which workflow runs exist for this SHA
gh api "repos/ai-dynamo/dynamo/actions/runs?head_sha=$HEAD_SHA" --jq '.workflow_runs[] | {name: .name, status: .status, conclusion: .conclusion}'

Compare the workflows that ran against what's expected. If only Pre Merge, Copyright Checks, DCO Commenter, etc. appear but NOT PR or Dynamo Validation, then full CI was not triggered.

Determine which CI filters are active. If full CI ran, read the changed-files job output from the actual workflow run — this is the authoritative source for which filters are true:

bash
# Find the PR workflow run ID
PR_RUN_ID=$(gh api "repos/ai-dynamo/dynamo/actions/runs?head_sha=$HEAD_SHA" --jq '.workflow_runs[] | select(.name == "PR") | .id')

# Get the changed-files job output (look for the filter results in the logs)
gh api "repos/ai-dynamo/dynamo/actions/runs/$PR_RUN_ID/jobs" --jq '.jobs[] | select(.name == "changed-files") | {id: .id, status: .status, conclusion: .conclusion}'

If full CI hasn't run, fall back to fetching filters.yaml and matching manually:

bash
gh api repos/ai-dynamo/dynamo/contents/.github/filters.yaml --jq '.content' | base64 -d

Key rules for manual matching:

  • core being true triggers ALL framework pipelines (vllm, sglang, trtllm).
  • Filters use YAML anchors (e.g., *ci) — resolve these when reading.
  • Negation patterns like !**/*.md in a filter mean markdown-only changes do NOT trigger that filter.

Jobs that always run in pr.yaml regardless of filters:

  • changed-files, deploy-operator, backend-status-check, clean-k8s-builder, cleanup — these run unconditionally or with if: always().

Step 2: CI Status Dashboard

Fetch all check runs. Note: gh pr checks returns non-zero exit codes when checks are pending or failed — this is normal, not an error.

bash
gh pr checks $PR_NUMBER --repo ai-dynamo/dynamo

If no checks are returned at all, refer back to the Step 1 diagnosis (DCO, approval, draft status).

Ignore external CI checks (e.g., GitLab mirror ci/gitlab/*). These are NVIDIA-internal pipelines that cannot be inspected from GitHub. Only analyze GitHub Actions checks.

Distinguish two situations:

  1. Full CI triggered (workflow runs include PR, Dynamo Validation): Analyze all jobs normally.
  2. Only lightweight CI ran (Pre Merge and utility workflows only): Report this clearly. The filter predictions from Step 1 describe what would run once full CI triggers, but there's nothing to analyze yet beyond the lightweight checks.

If full CI ran, identify the critical path — which checks are most relevant to this PR's changes based on the filter mapping from Step 1.

Produce a concise dashboard grouped by status:

  • Failed — needs immediate attention
  • Pending/In-progress — still running (note which are critical path)
  • Passed — healthy (just count, don't enumerate unless asked)
  • Skipped — handled in Step 4

Step 3: Failure Analysis

For each failed GitHub Actions job, drill into the logs to extract root cause.

First, identify the failed jobs within each run:

bash
gh api repos/ai-dynamo/dynamo/actions/runs/$RUN_ID/jobs --jq '.jobs[] | select(.conclusion == "failure") | {name: .name, id: .id, html_url: .html_url}'

Then fetch logs for specific failed jobs. The check URL format from gh pr checks is https://github.com/.../actions/runs/{RUN_ID}/job/{JOB_ID}. Extract the RUN_ID (first number):

bash
gh run view $RUN_ID --repo ai-dynamo/dynamo --log-failed 2>&1 | tail -200

Note: --log-failed concatenates all failed job logs, which can be noisy. For multi-failure runs, prefer fetching per-job to isolate root causes.

For each failure, report:

  • Job name and which workflow it belongs to
  • Root cause — the actual error (compilation error, test assertion, timeout, infra issue, DCO sign-off failure, etc.)
  • Relevant log excerpt — the key lines (max 20 lines), not the full dump
  • Suggested fix — concrete action the PR author can take
  • If it looks like an infra flake, include: gh run rerun $RUN_ID --repo ai-dynamo/dynamo --failed

If there are no failures, say so and move on.

Step 3b: Main Branch Cross-Reference

For each failed job identified in Step 3, check if the same job also fails on main. This distinguishes PR-caused regressions from pre-existing flakes.

First, check how far behind the PR is from main:

bash
gh api "repos/ai-dynamo/dynamo/compare/main...$HEAD_SHA" --jq '{behind_by: .behind_by, ahead_by: .ahead_by, status: .status}'

If the PR is significantly behind main (>20 commits), note this in the report — some failures may already be fixed on main, and some apparent "regressions" may just be the PR missing recent fixes.

Then, check recent main branch CI results:

bash
# Get last 3 completed PR workflow runs on main
MAIN_RUNS=$(gh api "repos/ai-dynamo/dynamo/actions/workflows/pr.yaml/runs?branch=main&per_page=3&status=completed" --jq '[.workflow_runs[].id] | join(" ")')

# For each failed job name from Step 3, check if it also failed on main
for RUN_ID in $MAIN_RUNS; do
  gh api "repos/ai-dynamo/dynamo/actions/runs/$RUN_ID/jobs?per_page=100&filter=latest" \
    --jq ".jobs[] | select(.name == \"$FAILED_JOB_NAME\") | {run: $RUN_ID, conclusion: .conclusion}"
done

Classification:

  • [PR-CAUSED] — Fails on this PR but passes on all recent main runs → Likely a regression introduced by this PR. Needs attention.
  • [PRE-EXISTING] — Also fails on recent main runs → Pre-existing flake, not caused by this PR. Suggest rerun.
  • [UNCLEAR] — Mixed results on main (sometimes passes, sometimes fails) → Flaky test. Note flakiness and suggest rerun.
  • [NEW JOB] — Job doesn't exist on main runs → New CI job added by this PR, can't compare.

Important caveats to include in the report:

  • If the PR is behind main by many commits, a [PR-CAUSED] classification may be a false positive — the failure could already be fixed on main. Suggest: "Consider rebasing on main before investigating."
  • If the PR is ahead of main (includes main's latest), the classification is reliable.
  • Only compare job names, not test-level results. A job passing on main doesn't guarantee the same tests pass — just that the overall job succeeds.
Show full SKILL.md (713 more words)Show less

Step 4: Skip & Discrepancy Analysis

This step is exception-based only. Do NOT enumerate expected skips — that's noise.

If full CI did not trigger, skip this step entirely — there are no jobs to analyze. The absence of full CI was already explained in Steps 1-2.

If full CI ran, compare the filter results from Step 1 against actual CI results from Step 2. Only report surprises:

  • A filter should be true (files matched its paths) but the corresponding job was skipped or missing
  • A gate job (backend-status-check, dynamo-status-check) was skipped — these use if: always() and should always run
  • All framework pipelines skipped when core files changed (core should trigger all frameworks)

Things that are NOT surprises (do not report):

  • Jobs skipped because their filter is false (e.g., docs jobs skipped when no docs changed)
  • Multi-GPU tests skipped on pre-merge (these are gated to post-merge/nightly)
  • arm64 copy-to-acr jobs skipped (only triggered on merge to main)
  • arm64 GPU tests skipped (GPU tests are amd64-only)
  • Downstream jobs skipped because their upstream was legitimately skipped
  • External CI (GitLab) status — ignored entirely
  • deploy-operator running despite operator=false — this job always runs in pr.yaml

If everything matches expectations, say "No unexpected skips or discrepancies" and move on.

Step 5: Actionable Summary

Synthesize into a concise report:

PR Health: [PASSING | FAILING | PENDING | CI NOT TRIGGERED | PARTIAL — lightweight only]

If full CI not triggered:

  • "Full CI awaiting approval — an NVIDIA maintainer needs to comment /ok to test <sha> to create the pull-request/$PR_NUMBER branch."
  • "DCO check failed — commits need to be signed. See DCO.md."
  • "Eligible fork automatic approval is blocked — every PR commit needs a cryptographic signature that GitHub reports as Verified; DCO sign-off alone is insufficient."
  • "Draft PR — some checks may not run until marked ready for review."
  • Note which lightweight checks passed/failed.

Blocking issues (PR-caused) — failures that pass on main but fail here:

  • One-line root cause + suggested fix for each
  • Note if backend-status-check or dynamo-status-check gate is failing

Pre-existing failures — also failing on main, not caused by this PR:

  • One-line description + rerun command for each
  • If PR is significantly behind main: "Consider rebasing — this may already be fixed on main."

Non-blocking issues (if any):

  • Flaky tests ([UNCLEAR] from Step 3b), infra timeouts, unexpected skips

Critical path status — the checks most relevant to this PR's changes:

  • List them with current status (passed/failed/pending/not triggered)
  • If pending, suggest re-checking in ~15 minutes

Next steps — concrete actions ordered by priority:

  • "An NVIDIA maintainer should comment /ok to test <sha>" if full CI hasn't triggered
  • "Sign your commits with git commit --amend -s" for DCO failures
  • "Sign and rewrite every unverified fork-PR commit, then push" when eligible automatic approval is blocked by commit verification
  • "Ask a maintainer to review the current head and comment /ok to test <sha>" when automatic approval is unavailable
  • "Fix X in file Y" for code failures
  • Re-run command for infra flakes: gh run rerun $RUN_ID --repo ai-dynamo/dynamo --failed
  • "No action needed — CI is green" if everything passed

Step 6: Monitor Pending Checks

If any checks are still pending or in-progress, offer to monitor them.

List remaining checks:

bash
gh pr checks $PR_NUMBER --repo ai-dynamo/dynamo | grep -E 'pending|queued|in_progress'

Report:

  • How many checks are still pending
  • Which ones are on the critical path
  • Estimated wait time based on similar completed jobs (e.g., if vllm-cuda12.9-amd64 / Test took 20m and vllm-cuda13.0-amd64 / Test is still running, estimate ~20m remaining)

If the user wants to wait, poll periodically:

bash
# Re-check status
gh pr checks $PR_NUMBER --repo ai-dynamo/dynamo | grep -cE 'pass|fail|skipped'  # completed count
gh pr checks $PR_NUMBER --repo ai-dynamo/dynamo | grep -cE 'pending|queued|in_progress'  # remaining count

When all checks complete, re-run the summary from Step 5 with final results. Report any checks that changed from pending to failed since the last check.

Behavior Notes

  • Concurrency cancellation: If a PR has rapid pushes, earlier runs get cancelled. Note if you see cancelled runs and suggest checking the latest run instead.
  • Large log output: Always truncate to relevant sections. Never dump more than 50 lines of raw log in the summary.
  • Rate limits: If gh commands fail due to rate limiting, report what you could gather and suggest retrying later.
  • Multiple workflows: A single push can trigger pr.yaml, pre-merge.yml, and container-validation-dynamo.yml. Check all of them.
  • pull-request/[0-9]+ branches: Created by copy-pr-bot after maintainer approval. Required for full CI — applies to both fork and internal PRs.
  • external-contribution label: Fork PRs get this label automatically. Its presence confirms the PR is from an external contributor.
  • External CI (GitLab): Ignore ci/gitlab/* checks entirely. These are NVIDIA-internal and cannot be diagnosed from GitHub.

© ai-dynamo, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/pr-monitor of ai-dynamo/dynamo.

Open the folder on GitHubat commit b208989

Compare with similar skills

PR Monitor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

PR Monitor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PR Monitor this skillai-dynamo/dynamo8.3k—~3.8kAutomated safety check: PassApache-2.0
OpenLogi macOS Permissions TriageAprilNEA/OpenLogi23k—~2.5kAutomated safety check: NotesApache-2.0
Review PRapache/shardingsphere21k—~6.5kAutomated safety check: PassApache-2.0
Om Auto Fix Issuego-musicfox/go-musicfox2.6k1 repos~5kAutomated safety check: NotesGPL-3.0
SeekDB Code Reviewoceanbase/seekdb3.1k—~2.1kAutomated safety check: PassApache-2.0
Commit ScopeDevolutions/IronRDP3.2k—~854Automated safety check: PassApache-2.0

Similar skills

  • Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.

    23k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check: notes
  • Review PR

    apache/shardingsphere

    Review Apache ShardingSphere or user-authorized downstream pull requests and PR discussions from public or authorized repository evidence.

    21k GitHub stars~6.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Om Auto Fix Issue

    go-musicfox/go-musicfox

    Fix or implement a tracker issue end to end from a single command — takes an issue id or a plain problem description (filed first via om-prepare-issue), classifies, then drives the bug autofix chain…

    2.6k GitHub starsUsed in 1 repo~5k tokens
    DevelopmentAuto-check: notes
  • SeekDB Code Review

    oceanbase/seekdb

    Reviews seekdb pull requests and diffs for real defects in correctness, resources, concurrency, security and tests, reporting only Blocker or Major findings.

    3.1k GitHub stars~2.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Commit Scope

    Devolutions/IronRDP

    Derive and validate the canonical scope for IronRDP Conventional Commit and pull-request titles.

    3.2k GitHub stars~854 tokensUpdated today
    DevelopmentAuto-check passed
  • PR Cycle

    jaemk/cached

    PR review-and-update cycle — the orchestrator that takes a PR from review to resolved.

    2.1k GitHub stars~4.8k tokensUpdated 9 days ago
    DevelopmentAuto-check: notes

More from ai-dynamo/dynamo

All 27 skills in this repo
  • Visual Review

    ai-dynamo/dynamo

    Create self-contained interactive HTML code-review dashboards from GitHub or GitLab pull requests, checked-out branch diffs, or supplied unified diffs, with correctness and safe-to-merge scores…

    8.3k GitHub stars~4.5k tokensUpdated today
    Auto-check passed
  • Fern Components

    ai-dynamo/dynamo

    Knowledge of Fern's built-in MDX component library (accordions, callouts, cards, steps, tabs, code blocks, API-reference snippets, and more) for authoring docs pages.

    8.3k GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Fern Navigation

    ai-dynamo/dynamo

    Knowledge of Fern's site-level navigation and structure configuration — how a docs site is organized in docs.yml (and product/version .yml files) using sections, pages, folders, tabs, tab variants…

    8.3k GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Dynamo Agent Harness

    ai-dynamo/dynamo

    Drives persistent Claude Code, Codex, or OpenCode agent sessions through a Dynamo OpenAI/Anthropic-compatible endpoint over Agent Client Protocol (ACP).

    8.3k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Benchmark and profile the Dynamo frontend (dynamo.frontend HTTP + tokenizer + KV router) against mock workers (dynamo.mocker).

    8.3k GitHub stars~3.5k tokensUpdated today
    Auto-check: notes
  • Selects and freezes a question-driven AIPerf workload, objective, load policy, and Kubernetes execution manifest for a successfully deployed Dynamo candidate.

    8.3k GitHub stars~1.7k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about PR Monitor

What does PR Monitor do?

Runs a CI health check on an ai-dynamo/dynamo pull request — report check status, explain why full CI has or has not triggered, root-cause failed job logs, cross-reference failures against main to…. PR Monitor is an agent skill from ai-dynamo/dynamo. Runs a CI health check on an ai-dynamo/dynamo pull request — report check status, explain why full CI has or has not triggered, root-cause failed job logs, cross-reference failures against main to separate PR-caused regressions from pre-existing flakes, and flag unexpected skips.

When should I use PR Monitor?

PR Monitor fits situations like: asked whether a PRs CI is healthy; why checks are failing; whether a failure is a flake.

How do I install PR Monitor in Claude Code?

Run `npx skills add ai-dynamo/dynamo --skill pr-monitor -a claude-code`. Or copy the skill folder (.agents/skills/pr-monitor in ai-dynamo/dynamo) into .claude/skills/pr-monitor in your project. Claude Code loads it when a task matches its description.

How do I install PR Monitor in Codex?

Run `npx skills add ai-dynamo/dynamo --skill pr-monitor -a codex`. Or copy the skill folder (.agents/skills/pr-monitor in ai-dynamo/dynamo) into .agents/skills/pr-monitor in your project. Codex loads it when a task matches its description.

Can I use PR Monitor in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ai-dynamo/dynamo --skill pr-monitor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-monitor, .gemini/skills/pr-monitor, .github/skills/pr-monitor and .opencode/skills/pr-monitor in your project.

What does PR Monitor need to run?

Going by SKILL.md and its folder, PR Monitor needs the command-line tools its instructions call (gh and git). Our summary lists: Docker.

Does PR Monitor access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is PR Monitor safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does PR Monitor use?

PR Monitor is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does PR Monitor use?

About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to PR Monitor?

Skills that share tags, products or a category with PR Monitor: OpenLogi macOS Permissions Triage (AprilNEA/OpenLogi, 23k stars), Review PR (apache/shardingsphere, 21k stars), Om Auto Fix Issue (go-musicfox/go-musicfox, 2.6k stars) and SeekDB Code Review (oceanbase/seekdb, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PR Monitor?

ai-dynamo (a GitHub organization) maintains it in ai-dynamo/dynamo, which has 8,256 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 11, 2026.

Source: ai-dynamo/dynamo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.