Help us improve
Share bugs, ideas, or general feedback.
From onebrain
Finds connections between notes and suggests wikilinks to strengthen knowledge graph. Use for discovering relations like 'find connections', 'what links to this note', or 'strengthen my graph'.
npx claudepluginhub onebrain-ai/onebrain --plugin onebrainHow this skill is triggered — by the user, by Claude, or both
Slash command
/onebrain:connectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Find meaningful connections between your notes and suggest wikilinks to build a richer knowledge graph.
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
Find meaningful connections between your notes and suggest wikilinks to build a richer knowledge graph.
Ask (or infer from context):
AskUserQuestion:
Use qmd if available for semantic search across notes; fallback: Glob [projects_folder]/**/*.md, [areas_folder]/**/*.md, [knowledge_folder]/**/*.md, [resources_folder]/**/*.md. For each note, extract:
If the total note count exceeds 20, delegate to the Knowledge Linker agent instead — see Step 2b.
If more than 20 notes are in scope: dispatch the Knowledge Linker agent (agents/knowledge-linker.md) as a foreground sub-agent (run_in_background: false, mode: "bypassPermissions"), passing vault_root, knowledge_folder, resources_folder, areas_folder, and projects_folder. The agent always scans the full vault regardless of the scope chosen in Step 1. Proceed to Step 4 immediately (the agent's output replaces Step 3).
For ≤20 notes: continue with Step 3.
Look for:
| Connection Type | Description |
|---|---|
| Conceptual overlap | Both notes discuss the same idea |
| Cause-effect | One note explains why something in another happens |
| Elaboration | One note goes deeper on a concept mentioned in another |
| Contrast | Notes present different perspectives on the same topic |
| Sequence | Notes form a natural progression of ideas |
| Application | One note shows how to apply a concept from another |
Group suggestions by note. For each suggestion, show:
──────────────────────────────────────────────────────────────
🔗 Connect — {N} suggestions found
──────────────────────────────────────────────────────────────
[{n}/{N}] `{Note A}` → `{Note B}`
Type: {connection type}
Reason: {reason}
Add to `{Note A}`:
Near "...{nearby text}..." → add [[{Note B}]]
No suggestions:
✅ No connections found — notes are already well-linked.
Maximum 10 suggestions. Ask user to approve each batch before implementing.
If more than 10 suggestions found, show first 10 and add: (showing 10 of {M} — run /connect again to see more)
For each approved suggestion:
After implementing:
✅ Added [[{Note B}]] link to {Note A}.
After connecting, optionally run:
Want me to list notes with no outbound links? These "orphan" notes might be missing connections.
List them if yes, let user decide what to do.
Skip this step if no wikilinks were approved or implemented in Step 5.
After implementing approved wikilinks, use AskUserQuestion to offer typed relationship frontmatter:
Want me to also add typed relationship properties to the frontmatter of connected notes? This makes connections machine-readable and shows relationship types in Obsidian Graph View. (yes / no)
If user agrees:
uses, depends_on, contradicts, supersedes, caused_byIf the user asks to retro-tag existing notes (e.g. "update all notes in 01-projects/onebrain/"):
.md files"Entire knowledge base" scope can be very large. If note count exceeds 20, Step 2b delegates to the Knowledge Linker agent — the inline Steps 3-4 path is only for small scopes. Do not try to hold hundreds of notes in context.
Avoid suggesting wikilinks that already exist. Before proposing a connection between Note A and Note B, check whether [[Note B]] (or [[Note B|...]]) already appears anywhere in Note A. Suggesting existing links adds noise without value.