skills/address-pr-comments/SKILL.md
--- Skill name: address-pr-comments Skill description: Address and resolve GitHub Pull Request review comments. Fetches unresolved PR comments, critically evaluates feedback, makes changes, commits per-comment, and resolves threads with confirmation. Use when asked to address PR comments, fix review feedback, or resolve PR threads. allowed-tools: - Bash(gh repo view:*) - Bash(gh pr view:*) - Bash(gh api:*) - Bash(bash ~/.agents/skills/address-pr-comments/fetch-comments.sh:*) --- # Addre
npx skillsauth add abhiroopb/synthetic-mind skills/address-pr-commentsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When the user asks you to address PR comments or review feedback, follow this process. Prioritize human review comments over automated/bot comments.
Read through the comments to understand what changes are being requested. Before implementing any changes, ask yourself: "What would my tech lead say about this comment?"
For each comment or group of related comments:
After addressing all comments, commit and push the changes. One commit per comment or issue. Don't bundle multiple comments or issues into a single commit.
To resolve comments, you need the review thread IDs (not the comment IDs). Use GraphQL:
gh api graphql -f query="
query {
repository(owner: \"${REPO_OWNER}\", name: \"${REPO_NAME}\") {
pullRequest(number: ${PR_NUMBER}) {
reviewThreads(first: 100) {
nodes {
id
isResolved
comments(first: 1) {
nodes {
databaseId
body
}
}
}
}
}
}
}"
This returns thread IDs (format: PRRT_kwDOEv8_B85ev7PY) mapped to comment IDs.
Before resolving comments, ask the user:
"I've addressed the following PR comments:
Should I mark these {N} review threads as resolved?"
If confirmed, resolve all addressed threads using GraphQL mutation:
gh api graphql -f query='
mutation {
t1: resolveReviewThread(input: {threadId: "PRRT_kwDOEv8_B85ev7PY"}) { thread { id } }
t2: resolveReviewThread(input: {threadId: "PRRT_kwDOEv8_B85ev7Tz"}) { thread { id } }
...
}'
You can batch resolutions in a single mutation for efficiency.
Sometimes you may need to reply to a comment to answer a question or provide technical justification for your approach. With the user's permission, you can reply to specific comments.
Use the REST API with the in_reply_to parameter to post a reply.
gh api -X POST "repos/${REPO_OWNER}/${REPO_NAME}/pulls/${PR_NUMBER}/comments" \
-f body="Your reply message here" \
-F in_reply_to={COMMENT_DATABASE_ID}
All replies MUST be signed as generated by AI. Use your signature format.
Always ask the user before posting replies - use this sparingly and only when helpful context is needed.
testing
Track TV shows and movies with Trakt.tv. Search, get watchlist, history, up-next, recommendations, trending, calendar, ratings, stats, add/remove from watchlist, mark watched, rate, and check in. Use when asked about what to watch, TV shows, movies, watch history, or Trakt.
development
Send and receive SMS messages via Twilio API. Used for text message notifications, forwarding important alerts, and two-way SMS communication.
documentation
Organizes files in the local Downloads folder into proper folders. Use when asked to organize, sort, or file downloaded documents.
tools
Book and manage appointments on Sutter Health MyHealth Online portal. Uses browser automation via Playwright MCP to interact with the patient portal.