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

# Personas

> A stable working identity for the agent, injected at session start

A persona is the answer to "who is the agent in this repo?" — a versioned
profile injected at session start that sets the agent's stance before any
work begins. Where plans say *what* to build and hooks enforce *how commits
land*, the persona shapes *how the agent behaves* between those two.

## What a persona contains

Each persona is a profile with two blocks:

* a **system block** — bundled with tiny-brain, versioned, and updated with
  the plugin. It defines the stance: what to read before writing, which
  skills to reach for, what's out of scope.
* a **user block** — yours. Custom rules and details layered on top of the
  system stance, preserved across plugin updates.

tiny-brain ships with the **developer** persona. Its stance is a compact
statement of the whole system: be pipeline-led (the review pipeline is the
quality bar), be skill-first (`/plan`, `/fix`, `/spike`, `/adr` before
improvising), let hooks own tracking state, use the repo's own script
commands, and read the repo's context files before writing code. Just as
important is what it rules out — inventing phase models, re-running reviews
the pipeline will run anyway, hand-editing tracking files.

## How it reaches the agent

The session-start hook injects the active persona's context into the
session; the same content is available directly:

```bash theme={null}
tiny-brain as developer
```

The default persona is set in the repo's tiny-brain config
(`defaultPersona`), so every session in the repo starts from the same
identity — regardless of which AI tool opened it.

## Why this exists

Without a persona, every session re-negotiates its working style from
scratch, and two sessions in the same repo can behave like two different
engineers. With one, the discipline is repo-level: the stance travels with
the repository, survives across sessions and tools, and can be tuned by the
team in the user block without forking the bundled rules.
