跳转到主要内容
创建、优化或组合 Skill 时,通常只需要在 Agent 里调用 /comet-any 并按提示确认。它会主动推进评估、发布、分发和恢复流程;除非排障或自动化集成,不需要手工跑本页这些发布命令。
发布不是把文件复制到平台目录。Comet 要确认当前 hash 有 eval 证据、有人工批准,并且目标平台能力满足要求,才会允许发布和分发。

发布状态链

每个状态都有明确的门禁:
状态含义进入条件
draft刚生成,还没验证/comet-any 生成完成
eval-passed有当前 hash 的 eval 证据comet eval ... --html 通过且 hash 匹配
review-approved人工批准当前 hashcomet publish approve
ready满足所有发布门禁review summary 为 publishable
published已发布可安装候选comet publish run
distributed已分发到平台comet publish distribute
还有一个异常状态 drift-conflict:当一个 ready 状态的 draft hash ready hash 都变了,会进入冲突状态,带 conflict: {draftHash, readyHash}。只有其中一个变了则直接回退到 draft

readiness 结论

readiness 有四种面向用户的结论:
结论含义触发条件
published已发布status ready 且 hash 匹配且无 blocker
can-publish可以发布status review-approved 且 review 匹配 hash 且 decision approved 且无 blocker
needs-confirmation等待确认无 blocker 但还没批准
blocked不能发布存在任何 blocker

小鱼检查 eval evidence v2 的 draftHash 和 evalManifestHash,再通过 creator status/next、review、approve 和 publish preview 推进发布

发布前先确认 eval evidence 绑定当前 draft 和 manifest,再用 creator 看状态,用 publish 做评审、批准、发布和分发预览

非 JSON 输出会用这些标题:published → “Already published”;can-publish → “Ready to publish”;needs-confirmation → “Ready for review approval”;blocked → “Cannot publish yet”。

推荐流程

comet publish/comet-any 产物的发布入口。它只处理 eval 证据就绪后的 review、approval、publish 和 distribute。创建状态、恢复状态和唯一下一步由 comet creator 负责。

用户命令

# 查看完整 readiness 和阻塞项
comet creator status my-skill --project . --json

# 只想知道下一步该跑什么
comet creator next my-skill --project . --json

# 生成评审摘要
comet publish review my-skill --platform claude --json

# 人工批准
comet publish approve my-skill --reviewer alice --json

# 发布已批准 candidate
comet publish run my-skill --platform claude --json

# 分发预览(强制)
comet publish distribute my-skill --platform claude --scope project --preview --json

# 真实分发
comet publish distribute my-skill --platform claude --scope project --json
如果包含 hooks 或脚本,分发时需要确认可执行披露:
comet publish distribute my-skill --platform claude --scope project --confirm-executables --json
如果用户明确选择跳过 optional 能力:
comet publish distribute my-skill --platform claude --scope project --skip-capability <capability> --json

status 和 next 怎么选

你想做什么用哪个命令输出重点
看完整 readiness、blocker、warning 和 evidencecomet creator status <name>完整状态和恢复上下文
从中断流程恢复,只想知道现在跑什么comet creator next <name>单个推荐动作、命令、原因和是否需要用户确认
comet creator next 不暴露后端 Bundle 命令。它会把后端 next action 翻译成日常可执行的命令,例如 comet eval ... --htmlcomet publish review ...comet publish approve ...,或提示你回到 /comet-any 解决候选、确认方案、重新生成。

阻塞码(blocker codes)

readiness blockers 会阻止 publish。每个 blocker 都有一个前缀码,告诉你问题出在哪。当 Readiness: blocked 时,按下面的表定位:
阻塞码含义恢复建议
[candidate]还有未解决的缺失/歧义候选回到 /comet-any 选择来源,或让 comet creator next 给出恢复命令
[preference](strict)required Skill 缺失/歧义;偏好漂移确认偏好或重新生成
[proposal]proposal 未确认回到 /comet-any 查看并确认组合方案
[composition]composition 有 issue(cycle、unresolved-choice 等)修复组合方案
[control-plane]稳定控制面校验失败检查 required capability set 是否完整
[authoring]生成物仍有 AUTHORING PENDING 或 substance 节点没写完完成对应 authoring lane,再记录输出
[draft]缺少 currentHash重新生成 draft
[eval]缺少/失败/对应旧 hash 的 Eval 证据重新跑 comet eval ... --html
[agent]Claude Code custom agent 没出现在平台预览里重新跑 Claude 平台分发预览
[publish]status ready 但没有 ready metadata重新走 review 流程
每个 blocker 都带 nextAction: ,直接给出恢复建议。想看完整上下文用 comet creator status;只想复制下一条用户命令时,用 comet creator next

Warning(非阻塞)

这些不阻塞,但会在评审摘要里提示:
  • [preference] advisory 模式下的偏好漂移
  • [review] approval 对应旧 hash
  • [capability] optional 能力缺口
  • [agent] 平台 agent 预览缺失
  • [executable] 可执行披露待确认

评审摘要

发布前必须先看 readiness。comet publish review 的评审摘要至少包含:
  • Bundle 名称、版本、hash
  • 多个 entry 与 internal Skill 列表
  • planHashpreferenceHashreference/resolved-skills.json 真实 Skill 证据
  • 推荐调用顺序与 preferenceIndex
  • 偏离偏好顺序的项和原因
  • .comet/skill-preferences.yaml 是否在 Factory 初始化后发生漂移
  • 稳定组合 Skill Bundle 的 required capability set 是否声明完整
  • 能力缺口和可执行披露
  • Eval 选择、token 消耗和结果摘要
  • Validate this Skill 与下一步提示
非 JSON 输出也会明确展示 Readiness:Blockers:Warnings:Evidence:,让你能直接看懂 readiness 为什么可发布或被阻塞。

分发预览是强制的

执行真实分发前,必须先跑 preview
comet publish distribute my-skill --platform claude --scope project --preview --json
preview 是强制检查,不是可选附加项。它会展示:
  • Install preview
  • planned files
  • unsupported capability
  • executable disclosures
  • No files were written
只有你确认 preview 结果后,才可以移除 --preview 执行真实分发。

能力缺口和可执行披露

分发前必须处理平台能力差异:
能力类型缺口处理
required 能力缺口取消该平台,不能跳过
optional 能力缺口必须由你显式选择 skip--skip-capability
Hook/脚本披露必须由你确认后才可分发(--confirm-executables
hooks/*.yamlComet portable hook descriptor,只在 comet publish distribute 编译到目标平台配置后生效。直接把 hook 文件拷到平台目录不会生效。

eval-record 证据契约

如果用 comet bundle eval-record 手工记录 eval 证据,结果 JSON 必须满足这个 schema:
{
  "schemaVersion": 2,
  "provider": "comet-eval",
  "level": "quick",
  "draftHash": "<64 位 hex SHA-256>",
  "evalManifestHash": "<64 位 hex SHA-256>",
  "tasks": ["authoring-skill-smoke"],
  "treatments": ["CONTROL", "COMET_FULL"],
  "passAtK": { "authoring-skill-smoke": 1 },
  "weightedScore": { "authoring-skill-smoke": 0.92 },
  "instabilityGap": { "authoring-skill-smoke": 0 },
  "failures": [],
  "reports": ["eval/local/logs/experiments/example/summary.html"],
  "passed": true,
  "summary": "All quality gates passed."
}
draftHash 必须等于当前 currentHashevalManifestHash 必须等于当前生成的 comet/eval.yaml hash。旧 hash 或旧 manifest 的证据会被保留到磁盘,但不能推进 readiness。日常使用不需要手写这个文件——/comet-any 会通过 comet eval 自动产出。

Bundle 和 publish 的关系

comet creator 是创建和恢复入口,comet publish 是发布入口。comet bundle 是高级后端,负责确定性状态、hash、readiness、publish 和 distribute。除非排障或审计,你不需要直接操作 Bundle 状态文件。
命令定位适合谁
comet creator创建状态和恢复入口日常使用、自动化
comet publish用户发布入口日常使用、自动化
comet bundle高级 Bundle 后端审计、调试、自动化集成
需要排查后端状态时可以参考 comet bundle

下一步

最后修改于 2026年7月6日