Skip to content
Development
Skill

/wait-for-pr-checks

Poll a GitHub PR's checks until they all pass, any one fails, or a timeout is hit. Returns a structured outcome the caller can gate on. TRIGGER when the user says "wait for CI", "wait for the PR checks", "watch the PR", "is CI green yet", "babysit this PR's checks", "block until

From plugin
nyann
741 skills41 commands3 hooks

Claude Code

$ npx -y skills add thettwe/nyann --skill wait-for-pr-checks --agent claude-code

SKILL.md

wait-for-pr-checks.SKILL.md
name: wait-for-pr-checks
description: >
  Poll a GitHub PR's checks until they all pass, any one fails, or a
  timeout is hit. Returns a structured outcome the caller can gate on.
  TRIGGER when the user says "wait for CI", "wait for the PR checks",
  "watch the PR", "is CI green yet", "babysit this PR's checks",
  "block until checks pass", "/nyann:wait-for-pr-checks".
  Do NOT trigger on "what's the PR status" (that's a one-off
  `gh pr view` — no polling). Do NOT trigger on "merge this PR" —
  that's the action AFTER waiting; consider `/nyann:ship` instead,
  which combines wait + merge.

wait-for-pr-checks

Wraps `bin/wait-for-pr-checks.sh`. Poll-based; uses `gh pr checks <num>` under the hood. The script is the same one `release.sh` will uses to gate the tag step (when `--wait-for-checks` is passed), so the contract is shared.

1. Resolve the PR number

The script auto-resolves from the current branch via `gh pr view`, so the most common invocation is:

bin/wait-for-pr-checks.sh --target <cwd>

Pass `--pr <number>` when watching a PR you don't have checked out.

2. Tune timeout and cadence

Defaults:

  • `--timeout 1800` (30 minutes)
  • `--interval 30` (poll every 30 seconds)

Bump timeout for slow CI matrices ("integration tests take 90 min" → `--timeout 7200`). Drop interval for snappy local CI ("we Just hit go" → `--interval 10`). Don't go below 10 seconds — gh API rate limits start to bite.

3. Interpret the outcome

The script emits a `PRChecksResult` JSON. Branch on `.outcome`:

| Outcome | Meaning | What the user should do | |---|---|---| | `pass` | every check completed with a passing conclusion | proceed with the gated action (merge, tag, deploy) | | `no-checks` | PR has no checks attached | proceed; treat as pass | | `fail` | at least one check failed (loop bailed early) | open the linked workflow; don't proceed | | `timeout` | deadline reached, some still in_progress | retry with a longer timeout, or investigate slow runners | | `skipped` | gh missing/unauthenticated, or PR couldn't be resolved | tell the user; can't proceed |

Exit code mirrors the outcome: 0 for pass / no-checks / skipped, 3 for fail / timeout — caller scripts can gate on `$?`.

4. Combining with merge

This skill only waits. To wait-then-merge in one step, use `/nyann:ship` — it opens a PR and merges it in one flow (either via GitHub auto-merge or by polling CI client-side). Reserve this skill for cases where the user wants the wait surfaced explicitly (release runs, manual gating).

When to hand off

  • "Merge it for me when CI passes" → `/nyann:ship`

(opens a PR and merges it, waiting for CI as needed).

  • "I just want the current status, don't wait" → `gh pr checks`

directly; no polling needed.

  • "Why did check X fail?" → `gh run view <run-id> --log-failed`;

this skill only reports outcomes, not log contents.

Read more
@thettwe
Ships withnyann

ငြမ်း is Burmese for scaffolding. Nyann is the Claude Code plugin that picks expert git defaults for your stack — branching, working hooks (Husky / pre-commit.com / lefthook), commits, releases, CI, docs — then keeps the repo on those rails through every PR

Stars on GitHub

Momentum

stars in total
7
Star history of thettwe/nyann on GitHub, a chart by star-history.com

Other skills on nyann.

add-team-source

add-team-source

Register a git URL as a team-profile source so nyann can periodically sync and expose its profiles under a namespace. TRIGGER…

@thettwe@thettweInstall Skill
bootstrap-project

bootstrap-project

Bootstrap a fresh or existing repo with nyann. TRIGGER when the user says "set up this project", "initialize git workflow",…

@thettwe@thettweInstall Skill
check-prereqs

check-prereqs

Survey the machine and report which nyann features are usable right now. TRIGGER when the user says "is my machine ready for…

@thettwe@thettweInstall Skill
cleanup-branches

cleanup-branches

Prune local branches whose work is already merged into the base. TRIGGER when the user says "clean up branches", "delete merged…

@thettwe@thettweInstall Skill
commit

commit

Generate a Conventional Commits message from the staged diff and create the commit after user confirmation. TRIGGER when the user…

@thettwe@thettweInstall Skill
diagnose

diagnose

Bundle a redacted, support-grade snapshot of the current nyann state for inclusion in a bug report or support request. Combines…

@thettwe@thettweInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about wait-for-pr-checks.

Which coding agents can use wait-for-pr-checks?
wait-for-pr-checks installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.