Help us improve
Share bugs, ideas, or general feedback.
From Memsy
Invoked via /memsy slash command; classifies intent (search, store, switch profile, list, doctor, setup) and runs the matching Memsy workflow for context memory.
npx claudepluginhub memsy-io/memsy --plugin memsyHow this skill is triggered — by the user, by Claude, or both
Slash command
/memsy:memsyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The user invoked `/memsy <something>`. Treat everything they typed after `/memsy` as the **query** for this skill. If they typed `/memsy` alone with no arguments, the query is empty.
Cross-host durable memory for AI agents using the ling-mem CLI. Maintains a three-tier model of who the user is across sessions and hosts (Claude Code, Codex, OpenClaw).
Saves facts, decisions, and context to Memsy memory for future sessions. Strips framing verbs and persists the substance verbatim via memsy_ingest.
Manages total-recall memory system: captures corrections/preferences/decisions, retrieves context, inspects tiers, compacts storage, and configures the knowledge base.
Share bugs, ideas, or general feedback.
The user invoked /memsy <something>. Treat everything they typed after /memsy as the query for this skill. If they typed /memsy alone with no arguments, the query is empty.
This skill is the universal Memsy entry point — read the user's message after /memsy, classify intent (search / store / switch profile / list / doctor / setup), and run the matching Memsy workflow inline.
Apply these rules in order, first match wins. Be conservative — when ambiguous between SEARCH and STORE, default to SEARCH (mis-storing creates noise that's hard to undo; mis-searching is harmless).
| Query shape | Intent | What to do |
|---|---|---|
| empty / whitespace only | MENU | Show the short help menu below. |
starts with remember, save, note that, store, tag this as, let's remember, for future reference | STORE | Drop the leading verb; store the rest. |
starts with switch to, use profile, change profile, or org followed by a profile name | SWITCH | Switch active Memsy profile. |
starts with list, show, browse and mentions memories/recent | LIST | List recent memories. |
is exactly doctor, health, status, check, or diagnose (one or two words) | DOCTOR | Run the /memsy-doctor workflow inline. |
is exactly setup, configure, init, set defaults, or onboard (one or two words) | SETUP | Run the /memsy-setup workflow inline. |
starts with mode, modes, proactive, confirm, permission, autocontext, or auto-context (with or without on/off/status) | MODE | Toggle a session-scoped behavior flag. |
| anything else — a question, topic, or noun phrase | SEARCH | Search memories with the query verbatim. |
Edge cases:
/memsy remember (verb only, no content) → ask "What would you like me to remember?"/memsy switch to (no profile name) → fall through to LIST profiles, ask which to switch to.remember.MENU (empty query)Call memsy_health once silently — only surface output if it errors. Then print:
Memsy is ready. What do you want to do?
/memsy <question> — search past memories
/memsy remember <fact> — store something for later
/memsy switch <profile> — change active org
/memsy doctor — health + identity check
/memsy setup — first-time defaults walkthrough
/memsy list — show recent memories
/memsy proactive on|off — auto-save preferences/decisions (session)
/memsy confirm on|off — ask before each save (session)
/memsy modes — show current mode state
Or just talk naturally — say "what did we decide about X" or "remember
that Y" and the recall / remember skills fire automatically (no slash).
If memsy_health errored, hand off to the memsy-setup skill instead.
STOREremember that we picked Postgres → we picked Postgres).msy_, sk_, ghp_, Bearer , etc.) → refuse. Say: "That looks like it contains a secret — Memsy stores in plain text. Paraphrase without it, or use a real secret manager."[memsy modes: ... confirm-before-store ...], surface the stripped content and ask Save? (y / n / edit "<new text>"). Proceed only on y or edit. On n, say "Not stored." and stop. If the mode line isn't in context, skip this step (user invoked /memsy explicitly — that's deliberate enough on its own).memsy_ingest with one event: kind="user_message", content=<stripped substance>, ts=<current ISO 8601>.✓ Stored: <first 80 chars>... plus event_id (first 8 chars).SWITCHswitch to work → work).memsy_use_org with profile=<name>.profile_name, org_label, base_url, actor_id.memsy_list_orgs, list available profiles, point at ~/.memsy/config.json for adding new ones.LISTmemsy_list_memories with limit=20./memsy <query> to search a specific topic."SEARCHmemsy_search with query=<user's query verbatim> and limit=8. Do not paraphrase.memsy_search actually returns (id, score, content, metadata, source_events, source_metadata):
Memsy results for "<query>" (N hits)
1. [score 0.87] <content, truncate to 200 chars>
2. [score 0.81] <content, truncate to 200 chars>
Do not invent fields. If the user needs timestamps or actor attribution, call memsy_get_memory for the specific result they want to dig into./memsy:memsy-doctor to check the active profile (memory may be in a different org).DOCTORRun the full /memsy-doctor workflow inline (don't recursively call the slash command — just do the work):
memsy_* tool exists, print the "MCP not loaded" diagnostic and stop.memsy_health + read memsy://actor/current + memsy://profile/current in parallel.MEMSY_API_KEY in launch shell, restart"ECONNREFUSED / ENOTFOUND → "Cannot reach <base_url> — check network or MEMSY_BASE_URL"/memsy-setupMODELets the user toggle Memsy behavior flags from chat without setting env vars + restarting. Three flags are toggleable in-session:
| Query phrasing | Flag | On effect | Off effect |
|---|---|---|---|
proactive on / proactive off / proactive (toggle) | MEMSY_PROACTIVE | Actively watch for save-worthy content (preferences/intents/decisions) and store via memsy_ingest. | Stop proactive saves; only explicit verbs / slash commands save. |
confirm on / confirm off / permission on / permission off | MEMSY_CONFIRM_STORE | Ask Save? (y/n/edit) before every single-item store. | Store directly without asking. |
autocontext on / autocontext off / auto-context on/off | MEMSY_SESSION_AUTOCONTEXT | Inject "recent memories" recall block at session start. Takes effect at next launch — already-running session is unaffected. | Don't inject auto-context at next launch. |
mode / modes / status (no on/off) | — | Show current state of all three modes. | — |
Read current state from your session context. Modes set at launch appear in the [memsy modes: ...] line emitted by the SessionStart hook. Subsequent /memsy <mode> on/off invocations override the launch state for the rest of the session.
Apply the change by:
MEMSY_PROACTIVE, this means starting to watch (or stop watching) save-worthy content. For MEMSY_CONFIRM_STORE, this means starting (or stopping) the pre-save confirmation step on memsy-remember / smart-router STORE / /memsy:memsy-remember.Reply with this exact shape:
✓ Memsy mode: <flag> = <new state> (session-scoped)
To persist across restarts:
export MEMSY_<FLAG>=<value> # add to ~/.zshrc or ~/.bashrc
then restart Claude Code
Special case — autocontext: changing it mid-session has no effect until next launch (the SessionStart hook has already fired). Make this explicit:
✓ Memsy mode: autocontext = on (effective NEXT session — SessionStart already fired this turn)
To make it take effect now: restart Claude Code with
export MEMSY_SESSION_AUTOCONTEXT=on # then `claude` from that shell
mode / modes / status with no direction → print the current state of all three:
Memsy modes — current session
proactive: on (toggled via /memsy)
confirm-before-store: off
autocontext: on (fires at next session start)
For each mode, indicate the source: (env) if from launch env, (toggled via /memsy) if changed in-session, (default off) if never set.
SETUPRun the full first-time-defaults walkthrough inline:
memsy_list_roles → show numbered list; if empty, ask user for role names + create via memsy_create_role.memsy_list_teams / memsy_create_team.memsy://actor/current, explain current value + source, offer agent-style / personal-handle / keep-current.memsy_set_defaults with the chosen roles, teams, actor_id, and persist="global"./memsy doctor to verify.Any tool call returning "tool not found", 401 / 403, ECONNREFUSED, or other MCP-side failures → hand off to the memsy-setup skill. Never fabricate substitute answers. Always be explicit when a store didn't actually land.
/memsy-doctor or other sibling slash commands — Claude Code can't nest slash invocations.memsy_search exactly as typed — no paraphrasing, summarizing, or "improvement"./memsy. Natural-language Memsy phrasing ("what did we decide", "remember that") is handled by memsy-recall and memsy-remember skills.