- 📄 SKILL.md
hmem-config
View and change hmem memory settings, hooks, sync, and checkpoint configuration. Use this skill whenever the user types /hmem-config, asks to change memory settings, adjust parameters, tune bulk-read behavior, configure auto-checkpoints, manage hmem-sync, or troubleshoot memory-related issues. Also trigger when the user asks things like "how often does auto-save fire", "why is my context so large", "change checkpoint to auto", "how many tokens does startup cost", or "set up sync". --- # hmem-config — View and Change Settings This skill guides you through reading, explaining, and updating hmem's configuration. The config controls how memory is stored, displayed, checkpointed, and synced across devices. ## Locate and read the config The config lives at `hmem.config.json` in the same directory as your .hmem file. Located at `~/.hmem/hmem.config.json` (in the same directory as your .hmem file). Read the file directly — don't ask the user where it is. If it doesn't exist, offer to create one (only non-default values need to be specified). The config uses a unified format with a `"memory"` block and an optional `"sync"` block: ```json { "memory": { ... }, "sync": { ... } } ``` ## Show current settings Present a table of current values vs. defaults. Only highlight values that differ from defaults — the user cares about what they've customized, not the full list. ### Core parameters | Parameter | Default | Purpose | |-----------|---------|---------| | `maxCharsPerLevel` | [200, 2500, 10000, 25000, 50000] | Character limits per tree level [L1–L5]. L1 is always loaded at startup, so keeping it short saves tokens across every session. L5 is raw data, rarely accessed. | | `maxDepth` | 5 | Tree depth (1–5). Most users need 5. Lower values save storage but lose granularity. | | `defaultReadLimit` | 100 | Max entries per bulk read. Lower = faster startup, higher = more complete overview. | | `maxTitleChars` | 50 | Auto-extracted title length. Only applies to entries without explic