remove unnecessary files
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled

This commit is contained in:
김경종
2026-05-28 11:16:58 +09:00
parent 72dad72703
commit 665c5ab4e4
32 changed files with 22646 additions and 1727 deletions
+50 -292
View File
@@ -1,293 +1,51 @@
{
"nodes": [
{
"id": "title-hero-1744041601",
"type": "text",
"text": "# claude-obsidian\n\n**Claude Code × Obsidian** — Persistent, compounding knowledge base.\nEvery source you add makes the wiki smarter. No vector DB. No embeddings. Just markdown.\n\n*Skills: /wiki · /wiki-ingest · /wiki-query · /wiki-lint · /autoresearch · /canvas*",
"x": -960, "y": -3420, "width": 600, "height": 200, "color": "6"
},
{
"id": "img-cover-16x9-1744041602",
"type": "file",
"file": "wiki/meta/claude-obsidian-cover-16x9.png",
"x": -330, "y": -3420, "width": 420, "height": 236
},
{
"id": "img-gif-cover-1744041603",
"type": "file",
"file": "wiki/meta/claude-obsidian-gif-cover-16x9.gif",
"x": 130, "y": -3420, "width": 420, "height": 236
},
{
"id": "img-gif-1x1-1744041604",
"type": "file",
"file": "wiki/meta/claude-obsidian-gif-1x1.gif",
"x": 590, "y": -3420, "width": 200, "height": 200
},
{
"id": "zone-hero-1744041605",
"type": "group",
"label": "Hero",
"x": -980, "y": -3440, "width": 1820, "height": 280, "color": "6"
},
{
"id": "zone-overview-1744041606",
"type": "group",
"label": "What Is claude-obsidian",
"x": -980, "y": -3110, "width": 1820, "height": 420, "color": "5"
},
{
"id": "text-what-1744041607",
"type": "text",
"text": "## What Is It?\n\nAn LLM wiki that **compounds** with every source you add. Originated by Andrej Karpathy.\n\nInstead of re-deriving from raw documents on every query (RAG), Claude reads each source, extracts what matters, and integrates it into a structured wiki — updating entity pages, noting contradictions, strengthening the synthesis.",
"x": -960, "y": -3090, "width": 520, "height": 200, "color": "5"
},
{
"id": "text-layers-1744041608",
"type": "text",
"text": "## Three Layers\n\n```\n.raw/ Layer 1 — immutable sources\nwiki/ Layer 2 — LLM knowledge base\nCLAUDE.md Layer 3 — maintenance schema\n```\n\nThe LLM owns Layer 2 entirely. It creates pages, updates them, maintains cross-references, and keeps everything consistent.",
"x": -400, "y": -3090, "width": 460, "height": 200, "color": "5"
},
{
"id": "text-why-1744041609",
"type": "text",
"text": "## Why It Works\n\nLLMs don't get bored.\n\nThe tedious part of maintaining a wiki is bookkeeping: cross-references, contradictions, stale summaries. Humans abandon wikis because maintenance cost grows faster than value.\n\n**With Claude: maintenance cost is near zero.**\nKnowledge compounds over time.",
"x": 100, "y": -3090, "width": 420, "height": 200, "color": "5"
},
{
"id": "note-llm-wiki-pattern-1744041610",
"type": "file",
"file": "wiki/concepts/LLM Wiki Pattern.md",
"x": 560, "y": -3090, "width": 240, "height": 100
},
{
"id": "note-compounding-1744041611",
"type": "file",
"file": "wiki/concepts/Compounding Knowledge.md",
"x": 560, "y": -2960, "width": 240, "height": 100
},
{
"id": "note-hot-cache-1744041612",
"type": "file",
"file": "wiki/concepts/Hot Cache.md",
"x": 560, "y": -2830, "width": 240, "height": 100
},
{
"id": "zone-skills-1744041613",
"type": "group",
"label": "Skills — Six Sub-Commands",
"x": -980, "y": -2640, "width": 1820, "height": 600, "color": "4"
},
{
"id": "text-skills-header-1744041614",
"type": "text",
"text": "## Six Skills\n\n`/wiki` · `/wiki-ingest` · `/wiki-query` · `/wiki-lint` · `/autoresearch` · `/canvas`\n\nEach skill is a focused operation on the vault. Together they form a full knowledge lifecycle.",
"x": -960, "y": -2620, "width": 1780, "height": 80, "color": "4"
},
{
"id": "img-wiki-ingest-1744041615",
"type": "file",
"file": "_attachments/images/canvas/skill-wiki-ingest.png",
"x": -960, "y": -2510, "width": 400, "height": 225
},
{
"id": "img-wiki-query-1744041616",
"type": "file",
"file": "_attachments/images/canvas/skill-wiki-query.png",
"x": -520, "y": -2510, "width": 400, "height": 225
},
{
"id": "img-autoresearch-1744041617",
"type": "file",
"file": "_attachments/images/canvas/skill-autoresearch.png",
"x": -80, "y": -2510, "width": 400, "height": 225
},
{
"id": "img-wiki-canvas-1744041618",
"type": "file",
"file": "_attachments/images/canvas/skill-wiki-canvas.png",
"x": 360, "y": -2510, "width": 400, "height": 225
},
{
"id": "text-ingest-desc-1744041619",
"type": "text",
"text": "**WIKI INGEST**\nDrop a source in `.raw/`, Claude reads it, extracts entities + concepts, updates 815 wiki pages, logs the ingest.",
"x": -960, "y": -2255, "width": 400, "height": 100
},
{
"id": "text-query-desc-1744041620",
"type": "text",
"text": "**WIKI QUERY**\nAsk any question. Claude reads the index, finds relevant pages, synthesizes with citations. Good answers get filed back.",
"x": -520, "y": -2255, "width": 400, "height": 100
},
{
"id": "text-autoresearch-desc-1744041621",
"type": "text",
"text": "**AUTORESEARCH**\nAutonomous web research loop. Searches, fetches, synthesizes, files. Based on Karpathy's autoresearch pattern.",
"x": -80, "y": -2255, "width": 400, "height": 100
},
{
"id": "text-canvas-desc-1744041622",
"type": "text",
"text": "**WIKI CANVAS**\nVisual layer. Add images, PDFs, and wiki notes to Obsidian canvas files with auto-positioning and zone management.",
"x": 360, "y": -2255, "width": 400, "height": 100
},
{
"id": "zone-architecture-1744041623",
"type": "group",
"label": "Architecture & Workflow",
"x": -980, "y": -2090, "width": 1820, "height": 500, "color": "2"
},
{
"id": "text-arch-header-1744041624",
"type": "text",
"text": "## Lifecycle Flow\n\n```\nDrop source → /wiki-ingest → Wiki updated\n ↓\n /wiki-lint ←→ /wiki-query\n ↓\n /autoresearch\n ↓\n /canvas (visual)\n```",
"x": -960, "y": -2070, "width": 560, "height": 260, "color": "2"
},
{
"id": "img-workflow-loop-1744041625",
"type": "file",
"file": "wiki/meta/workflow-loop.gif",
"x": -360, "y": -2070, "width": 420, "height": 236
},
{
"id": "text-hot-cache-1744041626",
"type": "text",
"text": "## Hot Cache\n\n`wiki/hot.md` — a ~500-word context file updated after every ingest and session.\n\nLoaded automatically at conversation start. Gives Claude instant context without reading the full index.\n\n**Pattern:** hot → index → domain → page",
"x": 100, "y": -2070, "width": 420, "height": 200, "color": "2"
},
{
"id": "img-graph-view-1744041627",
"type": "file",
"file": "wiki/meta/image-example-graph-view.png",
"x": 560, "y": -2070, "width": 420, "height": 236
},
{
"id": "text-arch-stats-1744041628",
"type": "text",
"text": "**One source → 815 wiki pages touched**\n\nEntities, concepts, comparisons, questions — all updated in a single ingest pass.",
"x": -960, "y": -1780, "width": 500, "height": 80
},
{
"id": "img-wiki-graph-grow-1744041629",
"type": "file",
"file": "wiki/meta/wiki-graph-grow.gif",
"x": -420, "y": -1780, "width": 420, "height": 236
},
{
"id": "zone-comparison-1744041630",
"type": "group",
"label": "Wiki vs RAG — When to Use Which",
"x": -980, "y": -1490, "width": 1820, "height": 440, "color": "1"
},
{
"id": "img-wiki-vs-rag-1744041631",
"type": "file",
"file": "_attachments/images/canvas/wiki-vs-rag-chart.svg",
"x": -960, "y": -1470, "width": 800, "height": 420
},
{
"id": "text-comparison-table-1744041632",
"type": "text",
"text": "## When Wiki Wins\n\n| Metric | LLM Wiki | RAG |\n|---|---|---|\n| Infrastructure | Markdown files | Vector DB |\n| Cost | Tokens only | Compute + storage |\n| Maintenance | Run a lint | Re-embed |\n| Scale limit | ~1000 pages | Millions |\n| Compounding | ✅ Yes | ❌ No |\n\n**Verdict:** Wiki wins at <1000 pages.\nFor millions of documents, use RAG.",
"x": -120, "y": -1470, "width": 480, "height": 360
},
{
"id": "note-wiki-vs-rag-1744041633",
"type": "file",
"file": "wiki/comparisons/Wiki vs RAG.md",
"x": 400, "y": -1470, "width": 380, "height": 100
},
{
"id": "zone-demos-1744041634",
"type": "group",
"label": "Visual Demos",
"x": -980, "y": -990, "width": 1820, "height": 520, "color": "3"
},
{
"id": "text-demos-header-1744041635",
"type": "text",
"text": "## See It In Action",
"x": -960, "y": -970, "width": 300, "height": 50, "color": "3"
},
{
"id": "img-welcome-canvas-1744041636",
"type": "file",
"file": "wiki/meta/welcome-canvas.gif",
"x": -960, "y": -900, "width": 420, "height": 236
},
{
"id": "img-wiki-map-1744041637",
"type": "file",
"file": "wiki/meta/image-example-wiki-map-view.png",
"x": -500, "y": -900, "width": 420, "height": 236
},
{
"id": "img-cover-square-1744041638",
"type": "file",
"file": "wiki/meta/claude-obsidian-cover-square.png",
"x": -40, "y": -900, "width": 280, "height": 280
},
{
"id": "text-install-1744041639",
"type": "text",
"text": "## Install\n\n```bash\nclaude plugin marketplace add \\\n AI-Marketing-Hub/claude-obsidian\n\nclaude plugin install claude-obsidian\n```\n\nRepo: `github.com/AI-Marketing-Hub/claude-obsidian`",
"x": 280, "y": -900, "width": 480, "height": 200, "color": "3"
},
{
"id": "text-canvas-label-1744041640",
"type": "text",
"text": "Canvas Demo",
"x": -960, "y": -630, "width": 420, "height": 40
},
{
"id": "text-wikimap-label-1744041641",
"type": "text",
"text": "Wiki Map View",
"x": -500, "y": -630, "width": 420, "height": 40
},
{
"id": "text-cover-label-1744041642",
"type": "text",
"text": "Plugin Cover",
"x": -40, "y": -600, "width": 280, "height": 40
}
],
"edges": [
{
"id": "e-ingest-query-1744041650",
"fromNode": "img-wiki-ingest-1744041615",
"fromSide": "right",
"toNode": "img-wiki-query-1744041616",
"toSide": "left",
"toEnd": "arrow",
"label": "builds",
"color": "4"
},
{
"id": "e-query-auto-1744041651",
"fromNode": "img-wiki-query-1744041616",
"fromSide": "right",
"toNode": "img-autoresearch-1744041617",
"toSide": "left",
"toEnd": "arrow",
"label": "grows",
"color": "4"
},
{
"id": "e-auto-canvas-1744041652",
"fromNode": "img-autoresearch-1744041617",
"fromSide": "right",
"toNode": "img-wiki-canvas-1744041618",
"toSide": "left",
"toEnd": "arrow",
"label": "visualizes",
"color": "4"
}
]
}
"nodes":[
{"id":"zone-skills-1744041613","type":"group","x":-980,"y":-2640,"width":1820,"height":600,"color":"4","label":"Skills — Six Sub-Commands"},
{"id":"zone-demos-1744041634","type":"group","x":-980,"y":-990,"width":1820,"height":520,"color":"3","label":"Visual Demos"},
{"id":"zone-architecture-1744041623","type":"group","x":-980,"y":-2090,"width":1820,"height":500,"color":"2","label":"Architecture & Workflow"},
{"id":"zone-comparison-1744041630","type":"group","x":-980,"y":-1490,"width":1820,"height":440,"color":"1","label":"Wiki vs RAG — When to Use Which"},
{"id":"zone-overview-1744041606","type":"group","x":-980,"y":-3110,"width":1820,"height":420,"color":"5","label":"What Is claude-obsidian"},
{"id":"zone-hero-1744041605","type":"group","x":-980,"y":-3440,"width":1820,"height":280,"color":"6","label":"Hero"},
{"id":"title-hero-1744041601","type":"text","text":"# claude-obsidian\n\n**Claude Code × Obsidian** — Persistent, compounding knowledge base.\nEvery source you add makes the wiki smarter. No vector DB. No embeddings. Just markdown.\n\n*Skills: /wiki · /wiki-ingest · /wiki-query · /wiki-lint · /autoresearch · /canvas*","x":-960,"y":-3420,"width":600,"height":200,"color":"6"},
{"id":"img-cover-16x9-1744041602","type":"file","file":"wiki/meta/claude-obsidian-cover-16x9.png","x":-330,"y":-3420,"width":420,"height":216},
{"id":"img-gif-cover-1744041603","type":"file","file":"wiki/meta/claude-obsidian-gif-cover-16x9.gif","x":130,"y":-3420,"width":420,"height":216},
{"id":"img-gif-1x1-1744041604","type":"file","file":"wiki/meta/claude-obsidian-gif-1x1.gif","x":590,"y":-3420,"width":200,"height":200},
{"id":"text-what-1744041607","type":"text","text":"## What Is It?\n\nAn LLM wiki that **compounds** with every source you add. Originated by Andrej Karpathy.\n\nInstead of re-deriving from raw documents on every query (RAG), Claude reads each source, extracts what matters, and integrates it into a structured wiki — updating entity pages, noting contradictions, strengthening the synthesis.","x":-960,"y":-3090,"width":520,"height":200,"color":"5"},
{"id":"text-layers-1744041608","type":"text","text":"## Three Layers\n\n```\n.raw/ Layer 1 — immutable sources\nwiki/ Layer 2 — LLM knowledge base\nCLAUDE.md Layer 3 — maintenance schema\n```\n\nThe LLM owns Layer 2 entirely. It creates pages, updates them, maintains cross-references, and keeps everything consistent.","x":-400,"y":-3090,"width":460,"height":200,"color":"5"},
{"id":"text-why-1744041609","type":"text","text":"## Why It Works\n\nLLMs don't get bored.\n\nThe tedious part of maintaining a wiki is bookkeeping: cross-references, contradictions, stale summaries. Humans abandon wikis because maintenance cost grows faster than value.\n\n**With Claude: maintenance cost is near zero.**\nKnowledge compounds over time.","x":100,"y":-3090,"width":420,"height":200,"color":"5"},
{"id":"note-llm-wiki-pattern-1744041610","type":"file","file":"wiki/concepts/LLM Wiki Pattern.md","x":560,"y":-3090,"width":240,"height":100},
{"id":"note-compounding-1744041611","type":"file","file":"wiki/concepts/Compounding Knowledge.md","x":560,"y":-2960,"width":240,"height":100},
{"id":"note-hot-cache-1744041612","type":"file","file":"wiki/concepts/Hot Cache.md","x":560,"y":-2830,"width":240,"height":100},
{"id":"text-skills-header-1744041614","type":"text","text":"## Six Skills\n\n`/wiki` · `/wiki-ingest` · `/wiki-query` · `/wiki-lint` · `/autoresearch` · `/canvas`\n\nEach skill is a focused operation on the vault. Together they form a full knowledge lifecycle.","x":-960,"y":-2620,"width":1780,"height":80,"color":"4"},
{"id":"img-wiki-ingest-1744041615","type":"file","file":"_attachments/images/canvas/skill-wiki-ingest.png","x":-960,"y":-2510,"width":400,"height":225},
{"id":"img-wiki-query-1744041616","type":"file","file":"_attachments/images/canvas/skill-wiki-query.png","x":-520,"y":-2510,"width":400,"height":225},
{"id":"img-autoresearch-1744041617","type":"file","file":"_attachments/images/canvas/skill-autoresearch.png","x":-80,"y":-2510,"width":400,"height":225},
{"id":"img-wiki-canvas-1744041618","type":"file","file":"_attachments/images/canvas/skill-wiki-canvas.png","x":360,"y":-2510,"width":400,"height":225},
{"id":"text-ingest-desc-1744041619","type":"text","text":"**WIKI INGEST**\nDrop a source in `.raw/`, Claude reads it, extracts entities + concepts, updates 815 wiki pages, logs the ingest.","x":-960,"y":-2255,"width":400,"height":100},
{"id":"text-query-desc-1744041620","type":"text","text":"**WIKI QUERY**\nAsk any question. Claude reads the index, finds relevant pages, synthesizes with citations. Good answers get filed back.","x":-520,"y":-2255,"width":400,"height":100},
{"id":"text-autoresearch-desc-1744041621","type":"text","text":"**AUTORESEARCH**\nAutonomous web research loop. Searches, fetches, synthesizes, files. Based on Karpathy's autoresearch pattern.","x":-80,"y":-2255,"width":400,"height":100},
{"id":"text-canvas-desc-1744041622","type":"text","text":"**WIKI CANVAS**\nVisual layer. Add images, PDFs, and wiki notes to Obsidian canvas files with auto-positioning and zone management.","x":360,"y":-2255,"width":400,"height":100},
{"id":"text-arch-header-1744041624","type":"text","text":"## Lifecycle Flow\n\n```\nDrop source → /wiki-ingest → Wiki updated\n ↓\n /wiki-lint ←→ /wiki-query\n ↓\n /autoresearch\n ↓\n /canvas (visual)\n```","x":-960,"y":-2070,"width":560,"height":260,"color":"2"},
{"id":"img-workflow-loop-1744041625","type":"file","file":"wiki/meta/workflow-loop.gif","x":-360,"y":-2070,"width":236,"height":236},
{"id":"text-hot-cache-1744041626","type":"text","text":"## Hot Cache\n\n`wiki/hot.md` — a ~500-word context file updated after every ingest and session.\n\nLoaded automatically at conversation start. Gives Claude instant context without reading the full index.\n\n**Pattern:** hot → index → domain → page","x":100,"y":-2070,"width":420,"height":200,"color":"2"},
{"id":"img-graph-view-1744041627","type":"file","file":"wiki/meta/image-example-graph-view.png","x":560,"y":-2070,"width":370,"height":236},
{"id":"text-arch-stats-1744041628","type":"text","text":"**One source → 815 wiki pages touched**\n\nEntities, concepts, comparisons, questions — all updated in a single ingest pass.","x":-960,"y":-1780,"width":500,"height":80},
{"id":"img-wiki-graph-grow-1744041629","type":"file","file":"wiki/meta/wiki-graph-grow.gif","x":-420,"y":-1780,"width":236,"height":236},
{"id":"img-wiki-vs-rag-1744041631","type":"file","file":"_attachments/images/canvas/wiki-vs-rag-chart.svg","x":-960,"y":-1470,"width":800,"height":420},
{"id":"text-comparison-table-1744041632","type":"text","text":"## When Wiki Wins\n\n| Metric | LLM Wiki | RAG |\n|---|---|---|\n| Infrastructure | Markdown files | Vector DB |\n| Cost | Tokens only | Compute + storage |\n| Maintenance | Run a lint | Re-embed |\n| Scale limit | ~1000 pages | Millions |\n| Compounding | ✅ Yes | ❌ No |\n\n**Verdict:** Wiki wins at <1000 pages.\nFor millions of documents, use RAG.","x":-120,"y":-1470,"width":480,"height":360},
{"id":"note-wiki-vs-rag-1744041633","type":"file","file":"wiki/comparisons/Wiki vs RAG.md","x":400,"y":-1470,"width":380,"height":100},
{"id":"text-demos-header-1744041635","type":"text","text":"## See It In Action","x":-960,"y":-970,"width":300,"height":50,"color":"3"},
{"id":"img-welcome-canvas-1744041636","type":"file","file":"wiki/meta/welcome-canvas.gif","x":-960,"y":-900,"width":420,"height":236},
{"id":"img-wiki-map-1744041637","type":"file","file":"wiki/meta/image-example-wiki-map-view.png","x":-500,"y":-900,"width":316,"height":236},
{"id":"img-cover-square-1744041638","type":"file","file":"wiki/meta/claude-obsidian-cover-square.png","x":-40,"y":-900,"width":280,"height":280},
{"id":"text-install-1744041639","type":"text","text":"## Install\n\n```bash\nclaude plugin marketplace add \\\n AI-Marketing-Hub/claude-obsidian\n\nclaude plugin install claude-obsidian\n```\n\nRepo: `github.com/AI-Marketing-Hub/claude-obsidian`","x":280,"y":-900,"width":480,"height":200,"color":"3"},
{"id":"text-canvas-label-1744041640","type":"text","text":"Canvas Demo","x":-960,"y":-630,"width":420,"height":40},
{"id":"text-wikimap-label-1744041641","type":"text","text":"Wiki Map View","x":-500,"y":-630,"width":420,"height":40},
{"id":"text-cover-label-1744041642","type":"text","text":"Plugin Cover","x":-40,"y":-600,"width":280,"height":40}
],
"edges":[
{"id":"e-ingest-query-1744041650","fromNode":"img-wiki-ingest-1744041615","fromSide":"right","toNode":"img-wiki-query-1744041616","toSide":"left","color":"4","label":"builds"},
{"id":"e-query-auto-1744041651","fromNode":"img-wiki-query-1744041616","fromSide":"right","toNode":"img-autoresearch-1744041617","toSide":"left","color":"4","label":"grows"},
{"id":"e-auto-canvas-1744041652","fromNode":"img-autoresearch-1744041617","fromSide":"right","toNode":"img-wiki-canvas-1744041618","toSide":"left","color":"4","label":"visualizes"}
]
}