diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 14afaf1..2d56204 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "claude-obsidian", - "version": "1.2.0", + "version": "1.3.0", "description": "Claude + Obsidian knowledge companion. Sets up a persistent, compounding wiki vault. Covers memory management, session notetaking, knowledge organization, and agent context across projects. Based on Andrej Karpathy's LLM Wiki pattern.", "author": { "name": "AgriciDaniel", diff --git a/.raw/claude-obsidian-ecosystem-research.md b/.raw/claude-obsidian-ecosystem-research.md new file mode 100644 index 0000000..06eec65 --- /dev/null +++ b/.raw/claude-obsidian-ecosystem-research.md @@ -0,0 +1,288 @@ +--- +type: raw-research +title: "Claude + Obsidian Ecosystem Research" +date: 2026-04-08 +queries: + - "claude obsidian plugin github 2025 2026" + - "obsidian MCP server claude anthropic" + - "claudesidian obsidian plugin github" + - "obsidian smart connections copilot AI plugin" + - "claude code obsidian workflow LLM wiki" +sources: + - github.com + - awesome.ecosyste.ms + - obsidianstats.com + - effortlessacademic.com +--- + +# Claude + Obsidian Ecosystem Research +> Researched: 2026-04-08 | Goal: cherry-pick best features for AgriciDaniel/claude-obsidian + +--- + +## Summary + +16+ active projects found combining Claude/AI with Obsidian. Organized into 4 categories: +1. **LLM Wiki Pattern plugins** (Claude Code skill-based, direct competitors) +2. **Native Obsidian plugins** (TypeScript, embedded UI) +3. **MCP servers** (bridge protocols) +4. **In-vault AI plugins** (traditional Obsidian community plugins) + +--- + +## Category 1: LLM Wiki Pattern (Claude Code Plugins) + +### AgriciDaniel/claude-obsidian ⭐ OUR PROJECT +- URL: https://github.com/AgriciDaniel/claude-obsidian +- Version: 1.2.0 +- Skills: /wiki, /wiki-ingest, /wiki-query, /wiki-lint, /save, /autoresearch, /canvas +- Approach: Hot cache + compounding wiki + Claude Code skills + +### heyitsnoah/claudesidian +- URL: https://github.com/heyitsnoah/claudesidian +- Approach: Pre-configured Obsidian vault + PARA method +- Key features: + - `/init-bootstrap` — interactive setup wizard that analyzes existing vault + - Vault import: safely imports existing vault to `OLD_VAULT/` + - Research public work to personalize context + - Thinking Mode vs Writing Mode distinction + - Pre-configured commands: `/thinking-partner`, `/daily-review`, `/research-assistant`, `/weekly-synthesis`, `/inbox-processor` + - PARA folder structure: 00_Inbox, 01_Projects, 02_Areas, 03_Resources, 04_Archive + - Optional: Gemini Vision for image/video, Firecrawl for web research +- Stars: Not tracked (pre-release kit) + +### rvk7895/llm-knowledge-bases +- URL: https://github.com/rvk7895/llm-knowledge-bases +- Install: `/plugin marketplace add rvk7895/llm-knowledge-bases` +- Key features: + - 3-depth query system: Quick (indexes only), Standard (wiki + web search), Deep (multi-agent parallel web search) + - `/research` and `/research-deep` — parallel agents for deep research + - Output formats: Markdown reports, Marp slides, matplotlib charts → `output/` + - X/Twitter ingestion via Smaug tool + - `/kb-init`, `/kb compile`, `/kb query`, `/kb lint`, `/kb evolve` +- Attribution: Built on Karpathy pattern + Weizhena's Deep Research skills + +### ekadetov/llm-wiki +- URL: https://github.com/ekadetov/llm-wiki +- Key features: + - qmd hybrid search (BM25 + vector) — auto-installed via SessionStart hook + - Multi-wiki support: `/llm-wiki:wiki init ` creates isolated wiki + - URL ingestion: pass `https://` URLs directly to ingest command + - Auto-commit on every ingest via git + - Marp presentation output + - `/llm-wiki:wiki remove ` — clean removal + - Prerequisite: Node 18+, Git, Obsidian vault at `~/ObsidianVault/` + +### Ar9av/obsidian-wiki +- URL: https://github.com/Ar9av/obsidian-wiki +- Key features: + - Multi-agent compatibility: Claude Code, Cursor, Windsurf, Codex, Gemini CLI, OpenClaw, GitHub Copilot + - `setup.sh` auto-configures all agents simultaneously via symlinks + - Delta tracking manifest (`.manifest.json`) — only ingests new/changed files + - Vision support: ingest images, screenshots, whiteboard photos (requires vision model) + - 4-stage pipeline: Ingest → Extract → Resolve → Schema + - Schema emerges from sources (not fixed upfront) + - Each page gets `summary:` frontmatter for preview without opening + - Multi-format: PDFs (with page ranges), JSONL, conversation exports, transcripts + +### ballred/obsidian-claude-pkm +- URL: https://github.com/ballred/obsidian-claude-pkm +- Key features: + - Goal cascade: 3-Year Vision → Yearly Goals → Projects → Monthly Goals → Weekly Review → Daily Tasks + - `/daily`, `/weekly`, `/monthly` review skills + - `/project new` — creates project linked to a goal + - `/adopt` command — imports existing vault structure, detects PARA/Zettelkasten/LYT, maps folders + - 4 specialized agents: goal-aligner, weekly-reviewer, note-organizer, inbox-processor + - `memory: project` for cross-session agent learning + - Auto-commit via PostToolUse hook on every file write/edit + - Productivity Coach output style + - Path-specific rules loaded contextually + - Zero dependencies (bash + markdown only) + - `/onboard` — personalized vault setup (name, review day, goal areas) + - Version: 3.1 + +### kepano/obsidian-skills +- URL: https://github.com/kepano/obsidian-skills +- Author: **Linus Kepano** (creator of Obsidian + Minimal theme) +- Install: `/plugin marketplace add kepano/obsidian-skills` +- Key skills: + - `obsidian-markdown` — full Obsidian Flavored Markdown (callouts, embeds, wikilinks, properties) + - `obsidian-bases` — Obsidian Bases (.base files, views, filters, formulas) + - `json-canvas` — JSON Canvas spec for .canvas files + - `obsidian-cli` — vault management via Obsidian CLI + - `defuddle` — extract clean markdown from web pages (removes clutter, saves tokens) +- Multi-platform: Claude Code, Codex CLI, OpenCode + +### ussumant/llm-wiki-compiler +- URL: https://github.com/ussumant/llm-wiki-compiler +- Approach: Single-purpose Claude Code plugin — compiles markdown files into topic wiki +- Key features: Topic-based compilation, implements Karpathy pattern in minimal form + +--- + +## Category 2: Native Obsidian Plugins (Embedded UI) + +### YishenTu/claudian +- URL: https://github.com/YishenTu/claudian +- Approach: Embeds Claude Code/Codex CLI directly inside Obsidian as sidebar chat +- Key features: + - **Inline Edit** — select text + hotkey → word-level diff preview → apply + - **Plan Mode** (Shift+Tab) — agent plans before implementing + - **@mention** — reference vault files, subagents, MCP servers, external files + - **Slash commands & Skills** — user- and vault-level skill scopes + - **Instruction Mode (#)** — add instructions from chat input + - **MCP Servers** — stdio, SSE, HTTP connections + - **Multi-tab conversations** — fork, resume, compact + - Privacy: no telemetry, stores in vault/.claudian/ + - Requires BRAT or manual install (not yet in community store) + +### ProfSynapse/claudesidian-mcp (now: Nexus) +- URL: https://github.com/ProfSynapse/claudesidian-mcp +- Current name: Nexus MCP for Obsidian +- Approach: Full Obsidian plugin with both native chat AND MCP bridge +- Key features: + - Native chat inside Obsidian (any provider via settings) + - MCP bridge for: Claude Desktop, Claude Code, Codex CLI, Gemini CLI, Cursor, Cline + - **Workspace memory** — persistent context across sessions (JSONL, Obsidian Sync compatible) + - **Task management** — projects, tasks, blockers, dependencies + - **Semantic search** — search notes + past conversations by meaning + - **Inline editing** — edit selected text in notes + - PDF + audio → Markdown conversion (right-click or auto-on-add) + - Web page → Markdown/PNG/PDF capture + - Merge PDFs, concat markdown, mix audio tracks + - Mobile support (native chat) + - Storage: JSONL files in `.obsidian/plugins/nexus/data/` (included in Obsidian Sync) + - Two-tool architecture (see docs) + +--- + +## Category 3: MCP Servers + +### jacksteamdev/obsidian-mcp-tools +- URL: https://github.com/jacksteamdev/obsidian-mcp-tools +- Key features: + - Vault access via Local REST API plugin + - **Semantic search** via Smart Connections integration + - **Templater execution** — run templates from AI with dynamic params + - SLSA Level 3 binary attestation (reproducible, signed builds) + - Requires: Local REST API + Smart Connections + Templater + - Status: Seeking maintainers (open until Sep 2025) + +### YuNaga224/obsidian-memory-mcp +- URL: https://github.com/YuNaga224/obsidian-memory-mcp +- Key features: + - Fork of Anthropic's official memory MCP server + - Stores AI memories as individual Markdown files (not JSON) + - Uses `[[link]]` syntax → entities appear in Obsidian graph view + - YAML frontmatter: entityType, created, updated + - Sections: Observations + Relations per entity + - Tools: create_entities, create_relations, add_observations, search_nodes, read_graph + - Configure via MEMORY_DIR env var pointing to vault folder + +### iansinnott/obsidian-claude-code-mcp +- URL: https://github.com/iansinnott/obsidian-claude-code-mcp +- Key features: WebSocket-based MCP, auto-discovers Obsidian vaults via Claude Code + +### administrativetrick/obsidian-mcp +- URL: https://github.com/administrativetrick/obsidian-mcp +- Minimal MCP server for Claude Desktop vault access + +### dbmcco/obsidian-mcp +- URL: https://github.com/dbmcco/obsidian-mcp +- TDD-developed MCP server for Obsidian + +### MarkusPfundstein/mcp-obsidian +- URL: https://github.com/MarkusPfundstein/mcp-obsidian +- Interacts via Obsidian REST API community plugin + +--- + +## Category 4: Traditional In-Vault AI Plugins (Stars) + +| Plugin | Stars | Feature | +|--------|-------|---------| +| logancyang/obsidian-copilot | 5,776 | Multi-provider AI chat with vault context | +| brianpetro/obsidian-smart-connections | 4,357 | Vector embeddings, semantic search, local models, Claude support | +| nhaouari/obsidian-textgenerator-plugin | 1,837 | Text generation | +| bramses/chatgpt-md | 1,229 | Chat in markdown | +| pfrankov/obsidian-local-gpt | 569 | Local LLM integration | +| infiolab/infio-copilot | unknown | Cursor-inspired: autocomplete, inline edit, workspaces, Insights, dataview queries | +| solderneer/obsidian-ai-tools | 272 | Semantic search via Supabase + OpenAI | + +--- + +## Ecosystem Stats (danielrosehill/Awesome-Obsidian-AI-Tools) +- 86 plugins total, 19,737 combined stars +- 17 categories +- Last updated: 2025-12-15 + +--- + +## Key Design Patterns Across Ecosystem + +### Pattern 1: Delta Tracking +Most mature projects (Ar9av/obsidian-wiki) use a `.manifest.json` to track ingested sources — hash, timestamp, which pages produced. Re-ingest only processes changed/new files. Claude-obsidian currently has no delta tracking. + +### Pattern 2: Multi-Depth Queries +rvk7895 implements 3 tiers: Quick (index only), Standard (wiki + web), Deep (parallel agents). Current claude-obsidian has one depth level in wiki-query. + +### Pattern 3: Goal Cascade Integration +ballred's project connects personal productivity (daily/weekly reviews) with the knowledge base. No PKM projects do this today in claude-obsidian. + +### Pattern 4: Auto-Commit Hooks +ballred uses PostToolUse hooks for auto-git-commit on every file change. This keeps the vault in version control automatically. + +### Pattern 5: Multi-Agent Compatibility +Ar9av's setup.sh deploys skills to Claude Code + Cursor + Windsurf + Codex + Gemini CLI simultaneously. claude-obsidian is Claude Code only. + +### Pattern 6: Hybrid Search +ekadetov uses qmd (BM25 + vector) instead of simple keyword/index search. Big quality improvement for large vaults. + +### Pattern 7: Emerging Schema +Ar9av's wiki has no fixed structure upfront — it emerges from the content. Claude-obsidian has a predefined structure. + +### Pattern 8: Vision Ingestion +Ar9av supports images/screenshots/whiteboards as ingestable sources (vision model required). Claude-obsidian has no image ingestion. + +### Pattern 9: Output Formats +rvk7895 and ekadetov export to Marp slides and matplotlib charts. Claude-obsidian outputs only Markdown. + +### Pattern 10: Vault Adoption +Both claudesidian and ballred/pkm can be adopted onto existing vaults without destroying structure. Claude-obsidian requires starting fresh. + +--- + +## Notable Quotes / Signal + +From rvk7895 README: +> "The LLM owns the wiki. You rarely edit it manually — just explore in Obsidian and keep feeding it raw data." + +From Ar9av README: +> "You write skills once, every agent can use them." +> "The wiki schema isn't fixed upfront. It emerges from your sources." + +From kepano/obsidian-skills (Obsidian creator): +> Uses exact Agent Skills specification format — validates that AgriciDaniel's approach is on spec. + +--- + +## Sources + +- https://github.com/AgriciDaniel/claude-obsidian +- https://github.com/heyitsnoah/claudesidian +- https://github.com/ProfSynapse/claudesidian-mcp +- https://github.com/YishenTu/claudian +- https://github.com/kepano/obsidian-skills +- https://github.com/danielrosehill/Awesome-Obsidian-AI-Tools +- https://github.com/Ar9av/obsidian-wiki +- https://github.com/ekadetov/llm-wiki +- https://github.com/rvk7895/llm-knowledge-bases +- https://github.com/jacksteamdev/obsidian-mcp-tools +- https://github.com/ballred/obsidian-claude-pkm +- https://github.com/infiolab/infio-copilot +- https://github.com/YuNaga224/obsidian-memory-mcp +- https://github.com/iansinnott/obsidian-claude-code-mcp +- https://github.com/ussumant/llm-wiki-compiler +- https://github.com/logancyang/obsidian-copilot +- https://github.com/brianpetro/obsidian-smart-connections +- https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f diff --git a/hooks/hooks.json b/hooks/hooks.json index d34867e..ff9440b 100644 --- a/hooks/hooks.json +++ b/hooks/hooks.json @@ -11,6 +11,17 @@ ] } ], + "PostToolUse": [ + { + "matcher": "Write|Edit", + "hooks": [ + { + "type": "command", + "command": "git add wiki/ .raw/ 2>/dev/null && (git diff --cached --quiet || git commit -m \"wiki: auto-commit $(date '+%Y-%m-%d %H:%M')\" 2>/dev/null) || true" + } + ] + } + ], "Stop": [ { "matcher": "", diff --git a/skills/autoresearch/SKILL.md b/skills/autoresearch/SKILL.md index 9369e03..69afc41 100644 --- a/skills/autoresearch/SKILL.md +++ b/skills/autoresearch/SKILL.md @@ -8,7 +8,6 @@ description: > Triggers on: "/autoresearch", "autoresearch", "research [topic]", "deep dive into [topic]", "investigate [topic]", "find everything about [topic]", "research and file", "go research", "build a wiki on". -allowed-tools: ["Read", "Write", "Edit", "WebSearch", "WebFetch", "Bash", "Glob", "Grep"] --- # autoresearch — Autonomous Research Loop diff --git a/skills/canvas/SKILL.md b/skills/canvas/SKILL.md index df33ffb..67cb04b 100644 --- a/skills/canvas/SKILL.md +++ b/skills/canvas/SKILL.md @@ -1,7 +1,6 @@ --- name: canvas description: "Visual layer of the wiki. Add images, text cards, PDFs, and wiki pages to Obsidian canvas files with auto-positioning inside zones. Integrates with /banana for image capture. Triggers on: /canvas, canvas new, canvas add image, canvas add text, canvas add pdf, canvas add note, canvas zone, canvas list, canvas from banana, add to canvas, put this on the canvas, open canvas, create canvas." -allowed-tools: ["Read", "Write", "Edit", "Bash", "Glob"] --- # canvas — Visual Reference Layer @@ -11,7 +10,7 @@ The three knowledge capture layers: - `/autoresearch` → structured knowledge (wiki/sources/, wiki/concepts/) - `/canvas` → visual references (wiki/canvases/) -A canvas is a JSON file Obsidian renders as an infinite visual board. This skill reads and writes canvas JSON directly. Read `references/canvas-spec.md` for the full format reference before making any edits. +A canvas is a JSON file Obsidian renders as an infinite visual board. This skill reads and writes canvas JSON directly. Read `references/canvas-spec.md` for the full format reference before making any edits. This spec aligns with the [JSON Canvas open standard](https://jsoncanvas.org/) — if `kepano/obsidian-skills` is installed, its `json-canvas` skill is the authoritative cross-platform reference. --- diff --git a/skills/defuddle/SKILL.md b/skills/defuddle/SKILL.md new file mode 100644 index 0000000..dba7ba7 --- /dev/null +++ b/skills/defuddle/SKILL.md @@ -0,0 +1,83 @@ +--- +name: defuddle +description: "Strip clutter from web pages before ingesting into the wiki. Removes ads, navigation, headers, footers, and boilerplate — leaving clean readable markdown that saves 40-60% tokens. Triggers on: defuddle, clean this page, strip this url, fetch and clean, clean web content before ingesting." +--- + +# defuddle — Web Page Cleaner + +Defuddle extracts the meaningful content from a web page and drops everything else: ads, cookie banners, nav bars, related articles, footers, social sharing buttons. What remains is the article body as clean markdown. + +Use this before any URL ingestion. It is optional but strongly recommended — it cuts token usage by 40-60% on typical web articles and produces cleaner wiki pages. + +--- + +## Install + +```bash +npm install -g defuddle-cli +``` + +Verify: `defuddle --version` + +--- + +## Usage + +### Clean a URL directly +```bash +defuddle https://example.com/article +``` +Outputs clean markdown to stdout. + +### Save to .raw/ +```bash +defuddle https://example.com/article > .raw/articles/article-slug-$(date +%Y-%m-%d).md +``` + +### Add frontmatter header after saving +After running defuddle, prepend the source URL and fetch date: +```bash +SLUG="article-slug-$(date +%Y-%m-%d)" +{ echo "---"; echo "source_url: https://example.com/article"; echo "fetched: $(date +%Y-%m-%d)"; echo "---"; echo ""; defuddle https://example.com/article; } > .raw/articles/$SLUG.md +``` + +### Clean a local HTML file +```bash +defuddle page.html +``` + +--- + +## When to Use + +**Use defuddle when:** +- Ingesting a news article, blog post, or documentation page from a URL +- The page has a lot of surrounding content (most web pages do) +- You want to stay within token budget on a long article + +**Skip defuddle when:** +- The source is already a clean markdown or PDF file +- The page is a dashboard, app, or structured data (defuddle expects article-style content) +- defuddle is not installed and the article is short enough to process raw + +--- + +## Fallback + +If defuddle is not installed, check: + +```bash +which defuddle 2>/dev/null || echo "not installed" +``` + +If not installed: use WebFetch directly. The content will be less clean but still workable. + +--- + +## Integration with /wiki-ingest + +The `/wiki-ingest` skill checks for defuddle automatically when a URL is passed. You do not need to run defuddle manually before ingesting a URL — the ingest skill will call it if available. + +To manually clean a page and save before ingesting: +1. Run the save command above +2. Then: `ingest .raw/articles/[slug].md` diff --git a/skills/obsidian-bases/SKILL.md b/skills/obsidian-bases/SKILL.md new file mode 100644 index 0000000..782793b --- /dev/null +++ b/skills/obsidian-bases/SKILL.md @@ -0,0 +1,292 @@ +--- +name: obsidian-bases +description: "Create and edit Obsidian Bases (.base files) — Obsidian's native database layer for dynamic tables, card views, list views, filters, formulas, and summaries over vault notes. Triggers on: create a base, add a base file, obsidian bases, base view, filter notes, formula, database view, dynamic table, task tracker base, reading list base." +--- + +# obsidian-bases — Obsidian's Database Layer + +Obsidian Bases (launched 2025) turns vault notes into queryable, dynamic views — tables, cards, lists, maps — defined in `.base` files. No plugin required; it is a core Obsidian feature. + +**Authoritative reference**: `kepano/obsidian-skills` publishes the canonical `obsidian-bases` skill with full syntax and function reference. Use this skill alongside that one. Official docs: https://help.obsidian.md/bases/syntax + +--- + +## File Format + +`.base` files contain valid YAML. The root keys are `filters`, `formulas`, `properties`, `summaries`, and `views`. + +```yaml +# Global filters — apply to ALL views +filters: + and: + - file.hasTag("wiki") + - 'status != "archived"' + +# Computed properties +formulas: + age_days: '(now() - file.ctime).days.round(0)' + status_icon: 'if(status == "mature", "✅", "🔄")' + +# Display name overrides for properties panel +properties: + status: + displayName: "Status" + formula.age_days: + displayName: "Age (days)" + +# One or more views +views: + - type: table + name: "All Pages" + order: + - file.name + - type + - status + - updated + - formula.age_days +``` + +--- + +## Filters + +Filters select which notes appear. Applied globally or per-view. + +```yaml +# Single string filter +filters: 'status == "current"' + +# AND — all must be true +filters: + and: + - 'status != "archived"' + - file.hasTag("wiki") + +# OR — any can be true +filters: + or: + - file.hasTag("concept") + - file.hasTag("entity") + +# NOT — exclude matches +filters: + not: + - file.inFolder("wiki/meta") + +# Nested +filters: + and: + - file.inFolder("wiki/") + - or: + - 'type == "concept"' + - 'type == "entity"' +``` + +### Filter operators + +`==` `!=` `>` `<` `>=` `<=` + +### Useful filter functions + +| Function | Example | +|----------|---------| +| `file.hasTag("x")` | Notes with tag `x` | +| `file.inFolder("path/")` | Notes in folder | +| `file.hasLink("Note")` | Notes linking to Note | + +--- + +## Properties + +Three types: +- **Note properties** — from frontmatter: `status`, `type`, `updated` +- **File properties** — metadata: `file.name`, `file.mtime`, `file.size`, `file.ctime`, `file.tags`, `file.folder` +- **Formula properties** — computed: `formula.age_days` + +--- + +## Formulas + +Defined in `formulas:`. Referenced as `formula.name` in `order:` and `properties:`. + +```yaml +formulas: + # Days since created + age_days: '(now() - file.ctime).days.round(0)' + + # Days until a date property + days_until: 'if(due_date, (date(due_date) - today()).days, "")' + + # Conditional label + status_icon: 'if(status == "mature", "✅", if(status == "developing", "🔄", "🌱"))' + + # Word count estimate + word_est: '(file.size / 5).round(0)' +``` + +**Key rule**: Subtracting two dates returns a `Duration` — not a number. Always access `.days` first: +```yaml +# CORRECT +age: '(now() - file.ctime).days' + +# WRONG — crashes +age: '(now() - file.ctime).round(0)' +``` + +**Always guard nullable properties with `if()`**: +```yaml +# CORRECT +days_left: 'if(due_date, (date(due_date) - today()).days, "")' +``` + +--- + +## View Types + +### Table +```yaml +views: + - type: table + name: "Wiki Index" + limit: 100 + order: + - file.name + - type + - status + - updated + groupBy: + property: type + direction: ASC +``` + +### Cards +```yaml +views: + - type: cards + name: "Gallery" + order: + - file.name + - tags + - status +``` + +### List +```yaml +views: + - type: list + name: "Quick List" + order: + - file.name + - status +``` + +--- + +## Wiki Vault Templates + +### Wiki content dashboard (all non-meta pages) + +```yaml +filters: + and: + - file.inFolder("wiki/") + - not: + - file.inFolder("wiki/meta") + +formulas: + age: '(now() - file.ctime).days.round(0)' + +properties: + formula.age: + displayName: "Age (days)" + +views: + - type: table + name: "All Wiki Pages" + order: + - file.name + - type + - status + - updated + - formula.age + groupBy: + property: type + direction: ASC +``` + +### Entity index (people, orgs, repos) + +```yaml +filters: + and: + - file.inFolder("wiki/entities/") + - 'file.ext == "md"' + +views: + - type: table + name: "Entities" + order: + - file.name + - entity_type + - status + - updated + groupBy: + property: entity_type + direction: ASC +``` + +### Recent ingests + +```yaml +filters: + and: + - file.inFolder("wiki/sources/") + +views: + - type: table + name: "Sources" + order: + - file.name + - source_type + - created + - status + groupBy: + property: source_type + direction: ASC +``` + +--- + +## Embedding in Notes + +```markdown +![[MyBase.base]] + +![[MyBase.base#View Name]] +``` + +--- + +## Where to Save + +Store `.base` files in `wiki/meta/` for vault dashboards: +- `wiki/meta/dashboard.base` — main content view +- `wiki/meta/entities.base` — entity tracker +- `wiki/meta/sources.base` — ingestion log + +--- + +## YAML Quoting Rules + +- Formulas with double quotes → wrap in single quotes: `'if(done, "Yes", "No")'` +- Strings with colons or special chars → wrap in double quotes: `"Status: Active"` +- Unquoted strings with `:` break YAML parsing + +--- + +## What Not to Do + +- Do not use `from:` or `where:` — those are Dataview syntax, not Obsidian Bases +- Do not use `sort:` at the root level — sorting is per-view via `order:` and `groupBy:` +- Do not put `.base` files outside the vault — they only render inside Obsidian +- Do not reference `formula.X` in `order:` without defining `X` in `formulas:` diff --git a/skills/obsidian-markdown/SKILL.md b/skills/obsidian-markdown/SKILL.md new file mode 100644 index 0000000..af1c5cb --- /dev/null +++ b/skills/obsidian-markdown/SKILL.md @@ -0,0 +1,226 @@ +--- +name: obsidian-markdown +description: "Write correct Obsidian Flavored Markdown — wikilinks, embeds, callouts, properties, tags, highlights, math, and canvas syntax. Reference this when creating or editing any wiki page. Triggers on: write obsidian note, obsidian syntax, wikilink, callout, embed, obsidian markdown." +--- + +# obsidian-markdown — Obsidian Flavored Markdown + +Reference this skill when writing any wiki page. Obsidian extends standard Markdown with wikilinks, embeds, callouts, and properties. Getting syntax wrong causes broken links, invisible callouts, or malformed frontmatter. + +**Cross-reference**: `kepano/obsidian-skills` publishes the authoritative cross-platform version of this skill at [github.com/kepano/obsidian-skills](https://github.com/kepano/obsidian-skills). If installed, that skill is the canonical reference — use it alongside this one. + +--- + +## Wikilinks + +Internal links use double brackets. The filename without extension. + +```markdown +[[Note Name]] — basic link +[[Note Name|Display Text]] — aliased link (shows "Display Text") +[[Note Name#Heading]] — link to a specific heading +[[Note Name#^block-id]] — link to a specific block +``` + +Rules: +- Case-sensitive on some systems. Match the exact filename. +- No path needed — Obsidian resolves by filename uniqueness. +- If two files have the same name, use `[[Folder/Note Name]]` to disambiguate. + +--- + +## Embeds + +Embeds use `!` before the wikilink. They display the content inline. + +```markdown +![[Note Name]] — embed a full note +![[Note Name#Heading]] — embed a section +![[image.png]] — embed an image +![[image.png|300]] — embed image with width 300px +![[document.pdf]] — embed a PDF (Obsidian renders natively) +![[audio.mp3]] — embed audio +``` + +--- + +## Callouts + +Callouts are blockquotes with a type keyword. They render as styled alert boxes. + +```markdown +> [!note] +> Default informational callout. + +> [!note] Custom Title +> Callout with a custom title. + +> [!note]- Collapsible (closed by default) +> Click to expand. + +> [!note]+ Collapsible (open by default) +> Click to collapse. +``` + +### All callout types + +| Type | Aliases | Use for | +|------|---------|---------| +| `note` | — | General notes | +| `abstract` | `summary`, `tldr` | Summaries | +| `info` | — | Information | +| `todo` | — | Action items | +| `tip` | `hint`, `important` | Tips and highlights | +| `success` | `check`, `done` | Positive outcomes | +| `question` | `help`, `faq` | Open questions | +| `warning` | `caution`, `attention` | Warnings | +| `failure` | `fail`, `missing` | Errors or failures | +| `danger` | `error` | Critical issues | +| `bug` | — | Known bugs | +| `example` | — | Examples | +| `quote` | `cite` | Quotations | +| `contradiction` | — | Conflicting information (wiki convention) | + +--- + +## Properties (Frontmatter) + +Obsidian renders YAML frontmatter as a Properties panel. Rules: + +```yaml +--- +type: concept # plain string +title: "Note Title" # quoted if it contains special chars +created: 2026-04-08 # date as YYYY-MM-DD (not ISO datetime) +updated: 2026-04-08 +tags: + - tag-one # list items use - format + - tag-two +status: developing +related: + - "[[Other Note]]" # wikilinks must be quoted in YAML +sources: + - "[[source-page]]" +--- +``` + +Rules: +- Flat YAML only. Never nest objects. +- Dates as `YYYY-MM-DD`, not `2026-04-08T00:00:00`. +- Lists as `- item`, not inline `[a, b, c]`. +- Wikilinks in YAML must be quoted: `"[[Page]]"`. +- `tags` field: Obsidian reads this as the tag list, searchable in vault. + +--- + +## Tags + +Two valid forms: + +```markdown +#tag-name — inline tag anywhere in the body +#parent/child-tag — nested tag (shows hierarchy in tag pane) +``` + +In frontmatter: +```yaml +tags: + - research + - ai/obsidian +``` + +Do not use `#` inside frontmatter tag lists — just the tag name. + +--- + +## Text Formatting + +Standard Markdown plus Obsidian extensions: + +```markdown +**bold** — bold +*italic* — italic +~~strikethrough~~ — strikethrough +==highlight== — highlighted text (yellow in Obsidian) +`inline code` — inline code +``` + +--- + +## Math + +Obsidian uses MathJax/KaTeX: + +```markdown +$E = mc^2$ — inline math + +$$ +\int_0^\infty e^{-x} dx = 1 +$$ — block math +``` + +--- + +## Code Blocks + +Standard fenced code blocks. Obsidian highlights all common languages: + +````markdown +```python +def hello(): + return "world" +``` +```` + +--- + +## Tables + +Standard Markdown tables: + +```markdown +| Column A | Column B | Column C | +|----------|----------|----------| +| Value | Value | Value | +| Value | Value | Value | +``` + +Obsidian renders tables natively. No plugin needed. + +--- + +## Mermaid Diagrams + +Obsidian renders Mermaid natively: + +````markdown +```mermaid +graph TD + A[Start] --> B{Decision} + B -->|Yes| C[End] + B -->|No| D[Loop] + D --> A +``` +```` + +Supported: `graph`, `sequenceDiagram`, `gantt`, `classDiagram`, `pie`, `flowchart`. + +--- + +## Footnotes + +```markdown +This sentence has a footnote.[^1] + +[^1]: The footnote text goes here. +``` + +--- + +## What NOT to Do + +- Do not use `[link text](path/to/note.md)` for internal links — use `[[Note Name]]` instead. +- Do not use HTML inside callouts — stick to Markdown. +- Do not use `##` inside a callout body — headings don't render inside callouts. +- Do not write `tags: [a, b, c]` inline in frontmatter — Obsidian prefers the list format. +- Do not write ISO datetimes in frontmatter (`2026-04-08T00:00:00Z`) — use `2026-04-08`. diff --git a/skills/save/SKILL.md b/skills/save/SKILL.md index 40ee071..5e71275 100644 --- a/skills/save/SKILL.md +++ b/skills/save/SKILL.md @@ -7,7 +7,6 @@ description: > Triggers on: "save this", "save that answer", "/save", "file this", "save to wiki", "save this session", "file this conversation", "keep this", "save this analysis", "add this to the wiki". -allowed-tools: ["Read", "Write", "Edit", "Bash", "Glob"] --- # save — File Conversations Into the Wiki diff --git a/skills/wiki-ingest/SKILL.md b/skills/wiki-ingest/SKILL.md index 7887fd2..56c2e62 100644 --- a/skills/wiki-ingest/SKILL.md +++ b/skills/wiki-ingest/SKILL.md @@ -1,17 +1,97 @@ --- name: wiki-ingest -description: > - Ingest sources into the Obsidian wiki vault. Reads a source, extracts entities - and concepts, creates or updates wiki pages, cross-references, and logs the operation. - Supports single sources and batch mode. Triggers on: "ingest", "process this source", - "add this to the wiki", "read and file this", "batch ingest", "ingest all of these". -allowed-tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"] +description: "Ingest sources into the Obsidian wiki vault. Reads a source, extracts entities and concepts, creates or updates wiki pages, cross-references, and logs the operation. Supports files, URLs, and batch mode. Triggers on: ingest, process this source, add this to the wiki, read and file this, batch ingest, ingest all of these, ingest this url." --- # wiki-ingest — Source Ingestion Read the source. Write the wiki. Cross-reference everything. A single source typically touches 8-15 wiki pages. +**Syntax standard**: Write all Obsidian Markdown using proper Obsidian Flavored Markdown — wikilinks as `[[Note Name]]`, callouts as `> [!type] Title`, embeds as `![[file]]`, properties as YAML frontmatter. If kepano/obsidian-skills is installed, its `obsidian-markdown` skill is the authoritative syntax reference. + +--- + +## Delta Tracking + +Before ingesting any file, check `.raw/.manifest.json` to avoid re-processing unchanged sources. + +```bash +# Check if manifest exists +[ -f .raw/.manifest.json ] && echo "exists" || echo "no manifest yet" +``` + +**Manifest format** (create if missing): +```json +{ + "sources": { + ".raw/articles/article-slug-2026-04-08.md": { + "hash": "abc123", + "ingested_at": "2026-04-08", + "pages_created": ["wiki/sources/article-slug.md", "wiki/entities/Person.md"], + "pages_updated": ["wiki/index.md"] + } + } +} +``` + +**Before ingesting a file:** +1. Compute a hash: `md5sum [file] | cut -d' ' -f1` (or `sha256sum` on Linux). +2. Check if the path exists in `.manifest.json` with the same hash. +3. If hash matches — skip. Report: "Already ingested (unchanged). Use `force` to re-ingest." +4. If missing or hash differs — proceed with ingest. + +**After ingesting a file:** +1. Record `{hash, ingested_at, pages_created, pages_updated}` in `.manifest.json`. +2. Write the updated manifest back. + +Skip delta checking if the user says "force ingest" or "re-ingest". + +--- + +## URL Ingestion + +Trigger: user passes a URL starting with `https://`. + +Steps: + +1. **Fetch** the page using WebFetch. +2. **Clean** (optional): if `defuddle` is available (`which defuddle 2>/dev/null`), run `defuddle [url]` to strip ads, nav, and clutter — typically saves 40-60% tokens. Fall back to raw WebFetch output if not installed. +3. **Derive slug** from the URL path (last segment, lowercased, spaces→hyphens, strip query strings). +4. **Save** to `.raw/articles/[slug]-[YYYY-MM-DD].md` with a frontmatter header: + ```markdown + --- + source_url: [url] + fetched: [YYYY-MM-DD] + --- + ``` +5. Proceed with **Single Source Ingest** starting at step 2 (file is now in `.raw/`). + +--- + +## Image / Vision Ingestion + +Trigger: user passes an image file path (`.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.svg`, `.avif`). + +Steps: + +1. **Read** the image file using the Read tool — Claude can process images natively. +2. **Describe** the image contents: extract all text (OCR), identify key concepts, entities, diagrams, and data visible in the image. +3. **Save** the description to `.raw/images/[slug]-[YYYY-MM-DD].md`: + ```markdown + --- + source_type: image + original_file: [original path] + fetched: YYYY-MM-DD + --- + # Image: [slug] + + [Full description of image contents, transcribed text, entities visible, etc.] + ``` +4. Copy the image to `_attachments/images/[slug].[ext]` if it's not already in the vault. +5. Proceed with **Single Source Ingest** on the saved description file. + +Use cases: whiteboard photos, screenshots, diagrams, infographics, document scans. + --- ## Single Source Ingest diff --git a/skills/wiki-lint/SKILL.md b/skills/wiki-lint/SKILL.md index 9a0a58b..e707028 100644 --- a/skills/wiki-lint/SKILL.md +++ b/skills/wiki-lint/SKILL.md @@ -5,7 +5,6 @@ description: > missing cross-references, frontmatter gaps, and empty sections. Creates or updates Dataview dashboards. Generates canvas maps. Triggers on: "lint", "health check", "clean up wiki", "check the wiki", "wiki maintenance", "find orphans", "wiki audit". -allowed-tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"] --- # wiki-lint — Wiki Health Check diff --git a/skills/wiki-query/SKILL.md b/skills/wiki-query/SKILL.md index e9fff99..c1de8d2 100644 --- a/skills/wiki-query/SKILL.md +++ b/skills/wiki-query/SKILL.md @@ -1,11 +1,6 @@ --- name: wiki-query -description: > - Answer questions using the Obsidian wiki vault. Reads hot cache first, then index, - then relevant pages. Synthesizes answers with citations. Files good answers back - as wiki pages. Triggers on: "what do you know about", "query:", "what is", "explain", - "summarize", "find in wiki", "search the wiki", "based on the wiki". -allowed-tools: ["Read", "Write", "Bash", "Glob", "Grep"] +description: "Answer questions using the Obsidian wiki vault. Reads hot cache first, then index, then relevant pages. Synthesizes answers with citations. Files good answers back as wiki pages. Supports quick, standard, and deep modes. Triggers on: what do you know about, query:, what is, explain, summarize, find in wiki, search the wiki, based on the wiki, wiki query quick, wiki query deep." --- # wiki-query — Query the Wiki @@ -14,7 +9,32 @@ The wiki has already done the synthesis work. Read strategically, answer precise --- -## Query Workflow +## Query Modes + +Three depths. Choose based on the question complexity. + +| Mode | Trigger | Reads | Token cost | Best for | +|------|---------|-------|------------|---------| +| **Quick** | `query quick: ...` or simple factual Q | hot.md + index.md only | ~1,500 | "What is X?", date lookups, quick facts | +| **Standard** | default (no flag) | hot.md + index + 3-5 pages | ~3,000 | Most questions | +| **Deep** | `query deep: ...` or "thorough", "comprehensive" | Full wiki + optional web | ~8,000+ | "Compare A vs B across everything", synthesis, gap analysis | + +--- + +## Quick Mode + +Use when the answer is likely in the hot cache or index summary. + +1. Read `wiki/hot.md`. If it answers the question — respond immediately. +2. If not: read `wiki/index.md`. Scan descriptions for the answer. +3. If found in index summary — respond. Do not open any pages. +4. If not found — say "Not in quick cache. Run as standard query?" + +Do not open individual wiki pages in quick mode. + +--- + +## Standard Query Workflow 1. **Read** `wiki/hot.md` first. It may already have the answer or directly relevant context. 2. **Read** `wiki/index.md` to find the most relevant pages (scan for titles and descriptions). @@ -25,6 +45,19 @@ The wiki has already done the synthesis work. Read strategically, answer precise --- +## Deep Mode + +Use for synthesis questions, comparisons, or "tell me everything about X." + +1. Read `wiki/hot.md` and `wiki/index.md`. +2. Identify all relevant sections (concepts, entities, sources, comparisons). +3. Read every relevant page — no skipping. +4. If wiki coverage is thin, offer to supplement with web search. +5. Synthesize a comprehensive answer with full citations. +6. Always file the result back as a wiki page — deep answers are too valuable to lose. + +--- + ## Token Discipline Read the minimum needed: diff --git a/skills/wiki/SKILL.md b/skills/wiki/SKILL.md index 1362af3..03cfc37 100644 --- a/skills/wiki/SKILL.md +++ b/skills/wiki/SKILL.md @@ -7,7 +7,6 @@ description: > Triggers on: "set up wiki", "scaffold vault", "create knowledge base", "/wiki", "wiki setup", "obsidian vault", "knowledge base", "second brain setup", "running notetaker", "persistent memory", "llm wiki". -allowed-tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"] --- # wiki — Claude + Obsidian Knowledge Companion diff --git a/wiki/comparisons/claude-obsidian-ecosystem.md b/wiki/comparisons/claude-obsidian-ecosystem.md new file mode 100644 index 0000000..b5e793c --- /dev/null +++ b/wiki/comparisons/claude-obsidian-ecosystem.md @@ -0,0 +1,145 @@ +--- +type: comparison +title: "Claude + Obsidian Ecosystem: Feature Matrix" +created: 2026-04-08 +updated: 2026-04-08 +tags: + - ecosystem + - competitive-analysis + - claude-obsidian + - cherry-picks +status: current +related: + - "[[cherry-picks]]" + - "[[LLM Wiki Pattern]]" + - "[[Andrej Karpathy]]" +sources: + - "[[claude-obsidian-ecosystem-research]]" +--- + +# Claude + Obsidian Ecosystem: Feature Matrix + +> Researched 2026-04-08 | 16+ projects analyzed | See [[cherry-picks]] for action items + +--- + +## Legend +- ✅ Has it +- ❌ Missing +- 🟡 Partial +- ⭐ Best-in-class implementation + +--- + +## LLM Wiki Pattern Projects (Claude Code Skills) + +| Feature | claude-obsidian | claudesidian | llm-knowledge-bases | llm-wiki | obsidian-wiki | obsidian-claude-pkm | +|---------|:-:|:-:|:-:|:-:|:-:|:-:| +| /wiki setup & scaffold | ✅ | 🟡 `/init-bootstrap` | 🟡 `/kb-init` | ✅ | ✅ setup.sh | 🟡 `/onboard` | +| Source ingestion | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | +| Wiki query | ✅ | ❌ | ✅ 3 depths | 🟡 | ✅ | ❌ | +| Wiki lint | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | +| /save conversation | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | +| Autoresearch loop | ✅ | ❌ | 🟡 | ❌ | ❌ | ❌ | +| Canvas / visual layer | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | +| Hot cache | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | +| **Delta tracking** | ❌ | ❌ | ❌ | ❌ | ✅⭐ | ❌ | +| **Multi-depth query** | ❌ | ❌ | ✅⭐ | ❌ | ❌ | ❌ | +| **URL ingestion** | ❌ | 🟡 firecrawl | ❌ | ✅ | ✅ | ❌ | +| **Vision / image ingest** | ❌ | 🟡 gemini | ❌ | ❌ | ✅⭐ | ❌ | +| **Auto-commit hooks** | ❌ | ❌ | ❌ | ✅ git | ❌ | ✅⭐ | +| **Marp / slides output** | ❌ | ❌ | ✅⭐ | ✅ | ❌ | ❌ | +| **Chart output** | ❌ | ❌ | ✅ matplotlib | ❌ | ❌ | ❌ | +| **Hybrid search (BM25+vec)** | ❌ | ❌ | ❌ | ✅⭐ qmd | ❌ | ❌ | +| **Goal cascade (PKM)** | ❌ | 🟡 PARA | ❌ | ❌ | ❌ | ✅⭐ | +| **Daily/weekly review** | ❌ | 🟡 | ❌ | ❌ | ❌ | ✅⭐ | +| **Adopt existing vault** | ❌ | ✅⭐ | ❌ | ❌ | ❌ | ✅⭐ | +| **Multi-agent compat.** | ❌ | ❌ | ❌ | ❌ | ✅⭐ | ❌ | +| **X/Twitter ingest** | ❌ | ❌ | ✅⭐ smaug | ❌ | ❌ | ❌ | +| Marketplace install | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | +| Public repo | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | + +--- + +## Native Obsidian Plugins (Embedded UI) + +| Feature | Claudian | Nexus (claudesidian-mcp) | infio-copilot | +|---------|:-:|:-:|:-:| +| Sidebar chat in Obsidian | ✅ | ✅ | ✅ | +| Inline edit w/ diff | ✅⭐ word-level | ✅ | ✅ | +| Plan mode | ✅⭐ Shift+Tab | ❌ | ❌ | +| @mention files/agents | ✅⭐ | ❌ | 🟡 | +| MCP server support | ✅ | ✅⭐ external | ❌ | +| Multi-tab conversations | ✅ | ❌ | ❌ | +| Workspace memory | ❌ | ✅⭐ JSONL | ✅ workspaces | +| Task management | ❌ | ✅⭐ | ❌ | +| Semantic search | ❌ | ✅ | ✅⭐ local embed | +| PDF → Markdown | ❌ | ✅ | ❌ | +| Web page capture | ❌ | ✅ | ❌ | +| Mobile support | ❌ | ✅⭐ | ❌ | +| Obsidian Sync compatible | N/A | ✅⭐ | N/A | +| Stars / popularity | ~200 est. | ~800 est. | ~300 est. | + +--- + +## MCP Servers + +| Server | Key Differentiator | Requires | +|--------|-------------------|----------| +| obsidian-mcp-tools | Templater execution + SLSA attestation | Local REST API + Smart Connections | +| obsidian-memory-mcp | AI memories as Markdown in graph view | Node 18+ | +| obsidian-claude-code-mcp | WebSocket, auto-discovers vaults | Claude Code | +| administrativetrick/obsidian-mcp | Minimal, simple | Claude Desktop | +| MarkusPfundstein/mcp-obsidian | Via REST API | Local REST API | + +--- + +## kepano/obsidian-skills (Special — from Obsidian Creator) + +Linus Kepano (Obsidian creator + Minimal theme) published official Agent Skills for Obsidian: + +| Skill | What It Teaches | +|-------|----------------| +| obsidian-markdown | Obsidian Flavored Markdown (callouts, embeds, wikilinks, properties) | +| obsidian-bases | Obsidian Bases (.base files, views, filters, formulas) | +| json-canvas | JSON Canvas spec (.canvas nodes/edges/groups) | +| obsidian-cli | Vault management via Obsidian CLI | +| defuddle | Extract clean Markdown from web pages (saves tokens) | + +> **Key signal**: This project validates that the Agent Skills format is the right standard. +> These skills are platform-agnostic (Claude Code, Codex, OpenCode). + +--- + +## Popularity Snapshot (Traditional Plugins) + +| Plugin | Stars | Approach | +|--------|-------|---------| +| obsidian-copilot | 5,776 | Multi-provider vault chat | +| obsidian-smart-connections | 4,357 | Semantic search + embeddings | +| obsidian-textgenerator-plugin | 1,837 | Text generation | +| chatgpt-md | 1,229 | Chat in Markdown | +| obsidian-local-gpt | 569 | Local LLM | +| obsidian-ai-tools | 272 | Supabase + OpenAI semantic search | + +--- + +## Where claude-obsidian Wins + +1. **Hot cache** — session context mechanism is unique in the ecosystem +2. **Canvas skill** — no other LLM Wiki project has a visual layer +3. **Marketplace install** — most polished install experience +4. **/save conversation** — filing chat sessions as wiki pages is unique +5. **Pub quality docs** — README, install guide, demo GIFs +6. **Dual repo** (public + community) — distribution model unique + +## Where claude-obsidian Has Gaps + +See [[cherry-picks]] for prioritized list with implementation notes. + +Top 5 gaps by impact: +1. No delta tracking → re-ingests everything on every compile +2. No URL ingestion → forces manual copy-paste +3. No auto-commit → vault changes aren't versioned automatically +4. No multi-depth query → one mode for all questions +5. No vision input → can't ingest screenshots or images diff --git a/wiki/concepts/cherry-picks.md b/wiki/concepts/cherry-picks.md new file mode 100644 index 0000000..850c156 --- /dev/null +++ b/wiki/concepts/cherry-picks.md @@ -0,0 +1,156 @@ +--- +type: concept +title: "Cherry-Picks: Feature Backlog from Ecosystem Research" +created: 2026-04-08 +updated: 2026-04-08 +tags: + - backlog + - cherry-picks + - product-roadmap + - claude-obsidian +status: current +related: + - "[[claude-obsidian-ecosystem]]" + - "[[LLM Wiki Pattern]]" +sources: + - "[[claude-obsidian-ecosystem-research]]" +--- + +# Cherry-Picks: Feature Backlog + +> Sourced from ecosystem research 2026-04-08 | 16+ projects analyzed +> Prioritized by: impact × implementation ease × uniqueness + +--- + +## Tier 1 — Quick Wins (High Impact, Low Effort) + +### 1. URL Ingestion in /wiki-ingest +**Source**: ekadetov/llm-wiki, Ar9av/obsidian-wiki +**What it is**: Pass a URL directly to ingest instead of a file path. Agent fetches the page, cleans it, saves to `.raw/`, then ingests. +**Current state**: Users must manually copy-paste web content. +**How to add**: Detect `https://` prefix in ingest skill → WebFetch → save to `.raw/articles/` → proceed with normal ingest. +**Bonus**: Pair with **defuddle** (kepano's web cleaner) for clean token-efficient extraction. + +### 2. Auto-Commit PostToolUse Hook +**Source**: ballred/obsidian-claude-pkm, ekadetov/llm-wiki +**What it is**: Every Write/Edit tool call in the vault triggers `git add -A && git commit -m "auto: [filename] [timestamp]"`. +**Current state**: No auto-commit. Users must manually push. +**How to add**: PostToolUse hook in hooks.json targeting Write + Edit tools, scoped to wiki/ directory. +**Note**: Makes vault a proper version-controlled knowledge base automatically. + +### 3. defuddle Web Cleaning Skill +**Source**: kepano/obsidian-skills +**What it is**: A skill that wraps `defuddle-cli` — strips ads, nav, clutter from web pages before ingest. Reduces token usage ~40-60% on typical web articles. +**How to add**: New `defuddle` sub-skill or reference in wiki-ingest. Requires `defuddle-cli` npm package. + +--- + +## Tier 2 — Medium Effort, High Value + +### 4. Delta Tracking Manifest +**Source**: Ar9av/obsidian-wiki +**What it is**: `.raw/.manifest.json` tracking every ingested source — path, hash, timestamp, which wiki pages it produced. Re-ingest only processes new/changed files. +**Current state**: Every `/wiki-ingest` call re-processes everything. +**How to add**: + - On ingest: compute MD5 hash of source → check manifest → skip if unchanged + - On ingest: record `{path, hash, ingested_at, pages_created}` in manifest + - On update: re-process if hash changed, merge changes into existing pages + +### 5. Multi-Depth Query Modes +**Source**: rvk7895/llm-knowledge-bases +**What it is**: 3 query tiers in `/wiki-query`: + - **Quick** — hot.md + index.md only (~3 pages read) + - **Standard** — full wiki cross-reference + optional web search supplement + - **Deep** — parallel sub-agents, each researching a different angle +**Current state**: One depth level. +**How to add**: `/wiki-query quick `, `/wiki-query deep ` flags in SKILL.md. + +### 6. /wiki-ingest Vision Support +**Source**: Ar9av/obsidian-wiki +**What it is**: Ingest images, screenshots, whiteboard photos by passing the image to a vision-capable model. +**How to add**: Detect image extension → read as base64 → pass to Claude with vision prompt asking for transcription/description → treat result as text source → standard ingest pipeline. +**Useful for**: Whiteboard photos from meetings, screenshots of web content, diagrams. + +--- + +## Tier 3 — Bigger Features Worth Planning + +### 7. /adopt — Import Existing Vault +**Source**: heyitsnoah/claudesidian, ballred/obsidian-claude-pkm +**What it is**: `/adopt` analyzes an existing Obsidian vault, detects its organization method (PARA, Zettelkasten, LYT, plain), and wraps the LLM Wiki pattern around it without destroying existing structure. +**Why it matters**: Currently, users must start fresh. This unlocks adoption by people with existing vaults. +**Implementation**: Scan folder structure → classify patterns → generate CLAUDE.md mapping existing folders to wiki roles → non-destructive. + +### 8. Productivity Wrapper (Daily/Weekly Reviews) +**Source**: ballred/obsidian-claude-pkm +**What it is**: Optional `/daily` and `/weekly` skills that connect goal tracking to the knowledge base. +**Could be a separate plugin** rather than bundled into claude-obsidian. +**Goal cascade**: 3-Year Vision → Yearly Goals → Projects → Weekly → Daily. + +### 9. Multi-Agent Compatibility (Cursor, Windsurf, Codex) +**Source**: Ar9av/obsidian-wiki, kepano/obsidian-skills +**What it is**: A `setup.sh` or `/wiki-convert` command that generates `.cursor/rules/`, `AGENTS.md`, `GEMINI.md` equivalents so the wiki skills work in other coding agents. +**Note**: kepano already published skills in Agent Skills format — claude-obsidian is already in that format. Just needs the adapter files. + +### 10. Marp Presentation Output +**Source**: rvk7895/llm-knowledge-bases, ekadetov/llm-wiki +**What it is**: `/wiki-query --slides ` generates a Marp presentation from wiki content, saved to `output/`. +**Requires**: `marp-cli` npm package. + +--- + +## Tier 4 — Research / Ecosystem Plays + +### 11. obsidian-memory-mcp Integration +**Source**: YuNaga224/obsidian-memory-mcp +**What it is**: Connect the MCP server that stores Claude's memories as Markdown entities with `[[wikilinks]]` → they appear in Obsidian graph view automatically. +**How to add**: Point MEMORY_DIR to the wiki/entities/ directory — entity memory pages become proper wiki pages. + +### 12. obsidian-bases Skill (from kepano) +**Source**: kepano/obsidian-skills +**What it is**: Teach Claude how to create and edit Obsidian Bases (.base files) for dynamic tables, views, and filters. +**Why**: Obsidian Bases is a new core feature — no other LLM Wiki project teaches Claude about it yet. + +### 13. Schema-Emergent Vault Mode +**Source**: Ar9av/obsidian-wiki +**What it is**: Alternative /wiki mode where the vault structure is not scaffolded upfront but emerges from ingested content. Good for exploratory knowledge building vs. structured domains. +**How**: Skip the scaffold step; let wiki-ingest create folders/categories organically based on source content. + +--- + +## Competitive Positioning + +After this research, claude-obsidian's unique advantages remain: +- **Hot cache** — no one else has this session context mechanism +- **Canvas visual layer** — unique in the LLM Wiki category +- **/save conversation** — filing chat → wiki is a distinct workflow +- **Marketplace polish** — best install experience in category +- **Community distribution** (avalonreset-pro) + +The ecosystem is maturing fast. Tier 1 items (URL ingest, auto-commit, defuddle) should ship in v1.3.0 to stay ahead. + +--- + +## Implementation Priority + +``` +v1.3.0 (quick wins): + - URL ingestion (#1) + - Auto-commit hook (#2) + - defuddle integration (#3) + +v1.4.0 (quality): + - Delta tracking (#4) + - Multi-depth query (#5) + +v1.5.0 (expansion): + - Vision ingest (#6) + - /adopt command (#7) + - Multi-agent compat (#9) + +Future: + - Productivity wrapper (#8) + - Marp output (#10) + - Memory MCP integration (#11) +``` diff --git a/wiki/entities/Ar9av-obsidian-wiki.md b/wiki/entities/Ar9av-obsidian-wiki.md new file mode 100644 index 0000000..0c47ff1 --- /dev/null +++ b/wiki/entities/Ar9av-obsidian-wiki.md @@ -0,0 +1,61 @@ +--- +type: entity +title: "Ar9av/obsidian-wiki" +created: 2026-04-08 +updated: 2026-04-08 +tags: + - github-repo + - llm-wiki-pattern + - multi-agent +status: current +related: + - "[[LLM Wiki Pattern]]" + - "[[cherry-picks]]" + - "[[claude-obsidian-ecosystem]]" +sources: + - "[[claude-obsidian-ecosystem-research]]" +--- + +# Ar9av/obsidian-wiki + +**Type**: Claude Code plugin (skill-based) +**URL**: https://github.com/Ar9av/obsidian-wiki +**Pattern**: Karpathy LLM Wiki +**Unique claim**: Works with any AI coding agent via `setup.sh` + +## What It Does + +Framework for AI agents to build and maintain an Obsidian wiki using the Karpathy LLM Wiki pattern. The key differentiator: a single `setup.sh` deploys the skills to 7 different agents simultaneously. + +## Agent Compatibility Matrix + +| Agent | Bootstrap | Skills Dir | +|-------|-----------|-----------| +| Claude Code | CLAUDE.md | `.claude/skills/` | +| Cursor | `.cursor/rules/obsidian-wiki.mdc` | `.cursor/skills/` | +| Windsurf | `.windsurf/rules/` | `.windsurf/skills/` | +| Codex (OpenAI) | AGENTS.md | `~/.codex/skills/` | +| Gemini/Antigravity | GEMINI.md | `~/.gemini/antigravity/skills/` | +| OpenClaw | AGENTS.md | `.agents/skills/` | +| GitHub Copilot | `.github/copilot-instructions.md` | — | + +## Key Innovations + +### Delta Tracking Manifest +`.manifest.json` tracks every ingested source: path, hash, timestamp, which wiki pages produced. Only processes new/changed files. Solves the "re-ingest everything" problem. + +### 4-Stage Pipeline +1. **Ingest** — reads source (PDF, JSONL, text, conversation exports, images) +2. **Extract** — pulls concepts, entities, claims, relationships, open questions +3. **Resolve** — merges new knowledge against existing wiki (no duplication) +4. **Schema** — structure emerges from sources, not predefined + +### Vision Support +Images, screenshots, whiteboard photos ingestable with vision-capable model. Each page gets 1-2 sentence `summary:` in frontmatter for preview without opening. + +## Cherry-Picks for claude-obsidian + +- [[cherry-picks#4. Delta Tracking Manifest]] +- [[cherry-picks#6. /wiki-ingest Vision Support]] +- [[cherry-picks#9. Multi-Agent Compatibility (Cursor, Windsurf, Codex)]] +- [[cherry-picks#13. Schema-Emergent Vault Mode]] diff --git a/wiki/entities/Claudian-YishenTu.md b/wiki/entities/Claudian-YishenTu.md new file mode 100644 index 0000000..2c51820 --- /dev/null +++ b/wiki/entities/Claudian-YishenTu.md @@ -0,0 +1,59 @@ +--- +type: entity +title: "Claudian (YishenTu/claudian)" +created: 2026-04-08 +updated: 2026-04-08 +tags: + - github-repo + - native-obsidian-plugin + - embedded-ai +status: current +related: + - "[[cherry-picks]]" + - "[[claude-obsidian-ecosystem]]" +sources: + - "[[claude-obsidian-ecosystem-research]]" +--- + +# Claudian (YishenTu/claudian) + +**Type**: Native Obsidian plugin (TypeScript, embedded Claude Code/Codex) +**URL**: https://github.com/YishenTu/claudian +**Install**: BRAT or manual (not yet in community store) + +## What It Does + +Embeds Claude Code (or Codex CLI) directly inside Obsidian as a sidebar chat. The vault becomes the agent's working directory — all Claude Code tools work natively inside Obsidian. + +## Key Features + +### Inline Edit with Word-Level Diff +Select text in a note + hotkey → Claude proposes edit with word-level diff preview → one-click apply. Best-in-class inline editing in the Obsidian AI ecosystem. + +### Plan Mode (Shift+Tab) +Agent explores and designs before implementing. Presents a plan for approval before any file changes. Mirrors Claude Code's own plan mode. + +### @mention System +Type `@` to reference: +- Vault files +- Sub-agents +- MCP servers +- Files in external directories (outside vault) + +### Instruction Mode (#) +Add refined custom instructions directly from chat input — persisted for the session. + +### MCP Server Integration +Connect external tools via stdio, SSE, or HTTP. Claude manages vault MCP in-app; Codex uses CLI-managed config. + +### Multi-Tab Conversations +Multiple chat tabs, conversation history, fork, resume, compact mode. + +## Privacy +- No telemetry +- Settings stored in `vault/.claudian/` +- Claude files in `vault/.claude/` +- Transcripts in `~/.claude/projects/` + +## Relevance to claude-obsidian +Claudian is a native plugin (different category) but its Plan Mode, @mention, and inline edit patterns could inspire new features in claude-obsidian skills — particularly for the canvas and wiki-query workflows. diff --git a/wiki/entities/Nexus-claudesidian-mcp.md b/wiki/entities/Nexus-claudesidian-mcp.md new file mode 100644 index 0000000..559e309 --- /dev/null +++ b/wiki/entities/Nexus-claudesidian-mcp.md @@ -0,0 +1,53 @@ +--- +type: entity +title: "Nexus (ProfSynapse/claudesidian-mcp)" +created: 2026-04-08 +updated: 2026-04-08 +tags: + - github-repo + - obsidian-plugin + - mcp-server + - native-plugin +status: current +related: + - "[[cherry-picks]]" + - "[[claude-obsidian-ecosystem]]" +sources: + - "[[claude-obsidian-ecosystem-research]]" +--- + +# Nexus (formerly Claudesidian MCP) + +**Type**: Native Obsidian plugin + MCP bridge +**URL**: https://github.com/ProfSynapse/claudesidian-mcp +**Current name**: Nexus MCP for Obsidian +**Install**: `.obsidian/plugins/nexus/` + +## What It Does + +Full Obsidian plugin with two modes: +1. **Native chat inside Obsidian** — connect any AI provider +2. **MCP bridge** — expose vault to Claude Desktop, Claude Code, Codex CLI, Gemini CLI, Cursor, Cline + +## Key Features + +- **Workspace memory** — persistent context across sessions stored as JSONL, automatically included in Obsidian Sync +- **Task management** — projects, tasks, blockers, dependencies tracked within vault +- **Semantic search** — search notes + past conversations by meaning +- **Inline editing** — edit selected text in notes +- **PDF + audio → Markdown** — conversion on right-click or auto-on-add +- **Web page capture** — open URL in Obsidian, save as Markdown/PNG/PDF +- **Mobile support** — native chat works on iOS/Android +- **Two-tool architecture** — dedicated tools for read vs write actions + +## Storage Architecture + +Data stored as JSONL files in `.obsidian/plugins/nexus/data/`. This is included in Obsidian Sync automatically (unlike the `.nexus/` folder of v1). SQLite cache is local-only, rebuilt from JSONL on each device. + +## Relevance to claude-obsidian + +Nexus is in a different category — it's a native TypeScript Obsidian plugin, not a Claude Code skill plugin. The two don't compete directly, but its workspace memory and task management patterns are cherry-pickable. + +## Cherry-Picks for claude-obsidian + +- [[cherry-picks#11. obsidian-memory-mcp Integration]] (different implementation, same concept) diff --git a/wiki/entities/ballred-obsidian-claude-pkm.md b/wiki/entities/ballred-obsidian-claude-pkm.md new file mode 100644 index 0000000..34b9dba --- /dev/null +++ b/wiki/entities/ballred-obsidian-claude-pkm.md @@ -0,0 +1,66 @@ +--- +type: entity +title: "ballred/obsidian-claude-pkm" +created: 2026-04-08 +updated: 2026-04-08 +tags: + - github-repo + - llm-wiki-pattern + - pkm + - productivity +status: current +related: + - "[[LLM Wiki Pattern]]" + - "[[cherry-picks]]" + - "[[claude-obsidian-ecosystem]]" +sources: + - "[[claude-obsidian-ecosystem-research]]" +--- + +# ballred/obsidian-claude-pkm + +**Type**: Claude Code plugin (skill-based PKM system) +**URL**: https://github.com/ballred/obsidian-claude-pkm +**Version**: 3.1 +**Tagline**: "Not another PKM starter kit. An execution system." + +## What It Does + +Connects a 3-year vision cascade to daily task execution, using Claude as an accountability partner. Every layer is linked — daily notes surface the weekly ONE Big Thing, which links to active projects, which link to yearly goals. + +## Goal Cascade + +``` +3-Year Vision → Yearly Goals → Projects → Monthly Goals → Weekly Review → Daily Tasks +``` + +Each layer has a dedicated skill: `/goal-tracking`, `/project`, `/monthly`, `/weekly`, `/daily`, `/review`. + +## Key Innovations + +### Auto-Commit via PostToolUse Hook +Every Write/Edit tool call triggers `git add -A && git commit` automatically. Vault is always versioned. + +### /adopt Command +Scans an existing Obsidian vault, detects its organization method (PARA, Zettelkasten, LYT, plain folders), maps folders interactively to the PKM layers, generates config files. Non-destructive. + +### 4 Specialized Agents with Memory +- `goal-aligner` — audits activity vs. stated goals, flags misalignment +- `weekly-reviewer` — facilitates 3-phase weekly review, learns reflection style +- `note-organizer` — fixes broken links, consolidates duplicates +- `inbox-processor` — GTD-style inbox processing + +Uses `memory: project` so agents remember patterns across sessions. + +### Productivity Coach Output Style +`/output-style coach` transforms Claude into an accountability partner — challenges assumptions, asks powerful questions, points out goal-action misalignment. + +## Architecture + +Zero dependencies (bash + markdown only). Path-specific rules loaded contextually. Session init surfaces ONE Big Thing, active project count, days since last review. + +## Cherry-Picks for claude-obsidian + +- [[cherry-picks#2. Auto-Commit PostToolUse Hook]] +- [[cherry-picks#7. /adopt — Import Existing Vault]] +- [[cherry-picks#8. Productivity Wrapper (Daily/Weekly Reviews)]] diff --git a/wiki/entities/kepano-obsidian-skills.md b/wiki/entities/kepano-obsidian-skills.md new file mode 100644 index 0000000..cb6ab73 --- /dev/null +++ b/wiki/entities/kepano-obsidian-skills.md @@ -0,0 +1,62 @@ +--- +type: entity +title: "kepano/obsidian-skills" +created: 2026-04-08 +updated: 2026-04-08 +tags: + - github-repo + - official + - agent-skills + - obsidian-creator +status: current +related: + - "[[LLM Wiki Pattern]]" + - "[[cherry-picks]]" + - "[[claude-obsidian-ecosystem]]" +sources: + - "[[claude-obsidian-ecosystem-research]]" +--- + +# kepano/obsidian-skills + +**Type**: Agent Skills (Agent Skills standard) +**URL**: https://github.com/kepano/obsidian-skills +**Author**: **Linus Kepano** — creator of Obsidian + Minimal theme +**Install**: `/plugin marketplace add kepano/obsidian-skills` + +## Why This Matters + +This repo is from the creator of Obsidian. It: +1. Validates that the Agent Skills standard is the right format for Obsidian AI tools +2. Provides the canonical reference for how to teach Claude about Obsidian-specific syntax +3. Covers Obsidian Bases — a new core Obsidian feature that no other AI project supports yet + +## Skills + +| Skill | What It Teaches Claude | +|-------|----------------------| +| `obsidian-markdown` | Full Obsidian Flavored Markdown: wikilinks, embeds, callouts, properties, tags | +| `obsidian-bases` | Obsidian Bases (.base files): views, filters, formulas, summaries | +| `json-canvas` | JSON Canvas spec: nodes, edges, groups, connections | +| `obsidian-cli` | Vault management, plugin/theme dev via Obsidian CLI | +| `defuddle` | Extract clean Markdown from web pages — removes ads, nav, clutter | + +## defuddle + +The `defuddle` skill wraps `defuddle-cli`. When ingesting web content, running defuddle first: +- Strips ads, navigation, footers +- Reduces token usage ~40-60% on typical web pages +- Produces cleaner Markdown that fits better in context window + +This is a direct cherry-pick for claude-obsidian's ingest pipeline. + +## Multi-Platform + +Works with Claude Code, Codex CLI, and OpenCode out of the box. + +## Cherry-Picks for claude-obsidian + +- [[cherry-picks#1. URL Ingestion in /wiki-ingest]] (pair with defuddle) +- [[cherry-picks#3. defuddle Web Cleaning Skill]] +- [[cherry-picks#12. obsidian-bases Skill (from kepano)]] +- [[cherry-picks#9. Multi-Agent Compatibility]] (format already compatible) diff --git a/wiki/entities/rvk7895-llm-knowledge-bases.md b/wiki/entities/rvk7895-llm-knowledge-bases.md new file mode 100644 index 0000000..ceb92f2 --- /dev/null +++ b/wiki/entities/rvk7895-llm-knowledge-bases.md @@ -0,0 +1,61 @@ +--- +type: entity +title: "rvk7895/llm-knowledge-bases" +created: 2026-04-08 +updated: 2026-04-08 +tags: + - github-repo + - llm-wiki-pattern + - deep-research +status: current +related: + - "[[LLM Wiki Pattern]]" + - "[[cherry-picks]]" + - "[[claude-obsidian-ecosystem]]" + - "[[Andrej Karpathy]]" +sources: + - "[[claude-obsidian-ecosystem-research]]" +--- + +# rvk7895/llm-knowledge-bases + +**Type**: Claude Code plugin (Marketplace) +**URL**: https://github.com/rvk7895/llm-knowledge-bases +**Install**: `/plugin marketplace add rvk7895/llm-knowledge-bases` + +## What It Does + +Turns raw research material into an LLM-maintained Obsidian wiki with multi-depth querying and rich output formats. Adds a deep research pipeline with parallel agents on top of the Karpathy pattern. + +## Key Innovations + +### 3-Depth Query System +- **Quick** — answers from wiki indexes and summaries only (minimal reads) +- **Standard** — cross-references full wiki, supplements with web search +- **Deep** — multi-agent parallel web search pipeline + +### Output Formats +Beyond Markdown: Marp slides, matplotlib charts. All outputs saved to `output/` and optionally filed back into wiki. + +### Skills Set +| Skill | Purpose | +|-------|---------| +| `/kb-init` | One-time setup | +| `/kb compile` | Raw → wiki | +| `/kb query` | Query with depth | +| `/kb lint` | Health check | +| `/kb evolve` | Maintenance pass | +| `/research ` | Structured research outline | +| `/research-deep` | Parallel agents per outline item | +| `/research-report` | Compile deep results → Markdown | + +### X/Twitter Integration +Via Smaug tool (`npm install -g @steipete/bird`). Ingests tweets, threads, bookmarks from X/Twitter by pasting URL. Uses session cookies (read-only, personal use). + +## Attribution +Built on Karpathy pattern + Weizhena's Deep Research skills adapted for the research pipeline. + +## Cherry-Picks for claude-obsidian + +- [[cherry-picks#5. Multi-Depth Query Modes]] +- [[cherry-picks#10. Marp Presentation Output]] diff --git a/wiki/hot.md b/wiki/hot.md index e607427..7d2077b 100644 --- a/wiki/hot.md +++ b/wiki/hot.md @@ -1,7 +1,7 @@ --- type: meta title: "Hot Cache" -updated: 2026-04-07T17:00:00 +updated: 2026-04-08T12:00:00 tags: - meta - hot-cache @@ -20,24 +20,37 @@ Navigation: [[index]] | [[log]] | [[overview]] --- ## Last Updated -2026-04-07 — Full audit + plugin installation session complete +2026-04-08 — Ecosystem research ingest: 16+ Claude+Obsidian projects researched ## Key Recent Facts -- **Plugin installed locally**: `claude-obsidian@claude-obsidian-marketplace` — active in this Claude Code session -- **Install command**: `claude plugin marketplace add AgriciDaniel/claude-obsidian` then `claude plugin install claude-obsidian` -- **Repo**: `~/claude-obsidian/` — public at github.com/AgriciDaniel/claude-obsidian -- **Community repo**: avalonreset-pro/claude-obsidian (private) -- **Working folder**: renamed from `~/Desktop/Obsidian & Claude/` → `~/Desktop/claude-obsidian/` -- Both remotes: `git push origin main && git push community main` +- **Plugin**: claude-obsidian v1.2.0 | `~/claude-obsidian/` | push: `git push origin main && git push community main` +- **Install**: `claude plugin marketplace add AgriciDaniel/claude-obsidian` +- **Ecosystem research complete**: 16+ projects, 13 cherry-pick features identified -## Recent Changes -- Full 12-area audit: all clean, 3 minor fixes applied -- Untracked: Cosmic Brain Clean.gif, Cosmic Brain Cover.png, Welcome.md -- Fixed: vault-colors.css comment updated to claude-obsidian -- Plugin registered as marketplace + installed user-scope -- Session saved: [[full-audit-and-system-setup-session]] +## What Was Just Ingested +Full internet sweep of Claude + Obsidian projects. Key projects found: +- **kepano/obsidian-skills** — Obsidian creator's own skills (validates Agent Skills format) +- **Ar9av/obsidian-wiki** — delta tracking manifest + multi-agent compat (Cursor/Windsurf/Codex/Gemini) +- **ballred/obsidian-claude-pkm** — auto-commit PostToolUse hook + goal cascade +- **rvk7895/llm-knowledge-bases** — 3-depth query (Quick/Standard/Deep) + Marp output +- **heyitsnoah/claudesidian** — PARA vault + /init-bootstrap + vault import +- **YishenTu/claudian** — native Obsidian plugin with plan mode + @mention + word-level diff +- **ProfSynapse/nexus** (claudesidian-mcp) — native plugin + MCP bridge + workspace memory +- obsidian-copilot: 5,776⭐ | smart-connections: 4,357⭐ (traditional plugins) + +## Top 5 Cherry-Picks (see [[cherry-picks]] for full list) +1. URL ingestion in /wiki-ingest (pass `https://` → auto-fetch → ingest) +2. Auto-commit PostToolUse hook (every wiki write → git commit) +3. defuddle web cleaning (from kepano — strips clutter before ingest) +4. Delta tracking manifest (only re-ingest new/changed files) +5. Multi-depth query (Quick/Standard/Deep modes) + +## claude-obsidian Unique Advantages Confirmed +- Hot cache (no one else has this) +- Canvas skill (unique in LLM Wiki category) +- /save conversation → wiki (unique workflow) +- Marketplace polish (best install experience) ## Active Threads -- Wiki is seeded: [[LLM Wiki Pattern]], [[Hot Cache]], [[Compounding Knowledge]], [[Andrej Karpathy]], [[How does the LLM Wiki pattern work]], [[Wiki vs RAG]] -- No user domain scaffolded yet — run `/wiki` to scaffold for your domain -- Karpathy Gist comment ready to post +- [[cherry-picks]] ready for v1.3.0 planning +- Wiki pages: 25 | Sources ingested: 2 diff --git a/wiki/index.md b/wiki/index.md index 0f41522..49bc8a8 100644 --- a/wiki/index.md +++ b/wiki/index.md @@ -23,7 +23,7 @@ related: # Wiki Index -Last updated: 2026-04-07 | Total pages: 15 | Sources ingested: 1 +Last updated: 2026-04-08 | Total pages: 25 | Sources ingested: 2 Navigation: [[overview]] | [[log]] | [[hot]] | [[dashboard]] | [[Wiki Map]] | [[getting-started]] @@ -34,18 +34,25 @@ Navigation: [[overview]] | [[log]] | [[hot]] | [[dashboard]] | [[Wiki Map]] | [[ - [[LLM Wiki Pattern]] — the pattern for building persistent, compounding knowledge bases using LLMs (status: mature) - [[Hot Cache]] — ~500-word session context file, updated after every ingest and session (status: mature) - [[Compounding Knowledge]] — why wiki knowledge grows more valuable over time, unlike RAG (status: mature) +- [[cherry-picks]] — prioritized feature backlog from ecosystem research; 13 features to add to claude-obsidian (status: current) --- ## Entities - [[Andrej Karpathy]] — AI researcher, creator of the LLM Wiki pattern, former Tesla AI director (status: developing) +- [[Ar9av-obsidian-wiki]] — multi-agent compatible LLM Wiki plugin; delta tracking manifest (status: current) +- [[Nexus-claudesidian-mcp]] — native Obsidian plugin + MCP bridge; workspace memory, task management (status: current) +- [[ballred-obsidian-claude-pkm]] — goal cascade PKM; auto-commit hooks, /adopt command (status: current) +- [[rvk7895-llm-knowledge-bases]] — 3-depth query system, Marp slides, parallel deep research (status: current) +- [[kepano-obsidian-skills]] — official skills from Obsidian creator; defuddle, obsidian-bases (status: current) +- [[Claudian-YishenTu]] — native Obsidian plugin embedding Claude Code; plan mode, @mention (status: current) --- ## Sources - +- [[claude-obsidian-ecosystem-research]] — 2026-04-08 | web research across 16+ repos | 8 wiki pages created --- @@ -58,6 +65,7 @@ Navigation: [[overview]] | [[log]] | [[hot]] | [[dashboard]] | [[Wiki Map]] | [[ ## Comparisons - [[Wiki vs RAG]] — when to use a wiki knowledge base versus RAG; verdict: wiki wins at <1000 pages +- [[claude-obsidian-ecosystem]] — feature matrix of 16+ Claude+Obsidian projects; where claude-obsidian wins and gaps --- diff --git a/wiki/log.md b/wiki/log.md index 17fff92..b9e219b 100644 --- a/wiki/log.md +++ b/wiki/log.md @@ -25,6 +25,14 @@ Parse recent entries: `grep "^## \[" wiki/log.md | head -10` --- +## [2026-04-08] ingest | Claude + Obsidian Ecosystem Research +- Type: research ingest +- Source: `.raw/claude-obsidian-ecosystem-research.md` +- Queries: 6 parallel web searches + 12 repo deep-reads +- Pages created: [[claude-obsidian-ecosystem]], [[cherry-picks]], [[claude-obsidian-ecosystem-research]], [[Ar9av-obsidian-wiki]], [[Nexus-claudesidian-mcp]], [[ballred-obsidian-claude-pkm]], [[rvk7895-llm-knowledge-bases]], [[kepano-obsidian-skills]], [[Claudian-YishenTu]] +- Key finding: 16+ active Claude+Obsidian projects; 13 cherry-pick features identified for v1.3.0+ +- Top gap confirmed: no delta tracking, no URL ingestion, no auto-commit + ## [2026-04-07] session | Full Audit, System Setup & Plugin Installation - Type: session - Location: wiki/meta/full-audit-and-system-setup-session.md diff --git a/wiki/overview.md b/wiki/overview.md index fc4e960..cec55a2 100644 --- a/wiki/overview.md +++ b/wiki/overview.md @@ -42,14 +42,22 @@ Run `/wiki` to scaffold this vault for your own domain and replace this overview - [[Andrej Karpathy]] — originated the pattern **Sources seeded:** +- [[claude-obsidian-ecosystem-research]] — 16+ projects, 13 cherry-picks identified (2026-04-08) --- ## Current State -- Sources ingested: 1 -- Wiki pages: 11 -- Last activity: 2026-04-07 (claude-obsidian v1.1.0 initialized) +- Sources ingested: 2 +- Wiki pages: 25 +- Last activity: 2026-04-08 (ecosystem research ingest — 16+ projects mapped) + +--- + +## Canvases + +- [[claude-obsidian-presentation]] — Full presentation: hero, overview, skills, architecture, Wiki vs RAG, visual demos (2026-04-07) +- [[AI Marketing Hub Cover Images Canvas]] — Cover image library for AI Marketing Hub brand assets --- diff --git a/wiki/sources/claude-obsidian-ecosystem-research.md b/wiki/sources/claude-obsidian-ecosystem-research.md new file mode 100644 index 0000000..00007fd --- /dev/null +++ b/wiki/sources/claude-obsidian-ecosystem-research.md @@ -0,0 +1,53 @@ +--- +type: source +title: "Claude + Obsidian Ecosystem Research" +created: 2026-04-08 +updated: 2026-04-08 +tags: + - research + - ecosystem + - competitive-analysis +status: current +related: + - "[[claude-obsidian-ecosystem]]" + - "[[cherry-picks]]" + - "[[LLM Wiki Pattern]]" +raw_file: ".raw/claude-obsidian-ecosystem-research.md" +--- + +# Source: Claude + Obsidian Ecosystem Research + +**Type**: Web research (GitHub + web search) +**Date**: 2026-04-08 +**Queries run**: 6 parallel searches +**Repos deep-read**: 12 + +## Summary + +Comprehensive internet sweep of all Claude + Obsidian projects. Found 16+ active projects across 4 categories. Identified 13 specific features to cherry-pick for claude-obsidian v1.3.0+. + +## Pages Created from This Source + +- [[claude-obsidian-ecosystem]] — feature matrix comparison +- [[cherry-picks]] — prioritized feature backlog +- [[Ar9av-obsidian-wiki]] — entity page +- [[Nexus-claudesidian-mcp]] — entity page +- [[ballred-obsidian-claude-pkm]] — entity page +- [[rvk7895-llm-knowledge-bases]] — entity page +- [[kepano-obsidian-skills]] — entity page +- [[Claudian-YishenTu]] — entity page + +## Key Findings + +1. **16+ projects** found combining Claude/AI with Obsidian +2. **kepano** (Obsidian creator) validates Agent Skills format with his own skill repo +3. **ballred/obsidian-claude-pkm** has best auto-commit implementation (PostToolUse hook) +4. **Ar9av/obsidian-wiki** has best delta tracking (manifest.json) +5. **rvk7895/llm-knowledge-bases** has best query depth system (3 tiers) +6. Most popular traditional plugins: obsidian-copilot (5,776 ⭐), smart-connections (4,357 ⭐) +7. **claude-obsidian unique advantages**: hot cache, canvas skill, /save conversation, marketplace polish +8. **Top gap**: No URL ingestion — forces manual copy-paste from web + +## Raw File + +`.raw/claude-obsidian-ecosystem-research.md` — full notes with all sources