Sift memory
Local-first CLI to index and search your Claude Code, Codex, and Cursor chat history from one place. 100% offline, read-only.
npx -y skills add roccodaffuso/sift --skill sift-memoryAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use this skill when an agent needs local historical context from AI coding assistant sessions, prior project conversations, debugging history, implementation decisions, or user asks to search Claude Code, Codex, or Cursor chat history. It teaches agents to use the local-only `sift` CLI for indexed full-text search across Claude Code, Codex, and Cursor logs without network calls.
SKILL.md
2.9 KB, 579 tokens by cl100k_base, as published. Nobody here has run it
Sift Memory
Use sift as a local memory search layer for prior AI coding-assistant sessions. It reads only local Claude Code, Codex, and Cursor logs/databases and writes only its own index under ~/.sift/.
Command Resolution
Prefer the installed CLI:
sift --help
When working inside the sift repository and the global command is unavailable, use:
node ./bin/sift.js --help
Do not use npx or any network-based install path. If neither command works, tell the user to install sift locally.
Actions
sift_index
Refresh the local index before memory-heavy work, after new logs were created, or when search says no index exists:
sift index
Use the repo-local fallback when needed:
node ./bin/sift.js index
Use a full rebuild only when the user asks, parser/index behavior changed, or results look stale after an incremental run:
sift index --full
sift_search
Search prior local sessions with targeted queries:
sift "<query>" --limit 10
Filter by source when useful:
sift "<query>" --tool codex --limit 10
sift "<query>" --tool claude --limit 10
sift "<query>" --tool cursor --limit 10
Good queries are concrete: project names, command names, file names, bug symptoms, package names, decisions, or user phrasing. Prefer a few focused searches over one broad search.
sift_list
List recent indexed sessions when you need orientation before choosing search terms:
sift list --limit 10
Filter by source when useful:
sift list --tool codex --limit 10
Workflow
- Use this skill when local session memory could materially improve the answer.
- Run
sift indexunless the task is tiny or the index is known to be fresh. - Run
sift_searchwith 1-3 focused queries. - Use the results as private local context. Summarize only the relevant facts needed for the task.
- Do not paste large raw logs. Do not expose secrets, credentials, tokens, private personal data, or unrelated session contents.
Privacy
Keep the workflow local and read-only for source logs:
- Do not send
siftresults to remote services. - Do not add telemetry, sync, embeddings, or network calls.
- Do not write to Claude Code, Codex, or Cursor source logs/databases.
- Treat
~/.sift/index.jsonas local private context.