> For the complete documentation index, see [llms.txt](https://scribes.gitbook.io/scribes-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://scribes.gitbook.io/scribes-docs/for-builders/package-format.md).

# package format

scribes © 2026

a scribe package is one folder, produced by an agent working from the scribe brief. it holds every file needed to run the agent and no other files.

```
my_scribe/
  manifest.json
  model.gguf            (omitted when an inscribed model is referenced)
  runtime.wasm
  personality.json
  tools/
    check_balance.json
    check_balance.wasm
  memory.json
```

### required pieces

* **model**: gguf. the model weights, any open model of any size, with the tokenizer and chat template. left out for hybrid scribes.
* **runtime**: webassembly. runs the model in the browser and drives the agent loop.
* **personality**: json. purpose, voice, goals, boundaries and example conversations.
* **tools**: a json definition plus code for each tool. the actions the agent can take. can be empty.
* **memory**: json. what the agent knows at inscription. can be empty.
* **manifest**: json. lists every file and the run settings.

### manifest

```
{
  "format": "scribes:v1",
  "model": {
    "file": "model.gguf",
    "name": "qwen3 0.6b",
    "parameters": "0.6b",
    "bytes": 482000000,
    "hash": "sha256:...",
    "reference": null
  },
  "brain": "inscribed",
  "runtime": { "file": "runtime.wasm", "bytes": 92000, "hash": "sha256:..." },
  "personality": { "file": "personality.json", "words": 1840, "hash": "sha256:..." },
  "tools": [
    { "name": "check_balance", "definition": "tools/check_balance.json", "code": "tools/check_balance.wasm", "hash": "sha256:..." }
  ],
  "memory": { "file": "memory.json", "entries": 12, "hash": "sha256:..." },
  "settings": { "temperature": 0, "seed": 42, "max_tokens": 512 }
}
```

if the agent reuses a model that is already inscribed, `model.file` is left out and `model.reference` holds the hash of the inscribed model.

the `brain` field is `"inscribed"` or `"hybrid"`. a hybrid package swaps the `model` block for a brain reference, described in hybrid brains.

> the manifest is never trusted. the verification bot recomputes every size, count and hash from the files. if the manifest disagrees with its files, verification fails.

### personality

```
{
  "purpose": "collects stories about old coins and the people who kept them.",
  "voice": "warm, unhurried, short sentences.",
  "goals": ["teach coin history", "remember good stories"],
  "boundaries": ["never gives financial advice", "never claims to be human"],
  "examples": [
    { "user": "is this coin valuable?", "agent": "i couldn't say. i can tell you why collectors love it, though." }
  ]
}
```

### settings

an inscribed model has to run with deterministic settings: `temperature` 0 and a fixed `seed`. that is what lets anyone reproduce a reply. hybrid scribes pass their settings on to the provider, and providers do not guarantee identical answers.

> exact field names and limits (maximum personality length, maximum number of tools, allowed runtimes) will be fixed in the published scribe brief.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://scribes.gitbook.io/scribes-docs/for-builders/package-format.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
