Skip to main content
comet bundle is the advanced backend that /comet-any and comet publish build on. It creates the platform-agnostic Skill Bundle, compiles it into install plans for target platforms, and manages Engine metadata, Eval evidence, and human-approval state. For day-to-day creation, use /comet-any; for recovery or state inspection, use comet creator; for review and distribution, use comet publish. Run Bundle commands directly only for backend audits or low-level debugging (compile, capability gaps, eval evidence, executable disclosure).
If you just want to create, evaluate, and publish a Skill, do not start from comet bundle. The normal path is: /comet-any creates, comet eval verifies, comet creator next/status tells you the next step, and comet publish finishes review, publish, and distribution.

Where to look for daily use

When you need to use it directly

  • Audit the Bundle draft and compile output.
  • Debug a platform compile, capability gap, or executable disclosure.
  • Record structured eval evidence by hand.
  • Automation that needs the JSON backend commands.

Common backend phases

Skill Creator commands moved to comet creator

Since 0.4.0-beta.1, comet creator is the command-line entry that corresponds to Skill Creator. These older pre-release Bundle aliases are no longer the current commands:
The mapping is:

Authoring protocol

Since 0.4.0-beta.1, Skills generated by /comet-any no longer carry only a fixed flow skeleton; they carry real human-authored content. This works through an authoring protocol: a directed acyclic flow of authoring lanes, where each lane’s output passes schema validation and a final Skill review with multiple rounds of voting.

Authoring pipeline

Authoring advances in waves, and each lane is a sub-task that can run in parallel: When the authoring protocol runs, use comet creator authoring-plan and comet creator authoring-record. These commands:
  • Return the authoring plan: which lanes to run, the expected output of each lane, and the depth (quick covers only the necessary lanes, full covers all).
  • Validate and record a lane’s output.
  • Schema validation: the lane’s output JSON must match the lane’s schema (status ∈ DONE/DONE_WITH_CONCERNS/NEEDS_CONTEXT/BLOCKED, with artifacts, findings, evidence, and other fields present).
  • Claim validation: the outputs a lane claims (claims) must correspond to actual artifact files that exist and match.
  • Writing state: after validation, the lane’s output is committed to the Bundle’s authoring state (BundleAuthoringState), recording the lane status, findings (severity ∈ critical/important/minor), and review evidence.
  • Review evidence: the skill-review lane’s evidence source ∈ deterministic-check-only/llm-single/llm-multivote, and it records the real review conclusion (voters, lenses, findings) instead of hardcoding approved.

Authored content zones

A generated SKILL.md is made of two parts:
  • Auto zone: frontmatter, the routing table, Entry/Exit checks, evidence format, and recovery — the control plane that never changes, generated from templates.
  • Authored zone: the entry’s ## Decision Core and a node’s ## Guidance — dynamically authored by the skill-core / workflow-entry sub-agents.
Nodes are split into delegates (overlay layers → install a rich Skill, so thin guidance is correct) and substance (the workflow kernel, which must have rich authored guidance). A substance node that lacks authored content renders an explicit AUTHORING PENDING stub and appears in unauthoredSubstanceNodes — this blocks publishing readiness, so the generator can no longer pass a fake-complete thin Skill off as finished.

draft and compile commands

eval commands

eval-plan

Returns BundleEvalPlan { level, components[], estimatedRuns, tokenWorkload, explanation }. This is a descriptive estimate, not a token commitment:

eval-record

The result must be bound to the current draft hash and the current eval manifest hash. The validation rules are:
  • result.schemaVersion !== 2 or result.provider !== "comet-eval" → rejected.
  • result.draftHash !== state.currentHash → the file is written, but state does not advance.
  • result.evalManifestHash does not equal the currently generated comet/eval.yaml hash → the file is written, but state does not advance.
  • Everything passes (result.passed is true and failures is empty) → status advances to eval-passed.
  • Otherwise it falls back to draft, clearing review/ready/conflict.
The schema of the eval-result JSON is in Publishing and distributing Skills: The eval-record evidence contract.

review and publish commands

Before publishing you must read the readiness in the review summary, and you must not publish a ready when the publishing gates are not met. Publishing and distributing Skills is the authority on the meaning, trigger conditions, and recovery suggestions of each blocker code; the user-facing publish command reference is comet publish.

Common options

The relationship between bundle and publish

comet creator is the creation and recovery entry, and comet publish is the publishing entry. comet bundle is the advanced backend that operates on internal state directly.
For the user-facing publishing path, prefer comet publish. Use comet bundle directly only when troubleshooting or auditing.

Next steps

最后修改于 2026年9月4日