--- name: memory description: > This skill should be used when the user wants to store, retrieve, update, or delete persistent memories with hierarchical categories. Supports MCP JSON-RPC interface and CLI management with multi-format export. --- # Memory Manager Hierarchical memory storage with categories, MCP support, and multi-format export. ## Architecture ``` memory/ ├── SKILL.md ├── memories/ # Root storage │ ├── index.md # Root index │ ├── work/ # Category: work │ │ ├── project-a/ # Sub-category │ │ │ └── .md # Memories │ │ └── .md │ ├── personal/ # Category: personal │ └── preferences/ # Category: preferences └── scripts/ └── store.py # Main storage (CLI + MCP) ``` ## When to Use - User asks to "remember", "save", or "store" something - User wants to "recall" or "retrieve" stored information - User wants to organize memories into categories - User asks to "forget" or "delete" stored information - Export memories in different formats ## CLI Usage ```bash # Add memory to category python store.py add -t "API Key" -c "sk-xxx" --category work/secrets --tags secret api # Get memory python store.py get abc12345 --category work/secrets # List all (recursive) python store.py list # List specific category (no recursion) python store.py list --category work --no-recursive # Search in category python store.py search "api" --category work # Update memory python store.py update abc12345 -c "new content" python store.py update abc12345 --move new/category # Move to category # Delete memory python store.py delete abc12345 # List category structure python store.py ls / python store.py ls work # Create/remove category python store.py mkdir new/category python store.py rmdir empty/category # Export python store.py export --format json -o memories.json python store.py export --format markdown -o memories.md python store.py export --format csv -o memories.csv python store.py export --category work --format json ``` ## Category Structure - **Root (`/`)**: Default, memories without category - **Nested (`work/projects/api`)**: Hierarchical categories using `/` separator - **Case-sensitive**: `Work` ≠ `work` - **Auto-create**: Parent categories created automatically ## Memory File Format ```markdown --- category: work/projects created: 2024-01-01T00:00:00 id: abc12345 tags: [api, backend] title: API Design updated: 2024-01-01T00:00:00 --- Memory content goes here. ``` ## MCP JSON-RPC Interface Run as MCP server: `python store.py --mcp` ### Methods | Method | Parameters | Description | |--------|-----------|-------------| | `add` | `title`, `content`, `category?`, `tags?` | Add memory | | `get` | `id`, `category?` | Get memory | | `list` | `category?`, `recursive?` | List memories | | `search` | `query`, `category?` | Search memories | | `update` | `id`, `category?`, `title?`, `content?`, `tags?`, `new_category?` | Update/Move | | `delete` | `id`, `category?` | Delete memory | | `ls` | `category?` | List category structure | | `mkdir` | `category` | Create category | | `rmdir` | `category` | Remove empty category | | `export` | `format?`, `category?` | Export memories | ## Export Formats - **JSON**: Array of memory objects - **Markdown**: Human-readable with category sections - **CSV**: Spreadsheet-compatible ## Tips - Use categories to organize: `work/`, `personal/`, `preferences/` - Add tags for cross-category search - Use `ls /` to view full structure - Export specific category: `--category work`