config/agents/skills/pr-review/SKILL.md
Review GitHub pull requests with structured analysis and gh CLI integration. Use when asked to "review a PR", "check my PRs", "review pull request", or help with code review workflows.
npx skillsauth add edmundmiller/dotfiles pr-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Structured workflow for reviewing GitHub pull requests with gh CLI.
Find open PRs where I am assigned, requested as a reviewer, or have already submitted a review:
gh pr list \
--search "is:open (review-requested:@me OR reviewed-by:@me OR assignee:@me)" \
--limit 10 \
--json number,title,author,reviewRequests,assignees,createdAt \
--jq '.[] | {number, title, author: .author.login, reviewers: [.reviewRequests[]?.login], assignees: [.assignees[]?.login], created: .createdAt}'
If there are multiple PRs, ask which one I want to review. Present the results to me as a numbered list for me to choose from. If there's only one, confirm before proceeding.
Once I confirm the PR:
gh pr checkout <PR_NUMBER>gh pr view <PR_NUMBER>gh pr diff <PR_NUMBER>gh api repos/{owner}/{repo}/pulls/{pr_number}/commentsExamine the diff and provide:
High-Level Summary
Dependency Check
Impact Assessment
Provide a numbered list of files or directories to review, in logical order (foundational changes first, then core logic, then usages, then tests). For each item, briefly note what to focus on:
Prepare a list of suggested review comments, ordered by line number ascending (group by file, then sort by line within each file). For each comment:
Format each suggestion as plain text (not in code blocks, since code blocks don't wrap and are hard to read):
File: <path>
Line: <number>
Comment: <your suggestion>
Generate ready-to-run commands. Important: Create a pending review first, add each line comment individually, then submit.
Get the commit SHA for comments:
COMMIT_SHA=$(gh pr view <PR_NUMBER> --json headRefOid -q .headRefOid)
Check for an existing pending review before creating a new one:
gh api repos/{owner}/{repo}/pulls/{pr_number}/reviews \
--jq '.[] | select(.state == "PENDING") | {id, user: .user.login, state}'
If a pending review exists, skip creating a new one and add comments to it instead.
Create an empty pending review (only if no pending review exists):
gh api repos/{owner}/{repo}/pulls/{pr_number}/reviews \
-f commit_id="$COMMIT_SHA"
Add each line comment to the pending review (one call per comment):
gh api repos/{owner}/{repo}/pulls/{pr_number}/comments \
-f body="<comment>" \
-f path="<file_path>" \
-f commit_id="$COMMIT_SHA" \
-F line=<line_number> \
-f side="RIGHT"
Reply to existing comments (if needed):
gh api repos/{owner}/{repo}/pulls/{pr_number}/comments/{comment_id}/replies \
-f body="<reply>"
After all comments are added, submit the review as an approval:
gh pr review <PR_NUMBER> --approve --body "Short summary here."
Keep the final review body short (1-2 sentences). The detailed feedback is in the line comments.
Present findings in sections, then wait for user feedback. The user will:
Do NOT submit any reviews or comments until the user explicitly approves the plan.
development
Read-only Linear issue access via the Linear GraphQL API.
data-ai
## <!-- Purpose: Teach agents fast day-to-day memory browse/search/read/sync workflows in pi-context-repo. --> name: searching-memory description: > Search, browse, and inspect memory quickly in pi-context-repo. Use when asked to find prior notes, inspect memory files, locate preferences, or sync recent memory updates. Trigger phrases: "search memory", "list memory files", "find in memory", "read memory file", "memory status", "sync memory". --- # Searching Memory Use this workflow for fast
development
Comprehensive guide for initializing or reorganizing agent memory into a deeply hierarchical file structure. Use when running /init, when user asks to set up memory, or when memory needs a major reorganization. Trigger phrases: "initialize memory", "set up memory", "populate memory", "build my memory", "memory init".
data-ai
Decomposes and reorganizes agent memory files into focused, single-purpose components. Use when memory has large multi-topic blocks, redundancy, or poor organization. Trigger phrases: "defrag memory", "reorganize memory", "clean up memory files", "split memory blocks".