--- name: iterate-pr description: Iterate on a PR until CI passes. Optionally merge or merge and publish a release of the repo. Automates the feedback-fix-push-wait cycle. argument-hint: "[--merge] [--release]" metadata: author: leecalcote version: "2.4.0" --- # Iterate on PR Until CI Passes > **2.4.0** - `fetch_pr_feedback.py` no longer reports an empty result as a successful > fetch. Every path where a feedback channel could come back empty because the request > did not actually deliver now fails loudly, and a server-side count probe backstops any > path not yet known. See [Fetch Integrity](#fetch-integrity). Continuously iterate on the current branch until all CI checks pass and review feedback is addressed. **Requires**: GitHub CLI (`gh`) authenticated. **Requires**: Python 3.9+. **Important**: Run scripts from the repository root directory (where `.git` is located). ### Running the Bundled Scripts Skills live in `.agents/skills/` - that is the canonical path, and the only one used in this document. Some repos also expose `.claude/skills` as a symlink to it, but that symlink is not guaranteed: it does not survive a Windows checkout with `core.symlinks=false`, and not every repo carries it. Always invoke via `.agents/`. Every script below accepts either runner - they only use the standard library, so no dependency installation is needed either way: - **Preferred**: [`uv`](https://docs.astral.sh/uv/getting-started/installation/) - `uv run