Teach the user a topic and persist what they learn as queryable vault memory, grounded in NotebookLM. Vault-native companion to /teach.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add sliamh11/Deus --skill learn-this --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Learn This?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sliamh11-learn-this)More formats (shields.io, HTML) on the badges page.
---
name: learn-this
description: Teach the user a topic and persist what they learn as queryable vault memory, grounded in NotebookLM. Vault-native companion to /teach.
user_invocable: true
argument-hint: "What do you want to learn?"
---
# /learn-this
Teach the user something and make the learning **stick across sessions** by persisting it into the
semantic memory vault, so the next session (and any project) can recall what they already know.
This is the **vault-native** sibling of `/teach`. Where `/teach` builds a directory-based,
multi-week course workspace (mission file, lesson HTML, local learning-records), `/learn-this`
keeps no local workspace: it writes each learning as a **vault memory node** retrievable anywhere
via `memory_tree.py`, and grounds knowledge in **NotebookLM** rather than parametric guessing.
## Relationship to /teach (read this — single source of truth)
- `/teach` → a self-contained course workspace in the current directory. Best for a sustained,
structured curriculum with rich interactive HTML lessons.
- `/learn-this` → lightweight, cross-session learning capture into the global vault + NotebookLM.
Best for "teach me X and remember that I learned it" across projects.
**Never duplicate a learning record across both.** A `/teach` workspace owns its local
`learning-records/`; `/learn-this` owns `$VAULT/Learning/`. If a learning relates to a `/teach`
course, link it with a `see_also` edge — do not copy it.
## Steps
### 1. Resolve the vault path
Read `~/.config/deus/config.json` and use its `vault_path`. If `DEUS_VAULT_PATH` is set, use that
instead. All paths below use `$VAULT` for this resolved path. (Same resolution as `/checkpoint`,
`/compress`, `/preserve` — keep it portable; never hardcode a personal path.)
### 2. Establish the mission
Understand **why** the user wants to learn this — the concrete real-world goal it serves. This
grounds every teaching choice. If it is unclear, ask before teaching; a vague mission produces
abstract, ungrounded lessons. The mission is captured inside the first learning node (step 6), not
in a separate file.
### 3. Compute the zone of proximal development — from the vault
Query the vault for what the user already knows on this topic:
```bash
python3 ~/deus/scripts/memory_tree.py query "<topic> — what has the user already learned?"
```
Read the returned learning nodes. Teach the **next** thing that builds on them — challenging "just
enough", neither re-teaching the known nor jumping past a gap. This is the cross-session ZPD (vs
`/teach`, which reads a local `learning-records/` folder).
### 4. Ground the knowledge in NotebookLM
Do not trust parametric knowledge. Pull high-trust material from NotebookLM:
- Pick a relevant notebook (the user's course notebooks are listed in the vault's `STUDY.md`).
`mcp__notebooklm-mcp__notebook_query` for explanations, definitions, and citations.
- For a long-form lesson, `mcp__notebooklm-mcp__studio_create` (audio / video / slides), poll
`mcp__notebooklm-mcp__studio_status`, and link the artifact in the learning node.
**Auth degradation is explicit, never silent.** If a NotebookLM call fails authentication, tell the
user to run `nlm login` in their terminal, and ask whether to proceed *without* NotebookLM grounding
(flagging that the lesson will then rest on lower-trust sources). Do not silently skip grounding.
### 5. Deliver the lesson
Teach in the user's style (see the `ai-role` and study preferences in the vault):
- **Visual-first** — diagrams / flowcharts before walls of text (Mermaid where useful).
- **Feynman-first** — simple analogy → why it matters → how it connects to what they already know.
- Keep it short and within working memory; one tangible win per lesson, tied to the mission.
- Cite the NotebookLM sources so claims are checkable.
- Close with a **tight retrieval-practice loop**: ask the user to recall/apply it and give immediate
feedback. Effortful retrieval is what builds long-term retention (storage strength), not fluency.
### 6. Persist a learning record as a vault node
**Only when there is real evidence of understanding** (a correct recall, a solved problem, a
corrected misconception) — coverage is not learning. Write:
```
$VAULT/Learning/<topic-slug>/NNNN-<dash-case-name>.md
```
`NNNN` = next integer in that topic folder (scan for the highest existing). Use the frontmatter and
guidance in [LEARNING-NODE-FORMAT.md](./LEARNING-NODE-FORMAT.md). **Write an `id` in the
frontmatter** — the memory tree indexer and the auto-embed hook *skip* any node without one (they
return `no_id`), so an id-less node is silently never retrievable. Mint one in the `make_id` format
(32-char hex = 48-bit ms timestamp + 80-bit random):
```bash
python3 -c "import time,secrets; print((int(time.time()*1000).to_bytes(6,'big')+secrets.token_bytes(10)).hex())"
```
The `description` field is the embedding source — make it a tight summary of *what was learned and
why it matters*, since that is what future `memory_tree.py query` calls match on. Add `see_also`
edges to related learning nodes, the vault `STUDY.md`, and any related `/teach` workspace.
### 7. Make it retrievable
Writing the node file triggers the vault PostToolUse hook (`memory_tree_hook.py`), which embeds the
node into the **memory tree** — so the `memory_tree.py query` in step 3 finds it in future sessions
automatically. If you need it indexed immediately, or the hook is not active (e.g. a headless run),
run:
```bash
python3 ~/deus/scripts/memory_tree.py build
```
(walks the vault and upserts new nodes + edges). **Do not use `memory_indexer.py --add`** — that
indexes *session logs* into a separate atom/search database, not the navigation tree that step 3
queries; a learning node added there would not be reachable via `memory_tree.py query`.
### 8. Wisdom — point to a community
When a question needs real-world practice beyond what you can give, point the user to a
high-reputation community (forum, subreddit, local group) where they can test the skill. Respect a
stated preference not to join communities.
## Notes
- The mission may shift as the user learns; when it does, write a new learning node capturing the
shift rather than rewriting history (vault is soft-append; never overwrite a node's meaning).
- Keep lessons grounded in the mission — abstract lessons with no real-world anchor do not stick.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!