iterate-pr

Iterate on a PR until actionable CI passes and high/medium review feedback is addressed. Use for PR CI failures, review feedback, or green-check loops; do not…

INSTALLATION
npx skills add https://github.com/getsentry/skills --skill iterate-pr
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

$27

Check summary fields include failed, pending, actionable_pending, and human_gate_pending.

Monitor markers:

  • ALL_CHECKS_PASSED
  • CHECKS_DONE_WITH_FAILURES
  • NO_CHECKS_REGISTERED
  • DRAFT_PR_WITH_NO_CHECKS
  • CHECKS_BLOCKED_BY_REVIEW_GATE

Workflow

1. Identify PR

Run:

gh pr view --json number,url,headRefName,isDraft,reviewDecision

Stop when:

  • no PR exists
  • draft PR has no checks after monitor grace period: report DRAFT_PR_WITH_NO_CHECKS

Draft rule: inspect existing checks/feedback only. Do not mark ready for review unless asked.

2. Handle Feedback

Run uv run scripts/fetch_pr_feedback.py [--pr NUMBER].

Bucket

Action

high

fix

medium

fix

low

ask user which to address

bot

skip informational comments

resolved

skip

Feedback fix checklist:

  • verify root cause
  • search related code
  • fix all instances
  • for review_bot: true: fix real issues, explain false positives

Low-priority prompt format:

Found 3 low-priority suggestions:

1. [l] "Consider renaming this variable" - @reviewer in api.py:42

2. [nit] "Could use a list comprehension" - @reviewer in utils.py:18

3. [style] "Add a docstring" - @reviewer in models.py:55

Which should I address? ("1,3", "all", or "none")

3. Check CI Status

Run uv run scripts/fetch_pr_checks.py [--pr NUMBER].

State

Action

failed > 0 and actionable_pending == 0

fix failures

actionable_pending > 0

wait; poll feedback while waiting

pending > 0 and actionable_pending == 0

report CHECKS_BLOCKED_BY_REVIEW_GATE

no checks after grace period

report NO_CHECKS_REGISTERED or DRAFT_PR_WITH_NO_CHECKS

all actionable checks passed

run post-CI feedback check

Wait for actionable review bots: sentry, warden, cursor, bugbot, seer, codeql.

Do not wait for approval, isDraft, REVIEW_REQUIRED, Codecov, or informational bots.

4. Fix CI Failures

For each failure:

  • read full log: gh run view <run-id> --log-failed
  • trace from assertion/exception/lint rule to source
  • state the cause before editing: "fails because X, affected by Y"
  • search related call sites/patterns
  • fix root cause, not symptom
  • add focused test coverage when needed

5. Verify Locally, Then Commit and Push

Before commit:

  • test fix: rerun specific test
  • lint/type fix: rerun affected checker
  • code fix: rerun covering tests
  • local failure: fix before pushing
git add <files>

git commit -m "fix: <descriptive message>"

git push

6. Monitor CI and Address Feedback

Loop:

  • run uv run scripts/fetch_pr_checks.py
  • handle table in step 3
  • while actionable_pending > 0, run uv run scripts/fetch_pr_feedback.py
  • fix new high/medium feedback immediately
  • if changed, verify, commit, push, restart loop
  • otherwise sleep 30 seconds and repeat
  • after checks pass, wait 10 seconds, fetch feedback once more
  • if new high/medium feedback exists, return to step 4

Claude Code optional: run uv run scripts/monitor_pr_checks.py through MonitorTool with persistent: false; set timeout to normal repo CI duration. Restart the monitor after every push.

Exit Conditions

Exit

Conditions

Success

actionable CI passed; post-CI feedback clean; low-priority choice handled

Ask user

same failure after 2 attempts; feedback unclear; infrastructure issue

Stop

no PR; branch needs rebase; no checks; draft no-checks; only human gates remain

Fallback

If scripts fail, use gh CLI directly:

  • gh pr view --json number,url,headRefName,isDraft,reviewDecision
  • gh pr checks --json name,state,bucket,description,link
  • gh run view <run-id> --log-failed
  • gh api repos/{owner}/{repo}/pulls/{number}/comments
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card