An on-demand knowledge base for LM Studio agents. Write instructions, skills, and notes in Markdown or plain text, let the agent find, read, write, and edit them — without polluting the context window on every turn.
After experimenting with several system prompts for a while, I eventually moved toward collecting the various guidelines in a RAG system. Both solutions have specific advantages and disadvantages:
The best experience I've had so far has been with my tool: Playbook. It combines all the advantages and avoids all the disadvantages mentioned:
Playbook is like the opposite of a classical RAG pipeline: nothing gets injected automatically. Instead, the agent uses tools when it decides the knowledge base is relevant.
Two-phase retrieval keeps context usage lean:
recall — keyword + semantic search, returns metadata only (title, filename, tags, description, score). The context cost is negligible.read — fetches the full text of one specific document, on demand.Playbook stores two kinds of documents:
Write access is equally explicit:
| Tool | What it does |
|---|---|
memorize | Write or overwrite a note (title + tags), a SKILL.md (name + description), or a companion file (name + file) |
rewrite | Surgical text replacement — oldText must match exactly once |
forget | Delete a document permanently |
text-embedding-nomic-embed-text-v1.5 — swapping in any English or multilingual model works.memorize writes new notes and skills; any additional directories are read-only search/read sources (useful for sharing a team playbook or a separate skills folder alongside your personal one).That's it.
If no embedding model is configured (or LM Studio can't reach one), search falls back to BM25 keyword matching automatically.
Documents are Markdown (.md) or plain text (.txt) files with optional YAML frontmatter:
Frontmatter is written and maintained automatically by the memorize tool. Plain text files without frontmatter are indexed too — the filename is used as the title. You can also create and edit files manually in any editor — the plugin detects changes via file watcher and re-indexes within seconds.
A skill is a folder with a SKILL.md entry point, using name/description frontmatter instead of title/tags:
This is compatible with the Agent Skills format used by other MCP clients. recall shows the skill's description instead of a title-only summary; read fetches SKILL.md or any companion file by its relative path (e.g. pdf-report/tools/render_table.md). Companion files are not indexed on their own — they only become reachable once their path is known from a SKILL.md you've read.
| Setting | Default | Description |
|---|---|---|
| Playbook Directories | ~/Documents/Playbook | One or more absolute folder paths. First = write target; all are searched/readable |
| Embedding Model | text-embedding-nomic-embed-text-v1.5 | Leave empty for BM25-only search |
| LM Studio Base URL | http://127.0.0.1:1234 | LM Studio local API URL |
| Max Recall Documents | 5 | Maximum results per recall call |
| Min Recall Score | 60 | Minimum relevance score (0–100) to appear in results |
‼️ This plugin is a research prototype. ‼️
MIT
An on-demand knowledge base for LM Studio agents. Write instructions, skills, and notes in Markdown or plain text, let the agent find, read, write, and edit them — without polluting the context window on every turn.
After experimenting with several system prompts for a while, I eventually moved toward collecting the various guidelines in a RAG system. Both solutions have specific advantages and disadvantages:
The best experience I've had so far has been with my tool: Playbook. It combines all the advantages and avoids all the disadvantages mentioned:
Playbook is like the opposite of a classical RAG pipeline: nothing gets injected automatically. Instead, the agent uses tools when it decides the knowledge base is relevant.
Two-phase retrieval keeps context usage lean:
recall — keyword + semantic search, returns metadata only (title, filename, tags, description, score). The context cost is negligible.read — fetches the full text of one specific document, on demand.Playbook stores two kinds of documents:
Write access is equally explicit:
| Tool | What it does |
|---|---|
memorize | Write or overwrite a note (title + tags), a SKILL.md (name + description), or a companion file (name + file) |
rewrite | Surgical text replacement — oldText must match exactly once |
forget | Delete a document permanently |
text-embedding-nomic-embed-text-v1.5 — swapping in any English or multilingual model works.memorize writes new notes and skills; any additional directories are read-only search/read sources (useful for sharing a team playbook or a separate skills folder alongside your personal one).That's it.
If no embedding model is configured (or LM Studio can't reach one), search falls back to BM25 keyword matching automatically.
Documents are Markdown (.md) or plain text (.txt) files with optional YAML frontmatter:
Frontmatter is written and maintained automatically by the memorize tool. Plain text files without frontmatter are indexed too — the filename is used as the title. You can also create and edit files manually in any editor — the plugin detects changes via file watcher and re-indexes within seconds.
A skill is a folder with a SKILL.md entry point, using name/description frontmatter instead of title/tags:
This is compatible with the Agent Skills format used by other MCP clients. recall shows the skill's description instead of a title-only summary; read fetches SKILL.md or any companion file by its relative path (e.g. pdf-report/tools/render_table.md). Companion files are not indexed on their own — they only become reachable once their path is known from a SKILL.md you've read.
| Setting | Default | Description |
|---|---|---|
| Playbook Directories | ~/Documents/Playbook | One or more absolute folder paths. First = write target; all are searched/readable |
| Embedding Model | text-embedding-nomic-embed-text-v1.5 | Leave empty for BM25-only search |
| LM Studio Base URL | http://127.0.0.1:1234 | LM Studio local API URL |
| Max Recall Documents | 5 | Maximum results per recall call |
| Min Recall Score | 60 | Minimum relevance score (0–100) to appear in results |
‼️ This plugin is a research prototype. ‼️
MIT
.md/.txt files at the playbook root, written with title/tags frontmatter.<name>/ containing a SKILL.md entry point (name/description frontmatter, Agent Skills–compatible) plus optional companion files (e.g. tools/*.md, workflows/*.md) that SKILL.md links to. Only SKILL.md itself is indexed and shows up in recall; companion files are fetched on demand with read once their path is known.detect_object bounding boxes from plugin analyse-image directly---
title: "My Note"
tags: ["example", "setup"]
created: "2026-04-07T10:00:00.000Z"
updated: "2026-04-07T10:00:00.000Z"
---
Your content here.
---
name: "pdf-report"
description: "Generate paginated PDF reports from tabular data."
created: "2026-04-07T10:00:00.000Z"
updated: "2026-04-07T10:00:00.000Z"
---
Instructions here. Link to companion files with a relative path, e.g. [render_table](tools/render_table.md).
.md/.txt files at the playbook root, written with title/tags frontmatter.<name>/ containing a SKILL.md entry point (name/description frontmatter, Agent Skills–compatible) plus optional companion files (e.g. tools/*.md, workflows/*.md) that SKILL.md links to. Only SKILL.md itself is indexed and shows up in recall; companion files are fetched on demand with read once their path is known.detect_object bounding boxes from plugin analyse-image directly---
title: "My Note"
tags: ["example", "setup"]
created: "2026-04-07T10:00:00.000Z"
updated: "2026-04-07T10:00:00.000Z"
---
Your content here.
---
name: "pdf-report"
description: "Generate paginated PDF reports from tabular data."
created: "2026-04-07T10:00:00.000Z"
updated: "2026-04-07T10:00:00.000Z"
---
Instructions here. Link to companion files with a relative path, e.g. [render_table](tools/render_table.md).