Files
quicksilver/echo-memory.plugin.src
jason 3ba73b2d48 Initial commit — quicksilver
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 07:06:21 -05:00
..
2026-06-07 07:06:21 -05:00

echo-memory

Persistent memory for Claude via the ECHO Obsidian vault, using the Obsidian Local REST API.

Reads and writes notes across Claude/CoWork sessions using direct REST calls — no MCP server required. Built for Jason Stedwell (Director of Technical Services / Systems Engineer, MPM / ALABAMA wISP), who is both the operator and the architect of this vault.

The plugin is the single source of truth. All control logic — bootstrap/repair, operating contract, taxonomy, frontmatter conventions, and the canonical note templates — ships inside this plugin under skills/echo-memory/. The vault itself holds data only: there are no CLAUDE.md / BOOTSTRAP.md / STRUCTURE.md / index.md control docs in it. This makes ECHO self-bootstrapping (point it at an empty Obsidian vault and it stands up the full structure), easy to update (update the plugin, not the vault), and portable to any other vault.

What it does

  • Loads operator preferences, current context, and relevant project notes at the start of substantive conversations
  • Writes facts, preferences, and decisions Jason asks Claude to remember
  • Logs working sessions so future conversations can pick up where they left off
  • Bootstraps an empty vault from the bundled scaffold/ (folders, templates, anchor seeds, marker) and repairs/migrates an existing one — see skills/echo-memory/references/bootstrap.md

Configuration

The plugin is hardcoded for:

  • Server: https://echoapi.alwisp.com (reverse proxy → backend Obsidian Local REST API)
  • API Key: stored in the skill (personal plugin, not for distribution)

The endpoint presents a valid TLS certificate, so -k is not required. The bearer key lives only in the plugin — never inside the vault (per the vault's own safety rules).

Vault layout (root-addressed)

/vault/
├── README.md     ← thin human signpost (not read for routing)
├── inbox/        (captures, imports, processing-log)
├── journal/      (daily, weekly, monthly, templates)
├── projects/     (active, incubating, on-hold, archived)
├── areas/        (business, personal, learning, systems)
├── resources/    (concepts, references, people, meetings, source-material)
├── decisions/    (by-date)
├── reviews/      (weekly, monthly, quarterly, annual)
├── archive/      (notes, projects, imports)
└── _agent/
    ├── echo-vault.md   ← bootstrap marker (schema_version + date)
    ├── context/        ← task-scoped context bundles
    ├── memory/         ← working / episodic / semantic
    ├── sessions/       ← YYYY-MM-DD-HHMM-<slug>.md
    ├── templates/      ← canonical note templates (seeded from the plugin's scaffold/)
    ├── outputs/        ← briefs / drafts / summaries / synthesis
    ├── skills/         ← active / archived
    └── heartbeat/

Control logic and the master scaffold live in the plugin, not the vault:

skills/echo-memory/
├── SKILL.md                       ← operating procedure (authoritative)
├── references/
│   ├── operating-contract.md      ← durable principles + safety
│   ├── bootstrap.md               ← bootstrap / repair / migrate an empty vault
│   ├── vault-layout.md            ← canonical layout + frontmatter
│   ├── api-reference.md           ← REST endpoint patterns + routing map
│   └── session-log-template.md
└── scaffold/                      ← verbatim files the bootstrap writes into the vault
    ├── README.vault.md  echo-vault.md
    ├── templates/  (8 note templates)
    └── anchors/    (operator-preferences, current-context, inbox seeds)

Skills

Skill Triggers
echo-memory "remember that", "save to memory", "what do you know about me", "load my profile", "check my notes", "log this decision", "add to my inbox" — and proactively at the start of substantive conversations

Requirements

  • Obsidian running on the backend with the Local REST API plugin enabled
  • HTTPS access to https://echoapi.alwisp.com from the Claude/CoWork session environment