Dev Tooling

Open Code Review (Delegate)

open-code-review-delegate

The same review engine with no LLM endpoint to configure — `ocr` does only the deterministic part, file selection and rule resolution, and hands the reviewing to the agent already in the session. The way to use Alibaba's rulesets without a second API key.

code-reviewclirulesno-api-key
Install
mkdir -p ~/.claude/skills && curl -fsSL https://skill.metacog.co.kr/dist/open-code-review-delegate.zip \
  -o /tmp/open-code-review-delegate.zip && unzip -oq /tmp/open-code-review-delegate.zip -d ~/.claude/skills
Files2
Size18.9 KB
Bundled foldersnone
LicenseMIT

Authored by jeonck (MIT) · Browse files on GitHub · Download zip

When Claude uses it

Delegation mode for open-code-review (OCR). Instead of OCR calling an LLM endpoint, this skill instructs the host agent to perform the code review itself, using OCR only for deterministic engineering: file selection and rule resolution. Use when the host agent should drive the review with its own LLM capabilities.

SKILL.md

Open Code Review — Delegation Mode

A skill for performing AI code review where OCR provides deterministic engineering (file filtering, rule resolution) and the host agent performs the actual review using its own intelligence and tools.

Workflow

Step 1: Preview — Determine What to Review

ocr delegate preview --format json [--from <ref> --to <ref>] [--commit <hash>] [--exclude <patterns>]

This outputs:

Common invocations:

| Scenario | Command | |----------|---------| | Workspace changes | ocr delegate preview | | Branch comparison | ocr delegate preview --from main --to feature | | Single commit | ocr delegate preview -c abc123 |

Step 2: Get Rules for Files

ocr delegate rule --format json <path1> <path2> ...

Pass the reviewable file paths from Step 1. Output is grouped by rule content — files sharing the same rule appear under one group, avoiding repetition.

Step 3: Get Diffs

Use git directly based on the mode/ref info from Step 1:

Range mode (merge_base provided in preview output):

git diff <merge_base>..<to> -- <path>

Commit mode:

git show <commit> -- <path>

Workspace mode:

# Tracked files
git diff HEAD -- <path>
# New untracked files — read directly (entire file is new code)
cat <path>

Step 4: Review Each File

Create a checklist containing every reviewable_files entry. For each reviewable file:

Use (path, status) as the checklist identity. Workspace mode can report the same path twice when a staged deletion is followed by an untracked recreation.

  1. Get its diff (Step 3)
  2. Consult its Rule Group (from Step 2) for the review checklist
  3. Conduct a thorough review, using appropriate context tools as needed
  4. Mark the file reviewed, or skipped with a concrete reason

For large changes, review in bounded batches grouped by shared rules and diff size. Do not stop after finding the first high-severity issue.

Step 5: Format Output

Each comment must follow this structure:

| Field | Type | Required | Description | |-------|------|----------|-------------| | path | string | yes | Relative file path | | content | string | yes | Review comment describing the issue | | start_line | integer | no | Start line in the new file | | end_line | integer | no | End line in the new file | | category | enum | no | bug, security, performance, maintainability, test, style, documentation, other | | severity | enum | no | critical, high, medium, low |

Step 6: Classify and Report

Before reporting, verify that every previewed file is accounted for. Include total_files, reviewed_files, skipped_files, and coverage_rate in the summary. A skipped file must include its reason.

Group findings by severity:

Discard likely false positives silently.

Step 7: Fix (Optional)

If the user requested "review and fix":

Sub-commands Reference

| Command | Purpose | |---------|---------| | ocr delegate preview | Which files to review + mode/ref metadata | | ocr delegate rule <path...> | Review rules grouped by content |

Shared Flags

| Flag | Description | |------|-------------| | --from <ref> | Source ref for range mode | | --to <ref> | Target ref for range mode | | -c, --commit <hash> | Single commit mode | | --repo <path> | Repository root (default: cwd) | | --rule <path> | Custom rule.json path | | --exclude <patterns> | Comma-separated exclude patterns | | -b, --background <text> | Business context | | -B, --background-file <path> | Business context from Markdown file (takes precedence over -b) | | -f, --format <text\|json> | Output format; use json for agent integrations |

Gotchas

Recovering Oversized Background Context

--background-file has two independent limits. The raw file must not exceed 1 MiB, and the sanitized content must not exceed 8000 characters. Either condition aborts the command. When the command reports either limit:

  1. Do not silently truncate the source file.
  2. Summarize the original material while preserving its requirements,

constraints, acceptance criteria, and other review-critical details.

  1. Retry the affected command by passing the summary as one shell-safe

argument (for example, use a quoted/escaped argument produced by the host shell, or write it to a new size-bounded file and pass that file). Do not place untrusted summary text directly in a double-quoted shell template; $(), backticks, quotes, and variable references can still be evaluated. Omit the original --background-file so the CLI does not reload the same oversized file and fail again.

  1. If a faithful summary is not possible, omit the OCR background entirely and

read the original material directly during the review.

Troubleshooting CLI Version Compatibility

The --format flag is available in ocr v1.9.0 and later. The Skill and the installed CLI can be updated independently. If a requested preview or rule command with --format json fails specifically with unknown flag: --format, rerun it without the flag and use text output for the rest of the delegation run. Preserve the explicit mode, ref, file, and rule information from that output; do not parse text output as JSON or invent missing schema fields. Do not retry without the flag for any other error; report it and stop the affected workflow.

The host-agent Skill may consume the equivalent text output to complete its review checklist. Programmatic integrations that require schema_version or other JSON fields must require a JSON-capable CLI instead: verify with ocr --version and upgrade when necessary:

npm install -g @alibaba-group/open-code-review