From obsidian-update
End-of-session knowledge extraction into the MoxyWolf Obsidian vault. Scans the current Cowork conversation for durable knowledge — decisions made, research findings, meeting discussions, cross-project insights, action items, and new contacts — then writes properly formatted, cross-linked Markdown notes to the vault. Use this skill whenever Dorian says 'obsidian update', 'update the vault', 'save to obsidian', 'capture this session', 'write to the vault', 'vault update', 'end of session', 'save session knowledge', or any request to persist conversation knowledge into the Obsidian knowledge base. Also trigger when Dorian asks to 'log this decision', 'save this research', 'add this to the vault', or references the Obsidian vault in any write context. This skill should trigger aggressively for anything that involves writing durable knowledge to the vault.
How this skill is triggered — by the user, by Claude, or both
Slash command
/obsidian-update:obsidian-updateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are capturing durable knowledge from the current Cowork session and writing it to the MoxyWolf Obsidian vault. The vault is the company's AI-readable knowledge layer — the connective tissue between projects, decisions, research, and operational knowledge.
You are capturing durable knowledge from the current Cowork session and writing it to the MoxyWolf Obsidian vault. The vault is the company's AI-readable knowledge layer — the connective tissue between projects, decisions, research, and operational knowledge.
The goal is not to dump a conversation log. It's to extract the facts, decisions, and insights that will still matter next week and place them where they'll be findable by both humans and future Claude sessions.
The vault is located by checking in order:
/sessions/*/mnt/*/) contains CLAUDE.md at root with MoxyWolf Vault markers. If yes, that IS the vault./sessions/*/mnt/[email protected]/Shared drives/MoxyWolf Shared Files/MoxyWolf Vault/proxy_execute via RUBE_REMOTE_WORKBENCH with Composio googledrive connection (Team Drive ID: 0AHxJ5CazJqxOUk9PVA).request_cowork_directory to ask Dorian to mount the vault.Once located, set ${VAULT} to the resolved path.
Load context for smarter extraction:
${VAULT}/CLAUDE.md — vault conventions, project list, folder structure, frontmatter format, tagging system, linking rules. Follow them exactly.${VAULT}/_System/MEMORY.md — active project states, relationships, shorthand decoder, and operational context. This makes extraction smarter by correctly attributing knowledge to projects and people.${VAULT}/Projects/*/00-Hub/ to understand what's already captured. Prevents duplicates and enables cross-linking.Review the full conversation from this Cowork session. You have access to the conversation history — use it. Look for these categories of extractable knowledge:
| Category | What to look for | Vault note type | Template |
|---|---|---|---|
| Decisions | Choices made with reasoning — tech stack picks, strategy pivots, pricing changes, architecture decisions | Decision Record | _Templates/Decision Record.md |
| Research Findings | Web searches performed, sources consulted, facts learned, competitive intel gathered | Research Note | _Templates/Research Note.md |
| Meeting-like Discussions | Structured conversations about a specific topic with outcomes and action items | Meeting Note | _Templates/Meeting Note.md |
| Cross-project Insights | Patterns noticed across multiple projects, reusable learnings, "aha" moments | Insight | _Templates/Insight.md |
| Compliance Findings | STIG/CMMC/NIST findings, security observations, control mappings | Compliance Finding | _Templates/Compliance Finding.md |
| Action Items | Tasks committed to, follow-ups needed, deadlines mentioned | Appended to project index or Kanban board | |
| New People/Contacts | Names, roles, companies, relationship context mentioned | People page | People/ directory |
| Council Deliberations | Deliberation outcomes, model evaluations, verification results | Decision Record | Cross-linked to deliberation log |
_Shared Knowledge/.${VAULT}/_Shared Knowledge/Agents and Plugins/council-deliberation-log.md for the deliberation ID. If already logged, create a reference link rather than a duplicate note.When extracting action items, also check if they should be added to the Kanban board:
${VAULT}/Tasks/ and add to ${VAULT}/Tasks/KANBAN_VIEW.mdBefore writing any files, present a summary to Dorian:
## Session Knowledge Extraction
I found [N] items worth capturing from this session:
1. **[Type]: [Title]** → `Projects/[Project]/[Subfolder]/[filename].md`
_Brief description of what will be captured_
2. **[Type]: [Title]** → `_Shared Knowledge/[Area]/[filename].md`
_Brief description_
[If action items detected:]
Plus [N] action items for the Kanban board — want me to add those too?
[If Council deliberation occurred in session:]
Note: Council deliberation [id] was [already logged / not yet logged] to the vault.
Shall I write these to the vault, or do you want to adjust anything?
Wait for confirmation before writing. Dorian might say "skip #3" or "actually that belongs in RegGenome not SAMS" or just "go for it."
After Dorian approves the extraction plan, and before writing files, optionally run a lightweight Council evaluation on the plan. This catches attribution errors, missing items, and ephemeral state that shouldn't be persisted.
Activation conditions:
--no-council flag or /obsidian-update config council_gate falseIf conditions are not met: Skip silently. Proceed to Step 3.
Process:
Build the Council query. Send to the deliberation-engine in --fast mode (skip peer review, collect + synthesize only, ~$0.04-0.06):
Evaluate this knowledge extraction plan for an Obsidian vault. The vault organizes
knowledge by projects, with decision records, research notes, and cross-cutting insights.
SESSION TOPICS: [brief summary of what the session covered]
EXTRACTION PLAN:
[numbered list of items with types, titles, target paths, and descriptions]
Evaluate on these dimensions:
1. Attribution accuracy — are items placed in the correct project folders?
2. Completeness — is anything significant from the session missing?
3. Ephemeral filtering — are any items too transient to persist (debugging steps,
temporary state, already-documented patterns)?
4. Deduplication — would any of these duplicate knowledge that likely already exists
in the vault?
Return specific, actionable findings only. Skip items that look correct.
Present Council findings to Dorian alongside the original plan:
## Council Review of Extraction Plan
The Council flagged:
- [finding 1 — e.g., "Item #3 attributes to STIGViewer but the discussion was about RegGenome"]
- [finding 2 — e.g., "Missing: the cross-LLM variance insight from the research discussion"]
Suggested adjustments:
- [adjustment 1 — e.g., "Re-attribute item #3 to Projects/RegGenome/11-Knowledge/"]
- [adjustment 2 — e.g., "Add insight note about cross-LLM variance to _Shared Knowledge/"]
Proceed with original plan, apply Council suggestions, or adjust manually?
Process Dorian's response:
Cost note: This gate adds ~$0.05 per vault update. The --fast flag keeps it to 5 API calls (collect from 4 models + synthesize, no peer review). Disable with /obsidian-update --no-council or /obsidian-update config council_gate false.
For each approved item:
Read the matching template from ${VAULT}/_Templates/ to get the structure right.
Fill in the template with extracted content. Key rules from CLAUDE.md:
Frontmatter — every note gets this:
---
title: "Note Title"
date: YYYY-MM-DD
project: project-name
type: meeting | decision | research | insight | reference
tags: [relevant, tags]
participants: [dorian, others-if-applicable]
status: draft | active
---
File naming — use kebab-case with dates:
DR-XXX-short-description.mdmeeting-project-topic-YYYY-MM-DD.mdresearch-topic-YYYY-MM-DD.mdinsight-short-description-YYYY-MM-DD.mdFor decision record numbering: Check the project's existing files to find the highest DR number and increment. If no DRs exist yet, start at DR-001.
[[Projects/SAMS/00-Hub/SAMS Index]][[People/Dorian Cougias]][[_Shared Knowledge/Compliance Frameworks/framework-name]]Use the Write tool to create the file at the correct vault path. Do not overwrite existing files — if a filename collision occurs, append a sequence number.
If the session produced significant new context (new contacts, project state changes, decisions), also update ${VAULT}/_System/MEMORY.md with the relevant facts. This keeps the personal-os memory layer current without waiting for the nightly extraction.
If the session included a Council deliberation:
${VAULT}/_Shared Knowledge/Agents and Plugins/council-deliberation-log.md for the deliberation IDEvaluated by: [[_Shared Knowledge/Agents and Plugins/council-deliberation-log|Council Deliberation {id}]]See also: [[_Shared Knowledge/Agents and Plugins/council-decision-{slug}|Council Decision Record]] or the project-specific path if it was attributed to a projectIf the session produced significant knowledge for a project, consider updating that project's index file (${VAULT}/Projects/[Name]/00-Hub/[Project] Index.md):
Use the Edit tool for index updates — don't rewrite the whole file.
After writing all files, give Dorian a clean summary:
## Vault Updated
Written [N] notes to the MoxyWolf Vault:
- ✅ `Projects/SAMS/06-Engineering/DR-003-chose-obsidian-over-notion.md`
Decision record: Why we chose Obsidian as the knowledge layer
- ✅ `_Shared Knowledge/Agents and Plugins/research-obsidian-claude-integration-2026-03-20.md`
Research findings: Obsidian + Claude ecosystem analysis
Updated indices:
- 📝 `Projects/SAMS/00-Hub/SAMS Index.md` — added recent activity
Cross-links created: 4 inter-note links, 2 project references
[If MEMORY.md updated:]
Memory updated: added [N] new facts to _System/MEMORY.md
[If tasks added:]
Kanban updated: added [N] tasks to Tasks/KANBAN_VIEW.md
[If Council gate was used:]
Council review: accepted [N] suggestions, rejected [M] (cost: $X.XX)
[If Council deliberation records were cross-linked:]
Council links: [N] notes linked to deliberation log
Keep it factual and scannable. Dorian can go look at the files in Obsidian if he wants the detail.
Session had no extractable knowledge: This happens — maybe it was a quick question or casual chat. Say so honestly: "This session didn't produce knowledge worth persisting to the vault. Nothing to extract." Don't manufacture notes.
Can't determine which project: Put it in _Shared Knowledge/ with appropriate subfolder. Cross-cutting knowledge is valuable too.
Session produced a file (doc, spreadsheet, presentation): Don't duplicate the file into the vault. Instead, create a reference note that describes what was created, why, and where the actual file lives.
Dorian asks to capture something specific: If he says "save this research to the vault" mid-session (not at end-of-session), write just that item immediately. Don't wait for the full extraction pass.
Very large sessions: If the session was long and dense, prioritize. The top 5-7 most durable knowledge items are better than 20 thin ones. Note at the bottom "Additional topics discussed but not captured: X, Y, Z" for potential expansion.
Session included a Council deliberation: Check whether the deliberation-engine already wrote a decision record to the vault via its Step 8d vault sync. Look for the deliberation ID in ${VAULT}/_Shared Knowledge/Agents and Plugins/council-deliberation-log.md. If already logged, create a reference link in your notes (Step 3f) rather than a duplicate. If not logged (vault was unavailable during the deliberation), capture the deliberation outcome as part of the session's decision record — include the query, chairman, key findings, and what was accepted/rejected.
| Content Type | Vault Path |
|---|---|
| Project decisions | Projects/[Name]/[##-Category]/DR-XXX-*.md |
| Project research | Projects/[Name]/11-Knowledge/*.md |
| Project meetings | Projects/[Name]/00-Hub/meeting-*.md |
| Sprint notes | Projects/[Name]/04-Sprints/*.md |
| Compliance findings | Projects/[Name]/07-Compliance/*.md |
| Engineering decisions | Projects/[Name]/06-Engineering/*.md |
| GTM/marketing | Projects/[Name]/08-GTM/*.md or 12-MARCOM/*.md |
| Cross-project insights | _Shared Knowledge/[relevant area]/*.md |
| Tech stack decisions | _Shared Knowledge/Tech Stack/*.md |
| Agent/plugin knowledge | _Shared Knowledge/Agents and Plugins/*.md |
| Council deliberation logs | _Shared Knowledge/Agents and Plugins/council-deliberation-log.md |
| Council model performance | _Shared Knowledge/Agents and Plugins/council-model-performance.md |
| Council routing intelligence | _Shared Knowledge/Agents and Plugins/council-routing-intelligence.md |
| People/contacts | People/[Full Name].md |
| Daily standups | Daily Journal/YYYY-MM-DD.md |
| System memory | _System/MEMORY.md |
| System identity | _System/IDENTITY.md |
| Task files | Tasks/*.md |
| Kanban board | Tasks/KANBAN_VIEW.md |
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub moxywolfllc/moxywolf-plugins --plugin obsidian-update