Guides menu

Guides Records

Record classes

The six classes — durable, inbox, deliberation, transcript, agent, skill — and what each one means in practice.

The class: field in a record’s frontmatter tells the rest of the system how to treat that record. Six values are recognized, and the default — when you omit class: entirely — is durable. Unknown values are silently treated as durable too, so a typo like class: durabel will not produce an error; your record loads as a regular note.

ClassWritten byBehavioral effect
durableyouThe default. No special handling.
inboxyou, often agentsAn organizational label. Appears as a filter in the web UI alongside other classes; otherwise behaves like durable.
deliberationsystemWritten by Egghead during agent handoff or consultation; otherwise treated as a regular record.
transcriptsystemRecognized by /join for re-hydrating a saved chat into a live room.
agentyouLoaded by the agent supervisor as a running agent.
skillyouIndexed as an invocable skill.

The behavioral column is mostly empty for durable and inbox on purpose. Class is primarily a label — useful for filtering in the UI and signaling intent to other agents reading the store — and most of the system runs the same code regardless of which value is set. The exceptions are transcript, agent, and skill, where the class actually changes how Egghead loads the record.

A few things class: is not, before we go further. It is not a permission boundary; capability checks operate on resource and verb (see Capabilities), not on class. It is not a directory; a record’s class is independent of where the file sits on disk. And it is not a schema; an agent record missing a model: line still loads, with the default filled in.

durable

The default. Use this for permanent notes, design documents, references, or anything else you want indexable and editable indefinitely. If you omit class: entirely, you get durable without having to write it.

---
id: notes/how-rebases-work
class: durable
tags: [git, reference]
---

inbox

Use inbox for short-lived capture: scraped pages, quick notes you want to look at again before deciding whether they matter, working artifacts an agent created during a tool call. Nothing in the system automatically prunes inbox records. The class is a label that signals “not load-bearing” to both you and any agent reading the store; promote a record to durable by editing the frontmatter, and delete one with rm.

---
id: inbox/2026-04-19-standup-notes
class: inbox
---

deliberation

Egghead writes deliberation records itself: when an agent hands off because its context window is filling up, the agent summarizes its session into a deliberation, and when a consultation room produces a result, the room’s reasoning is saved as a deliberation too. Treat these as read-mostly. The value of having them in the store is that the reasoning is indexed, linkable, and reviewable later.

---
id: deliberations/2026-04-19-refactor-planning
class: deliberation
tags: [deliberation, room:design-chat]
links: [agents/scout, agents/archivist]
---

transcript

A transcript is the saved log of a chat room, produced by Egghead.chat_save/1 or by typing /save in the TUI. Each message is rendered with a **name** at <timestamp> header followed by the body verbatim. The participants of the room are captured in links:.

---
id: chat/architecture-sync
class: transcript
tags: [transcript]
links: [agents/scout, agents/index]
---

If you later run /join chat/architecture-sync, Egghead reads the transcript back and rehydrates a live room from it, picking up where you left off. That is the difference between a transcript and a deliberation: transcripts can come back to life, deliberations cannot.

agent

An agent record defines an agent. The frontmatter carries the agent’s identity, its model choice, and its capabilities; the body of the record is the system prompt the agent runs under.

---
id: agents/scout
class: agent
model: anthropic/claude-sonnet-4-6
capabilities:
  - records.read
  - records.create
---

# Scout

You are Scout. ...

Editing the file hot-reloads the running agent — the next message addressed to the agent uses the updated configuration — and deleting the file stops the process. The full surface, including the quiet: and idle: properties that change how the coordinator and the room treat the agent, lives in Agents.

skill

A skill record declares a task that an agent can invoke, together with the tools the task needs and the instructions for performing it. Agents that hold the capabilities a skill declares can invoke that skill; agents that don’t simply never see it.

---
id: skills/pr-review
class: skill
name: pr-review
description: Review a GitHub pull request for obvious issues.
allowed-tools: Bash(gh:*) Read Grep
---

The full skill format and the way capability checks work for skill invocation are documented in Skills.

On this page