save
Skill0 starsChanged 3 months agoMITView on GitHub
Save the current conversation, answer, or insight into the Obsidian wiki vault as a structured note. Analyzes the chat, determines the right note type, creates frontmatter, files it in the correct wiki folder, and updates index, log, and hot cache. Triggers on: "save this", "save that answer", "/save", "file this", "save to wiki", "save this session", "file this conversation", "keep this", "save this analysis", "add this to the wiki".
38 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- tboome33/obsidian-mcp-routertheir own version, first seen Nov 15, 2026
- kai12342026/Kopel.AItheir own version, first seen Nov 15, 2026
- FabianoArthur/claude-code-kitchentheir own version, first seen Nov 8, 2026
- paulogabriel/beryltheir own version, first seen Nov 8, 2026
- matthewwong525/WongStacktheir own version, first seen Nov 8, 2026
- pche-broken-artist/forge-of-thoughttheir own version, first seen Nov 6, 2026
Used with
Projects with it also use load, ingest and 7 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
TheLatentSpaceLabSkillload
Load a document into memory for RAG
Also in 4 projects that use this
JaimeGBASkillingest
Digest an external source (article, paper, transcript, URL, book chapter) and integrate its content into the knowledge base
Also in 8 projects that use this
ArtemXTechSkillquery
Query data from this vault. USE WHEN user asks about projects, clients, tasks, daily notes. Use grep to extract frontmatter - do NOT read full files.
Also in 4 projects that use this
szweibelSkillidea
Generate a wide field of options when the user is brainstorming, exploring, expanding, or pressure-testing — not recommending or implementing
Also in 3 projects that use this
GoogleSkilldashboard
Configures and launches the GKE Capacity & Triage Dashboard scoped to a GCP project ID, GKE cluster name, or target ML workload ID. Uses the configure-and-launch-dashboard action and launch-workload-dashboard workflow to verify local dashboard health, discover cluster capacity, trigger live scans, and generate deep-linked URLs. Use when the user types "/dashboard", says "launch dashboard", "open dashboard", "show capacity", or "view triage dashboard" with a project, cluster, or workload. Don't use for general workload log querying or automated failure attribution (use the troubleshoot skill).
Also in 4 projects that use this
Microsoft AzureSkilllint
Run all linting and spell checking for TypeScript and Rust code. Run this before committing to catch style issues, clippy warnings, and misspellings.
Also in 5 projects that use this
Other versions38 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- CarbeneAI/Forge★ 997% same
Wrote their own version · 37
- AgriciDaniel/claude-obsidian★ 16ksame name
- egregore-labs/egregore★ 293same name
- romarayt/raytsystem-public-os★ 140same name
- thiagofinch/mega-brain★ 95same name
- sturlese/hippocampus★ 28same name
- endlessblink/master-plan★ 26same name
- pche-broken-artist/forge-of-thought★ 12same name
- seongjaeryu/bindly-claude-code★ 8same name
- ARCASSystems/FounderOS★ 7same name
- matthewwong525/WongStack★ 7same name
27 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository18 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/maz-works-knowledge-vault.mdcCursor rule
- autoresearchSkill
- canvasSkill
- defuddleSkill
- obsidian-basesSkill
- obsidian-markdownSkill
- thinkSkill
- wiki-cliSkill
- wiki-foldSkill
- wiki-ingestSkill
- wiki-lintSkill
- wiki-modeSkill
- wiki-querySkill
- wiki-retrieveSkill
- wikiSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 4 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 32 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 35
Before creating the session note, consult the vault's methodology mode via python3 scripts/wiki-mode.py route session "<topic-summary>".
- Very specific: line 75
If the user specifies a type, use that.
- Distinctive: line 81
Step 0: Decide the destination root: Check in order:
- Distinctive: line 83
User explicit override: If the user said "save to this project's wiki" / "save to the personal vault" / a specific path, respect it.
- Distinctive: line 94
Extract: all relevant content from the conversation.
- Distinctive: line 168
If it's already in the wiki, update the existing page instead of creating a duplicate.
- Very specific: line 174
When working on this skill, apply the 10-principle loop.
“Common” is measured: kept by at least 6 in 10 of the 32 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
save: File Conversations Into the Wiki
Good answers and insights shouldn't disappear into chat history. This skill takes what was just discussed and files it as a permanent wiki page.
The wiki compounds. Save often.
Transport (v1.7+)
The session-note write itself follows the standard transport policy. Read .vault-meta/transport.json (auto-created by bash scripts/detect-transport.sh):
- cli —
obsidian-cli write "$VAULT" "$NOTE" < session.md; seeskills/wiki-cli/SKILL.md - mcp-obsidian / mcpvault —
mcp__obsidian-vault__write_note - filesystem — Claude's
Writetool with absolute path
Full decision tree: wiki/references/transport-fallback.md. Index/log/hot updates use the same transport.
Mode awareness (v1.8+)
Before creating the session note, consult the vault's methodology mode via python3 scripts/wiki-mode.py route session "<topic-summary>". The router returns the vault-relative path:
- generic:
wiki/sessions/<date>-<topic>.md(v1.7 default) - LYT:
wiki/notes/<date>-<topic>.md+ update the relevant session/journal MOC - PARA:
wiki/projects/inbox/<date>-<topic>.md(user reroutes to specific projects) - Zettelkasten:
wiki/<ID>-session-<topic>.md(timestamped ID becomes the filename prefix)
If .vault-meta/mode.json is absent, the router returns mode=generic paths. Important global rule: per global CLAUDE.md /save convention, sessions for cross-project work should still file to ~/Documents/Obsidian Vault/sessions/ rather than the project's wiki. The mode router applies when filing to the project's own wiki/, not when filing to the global personal vault.
Concurrency (v1.7+)
Session-note writes MUST be preceded by wiki-lock acquire:
NOTE_PATH="wiki/questions/<slug>.md" # or wiki/concepts/, wiki/meta/, etc.
bash scripts/wiki-lock.sh acquire "$NOTE_PATH" || {
echo "skipped: $NOTE_PATH currently locked by another writer"; exit 0
}
# … write the note via §Transport-selected method …
bash scripts/wiki-lock.sh release "$NOTE_PATH"For multi-file saves (e.g., session note + index update + log append), acquire each lock in sorted-path order to avoid deadlocks. Index/log/hot updates lock just like content pages.
See skills/wiki-ingest/SKILL.md §Concurrency for the full lock semantics.
Note Type Decision
Determine the best type from the conversation content:
| Type | Folder | Use when |
| synthesis | wiki/questions/ | Multi-step analysis, comparison, or answer to a specific question |
| concept | wiki/concepts/ | Explaining or defining an idea, pattern, or framework |
| source | wiki/sources/ | Summary of external material discussed in the session |
| decision | wiki/meta/ | Architectural, project, or strategic decision that was made |
| session | wiki/meta/ | Full session summary: captures everything discussed |
If the user specifies a type, use that. If not, pick the best fit based on the content. When in doubt, use synthesis.
Save Workflow
Step 0: Decide the destination root. Check in order:
- User explicit override. If the user said "save to this project's wiki" / "save to the personal vault" / a specific path, respect it.
- Project CLAUDE.md or global
~/.claude/CLAUDE.md/saverule. If either declares a personal-vault destination (e.g.,~/Documents/Obsidian Vault/), that is the destination ROOT. The Note Type table below describes paths relative to whichever root is active. Append the new note to<root>/log/ingest-log.mdat the top, in the format that file already uses. - Default. The project's own
wiki/folder.
The mode router (python3 scripts/wiki-mode.py route session "<topic>") applies when filing into the project's own wiki/. When filing into a personal-vault root, use the canonical folders documented in that vault's CLAUDE.md (commonly sessions/, concepts/, sources/) — the mode router is NOT consulted for personal-vault writes by default. Filename sanitization (slug + safe_name) still applies regardless of root: strip path separators, NUL bytes, control chars, leading dots/hyphens.
Then continue the workflow:
- Scan the current conversation. Identify the most valuable content to preserve.
- Ask (if not already named): "What should I call this note?" Keep the name short and descriptive.
- Determine note type using the table above.
- Extract all relevant content from the conversation. Rewrite it in declarative present tense (not "the user asked" but the actual content itself).
- Create the note in
<destination-root>/<chosen-folder>/<title>.md(per Step 0). Full frontmatter. If a note with the same path already exists, ASK before overwriting. - Collect links: identify any wiki pages mentioned in the conversation. Add them to
relatedin frontmatter. - Update
wiki/index.md. Add the new entry at the top of the relevant section. - Append to
wiki/log.md. New entry at the TOP:## [YYYY-MM-DD] save | Note Title - Type: [note type] - Location: wiki/[folder]/Note Title.md - From: conversation on [brief topic description] - Update
wiki/hot.mdto reflect the new addition. - Confirm: "Saved as [[Note Title]] in wiki/[folder]/."
Frontmatter Template
---
type: <synthesis|concept|source|decision|session>
title: "Note Title"
created: YYYY-MM-DD
updated: YYYY-MM-DD
tags:
- <relevant-tag>
status: developing
related:
- "[[Any Wiki Page Mentioned]]"
sources:
- "[[.raw/source-if-applicable.md]]"
---For question type, add:
question: "The original query as asked."
answer_quality: solidFor decision type, add:
decision_date: YYYY-MM-DD
status: activeWriting Style
- Declarative, present tense. Write the knowledge, not the conversation.
- Not: "The user asked about X and Claude explained..."
- Yes: "X works by doing Y. The key insight is Z."
- Include all relevant context. Future sessions should be able to read this page cold.
- Link every mentioned concept, entity, or wiki page with wikilinks.
- Cite sources where applicable:
(Source: [[Page]]).
What to Save vs. Skip
Save:
- Non-obvious insights or synthesis
- Decisions with rationale
- Analyses that took significant effort
- Comparisons that are likely to be referenced again
- Research findings
Skip:
- Mechanical Q&A (lookup questions with obvious answers)
- Setup steps already documented elsewhere
- Temporary debugging sessions with no lasting insight
- Anything already in the wiki
If it's already in the wiki, update the existing page instead of creating a duplicate.
How to think (10-principle mapping)
When working on this skill, apply the 10-principle loop. See skills/think/SKILL.md for the canonical framework.
| # | Principle | Application here |
| 1 | OBSERVE (ext) | Read the full conversation. Identify the actual decisions and synthesis, not the verbatim transcript. |
| 2 | OBSERVE (int) | Am I in a save-everything mood? Some sessions don't have lasting insight; the Skip criteria exists for a reason. |
| 3 | LISTEN | Did the user specify destination or type? Their explicit override comes first; defaults come second. |
| 4 | THINK | Pick destination root (Step 0), then note type, then folder. Match path sanitization to destination convention. |
| 5 | CONNECT (lat) | Does this content already have a wiki page? Update vs create matters — duplicates pollute the index. |
| 6 | CONNECT (sys) | Index + log + hot cache + frontmatter relations all update together — atomicity matters. |
| 7 | FEEL | Filename future-me can read cold; frontmatter that supports search. Avoid noise that drowns the signal. |
| 8 | ACCEPT | Some sessions don't deserve saving. Honor the Skip criteria; don't archive everything. |
| 9 | CREATE | Write the note, append to log at top, update index, refresh hot cache. |
| 10 | GROW | Skipped saves are also signal — what threshold filtered them? Refine the type table over time. |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

