# Install agent skills

> Give your coding agent package-specific guidance for using @hulla/* in your application.

Install the skills for the packages your application uses. Each skill gives a coding agent guidance on architecture, public APIs, and common mistakes, with links to focused documentation.

The skills live in [hulladev/skills](https://github.com/hulladev/skills), a small repository containing instructions and references. Installing them does not require downloading the package source repositories.

## Install into your application

Run the following from your application directory. The external [skills CLI](https://github.com/vercel-labs/skills) lets you choose skills and a supported agent, including Codex, Claude Code, or Cursor:

### Run with bun

```sh
bunx --bun skills add hulladev/skills
```

### Run with npm

```sh
npx skills add hulladev/skills
```

### Run with pnpm

```sh
pnpm dlx skills add hulladev/skills
```

### Run with yarn

```sh
yarn dlx skills add hulladev/skills
```

This command belongs to the `skills` CLI; it is separate from the `hulla` CLI. Follow the installer's runtime requirements and review the selected destination before installing. Project installation makes the guidance available to agents working in that application.

For example, select only the API skill for Codex:

### Run with bun

```sh
bunx --bun skills add hulladev/skills --skill api -a codex
```

### Run with npm

```sh
npx skills add hulladev/skills --skill api -a codex
```

### Run with pnpm

```sh
pnpm dlx skills add hulladev/skills --skill api -a codex
```

### Run with yarn

```sh
yarn dlx skills add hulladev/skills --skill api -a codex
```

After installation, ask the agent to use the selected skill for a relevant task, such as adding a route while keeping its server implementation out of the browser bundle. Discovery and activation depend on the agent and its configured skill locations; installing an npm package alone does not activate this guidance.

## Choose the matching skill

Skill IDs use the package's unscoped name: `api` for `@hulla/api`, `ui` for `@hulla/ui`, and so on. The [Agent Skills format](https://agentskills.io/specification#name-field) does not allow `@` or `/` in IDs.

| Package                                  | Skill                                                                  | Guidance                                                                      |
| ---------------------------------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `@hulla/api`                             | [api](https://github.com/hulladev/skills/tree/main/skills/api)         | Shared contracts, server implementations, clients, and adapters.              |
| `@hulla/ui`                              | [ui](https://github.com/hulladev/skills/tree/main/skills/ui)           | Installed source components, composition, themes, and native interactions.    |
| `@hulla/db` and framework bindings       | [db](https://github.com/hulladev/skills/tree/main/skills/db)           | Schemas, transactions, restricted handlers, live clients, and authentication. |
| `@hulla/style` and `@hulla/style-native` | [style](https://github.com/hulladev/skills/tree/main/skills/style)     | Shared helpers, variant inference, merging, and native style objects.         |
| `@hulla/control`                         | [control](https://github.com/hulladev/skills/tree/main/skills/control) | Result branches, exception boundaries, and asynchronous payloads.             |
| `@hulla/args`                            | [args](https://github.com/hulladev/skills/tree/main/skills/args)       | Argument declarations, omission, validation, and command execution.           |
| `@hulla/gittar`                          | [gittar](https://github.com/hulladev/skills/tree/main/skills/gittar)   | Snapshot downloads, subpath copying, cache isolation, and freshness.          |

Use `ui` when composing application components, rather than when developing a registry generator. Add the relevant parent skill for an adapter or framework binding; you do not need a separate skill for every integration.

## Keep guidance aligned with your dependencies

Each skill records the package version and source revision it was reviewed against. Compare that compatibility information with your application's installed version before updating. Skills describe intended usage; they do not replace installed declarations, component source, runtime validation, or application tests.

If you installed an earlier `hulla-`-prefixed skill, install its short-name replacement and review the old entry before removing it with your installer. Older tagged snapshots retain their original names.

For a reproducible setup, install from a reviewed tag or commit using the source formats described in the [skills repository](https://github.com/hulladev/skills#install). Retain the chosen skills and installer lockfile with your project, and review changes before updating them.

You can also copy an entire skill directory, including its references and license, into your agent's supported project location. For Codex, that is `.agents/skills/<skill-name>/`. Copying only `SKILL.md` can omit guidance loaded for native components, database handlers, or migrations.

## Read documentation directly

Agents that retrieve documentation can start with [`llms.txt`](/llms.txt) and follow the relevant Markdown pages. Use skills for the workflow and architecture guidance, then consult the matching package documentation for the specific API you are changing.
