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

# Agent skill

> Install the KugelAudio skill so your coding agent gets the integration rules without you re-explaining them.

The Python and JavaScript SDKs ship an **agent skill** — a `SKILL.md` that
teaches coding agents (Claude Code, Cursor, Codex) how to build a correct,
low-latency KugelAudio integration: when to flush a streaming session, which
latency levers actually matter, and how to write text that sounds right.

Agents load skills from a skills directory such as `.claude/skills/`; they do
not look inside installed packages. So installing the SDK is not enough — one
command copies the skill where the agent will find it.

## Install

<CodeGroup>
  ```bash npm theme={null}
  npm install kugelaudio
  npx kugelaudio-skills install
  ```

  ```bash pip theme={null}
  pip install kugelaudio
  kugelaudio-skills install
  ```

  ```bash Java / other theme={null}
  # Maven has no install hook — pull the skill from the npm package
  npx -p kugelaudio kugelaudio-skills install
  ```
</CodeGroup>

This writes `./.claude/skills/kugelaudio-tts/`. Claude Code picks up a skill
added to a skills directory it already watches without a restart. If the install
created that directory in the first place and the skill doesn't show up, restart
once so it starts watching it.

| Flag           | Effect                                                                 |
| -------------- | ---------------------------------------------------------------------- |
| `--global`     | Install into `~/.claude/skills/` instead of the current directory      |
| `--dest <dir>` | Install into another directory (for agents that read a different path) |
| `--force`      | Overwrite an existing copy — without it, your edits are preserved      |

Run `kugelaudio-skills list` to see what a package version bundles.

## What the skill covers

* The four mistakes behind most bad integrations — per-sentence flushing, a new
  session per sentence, no pre-connect, unset `language`.
* The [latency](/latency) levers in priority order, and the
  [chunk-size ordering](/streaming/chunking-and-latency).
* Writing text for speech: no markdown or emoji, `!` and ALL-CAPS as prosody
  cues, [`<break>`](/prompting/breaks) snapping to the trained pause lengths,
  [`<spell>`](/prompting/spell), and a drop-in LLM system-prompt block.
* Which API surface fits which situation.

The skill deliberately carries *behavioral* guidance only. Facts that change
with a release — parameter names, model IDs, voice IDs — stay in these docs,
which the skill links to.

## Commit it or not

Committing `.claude/skills/kugelaudio-tts/` pins the guidance for everyone on
the team and for cloud agent sessions, which do not read your machine's
`~/.claude/skills/`. Re-run the install command after upgrading the SDK to pick
up a newer version of the skill.
