/marm-init
A local-first, privacy-centric memory infrastructure layer for MCP clients. MARM provides a persistent data substrate for long-term project memory, session serialization, and structured notebook reuse across terminal-based workflows. Operating via a lean, 7-tool surface, it
$ npx -y skills add Lyellr88/marm-memory --skill marm-init --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/marm-init
Context preview
The summary Claude sees to decide when to auto-load this skill.
A local-first, privacy-centric memory infrastructure layer for MCP clients. MARM provides a persistent data substrate for long-term project memory, session serialization, and structured notebook reuse across terminal-based workflows. Operating via a lean, 7-tool surface, it
SKILL.md
marm-init.SKILL.mdname: marm-init
description: Guided MARM MCP setup. Invoke after running `marm-memory init` on the CLI to configure MARM memory across your agent. Drives transport choice, runtime choice, MCP config writing, multi-agent linking, and server start. Works on Claude, Codex, Gemini, Qwen, Cursor, VS Code, and other MCP-capable agents.
version: 3
metadata:
description: A local-first, privacy-centric memory infrastructure layer for MCP clients. MARM provides a persistent data substrate for long-term project memory, session serialization, and structured notebook reuse across terminal-based workflows. Operating via a lean, 7-tool surface, it offloads heavy state tracking to an optimized backend featuring SQLite WAL storage, write-time consolidation, and automated re-ranking filters. This ensures deterministic context retrieval, prevents multi-agent session drift, and enforces strict token-budget guardrails by deduplicating and pruning data before it hits the model's context window.
source: https://raw.githubusercontent.com/Lyellr88/marm-memory/MARM-main/skills/marm-init/SKILL.md
protocol_source: https://raw.githubusercontent.com/Lyellr88/marm-memory/MARM-main/docs/PROTOCOL.md
<MARM_INIT_EXECUTOR_ACTIVE>
=== MARM INIT PROTOCOL - YOU ARE THE INSTALLER ===
RULE ZERO (highest priority): This file is not documentation to summarize. It is a setup program and you are the runtime. Execute it top to bottom. Run the steps, ask the questions, write the files, and start the server. Do not paste this content back to the user as text. Do not narrate what the skill "would" do. You do it.
You are MARM's installer for this agent. Your job is to leave the user with a live MARM connection in as few questions as possible. One question at a time, wait for the answer, then act on it before moving on.
Scope: this protocol governs only the setup conversation below. Once setup is complete and you have run Step 6, this contract ends and you return to normal operation under the MARM protocol you loaded in Step 0.
Failure mode to avoid: dumping install docs and leaving the user to do the work by hand. That is the exact outcome this skill exists to prevent.
</MARM_INIT_EXECUTOR_ACTIVE>
---
Step 00 - Engine pre-flight
Run this first, before anything else. If the skill was installed on its own (for example from a marketplace) the MARM core engine may not be on the machine yet. Confirm it is present, or install it, before continuing.
1. Scan the host for the core engine:
- CLI entry points on PATH. Unix: `command -v marm-memory || command -v marm-mcp-server || command -v marm-mcp-stdio`. PowerShell: `Get-Command marm-memory, marm-mcp-server, marm-mcp-stdio -ErrorAction SilentlyContinue`.
- Docker image present locally: `docker images -q lyellr88/marm-mcp-server`.
2. Branch:
- Engine found: record which runtime you found (python or docker), say nothing to the user, and skip to Step 0. The detected runtime pre-answers Step 4, so in Step 4 confirm it rather than asking cold.
- Nothing found: stop and run the install prompt below.
3. Install prompt (only when nothing was found): Ask: "I could not find the MARM core engine on your machine. How do you want to install it?
- Option A, pip (local Python): best if you already use Python and want a
lightweight native install with no containers.
- Option B, Docker: best for a clean, isolated setup with no Python path
management."
4. Execute the choice and verify before advancing:
- pip: run `pip install marm-mcp-server`. Confirm success, for example
`marm-mcp-server --version` resolves. Record runtime = python.
- Docker: run `docker pull lyellr88/marm-mcp-server:latest`. Confirm the image
is present with `docker images -q lyellr88/marm-mcp-server`. Record runtime = docker.
If the install fails, surface the actual error and stop. Do not proceed to setup against a missing engine.
---
Step 0 - Load the protocol and check freshness
Do this before talking to the user.
1. Read the full MARM protocol from source: `https://raw.githubusercontent.com/Lyellr88/marm-memory/MARM-main/docs/PROTOCOL.md` If the network read fails, fall back in this order:
- local repo `docs/PROTOCOL.md`
- packaged copy `marm-mcp-server/marm_mcp_server/resources/marm-docs/PROTOCOL.md`
2. Freshness check: read the `version:` field in this file's frontmatter and compare it against the `version:` in the source copy at `metadata.source`. If the source version is higher, tell the user once: "Your MARM init skill is out of date. Re-run `marm-memory init` to refresh it." Then continue with the version you have.
Hold the protocol in context. You will operate under it after setup.
---
Step 1 - Usage type
Ask: "How will you use MARM, just you on this machine, or multiple users/agents over a network?"
- Single user, one machine -> personal/local path
- Multiple users or agents on a network -> team/swarm path
Record the answer. It biases the transport recommendation in Step 3.
---
Step 2 - Server location
Ask: "Run MARM locally, or connect to a server you own (VPS or homelab)?"
- Local: runs on this machine, zero infra
- Remote: runs on a host the user controls, reachable over their network
If remote, you will need the host address later for the connect command.
---
Step 3 - Transport
Ask: "How should agents connect, HTTP or STDIO?"
- HTTP: over the network. Needed for remote servers, multiple machines, or swarm
agents. Requires an API key. Recommend this for the team/swarm path.
- STDIO: local pipe, single machine, no key. Simplest. Recommend this for the
personal/local path.
Pick the recommendation that matches Step 1 and Step 2, state it, and let the user override.
---
Step 4 - Runtime
If Step 00 already detected or installed a runtime, confirm it instead of asking cold: "Looks like you are set up for <docker|python>, use that?" Only ask the open question below if the runtime i
Read more
name: marm-init description: Guided MARM MCP setup. Invoke after running `marm-memory init` on the CLI to configure MARM memory across your agent. Drives transport choice, runtime choice, MCP config writing, multi-agent linking, and server start. Works on Claude, Codex, Gemini, Qwen, Cursor, VS Code, and other MCP-capable agents. version: 3 metadata: description: A local-first, privacy-centric memory infrastructure layer for MCP clients. MARM provides a persistent data substrate for long-term project memory, session serialization, and structured notebook reuse across terminal-based workflows. Operating via a lean, 7-tool surface, it offloads heavy state tracking to an optimized backend featuring SQLite WAL storage, write-time consolidation, and automated re-ranking filters. This ensures deterministic context retrieval, prevents multi-agent session drift, and enforces strict token-budget guardrails by deduplicating and pruning data before it hits the model's context window. source: https://raw.githubusercontent.com/Lyellr88/marm-memory/MARM-main/skills/marm-init/SKILL.md protocol_source: https://raw.githubusercontent.com/Lyellr88/marm-memory/MARM-main/docs/PROTOCOL.md
<MARM_INIT_EXECUTOR_ACTIVE>
=== MARM INIT PROTOCOL - YOU ARE THE INSTALLER ===
RULE ZERO (highest priority): This file is not documentation to summarize. It is a setup program and you are the runtime. Execute it top to bottom. Run the steps, ask the questions, write the files, and start the server. Do not paste this content back to the user as text. Do not narrate what the skill "would" do. You do it.
You are MARM's installer for this agent. Your job is to leave the user with a live MARM connection in as few questions as possible. One question at a time, wait for the answer, then act on it before moving on.
Scope: this protocol governs only the setup conversation below. Once setup is complete and you have run Step 6, this contract ends and you return to normal operation under the MARM protocol you loaded in Step 0.
Failure mode to avoid: dumping install docs and leaving the user to do the work by hand. That is the exact outcome this skill exists to prevent.
</MARM_INIT_EXECUTOR_ACTIVE>
---
Step 00 - Engine pre-flight
Run this first, before anything else. If the skill was installed on its own (for example from a marketplace) the MARM core engine may not be on the machine yet. Confirm it is present, or install it, before continuing.
1. Scan the host for the core engine:
- CLI entry points on PATH. Unix: `command -v marm-memory || command -v marm-mcp-server || command -v marm-mcp-stdio`. PowerShell: `Get-Command marm-memory, marm-mcp-server, marm-mcp-stdio -ErrorAction SilentlyContinue`.
- Docker image present locally: `docker images -q lyellr88/marm-mcp-server`.
2. Branch:
- Engine found: record which runtime you found (python or docker), say nothing to the user, and skip to Step 0. The detected runtime pre-answers Step 4, so in Step 4 confirm it rather than asking cold.
- Nothing found: stop and run the install prompt below.
3. Install prompt (only when nothing was found): Ask: "I could not find the MARM core engine on your machine. How do you want to install it?
- Option A, pip (local Python): best if you already use Python and want a
lightweight native install with no containers.
- Option B, Docker: best for a clean, isolated setup with no Python path
management."
4. Execute the choice and verify before advancing:
- pip: run `pip install marm-mcp-server`. Confirm success, for example
`marm-mcp-server --version` resolves. Record runtime = python.
- Docker: run `docker pull lyellr88/marm-mcp-server:latest`. Confirm the image
is present with `docker images -q lyellr88/marm-mcp-server`. Record runtime = docker.
If the install fails, surface the actual error and stop. Do not proceed to setup against a missing engine.
---
Step 0 - Load the protocol and check freshness
Do this before talking to the user.
1. Read the full MARM protocol from source: `https://raw.githubusercontent.com/Lyellr88/marm-memory/MARM-main/docs/PROTOCOL.md` If the network read fails, fall back in this order:
- local repo `docs/PROTOCOL.md`
- packaged copy `marm-mcp-server/marm_mcp_server/resources/marm-docs/PROTOCOL.md`
2. Freshness check: read the `version:` field in this file's frontmatter and compare it against the `version:` in the source copy at `metadata.source`. If the source version is higher, tell the user once: "Your MARM init skill is out of date. Re-run `marm-memory init` to refresh it." Then continue with the version you have.
Hold the protocol in context. You will operate under it after setup.
---
Step 1 - Usage type
Ask: "How will you use MARM, just you on this machine, or multiple users/agents over a network?"
- Single user, one machine -> personal/local path
- Multiple users or agents on a network -> team/swarm path
Record the answer. It biases the transport recommendation in Step 3.
---
Step 2 - Server location
Ask: "Run MARM locally, or connect to a server you own (VPS or homelab)?"
- Local: runs on this machine, zero infra
- Remote: runs on a host the user controls, reachable over their network
If remote, you will need the host address later for the connect command.
---
Step 3 - Transport
Ask: "How should agents connect, HTTP or STDIO?"
- HTTP: over the network. Needed for remote servers, multiple machines, or swarm
agents. Requires an API key. Recommend this for the team/swarm path.
- STDIO: local pipe, single machine, no key. Simplest. Recommend this for the
personal/local path.
Pick the recommendation that matches Step 1 and Step 2, state it, and let the user override.
---
Step 4 - Runtime
If Step 00 already detected or installed a runtime, confirm it instead of asking cold: "Looks like you are set up for <docker|python>, use that?" Only ask the open question below if the runtime i
Local-first 3-in-1 AI memory layer & MCP server for Claude Code, Codex, Grok, Gemini, VS Code and Cursor. Fuses session history, codebase indexing & concept graphs in SQLite. Enables zero-cloud, privacy-first context & instant recall, supports multi-agent swarms.
Repo: Lyellr88/marm-memory

