Build a knowledge packet
This guide shows how to build a knowledge packet for a workspace using the CLI and the memory_packet MCP tool. A packet is a deterministic, scope-bound snapshot of memories, stats, and optional semantic clusters.
Prerequisites
Section titled “Prerequisites”od3sa-memoryinstalled and on your PATH.- A database with at least one remembered memory in the target workspace.
MEMORY_ORG_IDandMEMORY_WORKSPACE_IDconfigured, or identity flags available.
1. Verify the workspace scope
Section titled “1. Verify the workspace scope”od3sa-memory treeConfirm the org and workspace you want to export contain the memories you expect. You can also set the environment variables explicitly:
export MEMORY_ORG_ID="your-org"export MEMORY_WORKSPACE_ID="eden-releases"2. Build a default packet
Section titled “2. Build a default packet”The default template produces JSON with stats, 120-rune excerpts, and optional clusters:
od3sa-memory packet --format json --template default > packet.jsonEquivalent MCP tool call:
{ "format": "json", "template": "default", "org_id": "your-org", "workspace_id": "eden-releases"}3. Build a compact brief for hand-offs
Section titled “3. Build a compact brief for hand-offs”Use compact for a short Markdown brief with short excerpts and trimmed stats:
od3sa-memory packet --template compact --format md > brief.mdEquivalent MCP:
{ "format": "md", "template": "compact"}4. Add semantic clusters
Section titled “4. Add semantic clusters”The analytical template enables cluster enrichment automatically:
od3sa-memory packet --template analytical --format html > analysis.htmlOr keep the default template and enable clusters explicitly:
od3sa-memory packet --enrich cluster --format md > clustered.mdEquivalent MCP:
{ "format": "html", "template": "analytical", "enrich": "cluster"}Clusters group related memories by vector similarity and include only memory IDs and labels — never raw vectors.
5. Export full contents
Section titled “5. Export full contents”Use the full template, or pass --include-content, when the consumer is trusted and needs complete memory text:
od3sa-memory packet --template full --format md > full-brief.mdEquivalent MCP:
{ "format": "md", "template": "full"}The rendered output will include a privacy warning.
6. Limit to recent memories
Section titled “6. Limit to recent memories”Use --since to include only memories created or updated after a specific time:
od3sa-memory packet \ --since "$(date -u -d '7 days ago' +%Y-%m-%dT%H:%M:%SZ)" \ --format md \ > recent.mdEquivalent MCP:
{ "format": "md", "since": "2026-07-25T00:00:00Z"}7. Verify the rendered packet
Section titled “7. Verify the rendered packet”Open or preview the output:
- JSON: pipe through
jqor your JSON viewer. - Markdown: open in any text editor or paste into a chat context.
- HTML: open in a browser. The file is self-contained and escaped.
8. Publish it for later
Section titled “8. Publish it for later”If the packet is worth keeping, publish it instead of only printing it. Published packets are durable records you can list and re-export later:
od3sa-memory packet --template compact --format md --title "Week 34 brief" --publishod3sa-memory packet listod3sa-memory packet export <packet-id> --format md > brief.mdPublishing does not change the packet’s contents or scope. See Publishing packets for the details.
- Use
compactfor chat context windows where size matters. - Use
analyticalwhen you want to see how memories group thematically. - Use
fullonly for trusted, private consumers. - Combine
--limitwith--sinceto keep packets focused.