



Stop explaining your project to the AI every morning.
With your approval, Lore turns lessons into project criteria the AI can use next time.
Not sure whether to try it? Share this repository's link with your AI agent, ask what Lore Plugin and Vespi are, and let it tell you whether it recommends installing them in one of your projects.
In plain words. Lore: your project's criteria, as plain Markdown files you approve. Save to Lore: turn a correction you made into a criterion for next time. Prune: retire rules that no longer apply. Graft: bring in an idea from outside only after checking where it loses against your criteria. Transmute: reorganize or migrate a Lore tree. Crystallize: pack a bot's criteria into one file to carry it elsewhere.
Where this is going. Today you run Lore Plugin from a terminal. Try the interactive Hive POC on the site: a UX/UI MVP where you can choose agents and save criteria and workflows in your browser, without connecting to AI.
Read in English
The problem
Every session starts blank. Yesterday’s corrections do not carry into the next one, so you explain the project again and may repeat decisions you had already rejected. Lore gives lessons you approve a place in your project files, ready for future work.
Start
The problem ·
What is Lore ·
Who can use it ·
Start building ·
Installation
Use it
Architecture ·
The nine skills ·
Loose notes ·
Documentation
Understand it
Shared invariants ·
Case studies ·
Reach · Origin
What is Lore?
Lore is a provider-neutral kit of nine skills and a simple structure for project criteria. You decide what gets written; the kit makes approved criteria available before later work. It does not train a model or learn on its own.
What it provides
- A simple convention for organizing a project’s criteria.
- Nine skills that work with that convention.
- A reviewed process for turning experience into reusable criteria.
Each project has one contract (CLAUDE.md or AGENTS.md, depending on the host), FASES.md for current work, and lore/ for criteria that guide how it is built.
Start from existing work
transmute-lore can read project folders, documents, exported chat summaries, and notes to help organize criteria already in use. Your files stay as they are; nothing becomes Lore until you read and approve the result.
When criteria need to travel, CRYSTALLIZE creates a traceable Markdown snapshot that can move between models and return to a working folder. It omits sensitive filenames and rejects secret markers. It never replaces live Lore.
What it does not promise
Lore cannot guarantee correct work or decide when old criteria no longer fit. It gives you a reviewed way to preserve and prune lessons; both still need your judgment and time.
The filter
Lore keeps lessons that change future decisions. If a sentence does not constrain a future decision, it is not Lore. Other facts belong in documentation or notes.
Who can use Lore Plugin?
Whether you are new to AI or already build with it, you can start with your own project and your own words.
- New to AI: describe what you want to do; the skills guide the next step, and you approve what gets written.
- Experienced builders: carry useful project criteria between sessions and models.
- Teams using spec-kit or another workflow: Lore keeps project criteria alongside your process tools; it does not replace them. See
SPEC_KIT_en.md.
- Readers interested in the research: LUS explains the research questions and their evidence boundaries.
What you can do fast with Lore and Vespi
Lore keeps your criteria, workflows and preferences as files on your computer, so you can start with a small, concrete job and keep going in the next session. Vespi, its kernel, lets an operation carry a permission, a second review and a receipt. The lines about the kernel and Stellar say how far they have been checked today.
- Build a project of your own with AI — for example an app, a website, writing or research — and keep what you decide for next time.
- Leave a verifiable record of what an agent did: a receipt with a SHA-256 digest, the authority used, what was checked and what was not. Proven in the kernel.
- Timestamp that record on Stellar by putting its digest in a transaction memo. Testnet with fictional data, plus two real Stellar mainnet transactions on 25 October 2026: a Pollar payment verified by the kernel and a receipt anchor (vespi.xyz/pollar).
- Pay for a service within a ceiling and with a person's approval (x402). Demo on testnet, outside the kernel.
- Check a zero-knowledge proof inside an operation. Reference verification; apps built on it are a direction, not something this release ships.
- Register a batch of things in one transaction, for example the 100 diskettes of the Meridian fanzine. Planned until the transaction exists.
The kernel README has the details and the evidence: Vespi.
Start building your Lore
For work that spans sessions, the kit can propose a short agreement about its purpose and limits; you decide whether to use it. When a task leaves a lesson worth carrying forward, Lore can turn it into an Invariant Clue: a short rule you can reuse.
| Instead of remembering | Lore keeps |
|---|
| “The AI wrote a report that was too technical for the reader” | “Before drafting, identify who will read it and explain every unfamiliar term in plain language” |
| “A meeting summary omitted who was responsible for each task” | “Every meeting summary ends with each task, its owner and its deadline” |
The loop
Each lesson is proposed, read, and approved before it is written. Lore loads approved criteria before work begins. The claim that accumulated experience changes later decisions is a research hypothesis, not a demonstrated mechanism; LUS documents that boundary.
Installation
The clearest provider-neutral route is to clone the repository: the source stays visible, updates remain ordinary Git operations, and the same checkout can prepare Claude Code and Codex. It requires Git and Node.js.
Recommended — clone the repository
git clone https://github.com/andresanemic/lore-plugin.git
cd lore-plugin
node scripts/lore-plugin.mjs install --target all
codex plugin add lore@personal
To target one host, replace all. OpenCode receives Lore's skills, hooks and TUI mark.
If you already use a host plugin manager, these shorter routes install the same package without keeping a separate checkout.
What the installer touches, and how to go back
install writes to your user directory, never to your projects. To see it first, run it with a throwaway home: HOME=$(mktemp -d) node scripts/lore-plugin.mjs install --target opencode (on Windows, point HOME and USERPROFILE at an empty folder).
- OpenCode:
~/.config/opencode/skills/ (the Lore skills), plugin/ and plugins/ (the hook and the status mark), lore-plugin.json and one entry in tui.json; plus ~/.lore-plugin/.
- Codex:
~/.agents/plugins/plugins/lore/, an entry in ~/.agents/plugins/marketplace.json and ~/.lore-plugin/; then codex plugin add lore@personal registers it in Codex.
- Claude Code: the plugin goes through Claude Code's own marketplace; remove it with Claude Code's plugin commands.
install --target claude (also included in all) installs the local CLI under ~/.lore-plugin/ and sets ~/.claude/settings.json keys statusLine.type and statusLine.command. It also runs Claude Code's marketplace add/install commands. There is no general lore-plugin uninstall: Claude Code's plugin commands remove the marketplace plugin, while lore-plugin statusline uninstall removes only Lore's matching statusLine entry (and deletes settings.json only if that leaves it empty).
There is no general uninstall command. To go back, delete the paths above, and remove the status mark with node scripts/lore-plugin.mjs statusline uninstall. If you keep your own configuration in ~/.config/opencode, back it up first.
The Agent/Task delivery observer writes local metadata to .lore-deliveries.jsonl in the project root, including the host transcript path. It adds that filename to the repository's .git/info/exclude and refuses to append through a symbolic link.
Claude Code
Run these commands inside Claude Code:
/plugin marketplace add andresanemic/lore-plugin
/plugin install lore@lore-plugin
Or run their CLI equivalents from a terminal:
claude plugin marketplace add andresanemic/lore-plugin
claude plugin install lore@lore-plugin
To connect the visible status mark after installing through Claude's plugin manager, run from the repository clone:
node scripts/lore-plugin.mjs statusline install
Codex CLI
Run these commands in your terminal:
codex plugin marketplace add andresanemic/lore-plugin
codex plugin add lore@lore-plugin
Other hosts — copy from the same clone (OpenCode, Cursor, Antigravity)
OpenCode
Install Lore's skills, hooks and TUI mark globally:
node scripts/lore-plugin.mjs install --target opencode
Restart OpenCode. Existing tui.json entries are preserved; tui.jsonc is left untouched. For one project, use .opencode/skills/ instead.
- For non-interactive delegates, configure routed access with
lore-plugin opencode-permissions --project <dir> --from-routing [--write], or prepare a confined profile with lore-plugin opencode-sandbox <dir>. The reference explains stdin, -f ordering and temporary-directory requirements.
Cursor
Cursor already discovers skills installed under ~/.codex/skills/ or ~/.agents/skills/. To keep
a separate Cursor copy, use its global directory and restart Cursor:
mkdir -p ~/.cursor/skills
cp -R skills/* ~/.cursor/skills/
Google Antigravity
Antigravity loads global skills from ~/.gemini/config/skills/ and workspace skills from
.agents/skills/. From a local clone:
mkdir -p ~/.gemini/config/skills
cp -R skills/* ~/.gemini/config/skills/
Restart Antigravity after copying them.