Performs AI-powered code review on Git changes using the `ocr` CLI from alibaba/open-code-review. Detects bugs, security vulnerabilities, performance problems, and code quality issues with line-level comments and optional auto-fixes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/open-code-review-codex:open-code-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This Codex plugin skill intentionally mirrors the canonical skill at
This Codex plugin skill intentionally mirrors the canonical skill at
skills/open-code-review/SKILL.md. Keep both files synchronized when updating
OCR agent instructions; a symlink is avoided because plugin installs may only
materialize the plugin subtree.
A skill for invoking open-code-review (ocr) — an open-source AI code review CLI that reads Git diffs and generates structured, line-level review comments.
Before starting a review, verify the environment:
# 1. Check the CLI is installed
which ocr || echo "NOT INSTALLED"
# 2. Verify LLM connectivity
ocr llm test
If ocr is not installed, install it first:
npm install -g @alibaba-group/open-code-review
If ocr llm test fails, the user must configure an LLM. Guide them with one of these options:
Option A — Environment variables (highest priority, recommended for CI):
export OCR_LLM_URL=https://api.anthropic.com/v1/messages
export OCR_LLM_TOKEN=<api-key>
export OCR_LLM_MODEL=claude-opus-4-6
export OCR_USE_ANTHROPIC=true
Option B — Persistent config:
ocr config set llm.url https://api.anthropic.com/v1/messages
ocr config set llm.auth_token <api-key>
ocr config set llm.model claude-opus-4-6
ocr config set llm.use_anthropic true
Stop here and ask the user to provide credentials — never invent or hardcode API keys.
Analyze the review target (commits, branch, or changes) to extract concise business context. Pass this context via --background to improve review quality.
Run the OCR command with appropriate flags. Always pass business context via --background when available:
ocr review --audience agent --background "business context here" [user-args]
Argument handling:
--background "context" or -b "context" to provide business context for better review quality--commit or -c to review a single commit against its parent--from <ref> and --to <ref> to review diff between two refs--timeout <minutes>--concurrency <n> if rate limits are hit--preview or -p to preview which files will be reviewed without running the LLMocr command is not found, install it by running npm i -g @alibaba-group/open-code-reviewCommon 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:
--audience agent to suppress progress UI and emit only the final summaryFor each comment from the review output, classify by priority and report all issues to the user:
Report all comments grouped by priority level.
Before applying fixes, check whether the user requested automatic fixes:
When fixing issues and suggestions:
Each comment contains:
path: File pathcontent: Review comment textstart_line / end_line: Line range (both 0 means positioning failed)suggestion_code: Optional fix suggestionexisting_code: Optional original code snippetthinking: Optional LLM reasoning processAfter filtering comments by priority, present results using this template:
## Code Review Results
**Files reviewed**: N
**Issues found**: X high priority / Y medium priority
### High Priority
- **`path/to/file.java:42`** — Brief description
> Recommendation: How to fix
### Medium Priority
- **`path/to/file.ts:88`** — Brief description
> Recommendation: How to fix (if applicable)
If the review found no issues after filtering, simply state: "Review complete — no issues found in N files."
Priority classification:
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:
If the user wants project-specific rules, OCR resolves them in this priority order:
--rule <path> flag (highest)<repo>/.opencodereview/rule.json~/.opencodereview/rule.jsonBy 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:
{
"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:
ocr rules check src/main/java/com/example/Foo.java
ocr review will fail loudly if no LLM is reachable. Always run ocr llm test before the first review.ocr review operates on the Git repo at the current directory. Use --repo /path/to/repo to run from elsewhere.ocr review includes staged, unstaged, and untracked changes. Stage selectively if you want narrower scope.MAX_TOKENS is 58888 per request.--audience human — it streams progress UI that pollutes output. Always use --audience agent.language config to English or Chinese (default: Chinese) to control review comment language.After the review completes, verify success by checking:
If errors occurred, check the stderr warnings for details about which files failed and why.
npx claudepluginhub alibaba/open-code-review --plugin open-code-review-codexInstructs the host agent to perform code review using OCR for deterministic file selection and rule resolution, while the agent drives the LLM-based review.
Performs structured code reviews with severity-ranked findings and multi-agent analysis. Use when auditing PRs, MRs, diffs, or general code quality.