Skip to main content
comet eval is Comet’s standalone Skill evaluation entry point. You can evaluate a local Skill you already have without running /comet-any first or creating comet/eval.yaml in advance.

Shortest path

The target can be a Skill directory, a direct SKILL.md, or comet/eval.yaml. When you pass a directory, Comet discovers its manifest automatically. Without a manifest, a normal run generates 2–4 bounded tasks from a Skill snapshot without rewriting the Skill source.
  • --collect performs static discovery and configuration checks without starting an Agent, Docker, plugins, credentials, or network requests.
  • --quick uses the fixed generic-skill-smoke task for early smoke testing.
  • --html produces both Markdown and HTML reports.
  • Reports and run state are written under .comet/eval/runs/ in the Skill or the project passed with --project.
If the Skill is outside the repository that contains the eval harness, specify that project explicitly:

User-level .env configuration

Published Comet CLI users do not need to pull the source repository. Place the configuration file beside the existing user-level Eval adapter directory:
Keep the subject (Bench) and LLM-as-judge model, endpoint, and credentials independent:
The current process environment takes precedence over .env; CLI options and the manifest take precedence over environment defaults. Claude Code, Codex, and CodeBuddy map the common values to their native variables; Codex uses its isolated runtime config.toml, and Qoder uses only its officially supported authentication and service configuration. Explicit Agent-native variables override the common fallbacks. Security boundary: Eval never writes API keys into the published package, manifest, report, or Skill workspace. During Docker Agent runs, Codex, Qoder, and CodeBuddy use isolated container-local temporary config roots. Codex’s config.toml contains only an environment-variable reference, CodeBuddy’s settings.json uses only apiKeyHelper, and the actual key exists only in the current container process and is destroyed with the temporary config root after the run.

Task selection

Tasks are selected in this order: explicit --task, --quick, evaluation.tasks in the manifest, recommendedTasks, and finally generated tasks. Generated tasks are cached by the Skill snapshot, Agent, and evaluation configuration so later runs can reuse them. For stable acceptance conditions, define an inline task in comet/eval.yaml:
You can also use source to reference a task package containing task.toml and instruction.md inside the Skill package. Inline tasks support file, text, JSON, and command checks. The task workspace and expected artifacts must remain inside the allowed Skill package or evaluation workspace.

Choose an evaluation Agent

The default Agent is claude-code. You can also select codex, qoder, or codebuddy:
Configure the subject Agent and the LLM-as-Judge independently:
CLI options take precedence over the manifest. When a Judge is enabled, provide a separate Judge model and credentials; it does not inherit the subject Agent’s credentials. Custom Agents must be registered explicitly. Comet does not discover an adapter merely because its executable is on PATH. Place the adapter at:
Then select it with the same option:

Choose an evaluation suite

local is the default and is suitable for local development and HTML reports. For team tracing, use the existing LangSmith suite:
To send task traces, scores, and experiment summaries to Langfuse, use the Langfuse suite added in beta18:
The Langfuse suite still produces the local report. --collect --suite langfuse does not initialize the SDK, make network requests, or download plugins.

Common options

Reading the result

Before running, the CLI prints the target, suite, task, experiment, and report path. The report attributes failures to harness, workflow, task, or model:
  • harness: dependency, Docker, path, or environment problem;
  • workflow: the Skill flow did not meet its intended behavior;
  • task: the task definition or acceptance condition is incorrect;
  • model: model behavior or invocation instability.
comet eval evaluates a Skill as a product capability. comet skill check checks whether one Skill Run satisfies its runtime checks; they serve different purposes.

Next steps

Last modified on August 13, 2026