From engram
Initialize the memory system. Auto-triggered when the hook reports the memory system is not initialized.
How this skill is triggered — by the user, by Claude, or both
Slash command
/engram:memory-initThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Initialize the Engram memory system for the current project.
Initialize the Engram memory system for the current project.
This skill is auto-triggered by the Engram hook when no .claude/memory-settings.json is found. Do NOT wait for the user to ask — when the hook says "Not initialized", immediately begin this workflow.
Ask the user which preset they want:
Or offer custom configuration.
Show the default file names and ask if the user wants to change them:
memory_preferences.md (User/Project/Character preferences)
memory_conversations.md (Conversation history)
memory_longterm.md (Long-term memories)
en — English instructions injected by hook (default)zh — Chinese instructions injected by hookstrong — 每次回覆前都先搜尋記憶 / Search memories before EVERY response (no exceptions)weak — 僅在判斷需要時搜尋 / Only search when context suggests it's relevant (default)Create .claude/memory-settings.json with the chosen settings:
{
"enabled": true,
"preset": "<chosen-preset>",
"files": {
"preferences": "<preferences-filename>",
"conversations": "<conversations-filename>",
"longterm": "<longterm-filename>"
},
"reload_interval": 10,
"language": "<en|zh>",
"search_mode": "<strong|weak>",
"reminder_file": ".claude/memory-reminder.md"
}
Copy the template files from the plugin's templates/presets/<preset>/ directory to the project root. The plugin root is available via ${CLAUDE_PLUGIN_ROOT} or can be found by locating the engram plugin directory.
Read each template file and write it to the project root with the configured file names.
Replace {DATE} placeholders with the current date (YYYY-MM-DD format).
Copy the reminder template from the plugin's templates/ directory to .claude/memory-reminder.md:
zh: copy from templates/memory-reminder-zh.mden: copy from templates/memory-reminder-en.mdThe reminder file uses {{PREFS_FILE}}, {{CONVOS_FILE}}, {{LONGTERM_FILE}}, {{RELOAD_INTERVAL}}, and {{SEARCH_MODE_INSTRUCTION}} placeholders — these are automatically substituted at runtime by the hook script. Do NOT replace them during init.
Tell the user: "The reminder instructions are stored in .claude/memory-reminder.md. This is the legacy fallback — the main instructions are now in CLAUDE.md."
Read the CLAUDE.md section template from the plugin's templates/ directory:
zh: read from templates/claude-md-section-zh.mden: read from templates/claude-md-section-en.mdReplace the following placeholders with the actual configured values:
{PREFS_FILE} → preferences file name{CONVOS_FILE} → conversations file name{LONGTERM_FILE} → longterm file name{RELOAD_INTERVAL} → reload interval number{PRESET} → chosen preset name{VERSION} → plugin version from .claude-plugin/plugin.json{SEARCH_MODE_INSTRUCTION} → resolved based on search_mode and language:
7. **MANDATORY pre-response search**: Before EVERY response, first analyze the user's intent and use the \memory-recall` skill to search memories. No exceptions — always search first, respond second.`7. **Uncertainty about current topic**: If the conversation could possibly relate to past context, you MUST use the \memory-recall` skill to search memories before responding`7. **強制預搜尋**:每次回覆前,必須先分析使用者意圖,然後使用 \memory-recall` skill 搜尋記憶。沒有例外 — 永遠先搜尋再回覆。`7. **對當前話題不確定**:如果對話有可能涉及過去的上下文,必須先使用 \memory-recall` skill 搜尋記憶再回覆`Then apply to CLAUDE.md in the project root:
<!-- ENGRAM:START -->: Replace everything between <!-- ENGRAM:START --> and <!-- ENGRAM:END --> (inclusive) with the new resolved contentTell the user: "Memory instructions have been added to CLAUDE.md for high-priority instruction following. The hook will now only inject lightweight datetime/turn signals."
Create .claude/memory_counter.txt with content 0.
Ask the user: "Would you like to add or modify any sections in the preferences template?"
If yes, guide through customization — adding new sections, renaming existing ones, or removing irrelevant ones.
Ask the user: "Would you like to fill in your initial preferences now?"
If yes, walk through each section and populate the preferences file with the user's answers.
If .claude/memory-settings.json already exists but search_mode is not set:
memory-settings.json with the chosen search_mode valueDisplay a summary of what was created:
Engram Memory System Initialized!
Preset: <preset>
Language: <language>
Files created/updated:
- <preferences-file> (preferences)
- <conversations-file> (conversation history)
- <longterm-file> (long-term memories)
- .claude/memory-settings.json (configuration)
- .claude/memory-reminder.md (legacy hook instructions)
- .claude/memory_counter.txt (turn counter)
- CLAUDE.md (memory instructions — high priority)
The memory system is now active. I will automatically:
- Load your preferences on turn 1 and every N turns
- Save new preferences and decisions as I discover them
- Record conversation summaries
- Search past conversations when relevant
npx claudepluginhub legacybridge-tech/claude-plugins --plugin engramScaffolds Total Recall memory system: creates memory/registers (people, projects etc.), daily/archive dirs, SCHEMA.md, CLAUDE.local.md working memory, and .gitignore entry.
Configures Basic Memory plugin for a project via a short guided interview, handling project mapping, schema seeding, placement conventions, and capture reflexes.
Creates and configures the Remember Second Brain structure: directory scaffold, Persona, REMEMBER.md, tasks file, and Claude settings integration.