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

# Mirror instructions and skills

> Give Mirror CLI's agent project guidance with AGENTS.md, reusable procedures with skills, and optional personal memory

The agent starts every conversation knowing only what's in your files. Mirror gives you three ways to tell it more:

* **Instructions** are standing guidance that the agent always reads, such as how to build and test the project or which conventions to follow.
* **Skills** are procedures that the agent loads only when a task needs them, such as how to review a change or cut a release.
* **Memory** is an optional, private record of how you work. The agent builds it up across sessions.

## Instructions

Put project guidance in an `AGENTS.md` file. Mirror reads it before the agent starts, so it's the place for anything you'd otherwise repeat in every prompt:

```markdown theme={null}
# Project guidance

- Run `make test` before reporting a change as done.
- Use the logger in `src/log.py`, not `print`.
- Don't edit files under `generated/`; run `make codegen` instead.
```

Mirror reads instruction files from:

1. `~/.mirror/AGENTS.md`, for guidance that applies to all your projects.
2. Every directory from the repository root down to the directory where the workspace runs. A file in a subdirectory adds to the root's file.

Outside a repository, Mirror reads the global file and the current directory only.

Mirror also reads `CLAUDE.md`, so a project that already has one works without changes. If a directory has both, Mirror uses `AGENTS.md`.

Keep instructions short and specific. Mirror reads at most 32 KiB of instructions in total and truncates the rest. To see which files were read and how much of the context window they use, run `/context`.

## Skills

A skill is a directory containing a `SKILL.md` file. The file starts with a name and a description, followed by instructions for the task:

```markdown theme={null}
---
name: review-tests
description: Review test coverage for changed code and identify missing cases.
---

# Review tests

Read the changed code and its tests. Identify missing edge cases
and explain which test would cover each one.
```

The agent sees each skill's name and description, and reads the full instructions when a task matches the description. Unlike instructions, skills cost almost nothing until they're used, so you can keep many of them.

### Where to put skills

| Location | Available |
| - | - |
| `~/.mirror/skills/<skill>/SKILL.md` | In every project. |
| `.agents/skills/<skill>/SKILL.md` or `.claude/skills/<skill>/SKILL.md` | In directories from the repository root down to the working directory. |

Mirror also finds skills in subdirectories of these locations, up to six levels deep. If two skills have the same name, the one closer to the working directory wins.

### Use a skill

The agent picks a skill on its own when your request matches its description, so a clear description matters most. To ask for one explicitly, type `$` to browse skills, or mention one by name anywhere in your prompt:

```text theme={null}
$review-tests Check the parser changes on this branch.
```

### Skill metadata

| Field | Required | Meaning |
| - | - | - |
| `description` | Yes | What the skill does and when to use it. Mirror skips a skill that has no description. |
| `name` | No | The name used for `$` mentions. Defaults to the directory name. It must start with a letter or digit and contain only letters, digits, `-`, and `_`. |
| `disable-model-invocation` | No | Set to `true` to keep the agent from choosing the skill on its own, so it runs only when you mention it. |

## Memory

Mirror can keep a private memory of how you work, including your preferences, facts about your repositories, and approaches that worked or failed. Memory is off until you turn it on, and it stays on your machine.

| Command | Effect |
| - | - |
| `/memory on` | Turn memory on for this session and future ones. |
| `/memory off` | Turn memory off. |
| `/memory` | Show whether memory is on. |
| `/memory import` | Import the memories that Claude Code and Codex keep on this machine. |

Mirror stores memories in `~/.mirror/memory`. Memories the agent should always see are kept as bullets in `~/.mirror/PINNED_MEMORIES.md`, which you can also edit by hand.
