Architecture

Three layers

graph LR
    Claude[".claude/<br/>Agents + Skills"] --> Python["distillary/<br/>Python utilities"]
    Python --> Brain["brain/<br/>Obsidian vault"]
    Brain --> Quartz["Published site<br/>+ agent.json"]

LayerWhatContains
.claude/The brain14 agents + 9 skills + CLAUDE.md
distillary/The hands10 Python utility files
brain/The outputObsidian vault with all knowledge

Agents

14 agents — 10 haiku (bulk) + 4 opus (reasoning)

Source processing

AgentModelJob
extracthaikuText → atomic claims with source_ref
dedupehaikuMerge duplicate claims
entitieshaikuFind people, concepts, companies
entity-linkhaikuAdd [[wikilinks]] to bodies
linkhaikuFind tensions, patterns, evidence
groupopusCluster claims into parents
pyramidopusBuild hierarchy to root

Brain-level

AgentModelJob
doctorhaikuFix orphans, discover ghosts
combinehaikuMerge multiple sources
concept-mapperopusFind same-concept pairs
compareopusWrite cross-source synthesis
bridge-builderhaikuCreate unified entity notes
annotatehaikuHelp write personal notes
exploreopusSuggest what to investigate

Skills

Skills chain agents into workflows. Say what you want, the skill orchestrates the agents.

SkillYou sayWhat happens
distillary-add-source”Add this book”Full pipeline + auto-bridge
distillary-decompose”Extract claims”Core extraction pipeline
distillary-combine”Combine these”Concept mapping + bridges
distillary-doctor”Fix my brain”Doctor + suggestions
distillary-publish”Publish”Quartz + agent.json
distillary-retrieval”Query this brain”Shareable navigation skill
distillary-use-brain”Explore”6 navigation strategies
obsidian-bases”Create a base”Analytical database views
quartz-rendering”Write docs”What Quartz can render

Brain structure

brain/
  sources/{slug}/           Per-source content
    _source.md              Metadata (title, author, type, URL)
    claims/
      atoms/                Layer 0 — individual propositions
      structure/            Layer 1 — argument parents
      clusters/             Layer 2 — chapter groups
      [root note]           Layer 3 — thesis
    entities/
      concepts/             Technical terms
      people/               Authors, figures
      companies/            Organizations
  shared/                   Cross-source
    concepts/               Bridge entities
    analytics/              Comparison + stats
  personal/                 Your voice
    annotations/            Reactions to claims
    notes/                  Freeform thinking

Design decisions

Why these choices

  • Agents are the pipeline, Python is the plumbing. Agents think. Python does file I/O.
  • Haiku for bulk, opus for reasoning. 16 parallel haiku = minutes not hours.
  • Post-processing catches mistakes. fix_ghost_links, _wire_parent_links handle format inconsistencies mechanically.
  • One vault, not many. Sources accumulate. Bridges grow.
  • Backlinks are the search engine. Entity pages + backlinks answer questions without keyword search.

Acknowledgments

Published with Quartz by Jacky Zhao — renders wikilinks, graph view, backlinks, Mermaid, and callouts natively.