$npx -y skills add tuan3w/obsidian-vault-agent --skill synthesizeDeep cross-domain synthesis engine for the vault. Triggers on "synthesize X", "what do I know about X", "connect ideas about X", "cross-domain analysis of X", "map everything in the vault about X". Searches comprehensively, surfaces non-obvious patterns and tensions, then challen
| 1 | <Purpose> |
| 2 | Exhaust the vault's knowledge on a topic — across ALL domains — then act as |
| 3 | Luhmann's communication partner: surface contradictions the user hasn't noticed, |
| 4 | identify the hidden principle generalizing across examples, and demand original |
| 5 | synthesis. This is not a retrieval tool. It is a thinking provocation. |
| 6 | |
| 7 | Science grounding: far transfer (Tempel & Frings 2024), generation effect |
| 8 | (McCurdy et al. 2020), elaborative interrogation, desirable difficulty |
| 9 | (Bjork & Bjork 2020). |
| 10 | </Purpose> |
| 11 | |
| 12 | <Use_When> |
| 13 | - User wants to understand what the vault collectively says about a concept |
| 14 | - User is writing a Thought note and wants to pressure-test an idea |
| 15 | - User is preparing a talk, essay, or decision and needs cross-domain ammunition |
| 16 | - User says "synthesize X", "what do I know about X", "connect ideas about X" |
| 17 | - User wants to find contradictions or gaps in their own thinking |
| 18 | </Use_When> |
| 19 | |
| 20 | <Do_Not_Use_When> |
| 21 | - User wants to process a single source note — use /process instead |
| 22 | - User wants spaced repetition review — use /recall instead |
| 23 | - User has a specific paper to analyze — use /paper instead |
| 24 | - Topic is too narrow to generate cross-domain connections (single paper, single event) |
| 25 | </Do_Not_Use_When> |
| 26 | |
| 27 | <Steps> |
| 28 | |
| 29 | ## Stage 1: PARSE THE TOPIC |
| 30 | |
| 31 | Extract the core concept(s) from the user's input. Identify: |
| 32 | - **Primary term**: the exact word(s) to search (e.g., "attention", "loss aversion") |
| 33 | - **Synonyms / adjacent**: related terms likely to appear in notes (e.g., "focus", "salience", "bias") |
| 34 | - **Domain anchors**: which domains likely hold relevant notes (ML, psychology, design, startup...) |
| 35 | |
| 36 | If the topic is ambiguous, briefly clarify before searching (one question max). |
| 37 | |
| 38 | ## Stage 2: PARALLEL SEARCH — run ALL of these simultaneously |
| 39 | |
| 40 | **MCP search (preferred):** |
| 41 | ``` |
| 42 | search_notes(query="PRIMARY TERM", limit=30) |
| 43 | search_notes(query="SYNONYM 1", limit=15) |
| 44 | search_notes(query="SYNONYM 2", limit=15) |
| 45 | ``` |
| 46 | |
| 47 | **Grep fallback (if MCP unavailable):** |
| 48 | ``` |
| 49 | Grep(pattern="PRIMARY TERM", path="notes/", glob="*.md", output_mode="files_with_matches") |
| 50 | Grep(pattern="#TAG-NAME", path="notes/", glob="*.md", output_mode="files_with_matches") |
| 51 | Grep(pattern="\[\[.*PRIMARY TERM.*\]\]", path="notes/", glob="*.md", output_mode="files_with_matches") |
| 52 | ``` |
| 53 | |
| 54 | **Also search:** |
| 55 | - Thought notes referencing this topic: `Grep(pattern="PRIMARY TERM", path="notes/thoughts/", glob="*.md")` |
| 56 | - Cross-domain appearances: search each domain folder separately to surface unexpected hits |
| 57 | - Existing Term notes: `Grep(pattern="type: term", path="notes/", glob="*.md")` then filter |
| 58 | |
| 59 | Collect all matching file paths. Deduplicate. Aim for 15–25 notes across diverse domains. |
| 60 | |
| 61 | ## Stage 3: READ THE NOTES |
| 62 | |
| 63 | Read up to 20 most relevant notes using `read_multiple_notes` or individual `read_note` calls. |
| 64 | |
| 65 | Prioritize: |
| 66 | 1. Thought notes (user's own synthesis — highest signal) |
| 67 | 2. Term/Note notes (distilled concepts) |
| 68 | 3. Paper/book/post notes with substantial content |
| 69 | 4. Notes from UNEXPECTED domains (highest cross-domain value) |
| 70 | |
| 71 | While reading, track: |
| 72 | - Key claims and insights |
| 73 | - Domain of each note |
| 74 | - Wikilinks that connect to the topic |
| 75 | - Any explicit contradictions or tensions |
| 76 | - Claims that could conflict with each other |
| 77 | |
| 78 | ## Stage 4: PRESENT THE SYNTHESIS |
| 79 | |
| 80 | Output this structure (adapt headings as needed, cut any section with nothing real to say): |
| 81 | |
| 82 | --- |
| 83 | |
| 84 | ## What the vault says about [TOPIC] |
| 85 | |
| 86 | ### Key insights |
| 87 | [3–6 bullets. Each = one non-obvious claim distilled from multiple notes. Lead with the sharpest insight. No filler.] |
| 88 | |
| 89 | ### Cross-domain appearances |
| 90 | [Table or bullet list: Domain → how the concept appears there. Include only non-obvious mappings — skip domains where the concept is trivially expected.] |
| 91 | |
| 92 | | Domain | How [topic] appears | |
| 93 | |--------|---------------------| |
| 94 | | [domain] | [specific claim from that note] | |
| 95 | |
| 96 | ### Agreements |
| 97 | [What multiple notes converge on — the vault's "consensus". 2–4 bullets max.] |
| 98 | |
| 99 | ### Tensions & contradictions |
| 100 | [Where notes disagree — including tensions the user may not have noticed. THIS IS THE MOST VALUABLE SECTION. If two notes from different domains make opposing claims, surface it explicitly. Quote the note titles.] |
| 101 | |
| 102 | ### Gaps |
| 103 | [What's missing: questions the vault raises but doesn't answer, adjacent concepts not yet captured, domains that probably have something to say but no no |