autoreview
openclaw/openclaw · Agent Skill
使用各種人工智慧模型自動執行程式碼審查,提供結構化報告和建議。
前往安裝 ↓總覽
| 發布者 | |
|---|---|
| 儲存庫 | openclaw/openclaw ↗ |
| 技能資料夾 | autoreview |
| 星 | 389,030 |
| 附帶檔案 | 1 |
| 授權 | MIT |
| 最近更新 | 2026年9月1日 |
| 連結 | 技能原始碼 ↗ · 儲存庫 ↗ |
Mozgi 檢查
我們在技能檔案中發現的內容。詳細資訊需訂閱。
安裝
技能就是一個含 SKILL.md 的資料夾。選擇你的代理,在專案根目錄的終端機(macOS、Linux 或 Windows 的 Git Bash)執行指令。
把提示貼到 Claude、Codex 或其他助理:它會自行檢查並安裝技能。
Install the “autoreview” skill from mozgi.io (https://mozgi.io/skills/autoreview/) for me. 1. Download the archive: https://mozgi.io/skills/autoreview/download If it fails, take the skill folder from the source: https://github.com/openclaw/openclaw/tree/main/.agents/skills/autoreview 2. Read SKILL.md and the other files. Check the skill is safe: no hidden commands, no sending data elsewhere, no scripts doing something other than described. If anything looks suspicious, stop and tell me. 3. Put the “autoreview” folder into your agent's skills folder: .claude/skills/ for Claude Code, .agents/skills/ for Codex, .cursor/skills/ for Cursor, .gemini/skills/ for Gemini CLI. Inside the project if we are in one, otherwise in the home folder (~/.claude/skills/ etc.). 4. Make sure <skills folder>/autoreview/SKILL.md exists. 5. Briefly tell me what this skill does and offer to try it on my task. If you cannot do a step yourself, tell me what to click or type.
git clone --depth 1 --branch main https://github.com/openclaw/openclaw.git /tmp/openclaw mkdir -p .claude/skills cp -r /tmp/openclaw/.agents/skills/autoreview .claude/skills/autoreview
重新啟動 Claude Code — 技能就會出現在清單中,手動呼叫:/autoreview。要套用到所有專案,請放在 ~/.claude/skills。
git clone --depth 1 --branch main https://github.com/openclaw/openclaw.git /tmp/openclaw mkdir -p .agents/skills cp -r /tmp/openclaw/.agents/skills/autoreview .agents/skills/autoreview
Codex 會從目前資料夾往上到儲存庫根目錄,在 .agents/skills 中尋找技能;用 /skills 或 $autoreview 呼叫。所有專案:~/.agents/skills。
git clone --depth 1 --branch main https://github.com/openclaw/openclaw.git /tmp/openclaw mkdir -p .cursor/skills cp -r /tmp/openclaw/.agents/skills/autoreview .cursor/skills/autoreview
Cursor 啟動時會載入技能;在 Agent 聊天輸入「/」呼叫。Cursor 也會讀取 .claude/skills 與 .agents/skills。所有專案:~/.cursor/skills。
git clone --depth 1 --branch main https://github.com/openclaw/openclaw.git /tmp/openclaw mkdir -p .gemini/skills cp -r /tmp/openclaw/.agents/skills/autoreview .gemini/skills/autoreview
任務符合時,Gemini CLI 會提議啟用技能,由你確認。所有專案:~/.gemini/skills。
安裝前請先檢視 SKILL.md 與相關檔案。點擊檔案即可預覽。
SKILL.md 內容
作者原文 · 唯讀Auto Review
Run an independent review when the user or an owning workflow asks for one.
This is code review, not Guardian approval routing. Let the reviewer choose how
to analyze the change; provide the target, relevant context, and desired severity.
Findings are advice to verify, not instructions to apply blindly.
Run
Use scripts/autoreview beside this skill. Keep its custom codex exec path:
native codex review cannot combine explicit Git target flags with custom instructions.
The helper combines those with evidence, severity filtering, and validated JSON;
it leaves review judgment to Codex. For an OpenClaw checkout:
AUTOREVIEW=".agents/skills/autoreview/scripts/autoreview"
"$AUTOREVIEW" --mode local
In the canonical agent-skills repo, the path is
skills/autoreview/scripts/autoreview. On Windows, invoke the helper with Python.
Use --help for the complete flags and environment overrides.
Choose the Git target explicitly when the default is ambiguous:
| Target | Arguments | Scope |
| ------------------------------ | ------------------------------ | ----------------------------------------------------------- |
| Local work | --mode local | HEAD → index → working tree, plus untracked files |
| Local candidate against a base | --mode local --base <ref> | Pinned base → index → working tree, plus untracked files |
| Committed branch/PR | --mode branch --base <ref> | Merge-base → HEAD; excludes dirty work |
| One commit | --mode commit --commit <ref> | Raw parent → commit; a root compares against the empty tree |
--mode auto selects local work when dirty, otherwise a branch review using the
PR base or origin/main. Clean main has no implicit review target.
--mode uncommitted is an alias for local. The helper does not fetch refs.
Registered nested linked checkouts from the same repository are outside the
current review scope. Their presence or edits do not make the parent dirty;
ordinary adjacent files remain included in the review. Worktree boundaries are
revalidated without changing Git ignore rules.
For a complete PR candidate including dirty rewrites, use local mode with
its pinned merge base—not branch mode:
pr_base=$(gh pr view --json baseRefName --jq .baseRefName)
merge_base=$(git merge-base HEAD "origin/$pr_base")
"$AUTOREVIEW" --mode local --base "$merge_base"
When a file has both staged and unstaged changes, both states are reviewed.
A defect in the index remains actionable even if the working tree fixes it;
the report labels it INDEX-only.
Git display settings cannot suppress context markers or add patch colors;
repository configuration is not changed. Source paths and text retain literal
whitespace. An empty present
source uses line 1, column 1, and an empty excerpt; empty physical lines also
use an empty excerpt at column 1. Source identity remains mandatory.
Context and severity
Use --prompt for task-specific guidance, or --prompt-file and --dataset for
repository-relative context files. Context does not expand the selected Git
target. The reviewer cannot read unchanged repository files from its empty
sandbox; supply relevant source or dependency evidence when the diff is insufficient.
The default threshold is P0 only: material blockers to normal operation or
safety. Use --max-priority P1, P2, or P3 when the caller requests a wider
review. Do not add unrelated redesign goals or prescribe file counts, reading
sequences, or ritual extra passes. Historical blame requires a verified
parent-relative patch; otherwise leave the attribution unknown.
"$AUTOREVIEW" --mode local --prompt-file review-notes.md --dataset evidence.json
Engines
Codex is the default: gpt-6-astra, high reasoning, with a gpt-5.6-terra retry
only for an account-access failure. Honor explicit engine/model choices; do not
switch because a review is slow or rate-limited.
Use --engine, --model, and --thinking to override the defaults.
--codex-speed fast selects priority service when supported. Only Claude accepts
--fallback-model. Per-engine environment overrides use AUTOREVIEW_<ENGINE>_*.
By default, Codex preserves only authentication settings from user configuration;
provider, profile, context and catalogue settings remain ignored. To project a
named route, select it explicitly through the existing config override:
"$AUTOREVIEW" --mode local --codex-config 'model_provider="review_api"'
The selector must match model_provider in the operator's external
CODEX_HOME/config.toml. It accepts one bare or simply quoted identifier;
provider definitions and other capabilities cannot be supplied through overrides.
Projection requires Python 3.11 or tomli; default auth-only operation retains
its existing fallback parser.
The selected route must use https://api.openai.com/v1 and command authentication
with an absolute external executable. Fixed arguments belong in that executable's
wrapper; omitted or empty auth.args are accepted. Omitted wire_api and
requires_openai_auth retain Codex's responses and false defaults. Optional
auth timing and context settings keep native defaults and semantics.
On POSIX, a private launcher restores the validated caller HOME only for the
selected authentication executable; the engine and reviewer tools retain their
isolated environment and filesystem access. Caller HOME must be an available
absolute directory with no repository-owned path or symlink provenance. Windows
keeps the native executable route. Command-auth runs suppress raw provider
diagnostics and report fixed failure categories, while retaining compact progress,
usage and assistant report streaming. An empty final report fails without exposing
captured stdout.
Catalogue and authentication working-directory paths resolve relative to the
operator config directory and must remain outside the reviewed repository.
A supplied catalogue is copied byte-for-byte into the private client runtime;
retries use the same route and catalogue snapshot. Dry runs check the same
ownership and route shape without executing authentication. Codex owns catalogue
validation, model access and context clamping. Other custom provider forms and
split context overrides are unsupported when projection is selected.
| Optional engine | Prerequisites |
| --------------- | ----------------------------------------------------------------------------------------------------- |
| Claude | CLI 2.1.169+; safe mode with web-only tools |
| Amp | AMP_API_KEY for a plugin-free account; local POSIX execution, no custom endpoint or cloud/orb agent |
| Pi | CLI 0.79.0+; configured model; no tools or project resources |
| Kimi | CLI 0.30.0+; configured model; Python 3.11+ or tomli for TOML config |
Runtime boundaries
The helper owns reviewer isolation, sanitized authentication, process cleanup,
Git scope, and structured result validation. Keep those controls enabled.
Every reviewer pass must inspect its bundle for real credentials and report
suspected credentials as P0 findings without reproducing their values. Harmless
placeholders and test fixtures are not credentials. Autoreview does not require
or invoke an external secret scanner. Never work around an isolation failure.
Intentional scanner-free policy
Keep approved secret scanning outside autoreview; reviewer findings happen after
transmission. Reintroducing a scanner requires an explicit maintainer decision.
See #240 ↗ for rationale and history.
Reviewer isolation
On macOS, reviewer tools cannot access the shared /tmp and /var/tmp trees
(including their /private aliases). Codex preflight rejects those temporary
roots before workspace, runtime, or authentication setup; unset a shared
TMPDIR/TMP/TEMP override to use macOS's private
temporary directory. Other engines and platforms retain their normal isolation.
Tools installed in shared scratch or requiring writes there will be denied too.
Review files have no size/count cap and are never truncated. Large diffs and
datasets are partitioned automatically. Intact instructions and required mixed
source context must still fit the per-pass prompt budget. A failed pass does not
produce a partial clean verdict.
Do not edit inputs during a review: the helper verifies captured sources before
sending and publishing results. Long reviews are normal; advancing heartbeats
mean progress. Use --stream-engine-output for visibility, not extra reviewer
runs. --dry-run checks preparation and startup without contacting a reviewer.
Results
--output, --json-output, and --status-output paths must be outside the
reviewed repository. When using --status-output, all output paths must differ;
case-only and Unicode normalization aliases are conservatively refused on every
platform, even when the filesystem would permit distinct files.
| Exit | Meaning |
| ---- | ------------------------------------------------------------------------------- |
| 0 | scoped-clean, or a correct verdict with only filtered lower-priority findings |
| 1 | Accepted findings, an incorrect provider verdict, or a failed review attempt |
| 2 | Incomplete scope/attribution, or a missing required finding |
Treat scoped-clean as clean only for the selected target and requested priority.
filtered is not clean; resolve incomplete before claiming completion.
Verify findings against the actual code and task before changing anything.
No extra review rounds for a nicer verdict; follow the owning workflow after fixes.
Use --status-output /outside/repo/status.json for a separate, versioned
machine-readable outcome. It preserves the existing exit codes and
--json-output validated-report format. Completed reviews report scoped-clean,
findings, filtered, incorrect, or incomplete; a launched reviewer that
fails or returns an invalid report reports reviewer_unavailable with exit 1.
A failed later pass never publishes a partial review report.
{
"schema_version": 1,
"status": "reviewer_unavailable",
"exit_code": 1,
"engine": "codex",
"report_produced": false,
"reason": "engine_failed",
"reviewer_exit_code": 124,
"timed_out": true
}
reason is engine_failed, invalid_report, or runtime_validation_failed
for unavailable reviewers and null for completed reviews. The last reason means
Amp's post-launch isolation attestation or private-result validation refused
the result; it is not a transient-provider classification. These guards still
run before report acceptance and retain their existing failure diagnostics.
reviewer_exit_code is the last reviewer process's exit code when retained,
including zero for rejected output, otherwise null. timed_out identifies the
helper's deadline, not a reviewer that happens to exit 124. Completed envelopes
have report_produced: true; this means a validated final report exists, not
that its verdict is clean. --expect-findings changes exit codes as before;
inspect status independently of exit_code.
The sidecar contains no provider logs, prompts, findings, or model identifiers.
Existing bounded, display-safe diagnostics remain on stderr; command-auth
diagnostic suppression remains in force. Use a fresh status path per invocation:
after argument and output-path validation, a previous sidecar is removed before
target selection. Dry runs, preflight refusals, pre-launch isolation failures, source mutations,
interruptions, and output failures produce no new status. Absence means no
outcome was published, never a clean review. No retry policy is added.
Report material findings and status plainly. Do not add transcripts, proof
ledgers, commits, pushes, or a new workstream unless requested.
常見問題
autoreview 技能有什麼用途?
使用各種人工智慧模型自動執行程式碼審查,提供結構化報告和建議。
如何安裝 autoreview?
打開本頁的「安裝」區塊並選擇你的代理 — Claude Code、Codex、Cursor 或 Gemini CLI:那裡有把技能資料夾複製到正確位置的現成指令。也可以複製「透過助理」分頁中的提示,讓助理自行檢查並安裝技能。
autoreview 適用哪些 AI 模型?
技能是純 Markdown 指示(Agent Skills 格式),因此 autoreview 適用任何讀取 SKILL.md 的代理:Claude Code、Codex、Cursor、Gemini CLI、GitHub Copilot、OpenCode 等。只有在任務符合技能描述時,模型才會載入指示。
autoreview 是免費的嗎?
此技能由 openclaw 公開發布,採用 MIT 授權。技能本身免費 — 你只需向 AI 供應商支付實際使用的 token 費用。
安裝技能安全嗎?
技能是代理會遵循的指示,安裝前請閱讀 SKILL.md 及相關檔案。技能資料夾中的腳本只有在代理執行時才會運行 — 留意它的動作,不要授予多餘權限。
技能和 MCP 伺服器或外掛有何不同?
MCP 伺服器或外掛為模型提供新工具 — 會執行並回傳結果的程式碼。技能提供的是知識與流程:如何處理任務、要遵循哪些步驟、好的成果長什麼樣子。它不需要伺服器或 API 金鑰。