Token导航 LogoToken导航TokenDH.com
开发执行命令github未标认证来源可访问许可证需确认审计提醒

pr-comments公关评论

Agent Skill

pr-comments 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

5,190

周安装

212

GitHub Stars

11

下载量

1,662
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:pr-comments(公关评论)
来源仓库:https://github.com/casper-studios/casper-marketplace
仓库路径:skills/pr-comments
安装命令:
npx skills add https://github.com/casper-studios/casper-marketplace --skill pr-comments
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/casper-studios/casper-marketplace --skill pr-comments

简介

pr-comments 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,需结合原始 README 确认具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

PR Comments — Triage & Fix

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.

Invocation

  • /pr-comments — auto-detect PR from current branch
  • /pr-comments 608 — specific PR number

Phase 1: Fetch Unresolved Threads

1a. Identify the PR

# Auto-detect from current branch, or use the provided PR number
gh pr view --json number,headRepositoryOwner,title,headRefName,baseRefName

1b. Fetch ALL review threads via GraphQL

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.

1c. Filter to unresolved threads only

  • Keep threads where isResolved == false
  • Note isOutdated — the diff may have moved; flag these for extra scrutiny

1d. Also fetch issue-level comments (PR conversation tab)

gh 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.

Phase 2: Deduplicate & Classify

Multiple bots often flag the same underlying issue on the same file/line. Group them.

2a. Group by file + line range

Threads targeting the same file within a 5-line range likely address the same issue. Merge them into a single logical issue.

2b. Parse severity from bot comments

Each bot uses different severity markers:

BotFormatExample
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 badgeP1, P2, P3
devin-ai-integration[bot]HTML comment metadataParse 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.

2c. Classify each issue

For each deduplicated issue, determine:

  1. Category: security | bug | correctness | performance | accessibility | style | config | docs
  2. Severity: Critical / Major / Medium / Minor / Nitpick
  3. Confidence: How likely is this a real problem vs. a false positive?

- Human reviewer comments → always high confidence - Multiple bots flagging the same thing → high confidence - Single bot, no context about codebase patterns → low confidence - Bot flagging a SKILL.md or config file → usually noise

2d. Identify ignore candidates

Flag as ignore candidate if ANY of these apply:

  • Bot comment on a non-source file (.md, config, migrations) with no security implications
  • Style/nitpick-level feedback that contradicts project conventions (check AGENTS.md)
  • Bot flagging something that was intentionally designed that way (check git blame / PR description)
  • Outdated thread (isOutdated == true) where the code has already changed
  • Duplicate of another issue already being addressed
  • Bot suggesting a pattern that contradicts a loaded skill or AGENTS.md convention

Phase 3: Write the Fix Plan

Write the plan to .claude/scratchpad/pr-{PR_NUMBER}-review-plan.md.

Plan Format

# 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}

Present to user

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.

Phase 4: Execute (after human approval)

Once the user approves (they may edit the plan first — re-read it before executing):

4a. Resolve ignored threads

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:

  • "Acknowledged — project convention is to omit explicit return types (see AGENTS.md). Resolving."
  • "Acknowledged — outdated thread, code has been refactored. Resolving."
  • "Acknowledged — this is intentional; sessionStorage is only accessed client-side. Resolving."

4b. Fix real issues with subagents

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."
  • Use subagent_type: "general-purpose" for each group
  • Launch groups in parallel where they touch different files
  • Sequential if they touch the same file

4c. After all subagents complete

  1. Resolve the fixed threads on GitHub (same GraphQL mutation as 4a, with a comment like "Fixed in latest push.")
  2. Report results to the user

Known Bot Noise Patterns

These are almost always ignorable — but verify before dismissing:

  1. coderabbit on SKILL.md / AGENTS.md files — flags markdown structure, irrelevant
  2. gemini suggesting explicit return types — check project AGENTS.md or lint config before accepting
  3. devin HTML comment metadata — often duplicates what coderabbit already found
  4. codex P3 style suggestions — usually preferences, not bugs
  5. Any bot suggesting as casts or non-null assertions — check project conventions before accepting
  6. vercel[bot] deployment comments — pure noise, never actionable
  7. Bot comments on migration files — almost always false positives (auto-generated code)

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.87%
按下载量换算596

Claude

30.17%
按下载量换算501

Cursor

17.91%
按下载量换算298

Gemini CLI

9.64%
按下载量换算160

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/casper-studios/casper-marketplace --skill pr-comments 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills