选项
首页首页 Skill 代码审查 ce-code-review

对代码进行结构化审查,涵盖错误、回归测试、测试用例及规范标准。在提交 PR 前或收到审查请求时使用;交互模式可在本地修复问题,而 mode:agent 模式仅向管道调用者报告结果。

...展开全部
11
更新时间 2026-08-26

关于 ce-code-review

一种结构化的代码审查技能,使用动态选择的评审员角色来评估代码变更。它生成并行子代理,返回结构化的 JSON,然后将这些发现合并并去重,生成单一报告。该技能旨在创建拉取请求之前、迭代实现过程中完成任务之后,或任何需要变更反馈时运行;它可以独立调用,也可以嵌入更大的工作流中。

两种操作模式共享相同的审查管道。在默认交互模式下,它会生成带有管道分隔符发现表格和操作发现摘要的 Markdown 报告,并在预审查工作树干净时应用安全、经过验证的修复并提交它们。在 mode:agent 模式下(mode:headless 为已弃用的别名),它仅生成报告:作为面向程序和跨框架调用者的确定性契约,它返回一个 JSON 对象,且从不修改工作树,由调用者负责应用。核心操作原则是“本地应用;绝不推送”——它在任何模式下都不会推送、打开拉取请求或提交工单。它还避免阻塞式提示,且从不切换分支;传递 PR 编号、URL 或分支名称仅选择审查范围,而不授予修改树的权限。参数解析包含 base:、plan: 和 grouping:auto/off/always 等令牌,并具有明确的冲突规则,可在分派评审员之前停止运行。

发现结果使用 P0-P3 严重性等级来回答紧急程度,而 autofix_class(gated_auto、manual、advisory)和 owner 描述后续操作的形态,而非授予应用权限。综合处理负责最终路由,在意见不一致时选择更保守的路径,并拒绝 unsafe_auto 等不安全类别。快速审查短路机制可以将轻量、快速的审查委托给框架内置的审查,但 mode:agent 始终运行完整的多代理管道并返回 JSON。

常见问题解答

默认模式和 mode:agent 有什么区别?

默认交互模式返回 Markdown 报告,并应用安全、经过验证的修复(当树干净时提交它们)。mode:agent 仅生成报告:它返回单个 JSON 对象,且从不修改工作树,由调用者负责应用。

该技能是否会推送我的更改或打开拉取请求?

不会。核心原则是“本地应用;绝不推送”——它在任何模式下都不会推送、打开拉取请求或提交工单,因为推送是用户拥有的外部步骤。

如果我传递 PR 编号或分支名称,它会检出该分支吗?

不会。传递 PR 编号、URL 或分支名称仅选择审查范围。它从不运行 gh pr checkout、git checkout 或 git switch;若要审查分支上的本地工作,你必须自行检出。

严重性等级是什么意思,它与自动修复有何关系?

严重性等级从 P0(关键,合并前必须修复)到 P3(次要,由用户决定)运行,用于回答紧急程度。autofix_class 和 owner 字段描述后续操作的形态,而非应用权限——应用决策是在综合处理过程中做出的判断。

我可以获得快速审查而不是完整的多代理管道吗?

可以,当参数指示快速、轻量或简短审查且 mode:agent 未激活时,它会运行框架内置的代码审查并停止。mode:agent 始终绕过此短路机制并运行完整管道。

所有文件

24 个文件references/personas/julik-frontend-races-reviewer.md3.2 KBViewreferences/personas/maintainability-reviewer.md4.8 KBViewreferences/personas/previous-comments-reviewer.md3.3 KBViewreferences/personas/reliability-reviewer.md3.3 KBViewreferences/personas/swift-ios-reviewer.md10.5 KBViewreferences/review-output-template.md12.6 KBViewreferences/validator-template.md5.1 KBViewreferences/action-class-rubric.md1.5 KBViewreferences/findings-schema.json8.4 KBViewreferences/personas/adversarial-reviewer.md7.8 KBViewreferences/personas/api-contract-reviewer.md3.3 KBViewreferences/personas/data-migration-reviewer.md4.8 KBViewreferences/diff-scope.md2.4 KBViewreferences/persona-catalog.md5.4 KBViewreferences/personas/agent-native-reviewer.md9.1 KBViewreferences/personas/correctness-reviewer.md3.5 KBViewreferences/personas/deployment-verification-agent.md4.9 KBViewreferences/personas/learnings-researcher.md16.1 KBViewreferences/personas/performance-reviewer.md3.5 KBViewreferences/personas/project-standards-reviewer.md6.6 KBViewreferences/personas/security-reviewer.md3.7 KBViewreferences/personas/testing-reviewer.md3.8 KBViewreferences/subagent-template.md20.5 KBViewSKILL.md67.0 KBView

在 GitHub 上查看

Setup

Run this once at the start of this invocation, before any subagent dispatch, and follow the directives it prints — except where one conflicts with this skill's own rules on asking the user questions, whether those rules are scoped to a non-interactive mode or apply in every mode, in which case this skill's rules win and no blocking question is asked. Run the fence exactly as written, as its own command: do not pipe or filter it (no head, tail, or grep), do not truncate its output, and do not bundle it into a batch with other commands. Its output opens with a === skill context header and ends with CE_CONTEXT_END; if you received one of those lines without the other, the output was truncated — rerun the fence verbatim once. That recovery is the only rerun: otherwise do not rerun it within the same invocation; a later invocation of this or any other skill runs its own. If no Node runtime is available the skill proceeds unchanged.

SKILL_DIR="<absolute path of the directory containing the SKILL.md you just read>";NODE="$(for c in node nodejs; do command -v "$c" >/dev/null 2>&1 && "$c" -e '' >/dev/null 2>&1 && { echo "$c"; break; }; done)";if [ -n "$NODE" ]; then"$NODE" "$SKILL_DIR/scripts/context.mjs" || echo "context script failed; continue with the skill's normal behavior";elseecho "no Node runtime; continue with the skill's normal behavior";fi

Artifact Root

Resolve the CE artifact root <root> before composing any artifact path.

  • Read docs_root from <repo-root>/.compound-engineering/config.yaml only (<repo-root> = git rev-parse --show-toplevel). Do not read it from config.local.yaml. Unset -> <root> is docs, exactly as before.
  • Validate a set value: a repo-relative directory whose real, symlink-resolved path stays inside the repo and is neither the repo root nor under .git/. Otherwise stop with an error naming docs_root and the value -- never fall back to docs.
  • Use <root> as the sole artifact location: create it if absent, compose each path as <root>/<subdir> with this skill's own subdirectory, and never also read docs.

Execution spine

Follow these steps in order; the references supply the detail but never change the order. Each reference named below is a required read for its step: load it before doing that step's work.

  1. Read references/modes-and-output.md first. It settles what the arguments mean, which argument conflicts stop the run before any reviewer is dispatched, whether the quick-review short-circuit applies, and what this invocation returns.
  2. Stage 1. Read references/scope.md and resolve the reviewed diff, the scope mode, and the deterministic scope signals.
  3. Stage 2. Read references/intent-and-plan.md, write the intent summary every reviewer receives, and discover the plan Stage 6 verifies requirements against.
  4. Stage 3. Read references/persona-catalog.md and references/select-and-route.md, then select the risk-driven reviewer roster, discover applicable standards paths, and bind the adversarial route.
  5. Stage 3d. When adversarial is selected for a local reviewed tree, start and persist the sanctioned cross-model job that references/cross-model-review.md defines, before any local persona dispatch. Invoking this skill is itself the authorization for its configured or allowlisted peer route, once you have made the required disclosure of the recipient and of the code that leaves the machine. Do not ask the user to confirm a second time, and do not skip the peer because the user did not repeat that authorization. An explicit user prohibition on external review overrides it, as does a checkout that sets cross_model_review_mode: off with no live opt-in; both are resolved before you bind a route. A started peer replaces the local adversarial persona at this stage, and only a real failure to scope, allowlist, reach, authenticate, or start it leaves the local fallback in the roster; a later stage may still restore the local reviewer under the conditions that reference states.
  6. Stage 4. Read references/dispatch-reviewers.md. Dispatch the materialized local roster as one foreground concurrent batch sized to the host's active-agent cap, and collect every reviewer before synthesis however this host returns them: one blocking wait where same-message calls run concurrently, repeated non-polling collection waits where the subagent primitive is asynchronous, and serial dispatch where neither applies. Detaching local review into a polled background job is forbidden. The cross-model peer is the only detached work, and it may overlap this batch.
  7. Stages 5 and 6. Once the reviewer returns are ready, read references/finish-review.md. Fold in the peer once, run the documented findings mechanics, and run every validator the reference selects; only then return the report. Never synthesize directly from raw reviewer artifacts. In the multi-agent path, emit only this skill's report: do not also invoke a harness-native findings or reporting tool, which belongs to the quick-review short-circuit alone.

Operating principles

  • Report-only by default; never push. A bare ce-code-review invocation produces findings and does not apply them. Entering the apply stage requires apply:local, or an explicit user request in the invoking prompt to apply or fix this review's findings; a deprecated mode:autofix token is neither. mode:agent never mutates the tree, even when nested inside a workflow that later applies findings. Never push, open PRs, or file tickets in any mode.
  • No blocking prompts. Never use AskUserQuestion, request_user_input, ask_user, or other blocking question tools. Infer intent, plan, and scope from explicit tokens, git state, PR metadata, and conversation. Note uncertainty in Coverage or the verdict — do not stop to ask.
  • Explicit mutations only. Never run gh pr checkout, git checkout, git switch, or similar branch-switch commands. Passing a PR number, URL, or branch name selects review scope, not permission to mutate the working tree. Uncommitted work can only be reviewed from the checkout that holds it, so to review it on a feature branch, stay on that branch (or check it out yourself) and pass base: or no target.
  • Report outcomes, not machinery. What you show the user is about the review: what is being examined, which coverage is included and the one-line reason for each conditional lens, the independent cross-model pass, and the findings. Name what the user would recognize — a PR number, a reviewer's concern, a peer model — rather than this skill's plumbing, whose internal labels, dispatch bookkeeping, and setup narration stay out of user-facing text. Never claim more about the peer than its receipt attests. This governs what you surface and suppress, not the wording; use your own voice.

Task Visibility

For the multi-agent path, once the review scope is resolved, use the platform's task-tracking capability when available to show a short user-facing view derived from the execution spine. Track review outcomes, not individual personas, setup mechanics, or tool calls; add conditional work only when its gate fires, and update the view at meaningful transitions. If no task-tracking capability is available, continue with the normal progress and final report without simulating a task list in chat.

所有文件

0 个文件

安装 ce-code-review

将技能文件下载并解压至 .claude/skills/ 目录。

下载ZIP

克隆仓库并复制技能文件到您的项目中。

git clone https://github.com/EveryInc/compound-engineering-plugin/blob/main/skills/ce-code-review/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

复制 复制
快速设置: 将技能文件夹复制到 .claude/skills/,Claude 将自动检测并使用该技能

相关技能

code-simplify
更新时间 2026-07-02
requesting-code-review
更新时间 2026-06-29
Git Commit Helper
更新时间 2026-06-29
commit-standards
更新时间 2026-06-29
OR