From copilot-cli-toolkit
Responds to GitHub PR review comments for specified numbers or all open PRs using configurable agents, git worktrees for parallel execution, and status checks.
npx claudepluginhub rjmurillo/ai-agentsThis skill is limited to using the following tools:
ultrathink
Resolves all unresolved GitHub PR review comments in parallel by spawning agents per thread, implementing fixes, committing changes, marking threads resolved via GraphQL, and verifying completion.
Conducts deep PR reviews using 6-7 parallel specialized agents for code quality, security, testing, frontend/backend architecture. Use for thorough pull request analysis before merging.
Reads open GitHub PR review comments, triages by severity and type, applies code fixes, and drafts replies. Use for addressing review feedback.
Share bugs, ideas, or general feedback.
ultrathink
Respond to PR review comments for: $ARGUMENTS
Load configuration from .claude/commands/pr-review-config.yaml for scripts, completion criteria, error recovery, and failure handling tables.
git branch --show-currentgh repo view --json nameWithOwner -q '.nameWithOwner'gh api user -q '.login'| Argument | Description | Default |
|---|---|---|
PR_NUMBERS | Comma-separated PR numbers or all-open | Required |
--parallel | Use git worktrees for parallel execution | false |
--cleanup | Clean up worktrees after completion | true |
--dry-run | Preview planned actions without executing (JSON output) | false |
When --dry-run is specified, gather read-only context and output planned actions as JSON. See dry_run in config for output schema and constraints. Exit after output without executing mutations.
For all-open, query open PRs. Cap the list to invocation_limits.all_open_max_prs from config (default: 5). If more open PRs exist, report the overflow count and execute invocation_limits.all_open_overflow_action.
For each PR number, validate using scripts.claude_code.get_pr_context from config.
Verify PR merge state using scripts.claude_code.test_pr_merged. Exit code 0 = not merged (safe), 1 = merged (skip). This avoids stale state from gh pr view.
Before addressing comments, gather full context:
get_review_threads, get_unresolved_threads, get_unaddressed_comments, and get_pr_context scripts from config.mergeable=MERGEABLE and no conflicts.get_pr_checks script. Handle failures per check_failure_actions table in config.branch=$(gh pr view {number} --json headRefName -q '.headRefName')
git worktree add "./.worktrees/pr-{number}" "$branch"
Sequential: Invoke pr-comment-responder skill for each PR with session context at .agents/pr-comments/PR-{pr}/.
Parallel: Launch background Task agents per PR. Wait for all with TaskOutput.
Each agent's intermediate output is subject to output_constraints.per_pr_max_response_tokens from config. If an agent approaches the token limit, summarize findings and move to the next PR.
Push any changes per worktree. Clean up worktrees if --cleanup. Check worktree_constraints in config for isolation rules.
Report per-PR status using output_constraints.summary_format from config. Required columns: output_constraints.summary_required_columns. The only currently supported value of summary_format is table, so render a markdown table with one row per PR. If a future config introduces another value, update both this step and the allowed values in output_constraints.summary_format together.
Replying does NOT resolve threads. Use add_thread_reply_resolve or separate resolve_thread calls. For batch resolution, use the GraphQL template in config.
ALL criteria from completion_criteria in config must pass before claiming completion. If ANY fails, loop back up to invocation_limits.completion_gate_max_retries times (default: 3) from config. If criteria still fail after the maximum retries, execute invocation_limits.completion_gate_overflow_action and halt. See failure_handling and error_recovery in config for recovery actions.
See related_memories in config for Serena memories to consult during PR review.