bibleCode2110 downloadsTransform raw memos into structured notes (meeting minutes, 1:1s, daily) using Claude. Works with Claude Code subscription or Anthropic API key.
한국어 README: README.ko.md
Transform raw memos into structured notes using Claude. Works with your existing Claude Code login (Pro/Max) or with an Anthropic API key.
You scribble fragmented notes during a meeting or a quick thought. You want them turned into proper meeting minutes, a 1:1 summary, a decision record, or your own template — without leaving Obsidian and without copy-pasting into a chat.
ExcaVelo takes:
and produces a clean, structured note via Claude. The memo body is preserved by default.
console.anthropic.com. Pay-per-token. Works on mobile.[!context] callout scaffold.ExcaVelo splits the prompt into three parts:
| Part | Source | Purpose | When does it change? |
|---|---|---|---|
| User context (always-on) | Settings -> "Default context" | Long-lived facts about you / your team / your work | Rarely |
| Note-specific context | A [!context] callout anywhere in the active note |
Facts tied to this single note (participants, date, topic, ...) | Per note |
| Memo body | Everything in the active note outside the [!context] callout |
The content ExcaVelo will rewrite | Per note |
Only the memo body is rewritten. Anything inside [!context] is background — the LLM reads it but does not transform it.
Example:
> [!context]
> Today is a 1:1 with Park, infra team senior.
> Topic: migration risk assessment.
- migration phases — risk
- A: blue-green, B: incremental
- Park prefers B (simpler rollback)
- need a decision by Tuesday
The two lines inside the callout become the note-specific context. The four bullets below become the memo body. The "Default context" you set in Settings is always prepended on top of both.
If a note has no [!context] callout, the entire note becomes the memo body. The Default context from Settings still applies.
Tip: if you only want to transform part of a long note, select that region in the editor before running Transform — selection wins over the full note body.
If writing the [!context] callout by hand each time is tedious, use ExcaVelo: New note from template (command palette). It creates a fresh note with the callout scaffold and a placeholder body, so you only fill in the blanks and start writing.
Templates are plain markdown files under excaVelo/templates/ in your vault.
Edit them, add new ones, share them. The format is documented in
docs/templates-format.md. Five starter templates
are copied in on first run:
meeting-minutes — participants, discussion, decisions, action items1on1 — themes, decisions, watch items, tone signaldaily-memo — highlights, grouped notes, actions, open questionsdecision-record — ADR-style recordbrainstorm — clustered themes, strong candidates, next stepsThe plugin spawns your installed claude CLI as a subprocess. Auth lives in
Claude Code (claude login), so the plugin never sees a key. Works with personal
Claude Pro accounts and with team-shared Claude Max accounts.
Requires: Claude Code installed and logged in. Desktop only — on mobile, ExcaVelo transparently falls back to the Anthropic API key path (a one-time notice tells you).
A note on Anthropic terms: spawning your own logged-in claude CLI is
mechanically the same as running it yourself in a terminal. ExcaVelo does not
redistribute any Anthropic licence and stores no Anthropic credentials. Using
Claude Code as a backend for another tool is not a documented use case in
Anthropic's product docs — use the CLI path knowing that, or pick the API key
path instead.
Standard pattern. Get a key at console.anthropic.com, paste into settings.
Pay-per-token billing — separate from any Claude.ai subscription. Works on
mobile and desktop.
For OpenAI itself, or any local / hosted server that speaks the OpenAI Chat Completions shape (Ollama, LM Studio, Groq, Together, OpenRouter, vLLM, Fireworks, Mistral, ...).
data.json inside your Obsidian
plugin folder. It is never sent anywhere except to the provider you configured.If your vault includes an excavelo.json at root, the plugin enables smart
defaults — output paths and frontmatter that match the structure of Karpathy-style
LLM Wiki vaults (raw/, wiki/sources/). See
docs/architecture.md for the config schema.
pnpm install
pnpm dev # esbuild watch
pnpm build # production build
Uses pnpm (declared in packageManager). If you don't have it: npm i -g pnpm or corepack enable.
Symlink (or copy) the build output (main.js, manifest.json, styles.css)
into a test vault's .obsidian/plugins/excavelo/ to try it.
Architecture overview: docs/architecture.md.
Provider implementation notes: docs/adapters.md.
Template format: docs/templates-format.md.
Developer spec: CLAUDE.md.
MIT. See LICENSE.