---
title: "CLI Reference"
slug: "skillset/reference/cli"
description: Lists Skillset's public CLI commands, shared exit classes, and links to contract-generated command reference.
---

<a id="cli-reference"></a>

These pages are generated from the same typed presentation and flag contracts used by `skillset --help`. Edit those contracts when command behavior changes, then run `bun run docs:generate`.

<!-- skillset:generated:start cli-command-list -->
## Author

- [`skillset create`](/skillset/reference/cli/create/) — Create a named Skillset repository.
- [`skillset draft`](/skillset/reference/cli/draft/) — Preview and atomically fork a shipped skill into its draft sibling.
- [`skillset import`](/skillset/reference/cli/import/) — Import provider-native or Agent standards skills and plugins into source.
- [`skillset init`](/skillset/reference/cli/init/) — Initialize Skillset in an existing directory.
- [`skillset move`](/skillset/reference/cli/move/) — Preview and atomically move a skill between workspace and plugin collections.
- [`skillset new`](/skillset/reference/cli/new/) — Create a new plugin, skill, project agent, rule, or hook in source.
- [`skillset promote`](/skillset/reference/cli/promote/) — Preview and atomically promote a draft skill to its shipped sibling.
- [`skillset rename`](/skillset/reference/cli/rename/) — Preview and atomically rename an authored source path.

## Build

- [`skillset build`](/skillset/reference/cli/build/) — Preview or write generated provider outputs.
- [`skillset check`](/skillset/reference/cli/check/) — Validate source, generated outputs, and CI readiness.
- [`skillset dev`](/skillset/reference/cli/dev/) — Watch source and continuously preview or write changes.
- [`skillset diff`](/skillset/reference/cli/diff/) — Show the generated-output plan without writing it.
- [`skillset update`](/skillset/reference/cli/update/) — Update provider-format snapshots and generated outputs.

## Inspect

- [`skillset eval`](/skillset/reference/cli/eval/) — List, run, and inspect portable skill evals.
- [`skillset explain`](/skillset/reference/cli/explain/) — Explain ownership and provenance for a path.
- [`skillset list`](/skillset/reference/cli/list/) — List authored units and their generated outputs.
- [`skillset lookup`](/skillset/reference/cli/lookup/) — Look up schema, compatibility, and provider facts.
- [`skillset report`](/skillset/reference/cli/report/) — Inspect immutable operational reports.
- [`skillset status`](/skillset/reference/cli/status/) — Summarize workspace health and generated drift.
- [`skillset test`](/skillset/reference/cli/test/) — Run declared or ad hoc provider runtime tests.

## Changes

- [`skillset change`](/skillset/reference/cli/change/) — Record and inspect source changes before release.
- [`skillset release`](/skillset/reference/cli/release/) — Audit, plan, apply, and amend releases.
- [`skillset reconcile`](/skillset/reference/cli/reconcile/) — Reconcile a managed source/output conflict.
- [`skillset resolve`](/skillset/reference/cli/resolve/) — Repair and stage generated-output conflicts during a rebase or merge.
- [`skillset restore`](/skillset/reference/cli/restore/) — Restore a recorded generated-output backup.

## Distribute

- [`skillset distribute`](/skillset/reference/cli/distribute/) — Plan distribution-ready plugin artifacts.
- [`skillset marketplace`](/skillset/reference/cli/marketplace/) — Check and update curated plugin marketplaces.

## Integrate

- [`skillset hooks`](/skillset/reference/cli/hooks/) — Print and run explicit hook integrations.
<!-- skillset:generated:end cli-command-list -->

For shared argument behavior, see [CLI flag conventions](/skillset/reference/cli-flags/).

## Exit classes

Human, `--json`, and `--jsonl` modes use the same exit class for the same
result. The shared classifier never infers a code from a message prefix.

| Class | Code | Meaning |
| --- | ---: | --- |
| success | `0` | The command completed as requested. |
| failure | `1` | Validation, data, or unexpected failure. |
| usage | `2` | The invocation itself is invalid: unknown option, missing required argument, conflicting flags, or a malformed argument value. |

A malformed argument value is a usage error (`2`); a well-formed value that
does not resolve is a failure (`1`). For example, `change show @zz` exits `2`
because `@zz` is not a hex ref, while a well-formed ref that matches no entry
exits `1`. Values that core validates are current exceptions and exit `1`:
`restore` backup ids and the slug names that core checks for `import --name`
and `create`. Aligning them is tracked as a follow-up.

Codes `3` and `4` are command-specific and appear only when a command sets them
explicitly in its result or through `CliOutputError`. The report command uses
`3` for an unreadable owned bundle. Report and structured-output invariant
failures use `4`.
Interactive prompt cancellation uses `130`.
