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

# crewship persona

> View, edit, reset, and inspect the version history of PERSONA.md for an agent or a crew default.

# crewship persona

Manage `PERSONA.md` — the \~1.5 KB identity surface the orchestrator
injects into every agent's system prompt at session start. The CLI
mirrors the [agent persona API](/api-reference/agents#agent-persona) and the [crew persona API](/api-reference/crews#crew-persona).

Two layers:

* **Agent layer** — per-agent override. Wins outright when non-empty.
* **Crew default layer** — workspace-shared baseline that every agent in the crew falls back to.

```bash theme={null}
crewship persona <subcommand> [flags]
```

<Note>
  All commands operate on the active workspace
  ([`crewship workspace use`](/cli/workspace)) and resolve targets by slug,
  not ID, to match the rest of the CLI surface.
</Note>

## Subcommands

| Command                         | Description                                                                      |
| ------------------------------- | -------------------------------------------------------------------------------- |
| `view <agent-slug>`             | Show the resolved persona — content plus which layer it came from.               |
| `edit <agent-slug>`             | Open `$EDITOR` to update the agent-layer override.                               |
| `reset <agent-slug>`            | Drop the agent-layer file (crew default reappears).                              |
| `history <agent-slug>`          | List the agent's persona version log (newest first).                             |
| `suggest-from-inbox <audit-id>` | Phase-2 stub — prints a hint to apply the proposal manually via `persona edit`.  |
| `crew <crew-slug>`              | Sub-tree applying the `view` / `edit` / `reset` verbs to the crew-default layer. |

***

## `crewship persona view`

```bash theme={null}
crewship persona view <agent-slug>
```

Prints the resolved persona — agent-layer file if present, otherwise crew default, otherwise the per-role synthesised stub — along with a header line showing the source layer and byte count, then the content.

```text theme={null}
=== agent persona (source: agent, 842/1500 bytes) ===
# Engineer

Focus on backend services. Prefer async over sync...
```

The header's `source` is the resolved layer (`agent` or `crew`). When neither agent nor crew has a file on disk and the response is the `You are the {role}...` synthesised text (`from_default: true` on the wire), the source reads `synthesized default` — useful when reviewing a freshly-onboarded crew.

***

## `crewship persona edit`

```bash theme={null}
crewship persona edit <agent-slug>
```

Pulls the current agent-layer content, opens `$EDITOR` (falling back to `vi`), and writes the saved buffer back via [`PUT /api/v1/agents/{id}/persona`](/api-reference/agents#set-persona). An empty buffer aborts the edit without writing.

<Note>
  The server caps persona content at **1500 bytes**.
</Note>

***

## `crewship persona reset`

```bash theme={null}
crewship persona reset <agent-slug>
```

<Warning>
  Removes the agent-layer file. The next `view` falls through to the crew
  default (or the synthesised stub when the crew has none).
</Warning>

***

## `crewship persona history`

```bash theme={null}
crewship persona history <agent-slug>
```

Lists `memory_versions` rows for the agent's `PERSONA.md` path, newest first (most recent 20 entries). Use the printed `sha256` with [`crewship memory show`](/cli/memory#show) to read an older version's content without restoring it.

***

## `crewship persona suggest-from-inbox`

```bash theme={null}
crewship persona suggest-from-inbox <audit-id>
```

This is a **Phase-2 stub**. When an agent's [`POST /persona/suggest`](/api-reference/agents#suggest-persona) lands as an inbox proposal (because the crew's autonomy is `strict` / `guided` / `trusted`), there is not yet a dedicated endpoint to fetch an arbitrary audit row by id, so the command does not auto-apply. It prints a hint to view the proposal in the inbox UI and apply it manually via `crewship persona edit <agent>`.

***

## `crewship persona crew`

```bash theme={null}
crewship persona crew <crew-slug> view
crewship persona crew <crew-slug> edit
crewship persona crew <crew-slug> reset
```

The verb comes **after** the crew slug (`crewship persona crew <crew-slug> <verb>`), and both arguments are required — the command takes a minimum of two positional args and errors with a usage hint if the verb is omitted.

Same verbs against the crew-default layer at [`/api/v1/crews/{crewId}/persona`](/api-reference/crews#crew-persona). There is **no `suggest`** equivalent — agents propose only into their own layer, and the operator authors crew defaults directly.

***

## See also

* [Agent Persona API](/api-reference/agents#agent-persona) — REST shape per endpoint, plus the policy gating for `suggest`.
* [Crew Persona API](/api-reference/crews#crew-persona) — the default layer this CLI's `crew` sub-tree edits.
* [Autonomy & self-learning](/guides/autonomy-and-self-learning) — how crew `autonomy_level` decides whether an agent's `suggest` auto-applies or queues for operator approval.
