Capslockiller

Origin Of Memory — Development skill for Claude Code

Development community

Persistent memory for Claude Code: hooks summarise each session into an Obsidian vault, daily logs compile into concept notes, and the relevant notes are injected at the next session start.

How to install Origin Of Memory

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Capslockiller/origin-of-memory and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Origin Of Memory does

Persistent memory for Claude Code: hooks summarise each session into an Obsidian vault, daily logs compile into concept notes, and the relevant notes are injected at the next session start. One .NET 9 executable, local claude CLI only, BM25 retrieval, read-only MCP server.

Alternatives in Development

  • CORS — Scan an endpoint for CORS misconfiguration — arbitrary-origin reflection, null-origin trust, credential exposu 4.5k ★
  • Code Review Graph — Local knowledge graph for Claude Code 3.7k ★
  • GGA — Agent Skills Index — When working on this project, load the relevant skill(s) BEFORE writing any code 948 ★

README

Origin of Memory

[![CI](https://github.com/Capslockiller/origin-of-memory/actions/workflows/ci.yml/badge.svg)](https://github.com/Capslockiller/origin-of-memory/actions/workflows/ci.yml) [![Release](https://img.shields.io/github/v/release/Capslockiller/origin-of-memory)](https://github.com/Capslockiller/origin-of-memory/releases) [![.NET 9](https://img.shields.io/badge/.NET-9.0-512BD4)](https://dotnet.microsoft.com/) [![License: PolyForm Noncommercial](https://img.shields.io/badge/license-PolyForm%20Noncommercial%201.0.0-blue)](LICENSE)

Persistent memory for Claude Code sessions, kept as plain Markdown in an Obsidian vault.

`oom` is a single .NET 9 console executable. It hooks into Claude Code, summarises each session into a daily log, compiles the daily logs into concept notes, and injects the relevant memory back at the start of the next session. Summaries are produced by the `claude` CLI on the same machine; nothing else is called.

How it works

  1. Session start — context prints today's log, the knowledge index and the companion files into the session as additional context.
  2. During the session — nudge counts prompts and periodically asks the session to record what it learned.
  3. Session end / compaction — flush summarises the transcript with the fast model and appends a block to daily/YYYY-MM-DD.md.
  4. oom sweep — finds transcripts that changed on disk and flushes the ones the hooks missed. Nothing schedules it; run it yourself or from Task Scheduler. sweep.everyHours stops it doing the work twice.
  5. oom compile — folds the daily logs into knowledge/ concept notes with the smart model and rebuilds the root map. Same: run it, it decides whether it is due (compile.eveningHour, minIntervalHours).
  6. On request — retrieve or the MCP tools search the notes with BM25 and return a bounded excerpt.

Every file it writes is Markdown you can read and edit; the SQLite state is a cache that can be deleted at any time.