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。常用路径
子命令
所有子命令都支持
--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 发现顺序
resolveSkill 按以下顺序查找,找到即停止:
- 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 事件。 decide解析 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 是 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 的主入口

