# pr-review > This skill provides a complete workflow for handling GitHub Pull Request reviews, specifically optimized for @gemini-code-assist automated reviews. This skill should be used when addressing PR review comments, responding to reviewers, resolving threads, requesting re-reviews, or merging PRs after feedback is addressed. Triggers include: /pr-review command, "address PR feedback", "handle review comments", "respond to gemini", or any PR review lifecycle management request. - Author: M. Adel Alhashemi - Repository: malhashemi/dotfiles - Version: 20260120025241 - Stars: 18 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/malhashemi/dotfiles - Web: https://mule.run/skillshub/@@malhashemi/dotfiles~pr-review:20260120025241 --- --- name: pr-review description: | This skill provides a complete workflow for handling GitHub Pull Request reviews, specifically optimized for @gemini-code-assist automated reviews. This skill should be used when addressing PR review comments, responding to reviewers, resolving threads, requesting re-reviews, or merging PRs after feedback is addressed. Triggers include: /pr-review command, "address PR feedback", "handle review comments", "respond to gemini", or any PR review lifecycle management request. --- # PR Review ## Overview This skill enables efficient handling of GitHub Pull Request review workflows. It provides Python scripts (via `uv run`) managed through a justfile for all GitHub API interactions, along with structured workflows for analyzing, categorizing, and responding to review comments. ## When to Use - User invokes `/pr-review` command - Request to address PR feedback or review comments - Need to respond to @gemini-code-assist review - Requirement to resolve review threads or request re-review - Request to merge PR after addressing feedback ## Quick Reference | Phase | Action | Command/Tool | Flow | |-------|--------|--------------|------| | 1 | Gather | `just -f {base_dir}/justfile unresolved OWNER REPO PR` | Autonomous | | 2 | Research | `session({mode: "message", agent: "researcher", ...})` | **⏸️ CHECKPOINT** | | 3 | Plan | `session({mode: "message", agent: "planner", ...})` | Autonomous ↓ | | 4 | Implement | `session({mode: "message", agent: "implement", ...})` | Autonomous ↓ | | 5 | Respond | `just reply ...` + `just resolve ...` | Autonomous ↓ | | 6 | Finalize | `just request-review ...` or `just merge ...` | Autonomous ↓ | > **Flow Model**: Phase 1 runs autonomously. Phase 2 ends with a checkpoint for user approval. > After approval, Phases 3-6 execute as an autonomous chain with no additional user interaction. ## Workflow Initialization **IMMEDIATELY upon loading this skill**, create the todo list to track all phases: ``` todowrite([ { id: "pr-1", content: "Phase 1: Gather PR review data (autonomous)", status: "pending", priority: "high" }, { id: "pr-2", content: "Phase 2: Research & assess comments (⏸️ CHECKPOINT)", status: "pending", priority: "high" }, { id: "pr-3", content: "Phase 3: Create implementation plan (autonomous)", status: "pending", priority: "medium" }, { id: "pr-4", content: "Phase 4: Execute implementation (autonomous)", status: "pending", priority: "medium" }, { id: "pr-5", content: "Phase 5: Respond to review threads (autonomous)", status: "pending", priority: "medium" }, { id: "pr-6", content: "Phase 6: Finalize and request re-review (autonomous)", status: "pending", priority: "medium" } ]) ``` **Phase Execution Pattern**: 1. Mark phase as `in_progress` when starting 2. Mark phase as `completed` when done 3. For CHECKPOINT phases: stop after presenting results, wait for user approval 4. For autonomous phases: immediately proceed to next phase after completion ## Scripts All scripts are PEP 723 compliant Python files. The base directory for this skill is provided when loaded. All scripts output JSON for easy parsing. Execute via justfile or directly with uv: ### Via Justfile (Recommended) ```bash just -f {base_dir}/justfile [args...] ``` | Recipe | Arguments | Description | |--------|-----------|-------------| | `pr-info` | `[pr_number]` | Get PR metadata (auto-detects if omitted) | | `fetch-comments` | `owner repo pr_number` | Fetch inline review comments | | `fetch-threads` | `owner repo pr_number` | Fetch threads with resolution status | | `unresolved` | `owner repo pr_number` | Fetch only unresolved threads | | `full-review` | `owner repo pr_number` | Get all PR data (info + threads + comments) | | `reply` | `owner repo pr_number comment_id body` | Reply to a comment | | `resolve` | `thread_id` | Resolve a thread by GraphQL ID | | `request-review` | `owner repo pr_number body` | Post summary and request re-review | | `merge` | `pr_number [method]` | Merge PR (method: merge/squash/rebase) | ### Direct Execution ```bash uv run {base_dir}/scripts/