skills/archive-to-brain/SKILL.md
Save an archival summary of an AI conversation to Nathan's Obsidian vault, using the Thinking note template and vault folder conventions to capture intellectual journeys, key insights, and technical logs. Use when archiving a chat session to the vault.
npx skillsauth add nweii/agent-stuff archive-to-brainInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create an archival summary of an AI conversation and save it to Nathan's Obsidian vault (Brain).
Conduct a thorough analysis of the entire conversation:
Look deeply for:
Instead of using generic headings like "Initial Question" or "Key Findings," create headings that describe the actual content of each section. The heading should give readers immediate context about what happened in that part of the conversation.
Examples of descriptive headings:
Use sentence-case for headings, not title case. Avoid marketing-speak, dramatic phrasing, or trying to be clever.
Let the conversation's natural flow determine your structure:
For problem-solving sessions: Open with what broke/what problem triggered the conversation → Document failed approaches if instructive → Describe the working solution → Note implementation details or next steps
For creative explorations: Start with the initial vision or desire → Show how ideas evolved or branched → Capture key decisions and why they were made → Preserve unexplored directions worth revisiting
For learning journeys: Begin with what the user didn't understand → Track how understanding built piece by piece → Highlight breakthrough moments → List remaining questions
For work sessions & implementation logs: Define the session's objective → Document specific actions taken and files modified → Capture technical hurdles and how they were resolved → Summarize the current state of the work and remaining tasks
For strategic thinking: Frame the decision that needed making → Explore options considered and their trade-offs → Document the framework or criteria that emerged → Capture action items or next considerations
Include conversation excerpts that show thinking in action:
Nathan: "[moment of recognition or confusion]" AI: "[response that shifted understanding or articulated key insight]"
Choose excerpts that reveal intellectual movement — the moments where thinking actually changed, not just where information was exchanged. Be generous in your excerpt lengths.
{{Type}} - {{topic}} YYYY-MM.mdThinking for insight-heavy, reflective, or exploratory conversationsLog for action-leaning work sessions, implementation logs, or technical sessionsThinking - Portfolio strategy 2025-08.mdLog - Refactoring auth middleware 2025-01.mdUse today's date for created, modified, and last.
---
aliases:
- [1-2 intuitive alternative titles in sentence case, e.g. "Thinking through X" or "Notes from Y session"]
categories: "[[Thinking]]"
type:
icon: [camelCase Lucide icon name prefixed with "Li" that fits the topic, e.g. LiBrainCircuit, LiMessageCircle, LiCode2]
publish: false
description: [1–2 sentence summary of what this conversation covered and why it was worth saving]
last: YYYY-MM-DD
tags:
- thinking
- [2-3 additional tags reflecting the specific topic, domain, or people involved]
related:
- ["[[Note name]]"] # only include confirmed vault notes that came up in conversation; wikilinks require quotes in YAML arrays
# Optional: prev / next wikilinks for continuity with adjacent Thinking or Log notes — see paragraph after this block
created: YYYY-MM-DD
modified: YYYY-MM-DDTHH:mm
---
For Log notes, change the tags entry to logs and update categories to "[[Logs]]" if appropriate. Generate aliases, description, icon, and tags from the actual conversation content — they should aid recall beyond the filename. Only populate related with notes you have confirmed exist in the vault; leave the array empty if none were referenced. Do not put a note in related if it is already tied via prev or next — same link twice is redundant; use related for broader or non-adjacent ties.
Continuity (prev / next): When the conversation surfaces another Thinking or Log note as the immediate predecessor or successor, or the user names one, treat that as a continuity link — not only related. Set prev and/or next on the new note per the vault’s AGENTS.md, and update the other note(s) the same way so the chain stays bidirectional (e.g. if this archive follows note A, set this note’s prev to A and set A’s next to this note). Use whatever the environment supports: Obsidian CLI property:set, editing YAML frontmatter in place (after create), notesmd-cli if it exposes properties, vault MCP, etc. If the new note sits between two existing notes, fix all three. Omit prev / next when no clear adjacent note exists. Typical case for a new archive: this note is usually the next after the prior session’s Thinking/Log; set prev on the new file and patch the previous note’s next.
03-Records/Journaling03-Records/WorkingWithin 03-Records/Working, check for existing subfolders that match the conversation topic (search the vault, list the directory on disk, or use whatever tooling the host provides). Use a matching subfolder when it clearly fits; otherwise save to the root of 03-Records/Working. Don't assume which subfolders exist — they change over time.
If a specific save location was provided, use it directly.
Pick a write path that matches the machine: desktop with Obsidian open, headless server with a synced vault folder, or chat-only with no filesystem. No single tool is always present.
Preferred order when multiple options exist (skip steps that are unavailable):
Obsidian CLI — Best when the Obsidian app can run (indexing, property:set, wikilink-style file=). Use vault=<name> if there are multiple vaults. Example create:
obsidian vault=Brain create name="{{filename}}" path="{{folder}}/{{filename}}.md" content="{{full content with frontmatter}}"
Example continuity (bidirectional prev / next):
obsidian vault=Brain property:set file="{{filename}}" name=prev value='[[Prior note title]]'
obsidian vault=Brain property:set file="Prior note title" name=next value='[[{{filename}}]]'
notesmd-cli — Typical on headless hosts where the vault is synced but Obsidian's CLI is not available. Use its create/update commands per that tool’s --help; set prev / next by editing frontmatter if the CLI does not expose properties.
Direct read/write — If the absolute vault root is known and writable, write {{folder}}/{{filename}}.md with the full file contents (including frontmatter), then patch the prior note’s frontmatter for next if needed.
Vault MCP — Use when the agent only has MCP filesystem access to the vault and no local CLI. Prefer create/move/update there over leaving the archive only in chat.
Manual handoff — Output the full note in a markdown code block with the intended path above it so the user can paste or save it.
Pipe multiline content via stdin or use \n escaping in CLI content= values when required.
After saving the archive, append a bullet to the ## Log section of the daily note that best corresponds to when the conversation actually took place — usually today, but not always. Use your understanding of the conversation's content and timing as the primary guide; the archive's date or last frontmatter properties are useful supporting signals if the date is ambiguous.
Format:
- [[Note filename without extension]]: [one sentence: what the conversation covered and why it was saved]
The summary should be a tight, plain-language summary in one sentence or less — no marketing language. Do not attempt to exhaustively cover every detail; the log section is meant for a skimmable recollection of what occured that day. Pull it from the note's description frontmatter or compose it from the archive's subject matter.
Resolving the target daily note — derive the path from the chosen date:
01-Days/YYYY-MM-DD-ShortDayName.md (e.g. 01-Days/2025-08-14-Thu.md)Mon, Tue, Wed, Thu, Fri, Sat, Sun)How to update it (use whichever is available):
## Log, and write the updated file with the bullet appended.01-Days/YYYY-MM-DD-ShortDayName.md, find ## Log, and append the bullet on a new line after the last existing bullet in that section.## Log.If the target daily note does not exist, skip this step rather than creating it.
After the file is saved, surface the Obsidian URI in the chat reply so Nathan can open the note from wherever the skill ran. Skip this step if the save didn't complete and the note was handed off for Nathan to save manually — there's no file to link to yet.
Output both a clickable markdown hyperlink and the bare URI on its own line beneath it. The markdown link renders as a tappable hyperlink in clients that support it (e.g. Claude mobile); the bare URI is a fallback selectable string for clients that don't reliably render obsidian:// links as clickable (Claude desktop, terminal).
Format:
[{{Note title without .md}}](obsidian://open?vault=Brain&file={{URI-encoded filename without extension}})
obsidian://open?vault=Brain&file={{URI-encoded filename without extension}}
Use the filename (without .md) as the link text unless a shorter display label is clearer. URI-encode only the file= value (spaces → %20, slashes → %2F, etc.). The bare filename is sufficient — no folder path, no .md extension. Obsidian resolves by shortest unique match.
Example: filename Thinking - Some topic 2025-08.md →
[Thinking - Some topic 2025-08](obsidian://open?vault=Brain&file=Thinking%20-%20Some%20topic%202025-08)
obsidian://open?vault=Brain&file=Thinking%20-%20Some%20topic%202025-08
development
Sync meetings from Granola to Obsidian — pulls notes and transcripts and imports them as formatted meeting/transcript notes. Use when the user says "sync my last granola meeting", "note for my last meeting", or asks to pull in a Granola transcript.
tools
Create a topic note grouping related notes under a common theme, with automatic backlinking to source notes. Triggers: 'group these under a topic', 'create topic note for [[A]], [[B]], [[C]]'.
testing
Enrich an existing meeting/interview note from its transcript, or scaffold one when only a transcript exists. Captures granular narrative, exact phrases, mechanics, casual context, and implicit signals. Run on thin auto-summary notes or transcripts that warrant close reading.
data-ai
Save a term, phrase, or coined concept as a Term note in the Brain vault under 02-Evergreen/Terms/. Two modes: capturing a nice term encountered in reading (with source quote) or recording one coined during conversation (with brief gloss). Triggers: '/save-term <term>', 'save this term', 'add this to my terms'.