
Mem
Give your coding agent a local, searchable memory bank so preferences, decisions, and snippets persist across sessions without re-explaining context.
Overview
mem is a journey-wide agent skill that stores and full-text searches local memories (notes, snippets, images) via a SQLite-backed CLI—usable whenever a solo builder needs durable agent context across sessions.
Install
npx skills add https://github.com/runablehq/memory --skill memWhat is this skill?
- Local SQLite database at ~/.mem/mem.db with full-text search
- Three operators: recall (search/list/get), remember (+), forget (-)
- Tag filtering, ID lookup, --limit and --json for scripted agent use
- Attach images to memories with --image and --title
- Search knowledge base before re-asking the user for stored facts
- Three CLI operators: recall, remember (+), forget (-)
- Full-text search with optional --tag filtering
Adoption & trust: 2.3k installs on skills.sh; 5 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You lose decisions, commands, and preferences every time a new agent session starts and the model asks for the same context again.
Who is it for?
Long-horizon solo builds where you want offline, tag-organized recall of deploy steps, architecture notes, and user prefs without a cloud memory product.
Skip if: Teams needing shared, audited team memory, multi-device sync, or compliance-grade retention—this is single-machine SQLite only.
When should I use this skill?
You need to remember information across sessions, recall prior decisions, store snippets, or search stored knowledge before asking the user.
What do I get? / Deliverables
Tagged memories live in ~/.mem/mem.db so the agent can search, list, and fetch full entries by ID before implementing or asking you to repeat yourself.
- Tagged memory entries in local SQLite
- Searchable recall output (plain or --json)
Recommended Skills
Journey fit
Useful at every journey phase - explore requirements and options before committing to a direction.
Where it fits
Remember competitor positioning snippets tagged research before you commit to a niche.
Store API base URLs and auth quirks under tag api so the agent does not re-discover them each sprint.
Recall exact build and deploy one-liners tagged deploy right before a release push.
Log prior incident fixes and link screenshots so the next debug session starts from stored facts.
How it compares
Local CLI memory with FTS tags, not an MCP server or hosted vector memory API.
Common Questions / FAQ
Who is mem for?
Solo and indie builders using agentic IDEs who want a simple local store for facts, snippets, and screenshots the agent can search before each task.
When should I use mem?
During idea research to stash competitor notes, while building to remember integration decisions, before ship to recall deploy commands, at launch for messaging drafts, and in operate when debugging recurring infra choices—anytime cross-session recall beats re-prompting.
Is mem safe to install?
It writes only to a local database under your home directory; review the Security Audits panel on this Prism page and treat stored memories as sensitive if they contain secrets.
SKILL.md
READMESKILL.md - Mem
# mem — Agent Memory Store A CLI tool for storing and retrieving memories with full-text search. Data is stored locally in `~/.mem/mem.db`. ## When to Use - **Remember** user preferences, project decisions, important facts - **Store** code snippets, commands, configurations for later recall - **Search** your knowledge base before asking the user for information you may have stored - **Attach** images (screenshots, diagrams) to memories ## Commands Three operators: (none) = recall, `+` = remember, `-` = forget. ### Recall (search, list, get) ```bash mem # list recent memories mem "deploy" # full-text search mem "database" --tag db # search filtered by tag mem 7sjtNVyZrNIa # get full content by ID mem --tag prefs # list filtered by tag mem "api" --limit 5 --json # limit results, JSON output mem --full # show full content for all ``` ### Remember ```bash mem + "user prefers dark mode" --tag prefs mem + "deploy: bun build --compile" --tag deploy mem + "chose SQLite for simplicity" --tag architecture mem + --image ./screenshot.png --title "Current UI" --tag ui echo "long content" | mem + --tag notes ``` ### Forget ```bash mem - <id> # delete one memory mem - id1 id2 id3 # delete multiple ``` ## Piping ```bash mem "old" --json | jq -r '.[].id' | xargs -I{} mem - {} echo "long content" | mem + --tag notes ``` ## Best Practices 1. **Tag consistently** — Use lowercase, descriptive tags like `prefs`, `api`, `deploy`, `db` 2. **Search before asking** — Check if you've stored relevant information before asking the user 3. **Store decisions** — When making architectural or design decisions, store the reasoning 4. **Keep memories atomic** — One concept per memory for better searchability ## Output Formats - Default: One-line summary per result - `--full`: Complete content inline - `--json`: Structured JSON for parsing