
Mnemonics
- 85 installs
- 14 repo stars
- Updated May 24, 2026
- 5kahoisaac/opencode-historian
mnemonics is a skill for storing, recalling, and managing persistent agent memories across conversations through the @historian subagent.
About
This skill manages persistent memories across conversations by delegating to a historian subagent. A developer uses it to remember decisions, preferences, and learnings, then recall them in later sessions. Memories are stored as git-committable markdown files and searched via a hybrid BM25 and vector index.
- Manages persistent agent memory (remember, recall, forget, sync) via the @historian subagent across conversations
- Defines 9 memory types (architectural-decision, design-decision, learning, user-preference, and more)
- Stores memories as git-friendly markdown files indexed by qmd hybrid BM25 + vector search
Mnemonics by the numbers
- 85 all-time installs (skills.sh)
- Ranked #1,425 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Jul 28, 2026 (Skillselion catalog sync)
mnemonics capabilities & compatibility
- Capabilities
- memory · planning
- Use cases
- planning · documentation
What mnemonics says it does
Memory tools are **ONLY available via the @historian subagent**.
npx skills add https://github.com/5kahoisaac/opencode-historian --skill mnemonicsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 85 |
|---|---|
| repo stars | ★ 14 |
| Last updated | May 24, 2026 |
| Repository | 5kahoisaac/opencode-historian ↗ |
What it does
Store and recall persistent decisions, preferences, and learnings across agent conversations via a historian subagent.
Who is it for?
Persisting and recalling architectural decisions, preferences, and learnings across sessions
Skip if: Calling memory tools directly; all memory operations must go through the @historian subagent
When should I use this skill?
when you need to remember decisions, preferences, or learnings, or retrieve stored context
What you get
Durable, searchable memories that persist and can be recalled across sessions.
- Persistent, recallable agent memories
By the numbers
- 9 built-in memory types
- 4 historian operations documented (remember, recall, forget, sync)
Files
Mnemonics: Memory Management via Historian
CRITICAL: You Must Use @historian
Memory tools are ONLY available via the @historian subagent. You CANNOT call these tools directly:
memory_remember- Create or update memoriesmemory_recall- Search and retrieve memoriesmemory_forget- Delete memoriesmemory_list_types- List available memory typesmemory_sync- Rebuild the search index
Always delegate to historian:
@historian remember that we decided on PostgreSQL for the database
@historian what did we decide about authentication?Memory Types
| Type | Use For | Example |
|---|---|---|
architectural-decision | System architecture choices | "Using PostgreSQL with read replicas for scaling" |
design-decision | UI/UX decisions | "Card layout for dashboard, 3 columns on desktop" |
learning | Lessons and discoveries | "Bun's native TS support removes build step need" |
user-preference | User preferences | "User prefers dark mode, tabs not spaces" |
project-preference | Team conventions | "We use conventional commits, PR reviews required" |
issue | Known problems | "Rate limiting not implemented yet, tracking in #42" |
context | General context (default) | "Project started Feb 2026, MVP target Q2" |
recurring-pattern | Reusable patterns | "Error handling: wrap in try/catch, return {error}" |
conventions-pattern | Coding standards | "Use named exports, avoid default exports" |
Note: Projects may define custom memory types via configuration. Always use @historian list all memory types available to see the complete list for the current project.When to Delegate to Historian
Remember (create/update):
- After making a significant architectural or design decision
- User states a preference about how they work
- Discovering something important about the codebase or tools
- Learning a lesson that should persist across sessions
Recall (search/retrieve):
- Starting a new session → recall relevant context
- User asks "what did we decide about X?"
- Need to check if a decision was already made
- Looking for known issues or patterns
Forget (delete):
- User wants to remove outdated or incorrect memories
- Cleaning up duplicated or irrelevant entries
Sync (reindex):
- After manually editing memory files in
.mnemonics/ - When search results seem outdated
Example Prompts
Remembering
@historian remember that we decided on JWT auth with 15-min expiry
@historian save this learning: Bun handles TypeScript natively without compilation
@historian note that the user prefers minimal UI animations
@historian store this as an architectural-decision: we're using event sourcing for the audit logRecalling
@historian what did we decide about authentication?
@historian recall any known issues with the API
@historian what are my preferences for this project?
@historian show all architectural decisions
@historian find memories about database choicesManaging
@historian list all memory types available
@historian forget the memory about the old API design
@historian sync the index to include recent memory filesHow It Works
1. Memories are stored in .mnemonics/{type}/{title}.md as markdown files with YAML frontmatter 2. Indexing is automatic via qmd (hybrid BM25 + vector search) 3. Historian handles classification, deduplication, and semantic search 4. Files are git-friendly - commit them to share across team
Best Practices
1. Be specific in titles - "qmd-cli-for-writes" not "important decision" 2. Let historian classify - it will search first to avoid duplicates 3. Recall before deciding - check if a decision already exists 4. Commit memory files - they're part of project knowledge
Related skills
FAQ
Can memory tools be called directly?
No; memory tools are only available via the @historian subagent and must be delegated to it.
How are memories stored and indexed?
As markdown files in .mnemonics/{type}/{title}.md, indexed automatically via qmd hybrid BM25 and vector search.