> ## Documentation Index
> Fetch the complete documentation index at: https://platform.atlan.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Publish skills with the CLI

> Validate a local skill, publish it safely, or publish a repository-managed collection.

# Publish skills with the CLI

Use the CLI when you want to validate a local skill before a one-off publish or
when a repository manifest controls a collection of skills.

## Publish one local skill

Run validation first, then inspect the publishing plan before the write:

```bash theme={null}
atlanai skill validate ./skills/example
atlanai skill push ./skills/example --dry-run
atlanai skill push ./skills/example --workspace workspace_123
```

`push` creates a new skill or appends a version. Unchanged content is not
uploaded again. Do not use `--force` until you have resolved the remote change
that caused the drift.

## Publish repository-managed skills

Use `skill publish` when `.atlan/package.json` declares the directory,
destinations, and publishing branch:

```bash theme={null}
atlanai skill publish
atlanai skill publish --changed-since HEAD~1
atlanai skill publish --ci
```

`--ci` disables prompts and enforces the configured branch guard. It is for a
reviewed automation environment, not an interactive replacement for `--dry-run`.

## Verify the result

Use the returned skill ID to inspect the result and its versions:

```bash theme={null}
atlanai skill get skill_123
atlanai skill versions skill_123
atlanai skill runs skill_123
```

For every flag, confirmation behavior, and output field, see the full
[`atlanai skill` reference](/cli/reference/skill). To publish the same
repository on every change to its publish branch, follow [Sync skills from
GitHub](/guides/skills/sync-from-github).
