memory-import
Skill41 starsChanged 17 days agoMITView on GitHub
Imports memory data from external systems — ChatGPT memory export, Claude Code local auto-memory files, or a legacy auto-skill project's knowledge-base/experience data — into this project's cold or hot store. Supports --dry-run preview and a safe merge that never overwrites without --force. Typically run once by the user right after a fresh deep-memory install if they have existing memory data to bring over (deep-memory's Step 0.5 mentions it), but can be run any time. Never scans the filesystem on its own — the user must point it at an explicit --input path.
- Installs packages
1 other project uses a version of this.
Adopted by
Most recently taken up by
- viknesh20-20/claude-code-tool-kittheir own version, first seen May 2, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- viknesh20-20/claude-code-tool-kit★ 7same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository3 other files it gives its agents.
- chroma-hybrid-searchSkill
- deep-memorySkill
- memory-backupSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 22
Always preview first with --dry-run, then drop it once the list looks right:
- Very specific: line 43
If you want to use a specific directory, set the DEEP_MEMORY_WORKSPACE environment variable (e.g., DEEP_MEMORY_WORKSPACE="." or …
- Distinctive: line 48
Every source is safe to rerun on the same input without duplicating data:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Memory Import — Bring External Memory Data Into deep-memory
Migrates memory data from three sources into deep-memory's existing hot/cold stores. Pure Python standard library — no .venv, no pip install, works from turn one.
Supported Sources
--source | Input | Destination | Why |
chatgpt | ChatGPT memory export (.json) | Cold store (cold-notes/raw.jsonl) | Flat, uncategorized facts — let the existing cold→hot refinement workflow (deep-memory/resources/cold-store-and-vectorization.md) promote the valuable ones later |
claude-local | Claude Code local memory directory (~/.claude/projects/*/memory/) | Hot store, new category knowledge-base/imported-claude-memory.md | Already structured (frontmatter has name/description/type) — safe to go straight into the hot store |
autoskill | A legacy auto-skill project's root directory | Hot store, direct safe merge into knowledge-base/ and experience/ | Same schema as deep-memory's own hot store — this is a structural merge, not a transform |
Mem0 and MemGPT/Letta are not implemented yet — no real export files were available to validate the format against. The adapter dispatch in import.py is built so adding either later is a new parser function plus a new --source choice, nothing else changes.
Commands
Always preview first with --dry-run, then drop it once the list looks right:
# ChatGPT memory export → cold store
python skills/memory-import/scripts/import.py --source chatgpt --input path/to/export.json --dry-run
python skills/memory-import/scripts/import.py --source chatgpt --input path/to/export.json
# Claude Code local memory directory → hot store
python skills/memory-import/scripts/import.py --source claude-local --input "C:\Users\<you>\.claude\projects\<hash>\memory" --dry-run
python skills/memory-import/scripts/import.py --source claude-local --input "C:\Users\<you>\.claude\projects\<hash>\memory"
# Legacy auto-skill project → hot store safe merge
python skills/memory-import/scripts/import.py --source autoskill --input path/to/old-project --dry-run
python skills/memory-import/scripts/import.py --source autoskill --input path/to/old-project
# Force-overwrite categories that already exist locally (autoskill only)
python skills/memory-import/scripts/import.py --source autoskill --input path/to/old-project --forceWorkspace Storage Path Resolution:
By default, deep-memory uses the user's global directory ~/.deep-memory (which resolves to C:\Users\<username>\.deep-memory on Windows) to store all knowledge bases, cold notes, and database files.
- If you want to use a specific directory, set the
DEEP_MEMORY_WORKSPACEenvironment variable (e.g.,DEEP_MEMORY_WORKSPACE="."orDEEP_MEMORY_WORKSPACE="D:\my-memories"). - You can also pass
--workspace <path>to any script to override the workspace path for that specific command (e.g., pass--workspace <path>if you want to import into a specific project's directory instead of the global store).
Dedup Behavior
Every source is safe to rerun on the same input without duplicating data:
- chatgpt: each cold-store entry carries a
tagsentryimport-id:<sha1-of-text>; a matching hash already present inraw.jsonlis skipped. - claude-local: each hot-store entry ends with a hidden
<!-- imported-from: claude-local:<name> -->marker; a matching marker already present in the category file is skipped. - autoskill: a category
idalready present in the local_index.jsonis skipped unless--forceis passed.
Error Handling
- Input path doesn't exist → hard error, exits non-zero, nothing is written.
chatgpt: unrecognized top-level JSON shape → hard error for the whole file (the parser doesn't understand the structure at all), but it tells you the fallback: write entries one at a time withchroma-hybrid-search/scripts/write_cold.pyinstead. Individual empty/unreadable items within a recognized shape are skipped with a warning; the rest still import.claude-local: a.mdfile missingnameordescriptionis skipped with a warning; the rest still import.MEMORY.mditself is always skipped (it's the index, not a memory entry).autoskill: a missingknowledge-base/_index.jsonorexperience/_index.jsonin the source skips just that half with a warning; the other half still imports. The merge is also safe to interrupt mid-run and rerun — dedup is keyed off the destination index, not the filesystem, so a partial copy from an earlier interrupted run is correctly re-adopted rather than causing a stuck or inconsistent state.
After Importing
# Make the new content searchable
python skills/chroma-hybrid-search/scripts/update_db.py
# If you imported into the hot store, consider backing it up
python skills/memory-backup/scripts/backup.pyWhat's Not In Scope
- Mem0 / MemGPT (Letta) adapters — architecture supports adding them, no real files to validate against yet
- Any automatic detection or scanning of the user's filesystem — you always pass an explicit
--inputpath - Scheduled/recurring import — this is a manual, one-shot migration tool
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

