By tduffield
Portable knowledge-management plugin: session lifecycle, capture skills, and vault recall for any Claude Code project.
Use BEFORE planning, when an idea is still fuzzy and needs discovery. The goal is to flesh out boundaries, surface unknowns, poke at edges, and produce a frozen spec (problem, objectives, acceptance criteria, non-goals, UI direction) so that planning can be perfunctory and execution-focused. TRIGGER when: user says "thinking about", "what if", "exploring", "noodling on", "should we", "wondering about", "feeling out", "kicking around", "let's iterate on", or invokes /brainstorm explicitly. DO NOT TRIGGER when: user uses concrete verbs ("implement", "fix", "add", "build") without exploration framing, or has already decided what to do.
Poll all active radar items in the lore vault, detect state changes, summarize what moved, and update last-checked / last-state. Use for /lore:check-radar, "check the radar", "any movement on my radar", "poll the watchlist", "what's new on my radar".
Mid-session checkpoint — harvest current in-context state into the active session note's standard sections (What we did / Decided / Deferred / Learned / Open questions) and commit. Status stays active. Use for /checkpoint, "checkpoint before clearing", "snapshot the session", "save state before /clear", "preserve context". Offer proactively when a meaningful chunk just completed in a long-running session and the user is about to context-switch or /clear.
Record a dead-end — an approach tried that didn't work, with a revive condition. Use for /dead-end, "that didn't work", "mark this as a dead end", "don't try this again".
Record a non-obvious architectural or design decision as a lightweight ADR. Use for /decision, "record this decision", "ADR this", "document why we chose X over Y".
Matches all tools
Hooks run on every tool call, not just specific ones
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A portable, git-backed second-brain for Claude Code. Lore captures the durable, non-obvious things worth remembering across sessions — decisions, dead-ends, deferrals, radar items, subsystem mental models, and a running session log — and loads what's relevant automatically when a session starts.
No MCP required. Lore uses only Read, Write, Edit, Glob, Grep,
and Bash(git) — tools every Claude Code session already has.
| Capture command | What it records |
|---|---|
/lore:defer | Work chosen not to do now, with a trigger to revisit |
/lore:dead-end | Approaches tried that didn't work, with a revive condition |
/lore:decision | Non-obvious architectural choices and their reasoning |
/lore:radar | External things out of your control being watched |
/lore:subsystem | Mental model of a system area (files, gotchas, conventions) |
Session lifecycle is automatic: /lore:checkpoint snapshots in-flight state;
/lore:finished wraps the session. /lore:vault-sync commits and pushes the
vault at any point.
/plugin marketplace add https://github.com/<your-fork-or-this-repo>
Or for local development:
/plugin marketplace add /path/to/lore
/plugin install lore@lore-local
export LORE_VAULT=~/lore # add to ~/.bashrc or ~/.zshrc
lore init ~/lore
lore init scaffolds the vault taxonomy, copies the starter docs (README,
glossary, phases, harvest-protocol), initializes a git repo, and installs a
pre-commit guard that enforces the canonical status vocabulary.
$LORE_VAULT tells every hook and CLI call where the vault lives. If it is
unset, lore defaults to ~/lore and emits a one-time warning at session start.
Open Claude Code in any project. The SessionStart hook creates a session note for your current worktree and loads the baseline vault index into context.
| Skill | Description |
|---|---|
/lore:defer | Capture a deferred item |
/lore:dead-end | Record a dead-end approach |
/lore:decision | Record an architectural decision |
/lore:radar | Add a radar watch item |
/lore:subsystem | Create or update a subsystem profile |
/lore:checkpoint | Mid-session snapshot — harvest state into the session note |
/lore:finished | Canonical end-of-session finish — fill, finalize, expand harvest-pending, and commit |
/lore:vault-sync | Commit and push the vault |
/lore:ping | Confirm the plugin is installed and show the resolved vault path |
lore CLIThe lore CLI handles the deterministic operations skills delegate to it.
lore init <path> Scaffold a new vault
lore new <type> Render a template and write a new vault note
lore patch <file> <sec> Append text under a named section (--text or stdin)
lore set-status <f> <v> Validate and flip a note's frontmatter status
lore stats Print vault counts
lore finish Finalize the session note, expand harvest-pending into vault notes, and commit
lore sync Stage, commit, and push the vault
Run lore <subcommand> --help for full options.
Declare keywords: on a subsystem profile:
---
type: subsystem
name: auth-service
keywords: [auth, login, oauth]
---
When the current git branch contains any of those keywords, the SessionStart hook loads that subsystem profile plus related deferred items, dead-ends, lessons, and recent sessions into the context — before you type anything.
Every note type has a canonical status: set. The pre-commit guard rejects
non-canonical values. See the vault's glossary.md for the full list.
Key transitions:
active → complete (or shelved for handoffs)open → resolved / dropped / graduatedactive → resolved / droppedactive → archivedlore/
sessions/ One note per working session
subsystems/ Mental models of system areas
decisions/ Lightweight ADRs
dead-ends/ Failed approaches with revive conditions
lessons/ Mistakes plus prevention checks
deferred/ Work set aside with revisit triggers
radar/ External things to watch
collaboration/ Working-style preferences
specs/ Specification artifacts
plans/ Implementation plans
designs/ Design artifacts
inbox/ Raw captures awaiting triage
harvest-pending.md Staging area for subagent harvest candidates
Use the /lore:lore-librarian agent to search and synthesize across the vault.
It uses Glob, Grep, and Read — no MCP — and returns a cited synthesis,
not a raw dump.
# Run the test suite
python -m pytest tests/
npx claudepluginhub tduffield/lore --plugin lorePortable software-development plugin: general-purpose dev agents and dev-ritual skills for any Claude Code project.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions