Fetch all unresolved PR review threads, deduplicate across bots, triage by severity, and produce a fix plan for human approval. After sign-off, resolve ignored threads and spawn subagents to fix real issues.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionpr-commentsExecute the skills CLI command in your project's root directory to begin installation:
Fetches pr-comments from casper-studios/casper-marketplace and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate pr-comments. Access via /pr-comments in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
0
total installs
0
this week
10
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
10
stars
Fetch all unresolved PR review threads, deduplicate across bots, triage by severity, and produce a fix plan for human approval. After sign-off, resolve ignored threads and spawn subagents to fix real issues.
/pr-comments — auto-detect PR from current branch/pr-comments 608 — specific PR number# Auto-detect from current branch, or use the provided PR number
gh pr view --json number,headRepositoryOwner,title,headRefName,baseRefName
Use GraphQL to get thread resolution status — this is the only reliable source of truth.
gh api graphql -f query='
{
repository(owner: "{OWNER}", name: "{REPO_NAME}") {
pullRequest(number: {PR_NUMBER}) {
reviewThreads(first: 100) {
nodes {
id
isResolved
isOutdated
path
line
comments(first: 20) {
nodes {
databaseId
author { login }
body
path
line
originalLine
createdAt
url
}
}
}
}
}
}
}'
Paginate if hasNextPage is true. Collect every thread.
isResolved == falseisOutdated — the diff may have moved; flag these for extra scrutinygh api --paginate "repos/{OWNER}/{REPO_NAME}/issues/{PR_NUMBER}/comments?per_page=100"
Filter to comments from human reviewers only (not bots). These are often the most important.
Multiple bots often flag the same underlying issue on the same file/line. Group them.
Threads targeting the same file within a 5-line range likely address the same issue. Merge them into a single logical issue.
Each bot uses different severity markers:
| Bot | Format | Example |
|---|---|---|
coderabbitai[bot] |
Emoji badge in body | 🟠 Major, 🟡 Minor, 🔴 Critical |
gemini-code-assist[bot] |
SVG image alt text | ![medium], ![high], ![low] |
chatgpt-codex-connector[bot] |
Shield badge | P1, P2, P3 |
devin-ai-integration[bot] |
HTML comment metadata | Parse devin-review-comment JSON for severity |
Map all to a unified scale: Critical > Major > Medium > Minor > Nitpick
When multiple bots flag the same issue at different severities, take the highest.
For each deduplicated issue, determine:
security | bug | correctness | performance | accessibility | style | config | docsFlag as ignore candidate if ANY of these apply:
.md, config, migrations) with no security implicationsisOutdated == true) where the code has already changedWrite the plan to .claude/scratchpad/pr-{PR_NUMBER}-review-plan.md.
# PR #{PR_NUMBER} Review Plan — "{PR_TITLE}"
**Branch:** {branch_name}
**PR URL:** {pr_url}
**Threads fetched:** {total} total, {unresolved} unresolved, {outdated} outdated
**Bot breakdown:** {count per bot}
---
## Issues to Fix (ordered by severity)
Only include issues that will actually be fixed. Items classified as ignored in Phase 2 go EXCLUSIVELY in the Ignored section below — never list them here.
### 1. [{SEVERITY}] {Short description of the issue}
- **File:** `path/to/file.ts#L{line}`
- **Category:** {category}
- **Flagged by:** @bot1, @bot2
- **Comment URL:** {url to first comment}
- **What's wrong:** {1-2 sentence explanation in plain english}
- **Suggested fix:** {concrete description of what to change}
> Original comment (from @bot1):
> {relevant excerpt — strip boilerplate/badges}
---
### 2. [{SEVERITY}] ...
---
## Ignored (with reasoning)
Each ignored item appears ONLY here — not duplicated in the Issues to Fix section above.
### I1. @{bot} on `path/to/file.ts#L{line}`
- **Why ignored:** {specific reason — e.g., "contradicts project convention in AGENTS.md to not use explicit return types", "outdated thread, code already changed", "style nitpick on a config file"}
- **Original comment:** {link to comment}
### I2. ...
---
## Summary
- **{N} issues to fix** across {M} files
- **{K} comments ignored** ({reasons breakdown})
- Estimated complexity: {low/medium/high}
After writing the plan, tell the user:
Review plan written to
.claude/scratchpad/pr-{PR_NUMBER}-review-plan.md. {N} issues to fix, {K} ignored. Please review and confirm to proceed.
STOP HERE. Wait for the user to review and approve. Do not proceed until they confirm.
Once the user approves (they may edit the plan first — re-read it before executing):
For each ignored issue, resolve the GitHub thread with a brief comment explaining why:
# Post a reply comment on the thread
gh api -X POST "repos/{OWNER}/{REPO_NAME}/pulls/{PR_NUMBER}/comments" \
-f body="Acknowledged — {reason}. Resolving." \
-F in_reply_to={COMMENT_DATABASE_ID}
# Resolve the thread via GraphQL
gh api graphql -f query='
mutation {
resolveReviewThread(input: { threadId: "{THREAD_NODE_ID}" }) {
thread { isResolved }
}
}'
Use concise, specific dismiss reasons. Examples:
Group related issues that touch the same file or logical unit. Then launch parallel subagents (one per file or logical group) using the Task tool:
Launch a Task subagent (subagent_type: "general-purpose") for each group:
Prompt template:
"Fix the following PR review issue(s) on branch {BRANCH}:
Issue: {description}
File: {path}#{line}
What's wrong: {explanation}
Suggested fix: {fix description}
Read the file, understand the surrounding context, and make the fix.
After fixing, verify the change is correct.
Do NOT touch unrelated code."
subagent_type: "general-purpose" for each groupThese are almost always ignorable — but verify before dismissing:
as casts or non-null assertions — check project conventions before acceptingMake data-driven prioritization decisions faster
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Prerequisites
Time Estimate
30-60 minutes to see productivity improvements
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid when
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
mattpocock/skills
parcadei/continuous-claude-v3
cursor/plugins
ailabs-393/ai-labs-claude-skills
pproenca/dot-skills
mattpocock/skills
We added pr-comments from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
Keeps context tight: pr-comments is the kind of skill you can hand to a new teammate without a long onboarding doc.
pr-comments reduced setup friction for our internal harness; good balance of opinion and flexibility.
Registry listing for pr-comments matched our evaluation — installs cleanly and behaves as described in the markdown.
pr-comments fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
I recommend pr-comments for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
pr-comments reduced setup friction for our internal harness; good balance of opinion and flexibility.
pr-comments has been reliable in day-to-day use. Documentation quality is above average for community skills.
Solid pick for teams standardizing on skills: pr-comments is focused, and the summary matches what you get after install.
pr-comments fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
showing 1-10 of 43