# Comet Review

手动审查当前 Comet change 的实现差异，只报告正确性、安全和边界问题，不推进工作流。

- Repository: https://github.com/rpamis/comet (3263 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add rpamis/comet --skill comet-review -g -a claude-code -y`
Codex: `npx skills add rpamis/comet --skill comet-review -g -a codex -y`
Cursor: `npx skills add rpamis/comet --skill comet-review -g -a cursor -y`
Gemini CLI: `npx skills add rpamis/comet --skill comet-review -g -a gemini-cli -y`

## Description

手动审查当前 Comet change 的实现差异，只报告正确性、安全和边界问题，不推进工作流。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Comet 手动代码审查

对当前选中的 Comet change 执行一次按需、只读的代码审查。这个入口不属于任何阶段，也不替代 Build 或 Verify 的验证和审查。

本入口独立于 `review_mode`。`review_mode` 控制流程内的自动审查策略，`/comet-review` 则由用户手动触发，只执行一次审查；调用本入口不得读取、修改或覆盖当前 change 的 `review_mode`。

## 只执行读取和审查操作

本 Skill 的整个调用必须保持只读：

- 不修改、创建或删除文件；
- 不暂存、提交、切换分支、创建分支或创建 worktree；
- 不运行 `comet state select`、`comet native select`、`comet state set`、`comet state transition`、阶段守卫、`comet native next` 或归档命令；
- 不修复发现的问题，不推进 phase，不更新 tasks、状态、验证报告或审查记录；
- 不把本次结果称为 Verify 通过，也不把“没有发现”视为测试已经通过。

只允许执行读取文件、查询状态和查看 Git 差异所需的命令。任何可能运行项目代码、安装依赖或产生文件的检查都不属于本入口。

## 1. 定位项目与当前 change

1. 使用只读 Git 查询确定项目根目录；如果不是 Git 仓库，则使用当前 Comet 项目根目录。
2. 在项目根目录运行：

   ```bash
   comet status . --json
   ```

3. 读取 `.comet/current-change.json`，并按以下顺序确定审查对象：
   - 文件包含有效的 `comet.selection.v2` 时，使用其中的 `workflow` 和 `change`；
   - 没有 selection 记录，且状态输出中只有一个未归档的 Comet change 时，只在本次审查中使用该 change，不写入 selection；
   - 没有 selection 记录且存在多个 change 时，列出名称、workflow 和 phase，请用户指定一个，然后停止当前调用；
   - selection 指向缺失、已归档或状态无效的 change 时，报告当前选择已过期或无效（stale/invalid selection），然后停止，不自行修复。

忽略不受 Comet 管理的普通 OpenSpec change。不得因为默认 workflow 与 selection 不同而改用默认 workflow。

## 2. 收集审查上下文

只读取当前 change 的必要上下文，并为每个事实保留来源路径或命令。

### Classic

1. 先读取并遵守 `comet-classic/reference/classic-layout.md`，解析当前项目的 Classic 逻辑根。
2. 读取当前 change 的 `proposal.md`、`design.md`、`tasks.md` 和 `specs/*/spec.md`；存在关联 Design Doc 时一并读取。
3. 使用以下只读状态查询获得 phase、基线和已有证据引用：

   ```bash
   comet state get <change-name> phase
   comet state get <change-name> base_ref
   comet state get <change-name> plan
   comet state get <change-name> verification_report
   ```

4. 读取已有的 plan、验证报告，以及 `comet status . --json` 返回的 build/verify 命令检查结果。缺失的证据应标为“未提供”，不能推断为失败或通过。

### Native

运行以下只读命令：

```bash
comet native show <change-name> --json
comet native status <change-name> --details --json
```

The rest: https://github.com/rpamis/comet/blob/HEAD/assets/skills-zh/comet-review/SKILL.md
