From engram
Initialize the memory system. Auto-triggered when the hook reports the memory system is not initialized.
npx claudepluginhub legacybridge-tech/claude-plugins --plugin engramThis skill uses the workspace's default tool permissions.
Initialize the Engram memory system for the current project.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
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