gh-plan-review
Review GitHub Plan
Use this skill when the user wants a deep review of an implementation plan before coding or before broadening an in-flight issue, PR, or branch. This skill is report-only: inspect, challenge, and summarize, but do not edit code, GitHub issues, TODO files, or branch state. Do not commit, amend, push, rebase, or hand off to mutation skills without a separate user request.
Boundary Rules
- Use
gh-issue-kickoffwhen the user wants to start from an issue and produce the first execution-ready plan. - Use this skill when the user wants to review, challenge, pressure-test, or refine an existing implementation plan, test strategy, or branch approach.
- Do not widen this skill into execution, issue cleanup, or git mutation work. If the user switches to implementation, hand off to the appropriate execution skill.
- Do not invoke
gh-commit,gh-pr-create,gh-pr-rebase, orgh-pr-review-commentsfrom this skill unless the user makes a separate follow-up request for mutation work.
Core Workflow
- Identify the authoritative plan source:
- GitHub issue: fetch with
gh issue view {<number> | <url>} --json assignees,author,body,comments,labels,milestone,number,projectItems,state,title,updatedAt,url - GitHub PR: fetch with
gh pr view {<number> | <url>} --json baseRefName,body,files,headRefName,number,state,title,url - Active branch only: inspect
git branch --show-current,git status --short, the current diff, and any local plan or design docs
- GitHub issue: fetch with
- Inspect the relevant local codebase, architecture, tests, and diff before judging the plan.
- Ground the review in evidence. The authoritative GitHub state, current repo shape, and actual branch diff win over pasted summaries or stale notes.
- Run
Scope Challengebefore deeper review. - Review architecture and boundaries, code shape and maintainability, tests and validation gaps, and performance, rollout, and failure modes.
- Record obvious fixes directly in the findings without interrupting the user. Ask the user only when a choice materially changes behavior, scope, validation, or rollout.
- Finish with the required output sections and status line.
Source Grounding Rules
GitHub CLI commands that require network access should be run outside the sandbox immediately, using approved gh prefix rules when available, instead of trying them in-sandbox first.
- If an issue or PR is referenced, fetch the live GitHub state before trusting pasted summaries, screenshots, or memory.
- Read the current diff and nearby code before calling something missing, redundant, or risky.
- Prefer the smallest plan change that makes execution safer or clearer.
- Call out when the plan unnecessarily rebuilds existing flows or ignores nearby patterns.
- If the source of truth is incomplete, say what is missing and whether the gap is material or cosmetic.
Scope Challenge
Answer these before deeper review:
- What already exists that partially or fully solves the problem?
- What is the minimum viable change that achieves the goal?
- What dependencies, blockers, or unresolved decisions could invalidate the plan?
- Where is the plan expanding scope beyond the stated goal?
If the plan is still executable with stated assumptions, record those assumptions and continue. If not, flag the smallest decision needed to unblock it.
Review Sections
1. Architecture and boundaries
Evaluate component boundaries, data flow, integration points, security-sensitive edges, and whether the plan creates avoidable coupling or single points of failure.
2. Code shape and maintainability
Evaluate module shape, reuse of existing patterns, error handling, edge-case coverage, over-engineering, under-engineering, and whether the plan stays minimal-diff.
3. Tests and validation gaps
Evaluate what must be tested, which user-visible paths or failure cases need coverage, and whether the validation plan matches the risk of the change.
4. Performance, rollout, and failure modes
Evaluate likely bottlenecks, expensive code paths, rollout and compatibility risks, and realistic failure modes that the plan does not yet account for.
Materiality and Question Rules
- Focus on material issues. Ignore cosmetic phrasing or document polish unless it hides a real ambiguity.
- A question is material when the answer changes behavior, scope, interfaces, test strategy, rollout, or whether execution is safe.
- If there is an obvious fix with no meaningful tradeoff, include it in
Plan Findingsinstead of stopping to ask. - When asking the user to choose, explain the tradeoff plainly, give a recommendation, and keep the options concrete.
- Do not silently expand scope, invent requirements, or convert open decisions into facts.
Output Format
After finishing the review, present the result in this order:
Scope ChallengePlan FindingsOpen DecisionsNOT in scopeWhat already existsTest StrategyNext Step
Then emit exactly one status line in this format:
status | source (issue/pr/branch) | open decisions (n) | execution ready (yes/no)
Use these values consistently:
status:done,partial, orblockedsource (issue/pr/branch): primary source of truth used for the reviewopen decisions (n): number of unresolved material choices left for the user or stakeholdersexecution ready:yesonly when the reviewed plan can be executed safely without waiting on unresolved material blockers
More from beeman/skills
gh-pr-review-comments
Address GitHub pull request review comments on an existing feature branch. Use when Codex needs to fetch live PR review comments with gh, classify each comment as actionable, optional, or rejectable, apply only accepted fixes on the same branch, run a self-review pass for contradictions introduced by those fixes, and then either create a new commit or follow an explicitly approved history-rewrite path before pushing, resolving threads, and re-requesting review.
8feature-structure
Use when reorganizing code around feature boundaries, splitting monolithic screen components or state hooks, deciding whether logic belongs in data-access, feature, ui, or child features, or moving orchestration out of prop-heavy UI files.
8gh-pr-create
Create a GitHub pull request from local repo changes. Use when Codex must get feature-branch setup and local commit packaging from `gh-commit`, get approval before pushing, show the exact PR title and body that will be sent, handle single-commit and multi-commit branch flows explicitly, and open or update the PR with gh.
7gh-issue-kickoff
Kick off work on a GitHub issue with gh. Use when Codex needs to start from the authoritative issue state and local codebase, fix only material issue gaps, and produce the first execution-ready implementation plan. For a deeper critique or tradeoff review of an existing plan, use `gh-plan-review`.
5gh-pr-rebase
Rebase an existing GitHub PR branch onto the repository default branch. Use when Codex needs to fetch the latest default-branch history, keep the local default branch current when that is safe, rebase the current feature branch, resolve straightforward conflicts carefully, ask the user to decide ambiguous conflicts, and update the remote PR branch with `git push --force-with-lease` after any required approval.
5gh-commit
Prepare a local Git commit from repo changes. Use when Codex needs to get onto the correct feature branch if needed, inspect `git status --short`, the current diff, and branch history, run the smallest relevant verification, add any required changeset, and package the tracked work into either a new commit or an explicitly approved amend flow before any push or PR step.
4