A local research engine using Claude Code + Obsidian + a network of markdown files. Takes ONE research question and produces multi-angle analysis through 6 forced lenses.
A local research engine using Claude Code + Obsidian + a network of markdown files. Takes ONE research question and produces multi-angle analysis through 6 forced lenses.
Use when the user says "research" or asks you to investigate a topic deeply, or when he says to use the "research skill graph" or "skill graph" system.
The system is a folder of interconnected markdown files at ~/Obsidian/research-skill-graph/:
research-skill-graph/
├── index.md # Command center — paste your question here
├── research-log.md # Chronological record of all projects
├── methodology/
│ ├── research-frameworks.md # Pick approach based on question type
│ ├── source-evaluation.md # 5-tier trust system
│ ├── synthesis-rules.md # Combine findings without losing nuance
│ └── contradiction-protocol.md
├── lenses/ # The core engine — 6 ways to rethink any question
│ ├── technical.md # Data, numbers, mechanisms
│ ├── economic.md # Money, incentives, who profits
│ ├── historical.md # Patterns, precedents, context
│ ├── geopolitical.md # Countries, power, alliances
│ ├── contrarian.md # What if consensus is wrong?
│ └── first-principles.md # Rebuild from fundamental truths
├── projects/ # One subfolder per research project
├── sources/ # Source templates
└── knowledge/
├── concepts.md # Mental models — compounds over time
└── data-points.md # Verified numbers — compounds over time
projects/[project-name]/projects/[project-name]/index.md — define scope, question, time horizon, output goalindex.md — understand the system structureresearch-frameworks.md — pick approach based on question typesource-evaluation.md — know what counts as good evidenceDelegate to subagents. IMPORTANT: delegate_task max_concurrent_children = 3. Split 6 lenses into 2 batches.
Batch 1 (3 lenses): technical + economic + historical Batch 2 (3 lenses): geopolitical + contrarian + first-principles
Per batch, pass this context to each subagent:
Hermes ecosystem: https://github.com/ksimback/hermes-ecosystem
Research vault: ~/Obsidian/research-skill-graph/
Output folder: ~/Obsidian/research-skill-graph/projects/[project-name]/
Each lens task should research the question through ONE specific angle only and return structured findings.
contradiction-protocol.md — document disagreements between lensessynthesis-rules.md — combine everything into final outputsexecutive-summary.md — 500 words max, key findings + tensionsdeep-dive.md — full analysis organized by lens with contradictionskey-players.md — people/orgs/countries that matteropen-questions.md — what we STILL don't know (as important as findings)research-log.md — log the project with key findingsknowledge/concepts.md — add 3-5 new concepts discoveredknowledge/data-points.md — add verified numbers with source attributionopen-questions is as important as executive-summary.concepts.md and data-points.md after every project. The 10th project starts from everything learned before.~/Obsidian/research-skill-graph/
delegate_task max_concurrent_children = 3. Always split 6 lenses into 2 batches.methodology/ and lenses/ — same system, fresh brainFull system design documented in: ~/Obsidian/research-skill-graph/index.md