Capture Learnings
This is background knowledge, not a slash command. Organization learnings and your personal memory index are loaded at the start of every conversation, including Slack/integration turns. Capture durable context proactively when you learn something worth remembering.
How to Read & Write Memories
Memories are stored as resources in the SQL database, not as files on disk.
Team/organization knowledge: shared LEARNINGS.md. Read it first, merge the new fact, then write the full updated file with the resources tool using scope: "shared". Shared scope resolves to the active organization; it must never leak to another organization in the same deployment.
Personal knowledge: memory/MEMORY.md plus memory/<name>.md, written with save-memory.
Save a memory: save-memory --name <name> --type <type> --description "..." --content "..."
Read a memory: resource-read --path memory/<name>.md
Delete a memory: delete-memory --name <name>
List all memories: resource-list --prefix memory/
Memory Types
| Type |
Use for |
user |
Preferences, role, personal context, contacts |
feedback |
Corrections, confirmed approaches, things to avoid or repeat |
project |
Ongoing work context, decisions, deadlines, status |
reference |
Pointers to external systems, URLs, API details |
When to Capture
Team and organization knowledge (LEARNINGS.md, shared scope)
- Canonical destinations and workflows (for example, which Content database receives a type of Slack request)
- Required intake fields, ownership, prioritization conventions, metric definitions, and approved terminology
- Durable external references that the whole team needs, including the canonical page/database URL
- Corrections or decisions that should affect every organization member's future Slack and app conversations
Store the fact and a concise provenance link when available. Do not paste full private conversations, customer data, credentials, or secrets into learnings. Put stable always-on policy in shared AGENTS.md; put learned facts and evolving conventions in shared LEARNINGS.md.
User Preferences & Memory (user)
- Tone and style — "I prefer casual tone", "don't use emojis", "keep replies short"
- Personal context — contacts, relationships, habits ("my wife's email is...", "I'm in PST timezone")
- Workflow preferences — "always CC my assistant", "I like to review before sending"
- Role and expertise — "I'm a data scientist", "new to React"
Feedback & Corrections (feedback)
- Corrections — user says "no, do it this way" → capture the right way
- Confirmed approaches — user validates a non-obvious choice ("yes, that's perfect")
- Repeated friction — you hit the same issue twice; save it
Project Context (project)
- Ongoing work — who is doing what, why, by when
- Decisions — why something is done a certain way
- Status — current state of initiatives
References (reference)
- External systems — "bugs are tracked in Linear project INGEST"
- URLs — dashboards, documentation, tools
- API quirks — undocumented behavior, version-specific gotchas
Don't Capture
- Things obvious from reading the code
- Standard language/framework behavior
- Temporary debugging notes
- Anything already in AGENTS.md, shared LEARNINGS.md, or skills
- Ephemeral task details (use tasks/plans instead)
Key Rules
- Save proactively — don't ask permission. When you learn something durable, save it immediately at the correct scope.
- Choose scope by audience. Organization workflow or reference → shared
LEARNINGS.md; one person's preference/context → personal memory.
- One memory per topic — e.g.
coding-style, project-alpha, not one giant dump
- Read before updating — if a memory exists, read it first and merge, don't overwrite
- Keep descriptions concise — the index is loaded every conversation
- Memories are SQL-backed — they persist across sessions and are not in git; still minimize sensitive content
Graduation
When a memory is referenced repeatedly, it may belong in AGENTS.md or a skill:
- Saving a personal memory is lightweight (auto-apply, personal scope)
- Shared LEARNINGS.md is the lightweight organization knowledge layer
- Updating AGENTS.md or a skill is heavier (affects all users/agents)
1---2name: capture-learnings3description: Capture and apply accumulated knowledge via structured memory. Use when the user gives feedback, shares preferences, corrects a mistake, or when you discover something worth remembering for future conversations.4---56# Capture Learnings78This is background knowledge, not a slash command. **Organization learnings and your personal memory index are loaded at the start of every conversation, including Slack/integration turns.** Capture durable context proactively when you learn something worth remembering.910## How to Read & Write Memories1112Memories are stored as **resources** in the SQL database, not as files on disk.1314- **Team/organization knowledge:** shared `LEARNINGS.md`. Read it first, merge the new fact, then write the full updated file with the `resources` tool using `scope: "shared"`. Shared scope resolves to the active organization; it must never leak to another organization in the same deployment.15- **Personal knowledge:** `memory/MEMORY.md` plus `memory/<name>.md`, written with `save-memory`.1617- **Save a memory:** `save-memory --name <name> --type <type> --description "..." --content "..."`18- **Read a memory:** `resource-read --path memory/<name>.md`19- **Delete a memory:** `delete-memory --name <name>`20- **List all memories:** `resource-list --prefix memory/`2122## Memory Types2324| Type | Use for |25|------|---------|26| `user` | Preferences, role, personal context, contacts |27| `feedback` | Corrections, confirmed approaches, things to avoid or repeat |28| `project` | Ongoing work context, decisions, deadlines, status |29| `reference` | Pointers to external systems, URLs, API details |3031## When to Capture3233### Team and organization knowledge (`LEARNINGS.md`, shared scope)34- Canonical destinations and workflows (for example, which Content database receives a type of Slack request)35- Required intake fields, ownership, prioritization conventions, metric definitions, and approved terminology36- Durable external references that the whole team needs, including the canonical page/database URL37- Corrections or decisions that should affect every organization member's future Slack and app conversations3839Store the fact and a concise provenance link when available. Do not paste full private conversations, customer data, credentials, or secrets into learnings. Put stable always-on policy in shared `AGENTS.md`; put learned facts and evolving conventions in shared `LEARNINGS.md`.4041### User Preferences & Memory (`user`)42- **Tone and style** — "I prefer casual tone", "don't use emojis", "keep replies short"43- **Personal context** — contacts, relationships, habits ("my wife's email is...", "I'm in PST timezone")44- **Workflow preferences** — "always CC my assistant", "I like to review before sending"45- **Role and expertise** — "I'm a data scientist", "new to React"4647### Feedback & Corrections (`feedback`)48- **Corrections** — user says "no, do it this way" → capture the right way49- **Confirmed approaches** — user validates a non-obvious choice ("yes, that's perfect")50- **Repeated friction** — you hit the same issue twice; save it5152### Project Context (`project`)53- **Ongoing work** — who is doing what, why, by when54- **Decisions** — why something is done a certain way55- **Status** — current state of initiatives5657### References (`reference`)58- **External systems** — "bugs are tracked in Linear project INGEST"59- **URLs** — dashboards, documentation, tools60- **API quirks** — undocumented behavior, version-specific gotchas6162### Don't Capture63- Things obvious from reading the code64- Standard language/framework behavior65- Temporary debugging notes66- Anything already in AGENTS.md, shared LEARNINGS.md, or skills67- Ephemeral task details (use tasks/plans instead)6869## Key Rules70711. **Save proactively — don't ask permission.** When you learn something durable, save it immediately at the correct scope.722. **Choose scope by audience.** Organization workflow or reference → shared `LEARNINGS.md`; one person's preference/context → personal memory.733. **One memory per topic** — e.g. `coding-style`, `project-alpha`, not one giant dump744. **Read before updating** — if a memory exists, read it first and merge, don't overwrite755. **Keep descriptions concise** — the index is loaded every conversation766. **Memories are SQL-backed** — they persist across sessions and are not in git; still minimize sensitive content7778## Graduation7980When a memory is referenced repeatedly, it may belong in AGENTS.md or a skill:81- Saving a personal memory is lightweight (auto-apply, personal scope)82- Shared LEARNINGS.md is the lightweight organization knowledge layer83- Updating AGENTS.md or a skill is heavier (affects all users/agents)