# Backlinks — Wire the Graph Your vault is the context layer for an augmented cognition system. Every missing link is a capability the agent doesn't have. Every connection made compounds because the agent uses it in every future /today, /connect, /trace, /challenge, and /ideas run. A connection that only existed in your head used to be fine. Now it's a capability gap that grows across every interaction. **The boundary:** Your job is to make the graph traversable, not to generate understanding. You connect. The user thinks. When you find an empty hub, flag it. Don't fill it. When you find notes that should link, wire them. Don't rewrite them. The substance in this vault is human thinking. Your contribution is the wiring between those thoughts. **Usage:** `/backlinks` or `/backlinks [cluster]` If a cluster name is provided (e.g., `/backlinks defense-tech`), skip the full scan and focus Phases 3-4 on that cluster and its nearest neighbors. Faster results for known problem areas. --- ## Phase 1: Structural Inventory Graph-only, fast. No content reads. ```bash Obsidian orphans Obsidian deadends Obsidian unresolved Obsidian tags counts sort=count ``` Get backlinks and links for top 15-20 hub notes: ```bash Obsidian backlinks file="<Hub Note A>" Obsidian backlinks file="<Hub Note B>" Obsidian links file="<Hub Note A>" Obsidian links file="<Hub Note B>" ``` Also check any notes that appear as frequent backlink targets. Build a rough cluster map from the link structure. Count vault size: ```bash Obsidian files ``` ## Phase 2: Priority Context Read 5-6 context files to build a priority filter: ```bash Obsidian read file="<Context File A>" Obsidian read file="<Context File B>" Obsidian read file="<Context File C>" ``` Read recent daily notes (past 7 days): ```bash Obsidian daily:read Obsidian read path="Daily Notes/YYYY-MM-DD.md" # past 7 days ``` Extract from these reads: - Current priorities and active projects - Open questions and active threads of thinking - People and concepts getting current attention This becomes the priority filter for scoring in Phase 6. ## Phase 3: Orphan Rescue Scan Filter orphans from Phase 1. Skip non-note files: - Images: .heic, .jpg, .jpeg, .png, .gif, .webp - Media: .mov, .mp4, .wav, .mp3 - Fonts, canvases, templates - Any file that isn't .md For remaining orphans, apply this decision tree: 1. **Title contains a word from current priorities or hub backlink chain?** Read (title + first 20 lines). These are likely disconnected from active work. 2. **Title contains a question mark?** Read (title + first 20 lines). These are often valuable thinking notes. 3. **Otherwise:** Read title only. Flag if semantically related to active clusters. For each meaningful orphan, search for its nearest cluster neighbor: ```bash Obsidian search:context query="<key concept from orphan>" ``` **Explicit cap:** Do not read more than 100 notes total across all phases. Be selective. Prioritize notes whose titles suggest relevance to current priorities. ## Phase 4: Cluster Bridge Analysis For each pair of the top 5-6 clusters with no existing links, search for shared themes: ```bash Obsidian search:context query="<theme from Cluster A>" # search in Cluster B's territory ``` Read intermediary notes that might serve as bridges between clusters. Use synonym discovery like /trace does: try 2-3 vocabulary variants for each concept. Ideas evolve under different names. ## Phase 5: Unresolved Link Triage From the unresolved links gathered in Phase 1: - **3+ references:** Likely worth creating as a stub note - **2 references:** Check for near-duplicates or name variants of existing notes - **1 reference:** Skip unless it's a critical concept from current priorities Check for name variants that resolve to existing notes before recommending new stubs. ## Phase 6: Score and Recommend Score each candidate connection on 3 dimensions (multiplicative): | Dimension | What it measures | 1 | 3 | 5 | |-----------|-----------------|---|---|---| | Conceptual Strength | How real is this connection? | Same word, different context | Related problems/questions | Same thesis from different angles | | Structural Impact | How much does this improve the graph? | 6th link to well-connected note | Rescues valuable orphan | Bridges two isolated clusters | | Priority Alignment | Does it touch current priorities? | Neither note is active | One note relates to a priority | Both notes relate to active work | - Composite = Conceptual x Structural x Priority (max 125) - **Critical** (75+), **High** (40-74), **Medium** (15-39), **Low** (<15) ### Quality Controls - Minimum Conceptual Strength of 2. Same word but different concept = skip. - Cap at 30 total recommendations. Quality over quantity. - Each connection must be explainable in one sentence. - Include borderline cases with lower scores rather than silently excluding. ### Connection Taxonomy Label each recommendation with one of these types: 1. **Orphan to Hub** - Orphaned note connected to its nearest cluster hub 2. **Cluster Bridge** - Two clusters share themes but zero links between them 3. **Internal Gap** - Within-cluster notes missing cross-references 4. **Empty Hub (flag only)** - Hub note referenced by many but has no content. Flagged for the user to write. NOT filled by agent. 5. **Semantic Twin** - Two notes about the same concept, different vocabulary 6. **Person to Concept** - Person note that should link to associated concepts 7. **Temporal Bridge** - Old thinking relevant to new work, never connected 8. **Unresolved Worth Creating** - `[[link]]` appearing 3+ times, worth formalizing ### Connection Card Format For each recommendation: ``` ### [#]. [Type]: [Short description] **Score:** [X] (Conceptual [N] x Structural [N] x Priority [N]) **What:** [One-sentence description] **Edit:** Add `[[Target Note]]` to [Source Note] in [section/location] **Why:** [One sentence on what this unlocks] ``` For Empty Hub flags, use this format instead: ``` ### [#]. Empty Hub: [Note name] **Referenced by:** [list of notes that link to it] **What this needs:** Your thinking. [N] notes point here and find nothing. ``` ## Phase 7: Execute Present findings by tier (Critical first). Ask which to execute: - **All Critical + High** (recommended default) - **Critical only** - **Pick specific ones** (by number) - **None** (save report only) ### Execution Rules When executing approved connections: - **Adding `[[links]]`:** Place in the relevant section of the note, not dumped at the bottom. Read the note structure first and add the link where it makes semantic sense. - **Creating stub notes** (for Unresolved Worth Creating): Title + a "Related" section listing backlinks ONLY. No synthesized content. No descriptions. No summaries. - **Empty Hubs:** DO NOT fill. They appear in the report as flags only. The user writes the content. ### Post-Execution Verification After making changes: ```bash Obsidian links file="<modified note>" # verify links resolved ``` Report: "Made X connections across Y notes. Z new stub notes created." --- ## Output Format ``` BACKLINKS REPORT -- [Date] Vault size: [N] notes Orphans assessed: [N] meaningful (of [N] total) Connections recommended: [N] across [N] tiers --- ## Critical ([N]) [Connection cards] ## High ([N]) [Connection cards] ## Medium ([N]) [Connection cards] ## Summary [Narrative: biggest structural gaps, what executing these changes unlocks] --- Execute: All Critical+High / Critical only / Pick specific / None ``` --- ## Limitations Be honest about these: - **False positives:** Include with lower score rather than silently exclude. Let the user decide. - **Vocabulary drift:** Try 2-3 variants for each concept. Ideas evolve under different names. - **Recency bias:** Flag old-but-rich orphans even if they don't match current priorities. Old thinking can be the most valuable. - **Graph vs. content tension:** Well-connected notes can have shallow content. Poorly-connected notes can be deeply thoughtful. Connection count alone doesn't indicate value. ## Output Guidelines - Be specific: name actual notes, cite content, show edit locations - Quality over quantity. 10 excellent connections beat 30 mediocre ones. - The best connections make you say "how was this not already linked?" - Don't force connections. Same word but different concept = skip. - After execution, report what changed and structural impact.