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

# Agent Skills

> Install Ankra's curated Agent Skills into Claude Code, the Claude app, Cursor, Codex, GitHub Copilot, Windsurf, Gemini CLI and other AI assistants, so they manage Kubernetes the Ankra way.

Ankra Agent Skills are `SKILL.md` instruction files that teach an AI coding assistant to follow
Ankra's practices: driving the CLI, authoring `ImportCluster` YAML, composing Stacks, taking a
repository from source to production, encrypting secrets with SOPS, reviewing access, and
supervising Ankra's own AI agents. Once installed, your assistant applies them automatically -
ask it to "get this service live on staging" and it reaches for the Ankra workflow instead of raw
`kubectl`.

The skills are embedded in the [Ankra CLI](/integrations/ankra-cli), so installation works
offline and the skill set is versioned with the CLI release.

<Note>
  These skills steer **your** editor or assistant. They are a different feature from
  [AI Skills](/platform/ai-skills), which teach **Ankra's own AI** your organisation's conventions
  inside the platform.
</Note>

## Install

```bash theme={null}
ankra skills install
```

With no flags, the CLI detects the assistants configured on your machine and installs into all of
them. See what it found, and where each assistant's skills land:

```bash theme={null}
ankra skills clients
ankra skills list
```

Target assistants explicitly with `--client` (repeatable, comma-separated, or `all`):

```bash theme={null}
ankra skills install --client all
ankra skills install --client claude-code,cursor
ankra skills install --client copilot --project .
ankra skills install --with-hooks
```

## Supported assistants

| Assistant                        | `--client`    | How the skills are delivered                                        |
| -------------------------------- | ------------- | ------------------------------------------------------------------- |
| Claude Code                      | `claude-code` | Native skills directory, slash commands, optional hook              |
| Claude app (claude.ai / desktop) | `claude-app`  | One uploadable `.zip` per skill (see below)                         |
| Cursor                           | `cursor`      | Native skills directory, rule, commands, optional hook              |
| Codex CLI                        | `codex`       | Skills library plus an index in `AGENTS.md`, prompts                |
| GitHub Copilot                   | `copilot`     | Skills library plus `.github/copilot-instructions.md`, prompt files |
| Windsurf                         | `windsurf`    | Skills library plus rules, workflows                                |
| Gemini CLI                       | `gemini`      | Skills library plus `GEMINI.md`, TOML commands                      |
| OpenCode                         | `opencode`    | Skills library plus `AGENTS.md`, commands                           |
| Cline                            | `cline`       | Skills library plus `.clinerules`, workflows                        |
| Zed                              | `zed`         | Skills library plus `AGENTS.md`                                     |
| OpenClaw                         | `openclaw`    | Native skills directory                                             |
| Any other assistant              | `agents`      | Skills library plus `AGENTS.md`                                     |

Assistants that discover `SKILL.md` files themselves get a plain skills directory. Every other
assistant gets the skills in a shared library plus an **index** written into the file that
assistant always loads - naming each skill, what it covers, and the path to open. The index is
what makes the skills work in an assistant with no skills mechanism of its own.

### The Claude app

The Claude app cannot read your filesystem, so `--client claude-app` writes one uploadable
bundle per skill instead:

```bash theme={null}
ankra skills install --client claude-app
```

Upload each `.zip` at claude.ai under **Settings** → **Capabilities** → **Skills** →
**Upload skill**.

### Personal or per-repository

By default skills install for your user, available in every project. `--project <dir>` installs
into a repository instead - the right scope for GitHub Copilot, whose instructions file is read
per repository. Commit the result so the whole team gets it:

```bash theme={null}
ankra skills install --client copilot --project .
```

A repository-scoped install writes repository-relative paths, so the committed files work on
every teammate's machine.

## What gets installed

**Skills** - matched automatically against what you ask the assistant for. The set covers
getting started, the CLI, importing and building clusters, domains and DNS, Stacks and add-ons,
stack profiles, applications and CI/CD, GitOps, SOPS secrets, Helm registries, observability,
troubleshooting, alerting, security, and Ankra's AI agent surface. The
[Agent Skills Catalogue](/integrations/agent-skills-catalogue) breaks down every skill and when
your assistant reaches for it; `ankra skills list` prints the same from the CLI.

**Workflows** - named entry points you invoke deliberately, for jobs that span several skills:

| Command               | What it runs                                                            |
| --------------------- | ----------------------------------------------------------------------- |
| `/ankra-new-cluster`  | Stand up a cluster: provider, region, instance family, GitOps, DNS, TLS |
| `/ankra-ship-service` | Source code to production on one or many clusters                       |
| `/ankra-connect-app`  | Connect an app to an existing service and its secrets                   |
| `/ankra-triage`       | Investigate a failing workload, deploy or operation                     |
| `/ankra-promote`      | Promote a verified change to the next environment                       |
| `/ankra-harden`       | A security pass over the organisation                                   |
| `/ankra-profile`      | Capture a working Stack as a reusable stack profile                     |

Written in each assistant's own command format. Skip them with `--no-workflows`.

**A rule** that makes Ankra the default route for Kubernetes work: the assistant inspects
read-only freely, but routes changes through the GitOps repository or `ankra cluster apply`
instead of raw `kubectl`/`helm`. Skip it with `--no-rules`.

**A hook** (opt-in, `--with-hooks`) that intercepts direct `kubectl`/`helm` cluster mutations in
Claude Code and Cursor and pauses them for confirmation, pointing back at the Ankra workflow.

## Using the skills

Just ask - the assistant picks the right skills from the request:

* "Get this repo deployed to staging and then production"
* "Connect the API to our LiteLLM gateway"
* "The payments pod is crashlooping"
* "Set up a cluster on Hetzner and put our domain on it"

Or name one explicitly ("use ankra-stack-profiles"), or invoke a workflow (`/ankra-triage`).
Restart the assistant after installing so it loads the new files.

## Update and uninstall

Skills ship inside the CLI binary, so updating is:

```bash theme={null}
ankra upgrade
ankra skills install --force
```

Removal undoes what install did - the skills, the rule, the index, the workflows and the hook:

```bash theme={null}
ankra skills uninstall                    # everywhere an install is found
ankra skills uninstall --client cursor
ankra skills uninstall ankra-cli          # one skill, steering left in place
```

## Command reference

Every flag and subcommand is in the [CLI reference](/reference/cli/skills). The deprecated
`--editor` flag still resolves as an alias for `--client`.
