Yggdrasil memory
Durable, cross-session, cross-project memory for the user's work via Yggdrasil. Use at the START of any non-trivial task to recall prior decisions, solutions, and lessons (ygg_recall / ygg_bootstrap), and AFTER solving something reusable to save it (ygg_remember). Trigger when the user says "have we done this before", "what do we know about X", "remember this", "save this decision/lesson", when starting work in a project that may have history, or when a problem resembles past work. Works with the Yggdrasil MCP tools (ygg_*) or the `ygg` CLI.From its SKILL.md
npx -y skills add VonderVuflya/Yggdrasil --skill yggdrasil-memoryAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 21 stars21 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as AGPL-3.0-or-later. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.5 KB, as published. Nobody here has run it
Yggdrasil memory
Yggdrasil is the user's durable memory across sessions, tools, and projects. Treat it as long-term memory you must consult and curate — not as a scratchpad.
When to use
- Before starting non-trivial work → recall what's already known so you reuse prior decisions/solutions instead of re-deriving them.
- When the user asks "have we done this before", "what do we know about X", "what did we decide about Y".
- After you solve something reusable (a fix, a decision, a gotcha, a convention) → save it so the next session/agent benefits.
- When the user says "remember this" / "save this".
Tools
Prefer the MCP tools if present, otherwise shell out to the ygg CLI (same
behavior):
| Goal | MCP tool | CLI |
|---|---|---|
| Find prior work across ALL projects | ygg_recall | ygg recall --query "..." |
| Find memory scoped to one project | ygg_bootstrap / ygg_search | ygg bootstrap --project P --query "..." |
| Save a reusable memory | ygg_remember | ygg remember --project P --type T --content "..." |
| Check the engine is up | ygg_health | ygg health |
Workflow
1. Recall first (read)
At the start of a task, query before acting:
- Cross-project:
ygg_recall(query: "<the problem in a few words>", limit: 5). - Project-scoped (when you know the project):
ygg_bootstrap(project: "<name>", query: "<topic>").
Skim the hits, note their provenance (source / confidence / how often used / 📌 pinned), and reuse what applies. If something contradicts the current situation, say so rather than blindly trusting it — memories are point-in-time.
2. Remember after (write)
When you produce something worth keeping, save one fact per memory:
ygg_remember(project: "<name>", type: "<decision|lesson|convention|fix|...>", content: "<the durable fact, self-contained>").
Good candidates: a decision and its rationale, a non-obvious fix, a project convention, a gotcha that cost time. Skip: things derivable from the code, git history, or that only matter to this one conversation.
Conventions
- Scope by project. Always pass a real
projectname for saves and project-scoped reads; useygg_recall(no project) only for cross-project lookups. - One fact per memory. Keep
contentself-contained and specific. Convert relative dates ("yesterday") to absolute. - Never store secrets. No tokens, API keys, passwords. The engine refuses common secret patterns, but don't rely on that — don't try.
- Don't dump. Recall the few relevant memories and act; don't paste the whole store into the chat.
If the tools aren't available
The engine may be down or the MCP/CLI not installed. Check with ygg health
(or ygg_health). If it's unreachable, tell the user to run ygg start /
ygg doctor, and continue without memory rather than blocking.