feat: v1.1 — URL ingestion, vision, delta tracking, 3 new skills, auto-commit

Skills (new):
- skills/obsidian-markdown/ — full Obsidian Flavored Markdown syntax reference
  (wikilinks, embeds, callouts, properties, math, Mermaid)
- skills/obsidian-bases/ — Obsidian Bases (.base files) with correct filters/views/
  formulas syntax (sourced from kepano/obsidian-skills authoritative spec)
- skills/defuddle/ — web page cleaner; strips ads/nav before URL ingestion,
  saves 40-60% tokens on web articles

wiki-ingest upgrades:
- URL ingestion: pass https:// directly, auto-fetches + runs defuddle if available
- Image/vision ingestion: .png/.jpg/.gif etc → Claude reads → description saved
  to .raw/ → standard ingest pipeline
- Delta tracking: .raw/.manifest.json tracks hash per source, skips unchanged files

wiki-query upgrades:
- Quick mode (query quick:) — hot.md + index only, ~1500 tokens
- Standard mode — existing behaviour, 3-5 pages
- Deep mode (query deep:) — full wiki + optional web search supplement

hooks:
- PostToolUse auto-commit: every Write/Edit to wiki/ or .raw/ triggers
  git add + commit automatically, vault always versioned

fixes:
- Removed invalid allowed-tools field from all 10 SKILL.md files
  (not a valid skill frontmatter attribute per spec; was silently ignored)
- Canvas SKILL.md now references json-canvas open standard and kepano/obsidian-skills

wiki research:
- Ecosystem research: 16+ Claude+Obsidian projects mapped and filed
- New pages: comparisons/claude-obsidian-ecosystem, concepts/cherry-picks,
  entities/ (6 new), sources/claude-obsidian-ecosystem-research
- Cherry-picks roadmap filed at wiki/concepts/cherry-picks.md

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Daniel
2026-04-08 12:25:00 +03:00
parent cd1935cf63
commit 3ad61b984d
26 changed files with 1803 additions and 42 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "claude-obsidian", "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.", "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": { "author": {
"name": "AgriciDaniel", "name": "AgriciDaniel",

View File

@@ -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 <topic-name>` 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 <topic>` — 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

View File

@@ -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": [ "Stop": [
{ {
"matcher": "", "matcher": "",

View File

@@ -8,7 +8,6 @@ description: >
Triggers on: "/autoresearch", "autoresearch", "research [topic]", "deep dive into [topic]", Triggers on: "/autoresearch", "autoresearch", "research [topic]", "deep dive into [topic]",
"investigate [topic]", "find everything about [topic]", "research and file", "investigate [topic]", "find everything about [topic]", "research and file",
"go research", "build a wiki on". "go research", "build a wiki on".
allowed-tools: ["Read", "Write", "Edit", "WebSearch", "WebFetch", "Bash", "Glob", "Grep"]
--- ---
# autoresearch — Autonomous Research Loop # autoresearch — Autonomous Research Loop

View File

@@ -1,7 +1,6 @@
--- ---
name: canvas 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." 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 # canvas — Visual Reference Layer
@@ -11,7 +10,7 @@ The three knowledge capture layers:
- `/autoresearch` → structured knowledge (wiki/sources/, wiki/concepts/) - `/autoresearch` → structured knowledge (wiki/sources/, wiki/concepts/)
- `/canvas` → visual references (wiki/canvases/) - `/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.
--- ---

83
skills/defuddle/SKILL.md Normal file
View File

@@ -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`

View File

@@ -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:`

View File

@@ -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`.

View File

@@ -7,7 +7,6 @@ description: >
Triggers on: "save this", "save that answer", "/save", "file this", Triggers on: "save this", "save that answer", "/save", "file this",
"save to wiki", "save this session", "file this conversation", "keep this", "save to wiki", "save this session", "file this conversation", "keep this",
"save this analysis", "add this to the wiki". "save this analysis", "add this to the wiki".
allowed-tools: ["Read", "Write", "Edit", "Bash", "Glob"]
--- ---
# save — File Conversations Into the Wiki # save — File Conversations Into the Wiki

View File

@@ -1,17 +1,97 @@
--- ---
name: wiki-ingest name: wiki-ingest
description: > 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."
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"]
--- ---
# wiki-ingest — Source Ingestion # wiki-ingest — Source Ingestion
Read the source. Write the wiki. Cross-reference everything. A single source typically touches 8-15 wiki pages. 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 ## Single Source Ingest

View File

@@ -5,7 +5,6 @@ description: >
missing cross-references, frontmatter gaps, and empty sections. Creates or updates missing cross-references, frontmatter gaps, and empty sections. Creates or updates
Dataview dashboards. Generates canvas maps. Triggers on: "lint", "health check", Dataview dashboards. Generates canvas maps. Triggers on: "lint", "health check",
"clean up wiki", "check the wiki", "wiki maintenance", "find orphans", "wiki audit". "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 # wiki-lint — Wiki Health Check

View File

@@ -1,11 +1,6 @@
--- ---
name: wiki-query name: wiki-query
description: > 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."
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"]
--- ---
# wiki-query — Query the Wiki # 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. 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). 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 ## Token Discipline
Read the minimum needed: Read the minimum needed:

View File

@@ -7,7 +7,6 @@ description: >
Triggers on: "set up wiki", "scaffold vault", "create knowledge base", "/wiki", Triggers on: "set up wiki", "scaffold vault", "create knowledge base", "/wiki",
"wiki setup", "obsidian vault", "knowledge base", "second brain setup", "wiki setup", "obsidian vault", "knowledge base", "second brain setup",
"running notetaker", "persistent memory", "llm wiki". "running notetaker", "persistent memory", "llm wiki".
allowed-tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
--- ---
# wiki — Claude + Obsidian Knowledge Companion # wiki — Claude + Obsidian Knowledge Companion

View File

@@ -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

View File

@@ -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 <question>`, `/wiki-query deep <question>` 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 <topic>` 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)
```

View File

@@ -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]]

View File

@@ -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.

View File

@@ -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)

View File

@@ -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)]]

View File

@@ -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)

View File

@@ -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 <topic>` | 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]]

View File

@@ -1,7 +1,7 @@
--- ---
type: meta type: meta
title: "Hot Cache" title: "Hot Cache"
updated: 2026-04-07T17:00:00 updated: 2026-04-08T12:00:00
tags: tags:
- meta - meta
- hot-cache - hot-cache
@@ -20,24 +20,37 @@ Navigation: [[index]] | [[log]] | [[overview]]
--- ---
## Last Updated ## Last Updated
2026-04-07Full audit + plugin installation session complete 2026-04-08Ecosystem research ingest: 16+ Claude+Obsidian projects researched
## Key Recent Facts ## Key Recent Facts
- **Plugin installed locally**: `claude-obsidian@claude-obsidian-marketplace` — active in this Claude Code session - **Plugin**: claude-obsidian v1.2.0 | `~/claude-obsidian/` | push: `git push origin main && git push community main`
- **Install command**: `claude plugin marketplace add AgriciDaniel/claude-obsidian` then `claude plugin install claude-obsidian` - **Install**: `claude plugin marketplace add AgriciDaniel/claude-obsidian`
- **Repo**: `~/claude-obsidian/` — public at github.com/AgriciDaniel/claude-obsidian - **Ecosystem research complete**: 16+ projects, 13 cherry-pick features identified
- **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`
## Recent Changes ## What Was Just Ingested
- Full 12-area audit: all clean, 3 minor fixes applied Full internet sweep of Claude + Obsidian projects. Key projects found:
- Untracked: Cosmic Brain Clean.gif, Cosmic Brain Cover.png, Welcome.md - **kepano/obsidian-skills** — Obsidian creator's own skills (validates Agent Skills format)
- Fixed: vault-colors.css comment updated to claude-obsidian - **Ar9av/obsidian-wiki** — delta tracking manifest + multi-agent compat (Cursor/Windsurf/Codex/Gemini)
- Plugin registered as marketplace + installed user-scope - **ballred/obsidian-claude-pkm** — auto-commit PostToolUse hook + goal cascade
- Session saved: [[full-audit-and-system-setup-session]] - **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 ## Active Threads
- Wiki is seeded: [[LLM Wiki Pattern]], [[Hot Cache]], [[Compounding Knowledge]], [[Andrej Karpathy]], [[How does the LLM Wiki pattern work]], [[Wiki vs RAG]] - [[cherry-picks]] ready for v1.3.0 planning
- No user domain scaffolded yet — run `/wiki` to scaffold for your domain - Wiki pages: 25 | Sources ingested: 2
- Karpathy Gist comment ready to post

View File

@@ -23,7 +23,7 @@ related:
# Wiki Index # 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]] 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) - [[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) - [[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) - [[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 ## Entities
- [[Andrej Karpathy]] — AI researcher, creator of the LLM Wiki pattern, former Tesla AI director (status: developing) - [[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 ## Sources
<!-- Source pages are created automatically by ingest. Add your first source: "ingest [filename]" --> - [[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 ## Comparisons
- [[Wiki vs RAG]] — when to use a wiki knowledge base versus RAG; verdict: wiki wins at <1000 pages - [[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
--- ---

View File

@@ -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 ## [2026-04-07] session | Full Audit, System Setup & Plugin Installation
- Type: session - Type: session
- Location: wiki/meta/full-audit-and-system-setup-session.md - Location: wiki/meta/full-audit-and-system-setup-session.md

View File

@@ -42,14 +42,22 @@ Run `/wiki` to scaffold this vault for your own domain and replace this overview
- [[Andrej Karpathy]] — originated the pattern - [[Andrej Karpathy]] — originated the pattern
**Sources seeded:** **Sources seeded:**
- [[claude-obsidian-ecosystem-research]] — 16+ projects, 13 cherry-picks identified (2026-04-08)
--- ---
## Current State ## Current State
- Sources ingested: 1 - Sources ingested: 2
- Wiki pages: 11 - Wiki pages: 25
- Last activity: 2026-04-07 (claude-obsidian v1.1.0 initialized) - 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
--- ---

View File

@@ -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