
Review Pr
A solo builder uses this skill to perform strict production-readiness reviews of pull requests, run local CI validation, and gate merges on passing tests.
Install
npx skills add https://github.com/mvagnon/plan-based-agentic-workflow --skill review-prWhat is this skill?
- Mandatory local CI validation before merge
- Semantic code analysis with Serena MCP for deep symbol inspection
- Linked task and discussion context awareness
Adoption & trust: 1 installs on skills.sh; trending (+100% hot-view momentum).
Recommended Skills
Improve Codebase Architecturemattpocock/skills
Zoom Outmattpocock/skills
Caveman Reviewjuliusbrussee/caveman
Requesting Code Reviewobra/superpowers
Receiving Code Reviewobra/superpowers
Request Refactor Planmattpocock/skills
Journey fit
Primary fit
This skill is essential in the ship phase when pull requests are ready for review and merge decisions before deployment to production. The review subphase is where code quality gates, CI validation, and merge decisions occur before shipping changes.
SKILL.md
READMESKILL.md - Review Pr
interface: display_name: "Review PR" short_description: "Strict PR review with mandatory local CI." default_prompt: "Use when one or more pull requests exist and the user wants a strict production-readiness review, approval signal, or merge finalization. It resolves PRs from the current repository or child repositories, reads linked PM tasks and prior discussion, reviews changed code with Serena MCP, runs the full local CI suite, posts concise review feedback, and only allows merge or PM task closure when local CI passes. It uses the PR scoring reference as the source of truth, judges declared project architecture from instruction files, and treats changed-code duplication as a bug." dependencies: tools: - type: "cli" value: "gh" description: "Required GitHub PR diff, review comment, ready-for-review, and merge operations." - type: "mcp" value: "serena" description: "Required semantic code exploration and symbol/reference analysis." - type: "mcp" value: "exa" description: "Required for architecture best-practice research when project instruction files name an architecture but omit, contradict, or blur important details." policy: allow_implicit_invocation: true # GitHub PR Review Reference Use this reference for concrete PR inspection, CI, and review commands. ## Resolve PR ```bash git rev-parse --show-toplevel git status --short --branch git branch --show-current git remote -v gh pr view --json number,title,body,url,state,isDraft,baseRefName,headRefName,headRepository,headRepositoryOwner,author,files,comments,reviews,reviewDecision,statusCheckRollup,closingIssuesReferences,linkedIssues gh pr diff gh pr checks ``` Child repositories: ```bash find . -mindepth 2 -maxdepth 4 -name .git -prune -print git -C <child-repo> status --short --branch git -C <child-repo> branch --show-current git -C <child-repo> remote -v gh -R <owner/repo> pr view <branch-or-pr> --json number,title,body,url,state,isDraft,baseRefName,headRefName,headRepository,headRepositoryOwner,author,files,comments,reviews,reviewDecision,statusCheckRollup,closingIssuesReferences,linkedIssues ``` If several unrelated PRs match, ask for the PR selector before reviewing. ## Linked PM Tasks Resolve linked tasks before judging scope: - `closingIssuesReferences` and `linkedIssues` from `gh pr view`; - PM task URLs in the PR body; - branch name `<pm-tool>/<task-ids>` when links are missing. GitHub issue content: ```bash gh issue view <number-or-url> --json number,title,body,state,labels,comments,url,closed ``` For non-GitHub PM tools, use the installed MCP or CLI. If a task cannot be read, report that limitation and review against the accessible PR body and diff. ## Previous Discussion ```bash gh api /repos/<owner>/<repo>/issues/<number>/comments --paginate gh api /repos/<owner>/<repo>/pulls/<number>/comments --paginate gh api /repos/<owner>/<repo>/pulls/<number>/reviews --paginate ``` Review threads: ```bash gh api graphql -f query=' query($owner: String!, $repo: String!, $number: Int!, $cursor: String) { repository(owner: $owner, name: $repo) { pullRequest(number: $number) { reviewThreads(first: 100, after: $cursor) { pageInfo { hasNextPage endCursor } nodes { id isResolved isOutdated path line originalLine comments(first: 20) { nodes { id body author { login } url createdAt } } } } } } }' -F owner=<owner> -F repo=<repo> -F number=<number> ``` Avoid duplicate feedback for unresolved valid threads. ## Full Local CI Discover commands: ```bash rg --files -g 'package.json' -g 'turbo.json' -g 'pnpm-workspace.yaml' -g 'yarn.lock' -g 'package-lock.json' rg --files -g 'pyproject.toml' -g 'pytest.ini' -g 'tox.ini' -g 'poetry.lock' -g 'requirements*.txt' rg --files -g '.github/workflows/*