Skip to main content
Claude is one of the most capable models available. It can reason, write code, analyze documents, and hold nuanced conversations. But every session starts from zero. It has no memory of what you worked on yesterday, what you told it last week, or what you learned from that podcast three months ago. The fix is not a bigger context window. It is a memory system that persists across sessions, compounds over time, and stays searchable as it grows. Augent builds this in three layers, each solving a different problem.

Layer 1: Session Memory

This layer is built into Claude Code. No plugins required. CLAUDE.md is a file loaded at the start of every session. It contains architecture decisions, project conventions, boundaries, and preferences. Think of it as the briefing document Claude reads before doing anything. Auto-memory lives in ~/.claude/projects/ and is where Claude persists observations, corrections, and patterns it picks up during sessions. If you correct Claude’s behavior, it remembers next time. MEMORY.md acts as a routing document. It stays under 200 lines and links out to topic-specific memory files like project_augent_new_tools.md or feedback_verify_before_documenting.md. This keeps the top-level file scannable while scaling to dozens of topics. This layer handles one question: who am I working with and what do they prefer?

Layer 2: Knowledge Graph

Your Obsidian vault becomes a searchable brain. Every transcription augent creates is a markdown file with structured YAML frontmatter: title, tags, source_url, duration, language, date, type. This metadata makes every file queryable by any dimension. Wikilinks connect semantically related files, computed by cosine similarity with a shared-tag bonus. MOC (Map of Content) hub files are auto-generated for any tag with three or more members, giving you navigable entry points into clusters of related content. Four file types live in the graph: transcription, notes, translation, and moc. Claude searches this graph through augent’s MCP tools:
  • search_memory: keyword or semantic search across everything
  • deep_search: deep read of a single file with full context
  • list_memories: browse the full index
This layer handles: what do I know about X?

Layer 3: Ingestion Pipeline

This is how real-world content enters the graph. take_notes is the primary entry point. Give it a URL. It downloads the audio, transcribes locally, and saves a structured vault note with frontmatter and wikilinks. One command closes the gap between “I watched something useful” and “Claude can find it.” transcribe_audio handles raw transcription with timestamps, segments, and language detection. download_audio is a speed-optimized downloader using aria2c with 16 parallel connections. highlights extracts key moments from long audio. chapters auto-detects topic boundaries. Everything stays local. No audio, transcripts, or notes leave your machine. This layer handles: how does new knowledge get in?

How They Compound

The three layers are not independent. They form a feedback loop. Layer 3 feeds Layer 2. Every take_notes call creates vault content with frontmatter, tags, and wikilinks that make it immediately searchable. Layer 2 informs Layer 1. As Claude searches the vault and discovers patterns, it updates session memory with new observations and preferences. Layer 1 guides Layers 2 and 3. Session preferences shape how content is captured (which tags, what format) and how searches are scoped. Skip one layer and the others degrade. Without ingestion, the graph starves. Without the graph, session memory has nothing to reference. Without session memory, every interaction with the graph starts cold. Together, they compound.

Getting Started

  1. Install augent and configure your MCP server
  2. Point Obsidian at the memory directory
  3. Run rebuild_graph to index existing content
  4. Use take_notes on any URL to start building your knowledge base
The graph grows with every piece of content you ingest. Claude gets smarter with every session.