关于 posting-review-summary
posting-review-summary 是面向代码审查 Agent 的技能,规定审查摘要的内容、格式和输出位置。它根据本地审查、Agent 模式或 GitHub Actions 等上下文选择写入文件或更新评论。
主要功能
- 01按上下文选择摘要输出位置
- 02规定审查结论与摘要格式
- 03评估 PR 元数据是否存在实质缺陷
- 04按严重程度组织审查发现
- 05要求标明未覆盖的审查步骤
适用场景
- 01将本地代码审查结果写入摘要文件
- 02在 Agent 模式下准备供后续步骤读取的摘要
- 03通过 GitHub MCP 工具更新审查评论
MCP 相关
在 GitHub Actions 标签模式中,使用 mcp__github_comment__update_claude_comment 更新置顶评论;Agent 模式和本地模式不调用该工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bitwarden/ ai-plugins --skill posting-review-summary安装后在 Claude Code 中输入/posting-review-summary确认已加载。
详细介绍
发布审核摘要
上下文检测
按以下顺序检查上下文——使用第一个匹配项:
| 上下文 | 检测方式 | 操作 |
|---|---|---|
| 本地输出生效 | 提示词开头的指令块中有一行 OUTPUT: local files,或调用方将本地文件指定为当前生效的目标。先检查这一项,绝不能根据当前可用的工具来判断 | 写入工作目录中的 review-summary.md |
| 本地目标,无 GitHub 目标 | 审核目标是本地更改,且调用方未声明 GitHub 目标 | 写入工作目录中的 review-summary.md |
| Agent 模式 | 提示词中提供了固定评论上下文(评论 ID + `` 标记) | 将摘要写入 /tmp/review-summary.md |
| GitHub Actions(标签模式) | mcp__github_comment__update_claude_comment 可用,且不存在固定评论上下文 | 通过 MCP 工具更新固定评论 |
| 本地审核 | 既没有 Agent 模式上下文,也没有 MCP 工具 | 写入工作目录中的 review-summary.md |
**禁止:**不得使用 gh pr comment 创建摘要评论。
PR 元数据评估
如果 PR 标题、描述或测试计划确实存在不足,请在“代码审核详情”折叠部分中将其列为一项发现。
规则
- 不要评论细微改进
- 不要评论虽不完美但足够合格的元数据
- 绝不要将其作为行内评论
- PR 元数据评估的反馈不得超过 3 行
示例
确实存在不足的情况:
- 标题就是“fix bug”“update”“changes”或单个词
- 描述为空或只有“See Jira”
- UI 有更改,但没有任何截图
- 没有测试计划,且更改可以测试
足够合格(不要标记):
- 标题描述了更改,即使不够完美:“Fix login issue for SSO users”
- 描述不为空,且对更改有所说明,即使很简短
- 测试计划引用了包含测试细节的 Jira 任务
格式
- ❓ **QUESTION**: PR title could be more specific
- Suggested: "Fix null check in UserService.getProfile"
摘要格式
## 🤖 Bitwarden Claude Code Review
**Overall Assessment:** APPROVE / REQUEST CHANGES
[Up to 4 neutral sentences describing what was reviewed]
[Optional **Not covered:** line - only when a review step the diff called for did not run and nothing else in this review covered its ground]
<details>
<summary>Code Review Details</summary>
[Findings grouped by severity - see ordering below]
[Optional PR Metadata Assessment - only for truly deficient metadata]
</details>
无结论
如果没有进行审查——例如无法生成差异、差异为空、无法识别拉取请求,或因其他原因未能进行审查——请使用此表单代替上面的模板,而不是将其作为模板中的第三种取值。不要给出 APPROVE 或 REQUEST CHANGES;对未经审查的差异给出结论,还不如不下结论。
根据上面的上下文检测和下面的输出执行中各模式的步骤,此表单会发送到当前模式下正常摘要的同一位置——包括在 Agent 模式下追加标记;没有该标记,下次运行就无法找到固定评论,并会重复创建评论。此表单不会改变输出位置——如果停止流程没有写入任何内容,就会留下一个称审查未发现问题的占位评论,而此表单正是为了避免这种情况。
原因应放在评估句的位置,置于 <details> 之外,理由与覆盖范围说明相同——没人展开的原因,就没人会读。因此,此处完全不使用 <details> 块,因为没有发现项可放入其中;也不需要覆盖范围说明,因为此表单已说明整个审查并未进行。
## 🤖 Bitwarden Claude Code Review
**Overall Assessment:** NO VERDICT
[One or two sentences: what was attempted, what stopped it, and what the caller should do next]
未覆盖的内容
覆盖范围说明不是发现项:它没有可引用的 file:line,而且说明的是哪些内容_未_经过审查,这与它上方的评估句恰恰相反。因此,它应单独占一行,放在 <details> 块之外,以免被批准结论掩盖。
当差异要求执行的某个审查步骤未能运行,且本次审查中的其他环节也未覆盖其范围时,请输出此说明——例如,无法通过此路径联系到审查者,或者审查者出错或未返回可用结果。仅仅是无法使用的可选增强技能不符合此条件:这类情况会回退到你已有的审查知识,因此相关内容仍然得到了覆盖。请说明未审查的文件、原因,以及由哪个其他路径覆盖这些文件。请给出实际适用于当前路径的原因——不要断言无法核实的安装状态,也不要提出同样会被所述原因阻止的补救方法。
例如,在 bitwarden-code-reviewer 路径中,如果 Task 不可用,那么无论安装了什么,都无法启动 plugin-dev:skill-reviewer:
**Not covered:** Skill review did not run — this review path cannot launch
`plugin-dev:skill-reviewer`, so `plugins/example/skills/doing-a-thing/SKILL.md` was not checked
for description quality, length, or progressive disclosure.
`performing-multi-agent-code-review` covers them where `plugin-dev` is installed.
如果差异要求的所有审查步骤都已运行,则完全省略此行。掩盖未审查内容的批准结论,会让人误以为这些内容也通过了审查。
依赖项变更表
如果 PR 差异包含依赖清单文件的变更,请在 <details> 块内、发现项列表之后、可选的 PR 元数据评估之前,添加 依赖项变更小节。
仅当存在有意义的版本变更时才显示此表——如果只有锁定文件变动而清单未变更,则不显示。
### Dependency Changes
| Package | Change | Ecosystem |
| ----------------- | --------------------- | --------- |
| `@foo/bar` | New (1.2.0) | npm |
| `lodash` | 3.x → 4.x (**major**) | npm |
| `Newtonsoft.Json` | 13.0.1 → 13.0.3 | NuGet |
| `old-package` | Removed | npm |
对于主版本升级,请将“major”一词设为粗体。新增项标记为“New (版本)”,移除项标记为“Removed”。
Details 部分中的发现项
排序: 按严重程度分组,并严格按以下顺序排列:
- ❌:CRITICAL
- ⚠️:IMPORTANT
- ♻️:DEBT
- 🎨:SUGGESTED
- ❓:QUESTION
完全省略没有发现项的类别。
每条发现项的格式:
- [emoji]: [One-line description]
- `filename.ts:42`
示例:
<details>
<summary>Code Review Details</summary>
- ❌ : SQL injection in user query builder
- `src/auth/queries.ts:87`
- ⚠️ : Missing null check on optional config
- `src/config/loader.ts:23`
</details>
输出执行
Agent 模式(固定评论)
当提示中提供了固定评论上下文(评论 ID + 标记)时:
- 使用 Write 工具将摘要写入
/tmp/review-summary.md - 在文件内容末尾追加
\n\n - 不要使用
mcp__github_comment__update_claude_comment - 不要使用
gh pr comment或gh api
工作流的后置步骤会读取此文件,并自动更新占位评论。
GitHub Actions(标签模式)
Use mcp__github_comment__update_claude_comment to update the sticky comment with the summary.
本地
Write summary to review-summary.md in working directory.