memory-management
Memory Management Skill
Alma has a built-in memory system with semantic search. Use the alma CLI to interact with it.
Commands
# List all memories
alma memory list
# Semantic search
alma memory search <query>
# Add a memory
alma memory add <content>
# Delete a memory
alma memory delete <id>
# View memory stats
alma memory stats
When to Use
- User asks anything about the past ("do you know what I like", "what did we discuss before", "what was that plan we talked about last time") → Search memories AND grep threads
- User says "remember this" →
alma memory add "..." - User asks "do you remember..." →
alma memory search "..."+alma memory grep "..." - User says "forget about..." → Search and delete matching memories
- Time-sensitive info (projects, deadlines) → Store with appropriate context
Search Strategy
When the user asks about past information, always try both layers:
alma memory search "<query>"— semantic search for related conceptsalma memory grep "<keyword>"— keyword search in conversation history
If one layer returns nothing, try the other. They complement each other.
Conversation History Search
Alma automatically archives all threads as markdown files. You can search through past conversations:
# Keyword search through all archived conversations
alma memory grep <keyword>
# Force re-archive all threads now
alma memory archive
Thread archives are stored in the workspace's threads/ directory as markdown files with YAML frontmatter (threadId, title, createdAt, updatedAt, model, messageCount). Archives are auto-updated every 5 minutes.
Two-Layer Memory
- Vector Memory (
alma memory search) — semantic search, finds conceptually related memories - Conversation Archives (
alma memory grep) — keyword search, finds exact words/phrases in past conversations
Use vector search when the user asks vague questions ("what did we discuss about React?"). Use grep when looking for specific terms, names, or code snippets.
Group Chat History
Alma persists all group chat messages to log files. Search and browse them:
# List all known groups
alma group list
# View recent history (default 50 messages)
alma group history <chatId> [limit]
# Search across all group chats
alma group search <keyword>
Log files are stored at ~/.config/alma/groups/<chatId>_<date>.log. Use this when you need to recall what was discussed in a group chat.
People Profiles (Per-Person Memory)
For group chats, Alma maintains structured per-person profiles — more reliable than vector search for remembering who is who.
# List all known people
alma people list
# View someone's profile
alma people show <name>
# Set/overwrite profile
alma people set <name> <content>
# Append to profile
alma people append <name> <fact>
# Delete profile
alma people delete <name>
When to update profiles:
- Someone shares personal info (job, hobbies, preferences)
- You learn their communication style or language preference
- They mention relationships with other people
- Any fact you'd want to remember next time you talk to them
Profiles are stored at ~/.config/alma/people/<name>.md and automatically loaded into group chat context.
Tips
- Always confirm what you stored/deleted with the user
- Use
alma memory searchto find related memories before adding duplicates - Memories are automatically injected into conversations via semantic search — you don't need to manually recall them every time
- Use
alma memory grepto search through conversation history when vector search doesn't find what you need - For per-person facts, prefer
alma peopleoveralma memory— structured and won't get mixed up
More from ninehills/skills
file-manager
Find, organize, and manage files on the user's computer. Search by name, type, size, or date. Move, rename, compress, and clean up files.
125self-reflection
Daily self-reflection and personal growth. Triggered by heartbeat at end of day. Review the day's experiences, extract lessons, update personality, and write a diary entry.
124send-file
Send files, photos, audio, or videos to the current chat. MUST use whenever you need to deliver any file to the user. Covers: sending images, selfies, generated art, documents, music, videos, voice messages, screenshots, or ANY file the user asks to see. Triggers: 'send it to me', 'send it over', 'let me see', 'send me', 'show me', 'send photo', 'send file', sharing any file path. NEVER paste raw file paths in text — ALWAYS use this skill to send files.
117news-aggregator-skill
Comprehensive news aggregator that fetches, filters, and deeply analyzes real-time content from 8 major sources: Hacker News, GitHub Trending, Product Hunt, 36Kr, Tencent News, WallStreetCN, V2EX, and Weibo. Best for 'daily scans', 'tech news briefings', 'finance updates', and 'deep interpretations' of hot topics.
99screenshot
Take screenshots of the screen using macOS screencapture. Use when users ask to see the screen, debug UI, or capture what's displayed. Resize before returning to avoid blowing up model context.
38agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
36