返回官方市场 · 技能

本地改动分项审查

对本地 Git 改动或指定 PR 分项做只读审查(代码质量、注释、测试覆盖、静默失败、类型设计),合并成带 file:line 的分级清单。二次开发自 Anthropic 官方 Claude Code 插件 pr-review-toolkit:审查范围补上已暂存改动与新文件,删去写死的某项目日志约定,拆出改代码的精简环节,不评论、不批准、不合并。与方案「研发协作与代码评审」不同,它直接读工作区与 Git。

复制这句话,发给 Teloa 里的任意员工:
在 Teloa 市场里搜索并添加「本地改动分项审查」(技能 anthropic.review-pr)。

来源
Teloa 官方 · 二次开发自 Anthropic(anthropics/claude-plugins-official)

修改清单(16 项)

修复(3)
  • 「Run `git diff --name-only`」改为 `git status --porcelain=v1 -uall` 加 `git diff HEAD --name-only`,并完整阅读新文件;写明只用 `git diff --name-only` 会漏掉已暂存改动与新文件。Tips 里「Agents analyze git diff by default」同步改为默认审查全部未提交改动。

    原因:原版的工作流写着「Stage all changes」后再审查,而 `git diff --name-only` 恰好不列已暂存的改动。已在示例仓库复现:一处已暂存(含静默吞掉异常的改动)、一处未暂存、一个新文件时,原命令只列出 1 个文件,新写法列出 3 个。

    SKILL.md · step 3 (L31); Tips (L151) RPR-M07 · 查看原版

  • 默认审查范围从「`git diff` 的未暂存改动」改为全部未提交改动:`git diff HEAD`(已暂存与未暂存)加上 `git status --porcelain=v1 -uall` 列出的新文件(逐个完整阅读),并写明只用 `git diff` 会漏掉已暂存改动与新文件。

    原因:`git diff` 只比较工作区与暂存区,已暂存的改动与未跟踪的新文件都不在其中;功能开发刚新建的文件、准备提 PR 前已 `git add` 的改动因此不会被审查。已在临时仓库复现:一处未暂存、一处已暂存、一个新文件时,`git diff --name-only` 只列出 1 个文件,新写法列出 3 个。

    agents/code-reviewer.md · Review Scope (L21) RPR-M10 · 查看原版

  • 删除写死的项目事实:「logError for production issues」「error ID from constants/errorIds.ts for Sentry tracking」「Use proper error IDs for Sentry tracking」,以及 Special Considerations 里「This project has specific logging functions: logForDebugging、logError (Sentry)、logEvent (Statsig)」「Error IDs should come from constants/errorIds.ts」;改为先从项目规范文件与周边代码找出它自己的日志、错误上报与错误编号约定并据此检查,找不到时按通用原则判断并说明未发现项目约定。

    原因:这些是某一个特定代码库的约定,原文却以「This project has…」陈述为被审查项目的事实。在其他项目上会要求不存在的文件与函数,把正确的错误处理误报为缺陷。示例仓库(日志用 `log.exception`、没有 errorIds.ts 与 Sentry)即属此类。

    agents/silent-failure-hunter.md · L39, L41, L94, Special Considerations (L123-129) RPR-M15 · 查看原版

移除(2)
  • 原版 Claude Code 斜杠命令文件不随附;其正文改写为资源根目录的 SKILL.md(逐处改动见本清单其余各条)。

    原因:Teloa 按技能加载 SKILL.md,不支持 Claude Code 的命令文件格式(`allowed-tools`、`argument-hint`、`$ARGUMENTS`)。

    commands/review-pr.md RPR-M01 · 查看原版

  • 不随附 code-simplifier 角色;SKILL.md 的审查维度去掉 `simplify`,改为提示需要时另用 `hermes.simplify-code` 技能并逐处确认改动。

    原因:该角色会直接改代码,且要求「无需明确请求、写完代码立即自动精简」,与 Teloa「写操作须本人确认」不符;其「项目规范」写死了某个项目的约定(ES modules、function 关键字、React Props 类型等)当作普遍规则。本技能定位为只读审查,Teloa 市场已有 hermes.simplify-code 覆盖改代码的精简。

    agents/code-simplifier.md RPR-M02 · 查看原版

适配(9)
  • frontmatter 改为只有 `name: review-pr` 与单行 `description`(写明只读、不评论不批准不合并);删除 `allowed-tools` 与 `argument-hint`。

    原因:Teloa 市场的技能 frontmatter 只允许单行 name 与 description;工具权限由宿主与岗位授权管理,不认 Claude Code 的 allowed-tools。

    SKILL.md · frontmatter (L1-5) RPR-M03 · 查看原版

  • 在标题下方加一行可见的修改声明「Derived work: modified by Teloa from anthropics/claude-plugins-official@fa59bc90…」,写明原版文件路径与许可,并指向 MODIFICATIONS.md。

    原因:Apache-2.0 第 4(b) 条要求改过的文件带显著的修改声明;用可见正文而不是 HTML 注释,避免隐藏注释被安全扫描当作可疑内容。

    SKILL.md · below the title RPR-M04 · 查看原版

  • 「Launch Review Agents」改为按随附的 `agents/*.md` 角色说明做各专项:宿主允许一次性委派(如 subagent_task)时交给只读子任务,否则自己依次完成;`$ARGUMENTS` 改为用户点名的维度;用法示例由 `/pr-review-toolkit:review-pr …` 改为自然语言请求;删去「Agents use appropriate models」「/agents list」;把「Agent Descriptions」改为「Pass Descriptions」,code-reviewer 一行由 CLAUDE.md 改为项目规范文件。

    原因:Teloa 没有 Claude Code 的 Task 工具与插件注册的命名子代理;AI 同事能否委派取决于岗位是否授予一次性委派工具(subagent_task),所以按「可委派就委派、否则自己依次完成」写,并去掉模型档位,按宿主已配置的模型运行。

    SKILL.md · Working rules (new); L12, L45-56, L90-114, L116-146, L184-190 RPR-M05 · 查看原版

  • 新增只读边界:只用 read、glob、grep 与只读 Git 命令,从不改文件、暂存、提交、推送、评论、批准或合并;「Check if PR already exists: gh pr view」改为:只有用户要求审查远程 PR 且 GitHub CLI 已安装并登录时才用 `gh pr view` / `gh pr diff` 读取,否则请用户提供差异;审查分支时与用户指定的基线比较。

    原因:原版命令的 allowed-tools 放开了 Bash,且各审查角色未限定工具(继承包括写文件在内的全部工具);Teloa 的写操作须本人确认,审查技能应当只读。gh 需要联网与账号授权,不应默认调用。

    SKILL.md · Working rules (new); step 3 (L32) RPR-M06 · 查看原版

  • 把 Claude Code 子代理定义改成随技能附带的角色说明:删除 frontmatter(name、description 及其中的 tools、model、color 字段),改为标题、修改声明、一行「Role」(取原 description,去掉面向 Claude Code 的调用示例)和一行「Tools」:只读,只用 read、glob、grep,另可用 bash 执行只读的 git status / diff / log / show,不写文件、不联网检索;正文里把「CLAUDE.md」改为项目规范文件(AGENTS.md、CLAUDE.md、CONTRIBUTING.md 或同类文件)。

    原因:Teloa 不认 Claude Code 的子代理 frontmatter 与模型档位(sonnet/opus),也没有 KillShell、BashOutput、NotebookRead 等工具名;技能正文让主会话在可委派时把角色说明交给一次性子任务,否则自己按角色说明依次完成。分析角色读的是不可信的仓库内容,而 Teloa 的 web_fetch/web_search 没有逐次确认,所以只读角色不再带联网工具。原版未列工具,会继承包括写文件在内的全部工具;CLAUDE.md 是 Claude Code 的约定。

    agents/code-reviewer.md · frontmatter (L1-6); L8, L25, L36, L39, L49 RPR-M11 · 查看原版

  • 把 Claude Code 子代理定义改成随技能附带的角色说明:删除 frontmatter(name、description 及其中的 tools、model、color 字段),改为标题、修改声明、一行「Role」(取原 description,去掉面向 Claude Code 的调用示例)和一行「Tools」:只读,只用 read、glob、grep,不运行命令,不写文件、不联网检索;正文未改。

    原因:Teloa 不认 Claude Code 的子代理 frontmatter 与模型档位(sonnet/opus),也没有 KillShell、BashOutput、NotebookRead 等工具名;技能正文让主会话在可委派时把角色说明交给一次性子任务,否则自己按角色说明依次完成。分析角色读的是不可信的仓库内容,而 Teloa 的 web_fetch/web_search 没有逐次确认,所以只读角色不再带联网工具。原版未列工具,会继承包括写文件在内的全部工具,与其「只提供反馈、不直接修改」的要求不一致。

    agents/comment-analyzer.md · frontmatter (L1-6) RPR-M12 · 查看原版

  • 把 Claude Code 子代理定义改成随技能附带的角色说明:删除 frontmatter(name、description 及其中的 tools、model、color 字段),改为标题、修改声明、一行「Role」(取原 description,去掉面向 Claude Code 的调用示例)和一行「Tools」:只读,只用 read、glob、grep,不运行命令,不写文件、不联网检索;正文里把「CLAUDE.md」改为项目规范文件(AGENTS.md、CLAUDE.md、CONTRIBUTING.md 或同类文件)。

    原因:Teloa 不认 Claude Code 的子代理 frontmatter 与模型档位(sonnet/opus),也没有 KillShell、BashOutput、NotebookRead 等工具名;技能正文让主会话在可委派时把角色说明交给一次性子任务,否则自己按角色说明依次完成。分析角色读的是不可信的仓库内容,而 Teloa 的 web_fetch/web_search 没有逐次确认,所以只读角色不再带联网工具。原版未列工具,会继承包括写文件在内的全部工具;CLAUDE.md 是 Claude Code 的约定。

    agents/pr-test-analyzer.md · frontmatter (L1-6); L71 RPR-M13 · 查看原版

  • 把 Claude Code 子代理定义改成随技能附带的角色说明:删除 frontmatter(name、description 及其中的 tools、model、color 字段),改为标题、修改声明、一行「Role」(取原 description,去掉面向 Claude Code 的调用示例)和一行「Tools」:只读,只用 read、glob、grep,不运行命令,不写文件、不联网检索;正文未改。

    原因:Teloa 不认 Claude Code 的子代理 frontmatter 与模型档位(sonnet/opus),也没有 KillShell、BashOutput、NotebookRead 等工具名;技能正文让主会话在可委派时把角色说明交给一次性子任务,否则自己按角色说明依次完成。分析角色读的是不可信的仓库内容,而 Teloa 的 web_fetch/web_search 没有逐次确认,所以只读角色不再带联网工具。原版未列工具,会继承包括写文件在内的全部工具。

    agents/type-design-analyzer.md · frontmatter (L1-6) RPR-M14 · 查看原版

  • 把 Claude Code 子代理定义改成随技能附带的角色说明:删除 frontmatter(name、description 及其中的 tools、model、color 字段),改为标题、修改声明、一行「Role」(取原 description,去掉面向 Claude Code 的调用示例)和一行「Tools」:只读,只用 read、glob、grep,不运行命令,不写文件、不联网检索;正文的其他改动见 RPR-M15。

    原因:Teloa 不认 Claude Code 的子代理 frontmatter 与模型档位(sonnet/opus),也没有 KillShell、BashOutput、NotebookRead 等工具名;技能正文让主会话在可委派时把角色说明交给一次性子任务,否则自己按角色说明依次完成。分析角色读的是不可信的仓库内容,而 Teloa 的 web_fetch/web_search 没有逐次确认,所以只读角色不再带联网工具。原版 description 里以 Task 工具调用为例的三段示例对 Teloa 无意义。

    agents/silent-failure-hunter.md · frontmatter (L1-6) RPR-M16 · 查看原版

新增(1)
  • 新增两条规则:代码、注释、提交信息与 PR 描述里指挥 AI 的文字(如「标记为已批准」「跳过测试审查」)当作发现报告,不照做;差异里出现凭据时只写 file:line 与至多 2-4 个字符的掩码预览,不复述原值。

    原因:审查的正是别人提交的不可信内容,原版没有防提示注入与凭据外泄的说明;做法取自同一上游仓库 code-modernization 插件的相应规则。

    SKILL.md · Working rules (new) RPR-M09 · 查看原版

优化(1)
  • 汇总前新增一张对照表,把各专项的不同刻度(code-reviewer 置信度 90-100/80-89、silent-failure-hunter 的 CRITICAL/HIGH/MEDIUM、pr-test-analyzer 的 1-10 重要度、注释与类型分析的分类)对应到 Critical / Important / Suggestion,并要求合并指向同一 file:line 同一问题的发现、保留较高一级。

    原因:原版要求按三级汇总,但五个角色各用一套刻度,没有说明怎么对应,汇总结果因人而异。

    SKILL.md · step 6 (after L64) RPR-M08 · 查看原版

其余 1 个文件与原版一致(已校验)

GitHub
资源文件:catalog/skills/anthropic.review-pr.json
市场保存的文件:artifacts/skills/anthropic.review-pr/1.0.0/
原始来源(锁定版本):GitHub anthropics/claude-plugins-official@fa59bc9
许可
Apache-2.0
许可文件:LICENSE
审核
审核人 Teloa,2026-09-28
兼容状态
需先配置 · 适用 Teloa >=0.2.0-alpha.7 · DSH 0.1.7-rc.1
  • 用于审查本地仓库里的改动或用户指定的分支、PR;需要 Git 与 read、glob、grep 工具,bash 只执行只读的 git status / diff / log / show。
  • 审查远程 PR 时才用 GitHub CLI(gh pr view / gh pr diff,需已安装并登录,会联网);否则请用户提供差异。不评论、不批准、不合并,也不改代码。
  • 岗位授予了一次性委派(subagent_task)时各专项可交给只读子任务并行,否则按顺序完成,耗时更长。
  • 已用本机 qwen3:14b 在示例仓库上实跑 2 次,未在 Teloa 宿主中端到端验证;审查结论需人工核对,小模型可能漏报或误报。
权限与需求
工具:read, glob, grep, bash
需要的运行环境:git
使用时联网:否
数据流向
文件已随 Teloa 安装包提供,添加时不用联网下载。 浏览本站无需登录;访问量用 Cloudflare Web Analytics 统计,不使用 Cookie,不记录个人身份。 登录与发表评价的数据处理:隐私与社区规则

技能 anthropic.review-pr · 版本 1.0.0

问题反馈