From gaia-ops
Use when searching, inspecting, or diagnosing episodic memory via the `gaia memory` CLI -- queries like "what do I remember about X", "search my memory", "show episode", or memory health checks
npx claudepluginhub metraton/gaia --plugin gaia-opsThis skill uses the workspace's default tool permissions.
Inspect and query Gaia's episodic memory (Memory v2) through the `gaia memory` CLI. Memory v2 indexes past sessions in an FTS5 SQLite database with hybrid scoring (recency + retrieval count). This skill covers search, stats, show, and conflict detection. For curating/reorganizing the separate MEMORY.md index and topic files, load `memory-curation` instead.
Triggers research for existing libraries, tools, and patterns before coding new features. Searches npm, PyPI, MCP/skills, GitHub; evaluates matches and decides adopt/extend/build.
Audits cross-stack repos (C++/Android/iOS/Web), classifies files as project/third-party/artifacts, detects embedded libraries, assigns module verdicts, generates interactive HTML reports.
Reorganizes X and LinkedIn networks: review-first pruning of low-value follows, priority-based add/follow recommendations, and drafts warm outreach in user's voice.
Share bugs, ideas, or general feedback.
Inspect and query Gaia's episodic memory (Memory v2) through the gaia memory CLI. Memory v2 indexes past sessions in an FTS5 SQLite database with hybrid scoring (recency + retrieval count). This skill covers search, stats, show, and conflict detection. For curating/reorganizing the separate MEMORY.md index and topic files, load memory-curation instead.
| Trigger | Subcommand |
|---|---|
| "what do I know about X", "search my memory" | gaia memory search <query> |
| "memory health", "is my memory healthy" | gaia memory stats |
| "show episode abc123", "open that memory" | gaia memory show <id> |
| "any memory conflicts", "contradictions" | gaia memory conflicts |
Always prefer --json when the output will feed a follow-up step. Human text is for final user replies.
All shapes are contract -- downstream code relies on these keys.
gaia memory search "<query>" [--limit N] --json
-> {"results": [{"id", "title", "score", "date", "snippet"}]}
gaia memory stats --json
-> {"total_episodes", "indexed", "avg_score", "conflicts"}
gaia memory show <episode_id> --json
-> {"id", "title", "content", "score", "tags", "retrieval_count", "age_days"}
exit 1 if episode not found
gaia memory conflicts [--threshold F] --json
-> {"conflicts": [{"file_a", "file_b", "score", "reason"}]}
score in search and show is the hybrid score from tools.memory.scoring.score_memory(days_old, retrieval_count) -- higher means more relevant. score in conflicts is semantic similarity between two memory files (0.0-1.0, higher means more similar/conflicting).
Answering "what do I remember about X"
gaia memory search "X" --limit 5 --jsonresults empty: tell the user nothing indexed yet, suggest checking statsscore, call gaia memory show <id> --json for full contentcontent back to the user; cite date and idDiagnosing memory health
gaia memory stats --jsonindexed < total_episodes * 0.9: FTS5 index is stale -- suggest gaia doctor --fixconflicts > 0: run gaia memory conflicts --json to show specifics, then hand off to memory-curation for resolutionavg_score near 0 means scoring module is not loading -- check gaia doctorChecking before saving a new memory
gaia memory search "<topic>" --json to see if the topic already existsshow, extend instead of duplicatingmemory-curation)results list is not an error -- it means nothing indexed matches. Surface this plainly; do not invent context.score (< 0.3) hits are likely noise -- mention them only if explicitly asked for broad results.age_days from show helps decide whether to trust the memory or flag it as potentially stale.conflicts entry with score > 0.85 is almost certainly a genuine duplicate/contradiction worth resolving.| Situation | Next step |
|---|---|
| Conflicts found, user wants cleanup | Load memory-curation skill |
| FTS5 index stale or missing | Run gaia doctor --fix |
| Want to save a new finding | Load memory-curation skill |
| Results enriched and user wants broader research | Delegate to investigation skill or WebSearch |
search for verbatim recall -- FTS5 ranks by relevance, not exact match. If the user needs an exact episode, use show <id>.--json -- piping human output into follow-up logic breaks whenever the format tweaks. Ask for JSON at the source.conflicts on every query -- it scans all memory files and is expensive; run it only on explicit health-check intent or after bulk imports.score to the user -- users care about what was found, not the number. Translate: high score -> "strong match", low score -> "loose match".