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

# Receiving skills

> Configure the to11 CLI once so the skills your company publishes land in the directories your coding agent reads, and stay current from then on.

You need the `to11` binary on your `PATH` and an **API key**, which you create in the dashboard under **Settings → API keys**. Nothing else — [skills](/docs/platform/prompts/skills) arrive as files, so there is no runtime to install and no agent setting to edit by hand.

## Install the CLI

### Install with `asdf`

Requires [asdf](https://asdf-vm.com) 0.16 or newer.

```bash theme={null}
asdf plugin add to11 https://github.com/to11ai/asdf-to11
asdf install to11 latest
asdf set to11 latest
```

### Manual installation

Get the latest release from the [to11-cli repository](https://github.com/to11ai/to11-cli/releases) and install the `to11` binary manually.

## Configure this machine

```bash theme={null}
to11 init
```

`init` resolves your identity and project, lists the project's real environments so a label is chosen rather than typed, writes your configuration, creates your agent's skill directories, offers a refresh hook, and runs a first sync.

It asks for the API key at a hidden prompt. Every other question has a default, so the rest is answerable with return presses:

```text theme={null}
$ to11 init
signed in as marius@to11.ai · acme

project      [sre/runbooks]
label        live, staging, preview  [live]
targets      ~/.claude/skills, ~/.agents/skills  [both]
prefix       a name for delivered directories, empty for none  []
refresh      install a hook so skills stay current?  [yes]

wrote ~/.to11/skills.yaml
installed 3 skills into ~/.claude/skills, ~/.agents/skills
```

The refresh hook is an offer. Decline it and nothing is wrong — the skills you have stay where they are, and they update when you run `to11 skill sync` or whatever else you schedule to.

If a published skill would land on a directory name you already use, answer `prefix` with a name — `acme` delivers `acme-<slug>` instead of `<slug>` — and every delivery moves out of the way at once.

## Configure a repository

To decide which skills apply to work in a repository, run `init` inside it and choose the repo location:

```bash theme={null}
to11 init --location repo
```

That writes `<repo>/.to11/skills.yaml`, which is committed. Your own configuration still applies — [both are in effect at once](/docs/reference/cli/configuration), each writing into its own directories — so a repository adds skills to a colleague's machine without taking over how their agent behaves.

## Configure without a terminal

For CI, a container, or a provisioning script, supply every flag and `init` asks nothing:

```bash theme={null}
to11 init --project sre/runbooks --label live --no-hook
```

Without a terminal there is no prompt, so the key comes from `TO11_API_KEY` in the environment. Inject it from your CI provider's secret store rather than writing it into the command or the script — a value on the command line reaches your shell history and the environment of everything the script starts. There is no flag that takes the key, so no invocation can carry it by accident.

## Check what you received

```bash theme={null}
to11 skill list
```

One row per skill, with its version, its [state](/docs/reference/cli/output#states), the target it went to and where it came from. A skill your configuration names but that did not arrive is a row too, and its state is the reason. If something needs putting right, `to11 skill sync` runs an explicit sync and reports what changed, what it left alone, and what it could not place.

## Next steps

<CardGroup cols={2}>
  <Card title="CLI overview" icon="terminal" href="/docs/reference/cli">
    What the CLI puts where, how refresh works, and what it never does.
  </Card>

  <Card title="Configuration" icon="file-code" href="/docs/reference/cli/configuration">
    The file that decides what you receive — including how to turn a skill off.
  </Card>

  <Card title="Creating skills" icon="pen-line" href="/docs/platform/prompts/creating-skills">
    Writing a skill, and releasing one to the people who follow a label.
  </Card>

  <Card title="Errors & exit codes" icon="triangle-alert" href="/docs/reference/cli/errors">
    What a failure looks like, and what keeps working when one happens.
  </Card>
</CardGroup>
