Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Research Skill Graph

A local-first research engine for Claude Code + Obsidian. One research question in → multi-angle analysis out, with tiered sources, preserved contradictions, and compounding knowledge across projects.

Built from the blueprint by @the_smart_ape, adapted and fleshed out for actual use.

What is this

A folder of interconnected markdown files. Each file is one "knowledge node." When you point an AI agent at this folder and ask a research question, the agent:

  1. Reads the methodology (how to evaluate sources, how to synthesize, how to handle contradictions).
  2. Runs the question through six independent lenses: technical, economic, historical, geopolitical, contrarian, first-principles.
  3. Surfaces the places the lenses disagree, rather than smoothing them out.
  4. Produces a synthesis that preserves tension, cites every claim, and ends with three open questions.
  5. Updates the shared knowledge files, so project N+1 starts from everything project N learned.

Folder structure

research-skill-graph/
├── index.md                         ← start here, the command center
├── methodology/
│   ├── research-frameworks.md       ← pick a mode: diagnostic / predictive / evaluative / exploratory
│   ├── source-evaluation.md         ← 5-tier trust system with weight modifiers
│   ├── synthesis-rules.md           ← convergence / tension / reframe
│   └── contradiction-protocol.md    ← contradictions as features, not bugs
├── lenses/
│   ├── technical.md                 ← data only
│   ├── economic.md                  ← follow the money
│   ├── historical.md                ← what patterns repeat
│   ├── geopolitical.md              ← zoom out to the board
│   ├── contrarian.md                ← what if the consensus is wrong
│   └── first-principles.md          ← rebuild from fundamental truths
├── templates/
│   ├── source-template.md
│   ├── lens-output.md
│   └── project-brief.md
├── knowledge/                       ← compounds across projects
│   ├── concepts.md
│   ├── data-points.md
│   └── open-questions.md
└── projects/
    ├── research-log.md              ← index of every project
    └── <slug>/                      ← one folder per research project
        ├── brief.md
        ├── sources/<slug>.md
        ├── lens-technical.md
        ├── lens-economic.md
        ├── lens-historical.md
        ├── lens-geopolitical.md
        ├── lens-contrarian.md
        ├── lens-first-principles.md
        ├── contradictions.md
        ├── synthesis.md
        └── self-critique.md

20 files across 6 folders. Same as the blueprint.

How to use it

Option 1 — Claude Code (most powerful)

cd ~/research-skill-graph
claude

Then prompt:

Follow the execution instructions in index.md. My research question is: [your question here]. Create a new project folder at projects/<slug>/ and run the full protocol.

Claude Code reads and writes files directly. The graph evolves as it works: knowledge/ accumulates, research-log.md grows, lens files get sharper based on what works.

Option 2 — Claude Projects (easy setup)

  1. Go to claude.ai, create a new project.
  2. Upload every file in this folder to the project's knowledge base.
  3. In the project's custom instructions, paste: "Follow the execution instructions in index.md."
  4. Chat the project your research question.

Less autonomous than Option 1 (Claude can't write files back into the vault), but zero local setup. Copy synthesis.md back manually at the end.

Option 3 — Paste context (works anywhere)

Copy index.md + the 6 lenses/*.md + methodology/source-evaluation.md + methodology/synthesis-rules.md into any long-context model's chat. Add your question. Less powerful but portable.

Use it with Obsidian (optional)

  1. Install Obsidian (free).
  2. Open folder as vault → select this research-skill-graph folder.
  3. Open the graph view. You'll see index.md at the center, the six lenses radiating out, the methodology files connecting to lenses, and the knowledge files connecting to everything.

The graph view makes two things visible:

  • Orphan nodes — files not yet linked. These are research gaps.
  • Unexpected connections — when knowledge from project N shows up linked from project N+2. Compound insight.

Obsidian is optional. The AI reads the markdown regardless.

The six lenses, in one line each

Lens Question
Technical What do the numbers actually say?
Economic Who pays, who profits, what are the incentives?
Historical What patterns repeat — and what is different this time?
Geopolitical Which countries, which power dynamics, which chokepoints?
Contrarian What if the consensus is wrong? Who benefits from it being accepted?
First Principles If I deleted every paper on this topic, what would I still know to be true?

Each lens is written independently, without reading the others. Contamination destroys the system. The value is in the disagreements between lenses, not in an averaged answer.

The compound effect

This is what makes it different from a ChatGPT conversation:

  • knowledge/concepts.md and knowledge/data-points.md accumulate verified findings across every project. Project 10 starts with 200+ verified data points and 50+ defined concepts.
  • projects/research-log.md indexes every past project so the next one doesn't start from zero.
  • knowledge/open-questions.md turns unresolved tensions from project N into the seed question for project N+1.

The graph gets smarter every time you use it. That is the entire point.

Build it fresh from scratch (if you're copying this elsewhere)

  1. Create the folder structure (20 files, 6 folders). 5 minutes.
  2. Fill index.md first — it defines everything else.
  3. Fill the 6 lens files with their core questions and output formats.
  4. Fill methodology/ with source evaluation tiers and synthesis rules.
  5. Upload to a Claude project (or point Claude Code at the folder).
  6. Give it a test topic and run the full protocol.
  7. Iterate. Update the lens files based on output quality. Prune things that don't work. Add concepts to knowledge/ after each project.

Anti-patterns

  • Using only the technical lens because it feels objective → you get a summary, not a synthesis.
  • Letting lenses read each other mid-analysis → contamination, all lenses converge, the tension that makes the system valuable disappears.
  • Citing a source without a tier rating → the source does not exist.
  • Smoothing contradictions into "on the other hand..." → the most valuable output of the whole system gets hidden.
  • Starting a new project without reviewing knowledge/ and research-log.md → you re-derive what you already knew.

Credit

Concept: @the_smart_ape — "claude code + obsidian + skill graph. how to build a local research engine?"

This implementation fleshes out the template with full lens protocols, explicit synthesis rules, and a compounding-knowledge discipline.

About

A local-first research engine: Claude Code + Obsidian + 6 analytical lenses

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors