Open Code Review 代码审查技能
用 OCR 检查 Git 变更,生成精确到代码行的问题评论,并按需自动修复。
数据流披露清晰:SKILL.md 明示代码 diff 会被发送到用户配置的 LLM(Anthropic/OpenAI 兼容),并要求先征得用户同意再应用修复、绝不代填 API key,升级/安装动作会询问用户;仓库有 SECURITY.md(签名、漏洞响应)和 govulncheck CI。扣分项:默认会自动全局安装 npm 包并 postinstall 下载二进制、代码与上下文默认发送到第三方 LLM 且无脱敏/最小化选项说明、无回滚说明,权限与确认机制不完整,故不给满分。
文档自洽性高:参数语义、超时模型、并发、输出模式、定位失败的降级路径(start_line/end_line=0)均有处理,失败时不盲目重试而指向 Troubleshooting;仓库含真实 CI(单测+90% 覆盖率门槛+冒烟测试)但覆盖的是 Go CLI 本体而非 SKILL.md 编排逻辑。静态评审下不执行,关键路径未复现,封顶 10 以下,扣 1 分因技能层编排(如 --background 上下文提取)无对应测试证据。
触发条件明确(review code/PR/staged changes/commit/branch diff),提供 --preview 干跑、边界清晰(默认中文输出对中文用户友好、可切英文)。扣分项:核心功能完全依赖 Anthropic/OpenAI 兼容海外 LLM API,国内网络可达性存在风险且未披露替代方案(delegate 模式在 README 中但 SKILL.md 未提及),非适用范围(如非 Git 仓库)仅部分说明。
结构分层好:frontmatter 元数据、Workflow、Gotchas、Validation、Troubleshooting、References 递进合理;版本号 1.0.0、Apache-2.0、作者与主页明确。扣分项:SKILL.md 与仓库 README 之间存在版本漂移迹象(如 claude-opus-4-6 硬编码示例、ocr 版本门槛写死 v1.10.0)、无 changelog/已知局限清单、维护责任归属仅到组织名而非具体路径。
目标产出(行级、带 severity/category 的结构化评论)格式定义完整且可直接呈现,相对人工/通用 Agent 的对比有 README 基准数据(精度/F1、1/9 token)支撑。扣分项:静态评审无法验证实际输出质量,基准针对 CLI 而非本技能编排,过滤 low 级别噪音等价值声明未经独立复现,封顶 7。
有多类可审计材料:LICENSE、SECURITY.md、govulncheck+覆盖率 90% 的 CI、action 契约测试、OpenSSF Gold 徽章、Hugging Face 公开基准数据集。但这些证据覆盖 CLI 与仓库治理,SKILL.md 的具体指令(--audience agent 行为、rule. 优先级等)只能经文档相互印证,未执行复现,封顶 5。
- 本评审为静态源码评审,未执行任何命令,技能实际运行质量未经复现验证。
- 技能会将代码 diff 及业务上下文发送至用户配置的第三方 LLM;处理敏感/专有代码前请确认合规要求,并检查是否存在脱敏选项。
- 安装流程涉及 npm 全局安装与 postinstall 二进制下载,建议核对校验和(仓库提供 GitHub Artifact Attestations 与 sha256sum)。
- 核心功能依赖 Anthropic/OpenAI 兼容 API,中国大陆网络环境下可达性需自行确认;可考虑 README 提到的 delegate 模式作为替代。
- SKILL.md 中存在硬编码示例(claude-opus-4-6、v1.10.0 版本门槛),实际使用前请以官方文档最新版本为准。
这个 Skill 能做什么,适合哪些场景?
这是一个调用 Alibaba Open Code Review(OCR)CLI 的 Agent Skill,面向 Git 变更和代码质量审查。它可以审查工作区改动、单个提交或两个分支之间的差异,并输出逐行评论。技能要求预先安装 ocr CLI,并配置 Anthropic 或 OpenAI 兼容的语言模型。审查结果会按高、中、低优先级整理,用户明确要求时还可自动应用修复。
检查 ocr CLI 和 LLM 连接;分析提交、分支或工作区变更以提取业务背景;运行 ocr review --audience agent 审查 Git diff;支持工作区、提交、分支比较、预览和自定义规则;读取审查输出中的文件路径、行号、评论和可选修复建议;按优先级报告问题,并在获得明确修复意图后处理高、中优先级问题。
- 开发者想在提交前检查暂存、未暂存和未跟踪的改动时,运行工作区审查。
- 团队需要比较功能分支与 main 分支时,使用分支范围审查定位代码问题。
- 维护者准备合并一个具体提交时,针对该提交执行审查。
- 安全或质量负责人希望使用项目专属规则检查 Java、XML 等文件时,提供自定义 JSON 规则。
- CI 或自动化流程需要结构化审查结果时,使用 OCR 的 agent 输出或 JSON 输出。
这个 Skill 有哪些优点和局限?
- 支持工作区、提交和分支差异审查。
- 输出精确到行的评论,并可提供修复建议。
- 支持自定义审查规则、业务背景和 agent 专用输出。
- 可检查错误、安全漏洞、性能和代码质量问题。
- 必须安装 ocr CLI,并在首次审查前配置可用的 LLM。
- 大型 diff 可能受到每次请求 token 限制,超过 50 行的 diff 还会增加计划阶段延迟。
- 未提供该 SKILL.md 自身测试套件或平台验证记录。
- 自动修复只适用于用户明确提出修复意图的场景,复杂问题仍需人工处理。
如何安装这个 Skill?
先安装 OCR CLI:npm install -g @alibaba-group/open-code-review。然后将技能安装到项目:npx skills add alibaba/open-code-review --skill open-code-review。首次使用前运行 ocr llm test,并通过环境变量或 ocr config 配置模型端点和凭据;不要硬编码 API 密钥。
如何使用这个 Skill?
在已安装技能的 Agent 中提出“review my changes”“review commit abc123”或“review this branch against main”等请求。对应命令分别可使用 ocr review --audience agent、ocr review --audience agent --commit abc123 和 ocr review --audience agent --from main --to feature-branch。提供业务背景时使用 --background;只想查看待审文件时使用 ocr review --preview。仅请求 review 时,自动修复前应先征得许可。
这个 Skill 与同类方案有什么区别?
README 将其定位为通用 Agent(例如 Claude Code 配合 Skills)的替代方案,采用确定性流程与 Agent 混合架构;其设计目标是减少漏审和定位漂移,并以更高精确率换取较低召回率。