smithery.ai

memory-init

Initialize the Engram memory system — creates configuration, memory files, and CLAUDE.md integration. Trigger when the user sets up persistent memory for a project, or when `.claude/memory-settings.json` is missing and a memory feature is requested.

First seen Mar 25, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,354 B
  • docs SUMMARY.md 123 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Memory Init

Initialize the Engram memory system for the current project.

When to Use

Trigger this skill when:

  • The user explicitly asks to set up, initialize, or configure Engram / persistent memory
  • A memory-related skill (memory-remember, memory-recall, memory-status) is requested but .claude/memory-settings.json does not exist
  • The user re-runs init to upgrade an existing configuration (e.g. to change preset, language, or search_mode)

Workflow

1. Ask Preset Choice

Ask the user which preset they want:

  • personal-assistant — Daily life, preferences, habits, personal interactions
  • project-assistant — Codebase, architecture, tech decisions, team workflow
  • character-companion — Persona, relationship, story progression, emotional bonds
  • pair-programmer — AI self-learning, mistake tracking, user preference rules, collaboration patterns

Or offer custom configuration.

2. Ask File Name Customization

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)

3. Ask Language Preference

  • en — English CLAUDE.md section (default)
  • zh — Chinese CLAUDE.md section

3.5 Ask Search Mode

  • strong — 回覆前預設先用 memory-recall 檢查一次記憶 / Check memories before responding by default
  • weak — 判斷話題可能涉及過去時才搜尋 / Search only when a topic may involve past context (default)

4. Create Configuration

Create .claude/memory-settings.json with the chosen settings:

{
  "preset": "<chosen-preset>",
  "files": {
    "preferences": "<preferences-filename>",
    "conversations": "<conversations-filename>",
    "longterm": "<longterm-filename>"
  },
  "language": "<en|zh>",
  "search_mode": "<strong|weak>"
}

5. Copy Preset Templates

Copy the template files from the plugin's templates/presets/<preset>/ directory to the project root. The plugin root is available via ${CLAUDEPLUGINROOT} 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 (run date '+%Y-%m-%d' via Bash to get it).

5c. Append Engram Section to CLAUDE.md

Read the CLAUDE.md section template from the plugin's templates/ directory:

  • If language is zh: read from templates/claude-md-section-zh.md
  • If language is en: read from templates/claude-md-section-en.md

Replace the following placeholders with the actual configured values:

  • {PREFS_FILE} → preferences file name
  • {CONVOS_FILE} → conversations file name
  • {LONGTERM_FILE} → longterm file name
  • {PRESET} → chosen preset name
  • {VERSION} → plugin version from .claude-plugin/plugin.json
  • {SEARCHMODEINSTRUCTION} → resolved based on search_mode and language. Emit as a standalone paragraph (no numbered prefix):

- strong + en: Strict search mode: By default, check memories with the \memory-recall\ skill before responding; skip only when the topic is clearly unrelated to history (greetings, pure computation, etc.). - weak + en: Judgment-based search: When you judge that a topic may involve past discussions or established preferences, search with the \memory-recall\ skill before responding. - strong + zh: 嚴格搜尋模式:回覆前預設先用 \memory-recall\ skill 檢查一次記憶;只有話題明顯與歷史無關(打招呼、純粹計算等)時才略過。 - weak + zh: 判斷式搜尋:當你判斷話題可能涉及過去討論或既有偏好時,先用 \memory-recall\ skill 搜尋後再回覆。

Then apply to CLAUDE.md in the project root:

  1. If CLAUDE.md exists and contains <!-- ENGRAM:START -->: Replace everything between <!-- ENGRAM:START --> and <!-- ENGRAM:END --> (inclusive) with the new resolved content
  2. If CLAUDE.md exists but has no markers: Append the resolved content to the end of the file (with a blank line separator)
  3. If CLAUDE.md does not exist: Create a new CLAUDE.md with only the resolved content

The @{PREFS_FILE} reference inside the section causes Claude Code to auto-load preferences into context on every session start.

6. Upgrade Path (Re-running Init)

If .claude/memory-settings.json already exists:

  1. Ask what the user wants to change (preset / language / search_mode / file names)
  2. Update .claude/memory-settings.json with the new values
  3. Re-generate the CLAUDE.md section (Step 5c) with the new values
  4. If file names changed, leave the old files in place and tell the user to move them manually — do not delete existing memory content

7. Optional Customization

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.

8. Optional Initial Fill

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.

9. Output Summary

Display a summary of what was created:

Engram Memory System Initialized!

Preset: <preset>
Language: <language>
Search mode: <search_mode>

Files created/updated:
  - <preferences-file> (preferences — auto-loaded via @ reference in CLAUDE.md)
  - <conversations-file> (conversation history)
  - <longterm-file> (long-term memories)
  - .claude/memory-settings.json (configuration)
  - CLAUDE.md (memory instructions + preferences auto-load)

The memory system is now active. I will:
  - See your preferences every session via the @-reference in CLAUDE.md
  - Save new preferences and decisions as I discover them
  - Record conversation summaries at natural endpoints
  - Search past memories when a topic relates to previous context