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

# Customize with skills, memories, and rules

> Shape how HoloDesktop CLI behaves across every run with optional files in ~/.holo.

HoloDesktop CLI reads a few optional files from `~/.holo/` at the start of every run and folds them into the agent's instructions. Use them to carry context across runs without repeating it in each task.

The snapshot is taken once when a run starts and frozen for that run, so edits apply to the next run, not the one in flight.

## Standing instructions

Put durable, always-on guidance in `~/.holo/agents.md`. It is prepended to every run.

```text ~/.holo/agents.md theme={null}
Prefer keyboard shortcuts over mouse clicks.
When a task is ambiguous, choose the least destructive option and report what you did.
```

An optional `name` in frontmatter personalizes the opening line:

```text ~/.holo/agents.md theme={null}
---
name: Antoine
---
Default to dark mode when an app offers it.
```

## Memories and rules

`memories.md` and `rules.md` are lists. Separate entries with a blank line; a file with no blank lines is read one entry per line.

<CodeGroup>
  ```text ~/.holo/memories.md theme={null}
  The expense portal is at https://expenses.internal.example.com.

  My default browser is Firefox.
  ```

  ```text ~/.holo/rules.md theme={null}
  Never submit a form without showing me the final values first.

  Stop and ask before deleting files.
  ```
</CodeGroup>

Memories are context the agent may use; rules are constraints it should follow. Both are loaded into every run alongside `agents.md`. HoloDesktop CLI also reads its own `holo-memories.md` in the same way, so leave that file to the CLI and keep your notes in `memories.md`. Each file is capped at 128 KB and content past the cap is truncated with a marker, so keep entries short and specific.

## Skills

A skill is a reusable, named procedure the agent can pull in when a task matches its description. Each lives in its own directory:

```text theme={null}
~/.holo/skills/<slug>/SKILL.md
```

The directory name becomes the skill name, so keep it lowercase and hyphenated. `SKILL.md` needs YAML frontmatter with a `description` (used for matching, 280 characters max) and a markdown body with the steps:

```text ~/.holo/skills/file-an-expense/SKILL.md theme={null}
---
description: File an expense report in the internal portal from a receipt image.
---

1. Open the expense portal in the browser.
2. Click "New expense" and upload the receipt.
3. Fill amount, date, and category from the receipt.
4. Show the filled form and stop before submitting.
```

HoloDesktop CLI seeds its bundled skills into `~/.holo/skills/` on the first run and tracks them in `~/.holo/settings.json`, so your own skills sit alongside them. A skill that is missing its description or body is skipped with a warning.

To package a skill so an agent host can install it, see [Use HoloDesktop CLI as a skill](/holo-desktop-cli/integrations/use-as-skill).

## Verify what loaded

`holo doctor` reports how many skills are seeded under `~/.holo/`:

```bash theme={null}
holo doctor
```

For the full list of customization files and other local state, see [Paths and files](/holo-desktop-cli/reference/paths-and-files).
