Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Iteratively improves a PR until Greptile gives it a 5/5 confidence score with zero unresolved comments. Triggers Greptile review, fixes all actionable comments, pushes, re-triggers review, and repeats. Use when the user wants to fully optimize a PR against Greptile's code review standards.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -9% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 77% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 37% | 0% |
Iteratively fix a PR until Greptile gives a perfect review: 5/5 confidence, zero unresolved comments.
bashgh pr view --json number,headRefName -q '{number: .number, branch: .headRefName}'
Switch to the PR branch if not already on it.
Repeat the following cycle. Max 5 iterations to avoid runaway loops.
Push the latest changes (if any) and wait for Greptile's review check to appear:
bashgit push
Then poll for the Greptile check to complete:
bashgh pr checks <PR_NUMBER> --watch
Get the latest review from Greptile:
bashgh api repos/{owner}/{repo}/pulls/<PR_NUMBER>/reviews
Look for the most recent review from greptile-apps[bot] or greptile-apps-staging[bot].
Parse the review body for:
3/5 or 5/5 in its review summary.Also fetch all unresolved inline comments:
bashgh api repos/{owner}/{repo}/pulls/<PR_NUMBER>/comments
Filter to comments from Greptile that are on the latest commit.
Stop the loop if any of these are true:
For each unresolved Greptile comment:
Fetch unresolved review threads and resolve all that have been addressed (see GraphQL reference):
bashgh api graphql -f query=' query($cursor: String) { repository(owner: "OWNER", name: "REPO") { pullRequest(number: PR_NUMBER) { reviewThreads(first: 100, after: $cursor) { pageInfo { hasNextPage endCursor } nodes { id isResolved comments(first: 1) { nodes { body path author { login } } } } } } } }'
Resolve addressed threads:
bashgh api graphql -f query=' mutation { t1: resolveReviewThread(input: {threadId: "ID1"}) { thread { isResolved } } t2: resolveReviewThread(input: {threadId: "ID2"}) { thread { isResolved } } }'
bashgit add -A git commit -m "address greptile review feedback (greploop iteration N)" git push
Then go back to step A.
After exiting the loop, summarize:
| Field | Value | |-------|-------| | Iterations | N | | Final confidence | X/5 | | Comments resolved | N | | Remaining comments | N (if any) |
If the loop exited due to max iterations, list any remaining unresolved comments and suggest next steps.
Greploop complete.
Iterations: 2
Confidence: 5/5
Resolved: 7 comments
Remaining: 0If not fully resolved:
Greploop stopped after 5 iterations.
Confidence: 4/5
Resolved: 12 comments
Remaining: 2
Remaining issues:
- src/auth.ts:45 — "Consider rate limiting this endpoint"
- src/db.ts:112 — "Missing index on user_id column"Other measured skills in the registry, with their headline benchmark lift.