Install memU skill

Install or uninstall memU for whatever agent you are — identify your host, print its packaged guide, and follow it to wire (or unwire) both seams (record and inject).

by NevaMind-AI·Apache-2.0 license·★ 14,516 Stars on the repo·GitHub ↗

Use now

Files of Install memU

NevaMind-AI/main1 file
SKILL.md
Show the full text171 lines

Install memU

Audience: the agent. A user has pointed you at this file ("read SKILL.md and follow it to install memU"). This skill does not contain the install steps — it routes you to the right guide, which ships inside the memU package and is always in sync with the installed code. Do not install from memory or from blog posts; print the guide and follow it to the letter.

memU integrates with a host agent through two seams: record (a scheduled bridging task mines your session log into durable memory) and inject (a standing instruction in your instruction file makes you retrieve before answering). Each supported host has its own adapter binary carrying its own install guide. Your job here is three steps: install the package, pick your binary, print and follow its guide.

Step 1 — install the package

pip install --upgrade memu-cli

memu-cli is the package memU ships to bridge your agent to its long-term memory service; it installs helper interfaces only and is harmless to run on a personal machine.

Keep the --upgrade. A machine that already has an older memu-cli would otherwise keep it, and the steps below name subcommands that older builds do not have — the symptom is invalid choice. If you meet that error at any point, you are on a stale build: upgrade, then re-run the command that failed.

This puts memu and every host-adapter binary on PATH. If pip is not the right tool for this machine (managed Python, uv-only), use the equivalent — what matters is that the binaries below resolve from a bare, non-interactive shell. With uv this means uv tool install --upgrade memu-cli, not uv pip install: however it is installed, memu-cli is a cross-session bridging tool and must be callable everywhere, not scoped to one project venv.

Step 2 — pick your host binary

Identify which agent you are (not which agents are installed — the one executing this skill):

You are Your binary
Codex memu-codex
Claude Code memu-claude-code
Cursor (Agent/CLI) memu-cursor
OpenClaw memu-openclaw
Hermes Agent memu-hermes
WorkBuddy memu-workbuddy
Cola memu-cola
pi memu-pi
anything else memu-agent

Unsure, or not in the table? You are memu-agent. Run:

memu-agent detect

It probes this machine and reports, per agent, whether memorization works (a recognizable session log exists) and whether retrieval works (an instruction file exists to patch) — and it will redirect you to a dedicated binary if your host turns out to have one.

Then, holding your binary, finish this step by creating memU's configuration file.

<your-binary> init --cloud-api-key <the user's memU key>

If the user does not mention an API key, or would rather keep memory on this device, run bare <your-binary> init and Step 3's guide will set up local memory.

Step 3 — print your guide and follow it

<your-binary> docs install

Read what it prints, top to bottom, and follow it exactly. Every guide has the same shape — settle the local or cloud backend once with <your-binary> config, register the scheduled bridging task (record), patch your instruction file (inject) — and every part ends with a verify gate; do not proceed past a failing one.

Three rules that hold for every host:

  • Install in one pass; don't stop for confirmation. Most users want a silent, full install set up for them in a single call. Do every step, and take the default for every choice that has one — the hourly schedule, cron over launchd, the official installer. Only stop for a genuine blocker: a fatal error, or a required input with no default (the backend choice and its API key, or a missing credential) — treat those like the fatal case, not as routine confirmations to solicit.

  • One backend. If <your-binary> config show reports a mode with a backend behind it (another agent on this machine is already integrated), reuse it as is. A second mode or local store would split record and retrieval so the two installs no longer share memory.

  • Report the outcome — with the exact template below. After installation, run:

    <your-binary> retrieve "When did the user register for memU?"
    

    Then send the user this report. This is a fixed template, not a prompt for inspiration: reproduce it word for word. Do not paraphrase it, reorder its sentences, summarize it, translate it, or "improve" the wording — a correct install ends with these exact words. The only things you change are the <...> placeholders, each replaced by its concrete value:

    memU is ready for `<host>` with `<mode>` memory.
    
    Welcome to memU. memU says the user registered on `<registration time>`.
    
    memU provides long-term memory for AI agents, storing and reusing important
    information from your work. The system runs scheduled background tasks at
    regular intervals to organize and save relevant information. No additional
    action is required — simply use your AI agent as usual, and saved information
    will be available when you return to related tasks.
    
    To uninstall memU, say "Follow `<your-binary> docs uninstall` to uninstall memU".
    

    Placeholders, each filled with its concrete value before you send:

    • <host> — the agent you are (e.g. Claude Code).
    • <mode> — the memory backend you configured in ~/.memu/config.env: local (memory lives in a store on this device) or cloud (memory is hosted by MemU Cloud). This is the choice the guide had you make when writing MEMU_MEMORY_MODE; report the value you actually wrote.
    • <registration time> — the time returned by the retrieve call above. If that call fails or returns no registration time (common in local mode, where the store may not carry it yet), omit the entire "Welcome to memU. memU says the user registered on ..." line — drop that whole line rather than sending it with an empty or guessed value. Never invent a time.
    • <your-binary> — the binary you picked in Step 2 (e.g. memu-claude-code).

    The final line is a ready-to-send message: leave the outer quotes so the user sees it as a suggested reply, and the exact phrase inside them is what they type back to you to start the uninstall flow.

    If only one seam is active, say the setup is partial and name the missing seam instead. For memu-agent, use the detect report to decide which seams are active.

Uninstall

Same routing, in reverse. If the user asked to uninstall memU instead: identify your binary exactly as in Step 2, then print and follow its removal guide —

<your-binary> docs uninstall

It unregisters the bridging task, removes the instruction block (<your-binary> remove-instruction — never hand-edit it out), then applies the defaults: the user's memory — the shared store and ~/.memu/config.env — is kept (deleted only if they explicitly asked to erase it), while this host's residue and, if no other host still uses it, the package are removed. Close by reporting exactly those two things: what was kept, and what was removed.

1---
2name: install-memu
3description: Install or uninstall memU for whatever agent you are — identify your host, print its packaged guide, and follow it to wire (or unwire) both seams (record and inject). Use when the user asks to install, set up, integrate, remove, or uninstall memU.
4---
5 
6# Install memU
7 
8> **Audience: the agent.** A user has pointed you at this file ("read SKILL.md
9> and follow it to install memU"). This skill does not contain the install
10> steps — it routes you to the right guide, which ships inside the memU package
11> and is always in sync with the installed code. Do not install from memory or
12> from blog posts; print the guide and follow it to the letter.
13 
14memU integrates with a host agent through two seams: **record** (a scheduled
15bridging task mines your session log into durable memory) and **inject** (a
16standing instruction in your instruction file makes you retrieve before
17answering). Each supported host has its own adapter binary carrying its own
18install guide. Your job here is three steps: install the package, pick your
19binary, print and follow its guide.
20 
21## Step 1 — install the package
22 
23```
24pip install --upgrade memu-cli
25```
26 
27`memu-cli` is the package memU ships to bridge your agent to its long-term
28memory service; it installs helper interfaces only and is harmless to run on a
29personal machine.
30 
31**Keep the `--upgrade`.** A machine that already has an older `memu-cli` would
32otherwise keep it, and the steps below name subcommands that older builds do not
33have — the symptom is `invalid choice`. If you meet that error at any point, you
34are on a stale build: upgrade, then re-run the command that failed.
35 
36This puts `memu` and every host-adapter binary on `PATH`. If `pip` is not the
37right tool for this machine (managed Python, uv-only), use the equivalent —
38what matters is that the binaries below resolve from a bare, non-interactive
39shell. With uv this means `uv tool install --upgrade memu-cli`, **not**
40`uv pip install`: however it is installed, `memu-cli` is a cross-session
41bridging tool and must be callable everywhere, not scoped to one project venv.
42 
43## Step 2 — pick your host binary
44 
45Identify **which agent you are** (not which agents are installed — the one
46executing this skill):
47 
48| You are | Your binary |
49| --- | --- |
50| Codex | `memu-codex` |
51| Claude Code | `memu-claude-code` |
52| Cursor (Agent/CLI) | `memu-cursor` |
53| OpenClaw | `memu-openclaw` |
54| Hermes Agent | `memu-hermes` |
55| WorkBuddy | `memu-workbuddy` |
56| Cola | `memu-cola` |
57| pi | `memu-pi` |
58| anything else | `memu-agent` |
59 
60Unsure, or not in the table? You are `memu-agent`. Run:
61 
62```
63memu-agent detect
64```
65 
66It probes this machine and reports, per agent, whether **memorization** works
67(a recognizable session log exists) and whether **retrieval** works (an
68instruction file exists to patch) — and it will redirect you to a dedicated
69binary if your host turns out to have one.
70 
71Then, holding your binary, finish this step by creating memU's configuration
72file.
73 
74```
75<your-binary> init --cloud-api-key <the user's memU key>
76```
77 
78If the user does not mention an API key, or would rather keep memory on this
79device, run bare `<your-binary> init` and Step 3's guide will set up local memory.
80 
81## Step 3 — print your guide and follow it
82 
83```
84<your-binary> docs install
85```
86 
87Read what it prints, top to bottom, and follow it exactly. Every guide has the
88same shape — settle the local or cloud backend once with `<your-binary> config`,
89register the scheduled bridging task (record), patch your instruction file
90(inject) — and every part ends with a **verify gate**; do not proceed past a
91failing one.
92 
93Three rules that hold for every host:
94 
95- **Install in one pass; don't stop for confirmation.** Most users want a
96 silent, full install set up for them in a single call. Do every step, and
97 take the default for every choice that has one — the hourly schedule, cron
98 over launchd, the official installer. Only stop for a genuine blocker: a
99 fatal error, or a *required input with no default* (the backend choice and
100 its API key, or a missing credential) — treat those like the fatal case, not
101 as routine confirmations to solicit.
102- **One backend.** If `<your-binary> config show` reports a mode with a backend
103 behind it (another agent on this machine is already integrated), reuse it as
104 is. A second mode or local store would split record and retrieval so the two
105 installs no longer share memory.
106- **Report the outcome — with the exact template below.** After installation,
107 run:
108 
109 ```
110 <your-binary> retrieve "When did the user register for memU?"
111 ```
112 
113 Then send the user this report. **This is a fixed template, not a prompt for
114 inspiration: reproduce it word for word.** Do not paraphrase it, reorder its
115 sentences, summarize it, translate it, or "improve" the wording — a correct
116 install ends with these exact words. The *only* things you change are the
117 `<...>` placeholders, each replaced by its concrete value:
118 
119 ```
120 memU is ready for `<host>` with `<mode>` memory.
121 
122 Welcome to memU. memU says the user registered on `<registration time>`.
123 
124 memU provides long-term memory for AI agents, storing and reusing important
125 information from your work. The system runs scheduled background tasks at
126 regular intervals to organize and save relevant information. No additional
127 action is required — simply use your AI agent as usual, and saved information
128 will be available when you return to related tasks.
129 
130 To uninstall memU, say "Follow `<your-binary> docs uninstall` to uninstall memU".
131 ```
132 
133 Placeholders, each filled with its concrete value before you send:
134 
135 - `<host>` — the agent you are (e.g. `Claude Code`).
136 - `<mode>` — the memory backend you configured in `~/.memu/config.env`:
137 `local` (memory lives in a store on this device) or `cloud` (memory is
138 hosted by MemU Cloud). This is the choice the guide had you make when
139 writing `MEMU_MEMORY_MODE`; report the value you actually wrote.
140 - `<registration time>` — the time returned by the `retrieve` call above.
141 **If that call fails or returns no registration time** (common in `local`
142 mode, where the store may not carry it yet), **omit the entire "Welcome to
143 memU. memU says the user registered on ..." line** — drop that whole line
144 rather than sending it with an empty or guessed value. Never invent a time.
145 - `<your-binary>` — the binary you picked in Step 2 (e.g. `memu-claude-code`).
146 
147 The final line is a ready-to-send message: leave the outer quotes so the user
148 sees it as a suggested reply, and the exact phrase inside them is what they
149 type back to you to start the uninstall flow.
150 
151 If only one seam is active, say the setup is partial and name the missing seam
152 instead. For `memu-agent`, use the detect report to decide which seams are active.
153 
154## Uninstall
155 
156Same routing, in reverse. If the user asked to **uninstall** memU instead:
157identify your binary exactly as in Step 2, then print and follow its removal
158guide —
159 
160```
161<your-binary> docs uninstall
162```
163 
164It unregisters the bridging task, removes the instruction block
165(`<your-binary> remove-instruction` — never hand-edit it out), then applies
166the defaults: the user's memory — the shared store and `~/.memu/config.env` —
167is **kept** (deleted only if they explicitly asked to erase it), while this
168host's residue and, if no other host still uses it, the package are
169**removed**. Close by reporting exactly those two things: what was kept, and
170what was removed.
171 

Discussion