comet skill 是低层 Skill 包和 Skill 运行(Engine Run)工具。它发现显式 Skill 目录、.comet/skills/ 下的项目覆盖和内置 Skill,并提供本地 Skill 包管理和高级运行调试。
创建可复用 Skill 时优先用 /comet-any。comet skill run / comet skill continue 更适合调试高级 Skill 运行。
如果你只想把本地 Skill 放进项目,先用
comet skill add 和 comet skill show。运行、恢复和 runtime check 是高级调试能力,主要面向 Engine-enabled Skill。先区分平台 Skill 与项目 Skill
- 平台 Skill:由
comet init或comet update安装到.claude/skills/、.agents/skills/等平台目录,由 Agent 平台直接发现。 - 项目 Skill:由
comet skill add安装到.comet/skills/<name>/,由 Comet Engine 按名称解析,不会自动变成平台命令。
/comet 时大多不需要管理项目 Skill。只有安装自定义 Engine Skill、覆盖内置 Skill 或调试 Engine Run 时,才需要本页命令。
常用路径
子命令
所有子命令都支持
--json。
通用选项
—change 和 —run-id 互斥:一次 Run 只能绑定其中一个。—change 绑定 OpenSpec change 目录,—run-id 用 .comet/runs/<run-id> 存放独立 Run state。包管理
add
.comet/skills/<name>(拒绝符号链接,用原子 rename 加备份)。项目 Skill 会按名称覆盖内置 Skill。无效覆盖会 fail closed,直接报错并禁止静默回退到内置版本。
show
Skill 发现顺序
Skill 解析按以下顺序查找,找到即停止:- explicit — selector 指向一个已存在的目录,直接加载。路径不存在会报错,不会继续找。
- project —
<projectRoot>/.comet/skills/<selector>,优先于内置,所以项目可以按名称覆盖内置 Skill。 - builtin —
assets/skills/<selector>。 - 都没找到 → fail closed,不静默回退。
Run 生命周期
run:启动
- 拒绝 adaptive 包(目前)。
- 拒绝已存在的 Run(change 模式一个目录只能有一个 Run)。
- 创建不可变快照。把整个 Skill 包冻结到
.comet/skill-snapshots/<hash>/,hash 锁定到 Run 的skillHash。 - 初始化 Run state:
currentStep = entry,status = running。 - 记录
run_startedtrajectory 事件。 - 引擎决策:解析 entry step、构造第一个动作、过 guardrails、写入 pending action、
status = waiting。
continue:提交结果或恢复
带 outcome(实际推进):state_migrated 事件。
check:按需检查
--scope 可选 progress、step 或 completion(默认 progress)。读 comet/checks.yaml 的 runtime checks。
Run state 存储
Run state 由 Engine 自动维护(machine-owned),不要手工编辑。只有run_id 会镜像到 .comet.yaml。
附属文件(都在 change/run 目录内):
所有文件 IO 都限制在 change/run 目录内,拒绝绝对路径、
~、盘符和 .. 路径穿越。写入是原子的(写 tmp 再 rename)。
文本模式的恢复提示
comet skill 在文本模式下会打印 Pending action 和 Next:,说明 Run 暂停或 eval 失败后的下一步。
例如 run 输出:
check 失败时会提示:
下一步
- Skill 与 Engine(进阶) — 理解 Skill 包和 Skill 运行(Engine Run)的语义、pending action、不可变快照
- Runtime check — 区分
comet skill check和comet eval - Skill Creator 概览 — 创建可复用 Skill 的主入口

