Fix Bugbot Pr Comments
Fetch, triage, and fix unresolved Cursor Bugbot or automated PR review comments. Use when the user asks to fix Bugbot findings, babysit a PR, resolve automated review comments, or make a pull request merge-ready.
What it does
Fixes automated code review comments and ensures pull requests are merge-ready by addressing feedback.
- Fetch review comments
- Triage feedback
- Implement fixes
- Update tests
Fix Bugbot PR Comments
Use this workflow to make a PR merge-ready after Cursor Bugbot or other automated review comments appear.
Core Rules
- Use
ghfor all GitHub operations. - Fetch unresolved review threads first; filter out resolved threads before reading comment bodies.
- Read only each comment body plus the minimum path, line, and URL needed to act.
- Fix only clear, correct, in-scope feedback.
- Keep changes minimal and scoped to the PR.
- Do not modify CI workflows or config just to make checks pass.
- Do not include unrelated files or generated artifacts in commits.
- If a branch requires signed commits and this environment cannot produce a verified signature, stop and report the exact blocker instead of force-pushing or bypassing rules.
Resolve PR Context
Start from the current branch:
git status --short --branch
gh pr view --json number,url,title,headRefName,baseRefName,mergeStateStatus,reviewDecision,isDraft
gh pr checks --json name,bucket,state,workflow,linkIf there are local changes, determine whether they are yours and relevant before touching them.
Fetch Unresolved Comments
Use GraphQL so resolved threads are filtered before reading bodies:
OWNER_REPO="$(gh repo view --json owner,name -q '.owner.login + "/" + .name')"
OWNER="${OWNER_REPO%/*}"
REPO="${OWNER_REPO#*/}"
PR="$(gh pr view --json number -q .number)"
gh api graphql \
-f owner="$OWNER" \
-f repo="$REPO" \
-F number="$PR" \
-f query='query($owner:String!, $repo:String!, $number:Int!) {
repository(owner:$owner, name:$repo) {
pullRequest(number:$number) {
reviewThreads(first:100) {
nodes {
isResolved
isOutdated
path
line
comments(first:10) {
nodes {
author { login }
body
url
}
}
}
}
reviews(first:50) {
nodes {
author { login }
state
body
url
}
}
}
}
}' \
--jq '.data.repository.pullRequest as $pr |
{
unresolvedThreads: [
$pr.reviewThreads.nodes[]
| select(.isResolved == false)
| {path,line,isOutdated,comments:[.comments.nodes[] | {author:.author.login, body, url}]}
],
reviews: [$pr.reviews.nodes[] | {author:.author.login, state, body, url}]
}'Classify each unresolved thread:
- Fix now: Clear, correct, in-scope bug or missing test.
- Needs human: Product decision, ambiguous requested behavior, or tradeoff.
- Won't fix: Incorrect, stale, or out of PR scope. Reply with a short rationale if appropriate.
Fix Loop
For each clear in-scope issue:
- Read the referenced file and the smallest surrounding context needed.
- Make the smallest safe fix.
- Add or update focused tests when behavior changes.
- Run scoped tests first.
- Run broader checks only when scoped checks pass or when the change touches shared behavior.
- Re-check generated files and unrelated artifacts before staging.
Common generated-file guard:
git status --shortIf a build rewrites a tracked binary or generated artifact unrelated to the fix, restore it before committing.
CI Loop
Use PR checks as the source of truth:
gh pr checks --json name,bucket,state,workflow,linkIf checks are pending:
gh pr checks --watch --fail-fastIf checks fail:
- Inspect the failing check link or GitHub Actions failed logs.
- Extract the first actionable error.
- Fix only failures caused by this PR.
- If the failure is unrelated and likely already fixed upstream, fetch and merge latest
origin/main. - If fixing would require changing CI itself, stop and report.
Commit And Push
Before committing:
git status --short --branch
git diff --check
git diff --cached --statStage only files changed for the Bugbot fixes. Use a concise message:
git commit -m "fix(scope): concise summary"
git pushAfter pushing, re-run:
gh pr checks --json name,bucket,state,workflow,linkThen fetch unresolved threads again. Continue until CI is green and all actionable comments are resolved or clearly reported.
Final Report
Keep the report short:
- Issues fixed.
- Tests/checks run.
- Current CI status.
- Remaining blockers, if any, with URLs.
Developer & API
curl -sL https://agentvouch.xyz
/api/skills/8969aa89-981e-40dd-8f40-bbec454617d1/raw -o SKILL.mdGET /api/skills/8969aa89-981e-40dd-8f40-bbec454617d1/rawAuth: Authorization: Bearer sk_... or wallet signature. Get API key →
Initial release