Help us improve
Share bugs, ideas, or general feedback.
From go-workflow
Automates addressing GitHub PR review comments: fetches feedback from reviewers/bots, applies code fixes, verifies changes, pushes updates, resolves threads, requests re-review. Use on PR branches with pending feedback.
npx claudepluginhub gopherguides/gopher-ai --plugin go-workflowHow this skill is triggered — by the user, by Claude, or both
Slash command
/go-workflow:address-reviewThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**If `$ARGUMENTS` is empty or not provided:**
Reviews PRs by dispatching a subagent, handling rebases, and offering automated fix/merge modes. Trigger: '/pr-review' or 'address review feedback'.
Automates GitHub PR review-fix loops: requests bot reviews via @mentions, polls comments with GitHub CLI, analyzes issues, fixes code, runs internal review, pushes changes, repeats until no critical issues.
Fetches GitHub PR review feedback, triages comments as valid/stale/incorrect, implements fixes, verifies with tests, and drafts replies.
Share bugs, ideas, or general feedback.
If $ARGUMENTS is empty or not provided:
Auto-detect PR from current branch:
gh pr view --json number --jq '.number' 2>/dev/null
If no PR found, display usage and ask:
Usage: /address-review [PR-number] [--no-watch]
Example: /address-review 123 or just /address-review on a PR branch. Add --no-watch to exit after one fix cycle instead of watching for bot re-reviews.
Ask the user: "No PR found for current branch. What PR number would you like to address?"
If PR number is available (from $ARGUMENTS or auto-detected):
WATCH_MODE=true
PR_ARG=""
for arg in $ARGUMENTS; do
case "$arg" in
--no-watch) WATCH_MODE=false ;;
*) PR_ARG="$arg" ;;
esac
done
echo "WATCH_MODE=$WATCH_MODE PR_ARG=$PR_ARG"
!if [ -n "$PR_ARG" ] && ! echo "$PR_ARG" | grep -qE '^[0-9]+$'; then echo "Error: PR number must be numeric"; exit 1; fi
RESOLVED_PR="${PR_ARG:-$(gh pr view --json number --jq '.number' 2>/dev/null || echo 'auto')}"
echo "Resolved PR: $RESOLVED_PR"
Read loop-management.md for loop setup and phase re-entry logic. Key behavior:
watching phase in watch mode → skip to Step 12 (watch loop)watching phase in no-watch mode → clear phase, run full fix cycleRead setup-and-discovery.md for PR context gathering, mode banner display, and bot discovery via GraphQL. Match discovered authors against bot-registry.md.
Read checkout-rebase.md for the full procedure: checkout via gh pr checkout, detect base remote, check if behind, rebase + force-push if needed, wait for CI after rebase.
Read fetch-feedback.md for GraphQL queries to fetch review threads (line-specific, auto-resolvable) and pending reviews (CHANGES_REQUESTED).
Read fix-cycle.md for the complete fix cycle:
test-generation.md)go build, go test, golangci-lintBOT_REVIEW_BASELINE timestampRead bot-registry.md for the full re-review procedure (Steps 10a-10e) including bot detection, opt-out checks, and data-driven re-review triggering.
Confirm all resolvable threads are resolved and CI is passing:
OWNER=$(gh repo view --json owner --jq '.owner.login')
REPO=$(gh repo view --json name --jq '.name')
gh api graphql -f query='
query($owner: String!, $repo: String!, $pr: Int!) {
repository(owner: $owner, name: $repo) {
pullRequest(number: $pr) {
reviewThreads(first: 100) {
nodes { isResolved }
}
}
}
}
' -f owner="$OWNER" -f repo="$REPO" -F pr="$PR_NUM" | jq '.data.repository.pullRequest.reviewThreads.nodes | map(select(.isResolved == false)) | length'
Confirm CI: gh pr checks "$PR_NUM"
Skip if WATCH_MODE is false or no review bots were detected.
Read watch-loop.md for Phase Transition logic, bot polling, quiet period detection, timeout handling, and re-trigger procedures.
--no-watch:Output <done>COMPLETE</done> when: branch rebased, all feedback addressed, fixes validated, local verification passes, changes pushed, CI green, replies posted, threads resolved, re-review requested.
All above, PLUS all detected review bots signaled approval per bot-registry.md.
When ALL criteria are met, output exactly: <done>COMPLETE</done>
Safety: If 15+ iterations without success, document blockers and ask user.
bot-registry.md — Bot registry table, detection logic, and Step 10 re-review procedurestest-generation.md — Step 4.5 test generation guidelines and testability ruleswatch-loop.md — Phase Transition logic and Step 12 watch loop proceduresloop-management.md — Loop initialization and re-entry check logicsetup-and-discovery.md — PR context gathering, mode banner, and bot discoverycheckout-rebase.md — Step 1 checkout and rebase procedurefetch-feedback.md — Step 2 GraphQL queries for review feedbackfix-cycle.md — Steps 3-9 categorize, fix, verify, commit, CI, reply, resolve