Greploop
npx -y skills add Bboyfarouk/skills --skill greploopAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.9 KB, as published. Nobody here has run it
Greploop
Iteratively fix a PR until Greptile gives a perfect review: 5/5 confidence, zero unresolved comments.
Inputs
- PR number (optional): If not provided, detect the PR for the current branch.
Instructions
1. Identify the PR
gh pr view --json number,headRefName -q '{number: .number, branch: .headRefName}'
Switch to the PR branch if not already on it.
2. Loop
Repeat the following cycle. Max 5 iterations to avoid runaway loops.
A. Trigger Greptile review
Push the latest changes (if any) and wait for Greptile's review check to appear:
git push
Then poll for the Greptile check to complete:
gh pr checks <PR_NUMBER> --watch
B. Fetch Greptile review results
Get the latest review from Greptile:
gh 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:
- Confidence score: Greptile includes a score like
3/5or5/5in its review summary. - Comment count: Number of inline review comments.
Also fetch all unresolved inline comments:
gh api repos/{owner}/{repo}/pulls/<PR_NUMBER>/comments
Filter to comments from Greptile that are on the latest commit.
C. Check exit conditions
Stop the loop if any of these are true:
- Confidence score is 5/5 AND there are zero unresolved comments
- Max iterations reached (report current state)
D. Fix actionable comments
For each unresolved Greptile comment:
- Read the file and understand the comment in context.
- Determine if it's actionable (code change needed) or informational.
- If actionable, make the fix.
- If informational or a false positive, note it but still resolve the thread.
E. Resolve threads
Fetch unresolved review threads and resolve all that have been addressed (see GraphQL reference):
gh 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:
gh api graphql -f query='
mutation {
t1: resolveReviewThread(input: {threadId: "ID1"}) { thread { isResolved } }
t2: resolveReviewThread(input: {threadId: "ID2"}) { thread { isResolved } }
}'
F. Commit and push
git add -A
git commit -m "address greptile review feedback (greploop iteration N)"
git push
Then go back to step A.
3. Report
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.
Output format
Greploop complete.
Iterations: 2
Confidence: 5/5
Resolved: 7 comments
Remaining: 0
If 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"