一键导入
learn-this
Teach the user a topic and persist what they learn as queryable vault memory, grounded in NotebookLM. Vault-native companion to /teach.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Teach the user a topic and persist what they learn as queryable vault memory, grounded in NotebookLM. Vault-native companion to /teach.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Save this session to the vault and update the semantic memory index
Capture a repeatable task procedure from the just-completed work as a durable, queryable memory node, so the steps are recalled automatically next time instead of re-derived. Triggers on "learn this procedure", "remember how to do this", "save this as a procedure", "/learn-procedure".
Add Asana project management MCP integration to Deus. Gives host-side Claude Code sessions read/write access to Asana tasks, projects, sections, and tags via @roychri/mcp-server-asana.
[DEPRECATED] Replaced by scripts/code_search.py (native sqlite-vec + Ollama). Do not use.
Add OpenAI/Codex as a backend. Guides through API key setup, service backend configuration, optional CLI setup, and verification. Can run alongside Claude (default) or replace it.
Add /compact command for manual context compaction. Solves context rot in long sessions by forwarding the SDK's built-in /compact slash command. Main-group or trusted sender only.
| 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? |
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.
/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.
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.)
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.
Query the vault for what the user already knows on this topic:
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).
Do not trust parametric knowledge. Pull high-trust material from NotebookLM:
STUDY.md).
mcp__notebooklm-mcp__notebook_query for explanations, definitions, and citations.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.
Teach in the user's style (see the ai-role and study preferences in the vault):
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. 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):
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.
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:
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.
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.