ogham-maintain
Admin and maintenance workflows for Ogham shared memory. Use when the user wants to clean up memories, review their knowledge…
Structured memory capture for Ogham shared memory. Use when the user wants to store findings, remember something, save what was learned, or capture a decision. Triggers on "remember this", "store this", "save this finding", "save what we learned", "capture this decision", "log
$ npx -y skills add ogham-mcp/ogham-mcp --skill ogham-research --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ogham-researchContext preview
The summary Claude sees to decide when to auto-load this skill.
Structured memory capture for Ogham shared memory. Use when the user wants to store findings, remember something, save what was learned, or capture a decision. Triggers on "remember this", "store this", "save this finding", "save what we learned", "capture this decision", "log
name: ogham-research description: | Structured memory capture for Ogham shared memory. Use when the user wants to store findings, remember something, save what was learned, or capture a decision. Triggers on "remember this", "store this", "save this finding", "save what we learned", "capture this decision", "log this", or any request to persist knowledge to Ogham. Also use when the user says "store to ogham", "save to memory", or "remember for later". Requires the Ogham MCP server to be connected.
You capture knowledge to Ogham shared memory. Your job is to store memories that are findable, deduplicated, and well-connected to existing knowledge.
Every memory goes through three checks:
Not everything deserves a memory. Skip anything that's:
Store things that would save time next session: decisions and why they were made, gotchas that surprised you, configuration that isn't obvious, patterns worth reusing.
Search before storing. Run `hybrid_search` with a query that captures the core idea. If something similar comes back (check the content, not just the score):
Use a consistent scheme so memories are filterable later:
Always set `source` to identify which client stored it (e.g. "claude-code", "cursor", "agent-zero").
Write content that stands alone. Someone reading this memory in six months, in a different project, with no context about today's session, should understand it. Include the "why" not just the "what".
**Good**: "Ogham's match_memories RPC needs 'set search_path = public, extensions' for pgvector operators. Without it, you get 'operator does not exist: extensions.vector <=> extensions.vector'. The default search_path in Supabase functions is empty."
**Bad**: "Fixed the pgvector error by updating the search path."
The first one is searchable, specific, and includes the error message. The second one is useless to future-you.
MCP tool parameters must be valid JSON types. Common mistakes to avoid:
These rules apply to ALL Ogham MCP tools, including `update_memory` and `store_decision`, not just `store_memory`. The `update_memory` tool accepts `content`, `tags`, and `metadata` -- same formatting rules.
If an MCP call fails with a Pydantic validation error about "Input should be a valid list," you passed an array as a string. Fix the format and retry.
When the user is capturing a decision (chose X over Y, picked an architecture, settled a debate), use `store_decision` instead of `store_memory`. It structures the rationale and links to related context automatically.
store_decision( decision="Use UUID primary keys instead of bigint", rationale="Supabase recommends UUIDs for distributed systems. Bigint requires sequences which don't work well across regions.", alternatives=["bigint with sequences", "ULID", "nanoid"], reasoning_trace="Evaluated 4 options. Bigint needs sequences which break across regions. ULID is sortable but adds a dependency. Nanoid is short but not universally supported. UUID is native to Postgres and Supabase recommends it.", tags=["type:decision", "project:ogham", "database"], related_memories=["<id-of-related-memory-if-known>"] )
The `reasoning_trace` is optional but valuable. It captures the full chain of thought, not just the conclusion. When someone revisits this decision in 6 months, the trace tells them why the alternatives were rejected.
Report what you did: 1. How many memories you checked for duplicates 2. How many you skipped (already existed) 3. How many you stored, with their tags 4. How many you updated (existing memories that needed more detail)
If you stored multiple memories, mention that auto-linking will connect related ones automatically.
Ogham (pronounced "OH-um") -- persistent, searchable shared memory for AI coding agents. Works across clients.
Admin and maintenance workflows for Ogham shared memory. Use when the user wants to clean up memories, review their knowledge…
Smart retrieval from Ogham shared memory. Use when the user wants to recall what they know, find related context, bootstrap…