Autonomous review loop - automates the review-fix-push cycle
Project description
Autonomous Review Loop
A workflow tool that automates the review-fix-push cycle by delegating to your coding agent.
Why
When you create a PR, code review (human or automated) generates comments you need to triage: reading each one, deciding what to fix vs. reject, discussing with your coding agent, then resolving threads one by one. The whole cycle is tedious and distracting.
The solution: delegate the entire review loop to your coding agent. It waits for CI to complete, fetches all comments, decides which are valid, fixes the issues, resolves threads, pushes, and repeats until clean. You only get pulled in when there's an actual decision that needs human judgment.
Features
- Batched decision-making - Get aggregate review requests instead of triaging individual comments one by one
- Parallel work - Continue other tasks while the review loop runs autonomously in the background
- Multi-pass resolution - Iterates automatically until no unresolved comments remain
- Agent-agnostic - Works with any coding agent (Claude Code, Cursor, etc.) and any review tool
Prerequisites
- Claude Code - Anthropic's CLI for Claude
- GitHub CLI (
gh) - Authenticated with your account - jq - JSON processor
Installation
uv tool install reviewloop
Then initialize in your project:
reviewloop init
Usage
With Claude Code Skill
From your project directory with an open PR, invoke the skill:
/reviewloop
The agent will autonomously:
- Wait for CI to complete
- Fetch and analyze review comments
- Fix valid issues, ask you about ambiguous ones
- Resolve threads and push
- Repeat until no comments remain
With Standalone Scripts
If you initialized with --mode script, prompt your coding agent with the contents of scripts/reviewloop/reviewPrompt.txt.
Troubleshooting
"No PR found for current branch"
Ensure you're on a branch with an open PR:
gh pr view
"gh CLI is not authenticated"
Run:
gh auth login
Skill not appearing in Claude Code
- Check the skill file exists:
.claude/skills/reviewloop/SKILL.md - Verify the frontmatter is valid YAML
- Restart Claude Code
CI timeout
The default timeout is 10 minutes. If your CI takes longer, the script will inform you and you can re-run with a longer timeout:
scripts/reviewloop/review-wait.sh --timeout=1200
Status
Currently in active development.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file reviewloop-0.1.0.tar.gz.
File metadata
- Download URL: reviewloop-0.1.0.tar.gz
- Upload date:
- Size: 142.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
796501a19c3ab6e1330e123310adfc8402e4de4bf8bd008076aa09fdb548e2d0
|
|
| MD5 |
ee695ba19da5f68d42ff4a8b352df068
|
|
| BLAKE2b-256 |
c4a903487fa3dcee062bb30b69e44883563896c6326f35c78d6dc13b5f8b5ebb
|
File details
Details for the file reviewloop-0.1.0-py3-none-any.whl.
File metadata
- Download URL: reviewloop-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b81064fce049e26442c8267ed9f9150f6db4430bbd8fc164558f48555720807b
|
|
| MD5 |
53480e5cc82d5b782ee351adb96f3739
|
|
| BLAKE2b-256 |
bc9fb9e3cf904605bce9cf1a610e5c58be6bdb23a2cca0fef0da31dfe2113953
|