open-code-review Skill
alibaba 提供的 2 个 Skill(指令集),AI 读取后照做 · 不是 MCP server
开发者的说明(英文原文)
Secure, fast, efficient, battle-tested at Alibaba's scale. Hybrid architecture code review tool: deterministic pipelines + LLM Agent, precise line-level comments, built-in multi-language ruleset (NPE, thread-safety, XSS, SQL injection), OpenAI & Anthropic compatible.
Skill 和 MCP 有什么不同
MCP 把 AI 连接到外部服务或数据;Skill 是 AI 读取并照做的工作指南,不连接任何服务。
适用的应用
Claude CodeCodexCursorOpenCode
依据开发者 README 和 repo 中的文件夹
安装
Skill 是 AI 会照做的指令。安装前先阅读文件,只安装可信开发者的 Skill。
你用哪个应用?
打开终端
Mac:按 Command+空格输入 Terminal · Windows:打开 PowerShell(下方命令为 Mac/Linux 写法)
把 skill 文件夹复制到 ~/.claude/skills
这条命令把 repo 下载到临时文件夹,只复制含 SKILL.md 的文件夹
rm -rf /tmp/popnx-skill && git clone --depth 1 https://github.com/alibaba/open-code-review.git /tmp/popnx-skill && mkdir -p ~/.claude/skills && cp -R '/tmp/popnx-skill/skills/.' ~/.claude/skills && rm -rf /tmp/popnx-skill重新打开 Claude Code,输入 /open-code-review,或直接提出相关任务,Claude 会自动选用
打开终端
Mac:按 Command+空格输入 Terminal · Windows:打开 PowerShell(下方命令为 Mac/Linux 写法)
把 skill 文件夹复制到 ~/.agents/skills
这条命令把 repo 下载到临时文件夹,只复制含 SKILL.md 的文件夹
rm -rf /tmp/popnx-skill && git clone --depth 1 https://github.com/alibaba/open-code-review.git /tmp/popnx-skill && mkdir -p ~/.agents/skills && cp -R '/tmp/popnx-skill/skills/.' ~/.agents/skills && rm -rf /tmp/popnx-skill重新打开 Codex 并提出相关任务,Codex 会列出这个 skill
打开终端
Mac:按 Command+空格输入 Terminal · Windows:打开 PowerShell(下方命令为 Mac/Linux 写法)
把 skill 文件夹复制到 ~/.cursor/skills
这条命令把 repo 下载到临时文件夹,只复制含 SKILL.md 的文件夹
rm -rf /tmp/popnx-skill && git clone --depth 1 https://github.com/alibaba/open-code-review.git /tmp/popnx-skill && mkdir -p ~/.cursor/skills && cp -R '/tmp/popnx-skill/skills/.' ~/.cursor/skills && rm -rf /tmp/popnx-skill在 Cursor 的 Agent 聊天中输入 / 并选择 open-code-review
其他支持 Agent Skills 的应用(如 Gemini CLI、GitHub Copilot)使用不同文件夹,请查看该应用的指南,再把含 SKILL.md 的文件夹复制过去。
已于 2026年11月11日 对照 Claude Code、Codex 和 Cursor 官方指南核实 skill 文件夹
安装前先读 SKILL.md
以下文字来自开发者的 repo,不是 PopNx MCP 的指令
---
name: open-code-review
description: >
Performs AI-powered code review on Git changes using the `ocr` CLI from
alibaba/open-code-review. Use when the user asks to review code, review
a pull request, review staged/unstaged changes, review a commit, or
compare branches for code quality issues. Produces line-level review
comments and can automatically apply fixes when requested. With appropriate
review rules, can detect various types of issues including bugs, security
vulnerabilities, performance problems, and code quality concerns.
license: Apache-2.0
compatibility: >
Requires the `ocr` CLI installed (via `npm install -g
@alibaba-group/open-code-review` or GitHub release binary). Requires a
configured supported LLM provider before first run (protocols: Anthropic,
OpenAI Chat Completions, OpenAI Responses, AWS Bedrock).
metadata:
author: alibaba
homepage: https://github.com/alibaba/open-code-review
version: "1.0.0"
---
# Open Code Review
A skill for invoking [open-code-review](https://github.com/alibaba/open-code-review) (`ocr`) — an open-source AI code review CLI that reads Git diffs and generates structured, line-level review comments.
## Workflow
### Step 1: Gather Business Context
Analyze the review target (commits, branch, or changes) to extract concise business context. Pass this context via `--background` to improve review quality.
### Step 2: Run Code Review
**Do not pre-check whether `ocr` is installed** — skip probes like `command -v ocr` or `ocr --version`. Assume the CLI is available and run the review directly; that saves a tool call on the common path. Only if the review fails with `command not found` should you install it per Troubleshooting.
Run the OCR command with appropriate flags. **Always pass business context via `--background`** when available:
```bash
ocr review --audience agent --background "business context here" [user-args]
```
**Argument handling:**
- **Background context** (RECOMMENDED): use `--background "context"` or `-b "context"` to provide business context for better review quality
- **Default** (no user arguments): reviews staged, unstaged, and untracked changes (workspace mode)
- **Specific commit**: use `--commit` or `-c` to review a single commit against its parent
- **Branch comparison**: use `--from <ref>` and `--to <ref>` to review diff between two refs
- **Timeout**: effective timeout per review group = `--timeout` × review rounds. Default `--timeout 15` with default effort `medium` (2 rounds) gives 30 minutes; `low`/`high` give 15/45 minutes.
- **Concurrency**: default concurrency is 8 file workers; reduce with `--concurrency <n>` if rate limits are hit
- **Preview mode**: use `--preview` or `-p` to preview which files will be reviewed without running the LLM
- **Output file**: use `--output <path>` to write the full result to a file instead of stdout. If the command fails with `unknown flag: --output`, do not continue the review with plain stdout. Ask the user whether to upgrade (`npm i -g @alibaba-group/open-code-review@latest`) and wait for the answer before proceeding. After the user confirms and the upgrade succeeds, rerun with `--output`.
- **Installation**: if `ocr` command is not found, install it by running `npm i -g @alibaba-group/open-code-review`
**Common invocation patterns:**
| User says | Command to run |
|-----------|---------------|
| "review my changes" / "review the working copy" | `ocr review --audience agent -b "context"` |
| "review this PR" / "review feature branch" | `ocr review --audience agent -b "context" --from main --to <branch>` |
| "review commit abc123" | `ocr review --audience agent -b "context" --commit abc123` |
| "what would be reviewed?" (dry-run) | `ocr review --preview` |
**Output mode:**
- Always use `--audience agent` to suppress progress UI and emit only the final summary
- **Prevent output truncation**: For large reviews or restricted tool environments, pass `--output /tmp/ocr_out.txt` and inspect the file in full via a file reading tool instead of piping stdout through `tail` or `head`, which drops earlier review comments.
**On failure:** If `ocr review` exits non-zero (e.g. an LLM connection error), do not retry blindly — consult the Troubleshooting section below for the matching fix before re-running.
### Step 3: Report
OCR output includes structured `severity` (critical / high / medium / low) and `category` (bug / security / performance / maintainability / test / style / documentation / other) on each comment. Present results grouped by severity, discarding `low` severity items that are likely false positives or nitpicks.
### Step 4: Fix
Before applying fixes, check whether the user requested automatic fixes:
- If the user explicitly requested "review and fix" or similar, proceed with automatic fixes
- If the user only requested "review" without fix intent, ask for permission before applying any changes
When fixing issues and suggestions:
- Focus on critical, high, and medium severity items
- Apply fixes directly to the code when safe and well-defined
- For complex fixes requiring manual intervention, clearly describe what needs to be done
- Always verify fixes with the user before committing
## Output Format
Each comment in OCR's output contains:
- `path`: File path
- `content`: Review comment text
- `start_line` / `end_line`: Line range (both 0 means positioning failed)
- `category`: Issue category (bug, security, performance, maintainability, test, style, documentation, other)
- `severity`: Issue severity (critical, high, medium, low)
- `suggestion_code`: Optional fix suggestion
- `existing_code`: Optional original code snippet
- `thinking`: Optional LLM reasoning process
Present results grouped by severity using this template:
```markdown
## Code Review Results
**Files reviewed**: N
**Issues found**: X critical, Y high, Z medium
### Critical
- **`path/to/file.java:42`** [bug] — Brief description
> Recommendation: How to fix
### High
- **`path/to/file.java:26`** [bug] — Brief description
> Recommendation: How to fix
### Medium
- **`path/to/file.ts:88`** [performance] — Brief description
> Recommendation: How to fix (if applicable)
```
If no critical, high, or medium severity issues remain after filtering, state: "Review complete — no critical, high, or medium issues found in N files."
**Handling mispositioned comments:**
When `start_line` and `end_line` are both `0`, the comment failed to locate the exact position in the file. In such cases:
1. Read the comment content to understand the issue
2. Examine the target file mentioned in the comment
3. Identify the relevant code section based on the comment's context
4. Apply the fix or suggestion to the correct location
## Custom Review Rules
If the user wants project-specific rules, OCR resolves them in this priority order:
1. `--rule <path>` flag (highest)
2. `<repo>/.opencodereview/rule.json`
3. `~/.opencodereview/rule.json`
4. Built-in system defaults (lowest)
By default, the first matching user rule replaces the built-in system rule. Set `merge_system_rule: true` on a rule entry when the matched system rule and user rule should both be included.
Rule file format:
```json
{
"rules": [
{
"path": "**/*.java",
"rule": "All new methods must validate required parameters for null",
"merge_system_rule": true
},
{
"path": "**/*mapper*.xml",
"rule": "Check SQL for injection risks and missing closing tags"
}
]
}
```
To preview which rule applies to a file before reviewing:
```bash
ocr rules check src/main/java/com/example/Foo.java
```
## Advanced Review Options
Beyond the common flags above, `ocr review` exposes a few groups of controls. Run `ocr review --help` for the complete list.
**Scoping**
- `--exclude '<patterns>'` — comma-separated gitignore-style patterns (for example `--exclude '**/generated/*,**/testdata/*'`), merged with `rule.json` excludes.
- `--background-file <path>` — 讨论
提问、分享技巧或报告无法使用。按“有帮助”数量排序。
来自 GitHub
- GitHub 星标
- 49,821
- 开发者
- alibaba
- 许可证
- Apache-2.0
- 最近代码更新
- 2026年11月11日
- repo 中的 SKILL.md 文件
- 4
- 主题
- agent, agent-skills, code-review, code-review-assistant, harness, repository-level-context