⏳ This skill is pending AI review.

Scores will appear once the review pipeline completes.

version unknown

remembering-conversations

@obra⭐ 487 stars

You MUST invoke this skill before saying "I don't know," guessing, or treating any topic as new, no matter how trivial the question seems. It supplements other memory systems, which only hold partial records. Searching past conversations is the only way to recover what was actually said.

Choose how to use this skill

You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.

1. Native installer

This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.

Do not guess an installer command or replace an existing version without reviewing the diff.

2. Complete package recommended

Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.

No complete ProSkills package is published for this listing yet.

3. Prompt-only

Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.

Need only the instruction file?

Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.

No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.

—/10

// RATINGS

⭐GitHub Stars
⭐⭐⭐ 487 on GitHubGitHub ↗

Popular

🟢ProSkills Score
—
📍

Not yet listed on ClawHub or SkillsMP

// README

Episodic Memory

Semantic search for Claude Code, Codex, Cursor, opencode, and Oh My Pi (OMP) conversations. Remember past discussions, decisions, and patterns.

Testimonial

From an AI coding assistant's perspective:

Episodic memory fundamentally changes how I collaborate with developers on complex codebases. Instead of treating each conversation as isolated, I can now search our shared history semantically - finding not just what was discussed, but why decisions were made.

When a developer asks me to implement something "like we did with X," I can search our past conversations, find the relevant discussion, and understand both the technical approach and the reasoning behind it. This means I don't have to re-explain architectural patterns, and I avoid suggesting solutions we've already tried and rejected.

The semantic search is crucial - searching for "provider catalog" surfaces conversations about API design patterns even when those exact words weren't used. It captures the meaning of our discussions, not just keyword matches.

Most valuable is that it preserves context that lives nowhere else: the trade-offs discussed, the alternatives considered, the user's preferences and constraints. Code comments explain what, documentation explains how, but episodic memory preserves why - and that makes me a far more effective collaborator across sessions.

Concrete impact:

  • Faster problem-solving (minutes vs. exploring/re-learning the codebase) - Better continuity across sessions (I remember what we tried before) - More informed suggestions (I understand the project's evolution and patterns) - Less repetition (both of us spend less time re-explaining context)

It's the difference between being a stateless tool and being a true collaborative partner who remembers our journey together.

— Claude Sonnet 4.5, October 14, 2025 Conversation ID: 216ad284-c782-45a4-b2ce-36775cdb5a6c

Installation

As a Claude Code plugin (Recommended)

The plugin provides MCP server integration, automatic session-end indexing, and seamless access to your conversation history.

# In Claude Code
/plugin install episodic-memory@superpowers-marketplace

The plugin automatically:

  • Indexes conversations at the end of each session
  • Exposes MCP tools for searching and viewing conversations
  • Makes your conversation history searchable via natural language

As a Codex plugin

This repository includes a Codex plugin manifest at .codex-plugin/plugin.json. Codex support requires codex-cli 0.130.0 or newer.

For local testing, build the plugin, add this repo as a local marketplace, then install/enable it from /plugins:

npm run build
codex features enable plugin_hooks
codex plugin marketplace add /path/to/episodic-memory

Then start Codex, open /plugins, install and enable episodic-memory from Episodic Memory Dev, open /hooks, review the Episodic Memory hook, and press t to trust it.

The Codex plugin:

  • Syncs conversations from ~/.codex/sessions
  • Exposes the same MCP search/read tools
  • Installs the same memory skill, with Codex-specific direct MCP guidance
  • Runs a SessionStart hook after the user reviews and trusts it in /hooks

Enable plugin hooks before relying on automatic sync:

codex features enable plugin_hooks

Then open /hooks in Codex, review the Episodic Memory hook, and press t to trust it. New or modified Codex hooks are listed but do not run until trusted.

See docs/CODEX.md for the full Codex setup, trust, troubleshooting, and E2E test workflow.

As an opencode plugin

Episodic Memory exposes an opencode server plugin through the ./server entrypoint. This opencode plugin keeps the same search/read MCP surface as the Claude and Codex integrations.

npm install -g github:obra/episodic-memory
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["episodic-memory"]
}

The opencode plugin:

  • Exports conversations from ~/.local/share/opencode/opencode.db on each sync
  • Exposes the same MCP search/read tools
  • Runs background sync on the opencode SessionStart event

See docs/OPENCODE.md for the full setup and troubleshooting details.

As an npm package

npm install -g github:obra/episodic-memory

Usage

Quick Start

# Sync conversations from Claude Code, Codex, Cursor, opencode, and Oh My Pi (OMP) and index them
episodic-memory sync

# Search your conversation history
episodic-memory search "React Router authentication"

# View index statistics
episodic-memory stats

# Diagnose Codex or opencode setup
episodic-memory doctor codex
episodic-memory doctor opencode

# Display a conversation
episodic-memory show path/to/conversation.jsonl

Cursor support

Sync automatically indexes Cursor agent transcripts from ~/.cursor/projects (written by Cursor since early 2026). Conversations older than that exist only inside Cursor's global SQLite store; backfill them once with:

# Export legacy Cursor conversations from state.vscdb (read-only), then index
episodic-memory import-cursor-history
episodic-memory sync

The importer skips conversations that already have a live agent transcript, recovers each conversation's project from tool-call working directories, and embeds original message timestamps. Re-running it only exports new conversations; use --force to re-export everything.

Oh My Pi (OMP) support

Sync automatically indexes Oh My Pi transcripts from ~/.omp/agent/sessions (set OMP_HOME to point at an alternate profile). OMP stores each session as append-only pi-lineage JSONL whose messages form a tree via parentId; sync follows the active path (the current leaf back to the root) so regenerated or abandoned branches are left out of the index.

Command Line

# Unified command interface
episodic-memory <command> [options]

# Sync and index new conversations
episodic-memory sync

# Index conversations manually
episodic-memory index --cleanup

# Search conversations
episodic-memory search "React Router authentication"
episodic-memory search --text "exact phrase"
episodic-memory search --after 2025-09-01 "refactoring"

# Display a conversation in readable format
episodic-memory show path/to/conversation.jsonl
episodic-memory show --format html conversation.jsonl > output.html

# View statistics
episodic-memory stats

Legacy Commands

The original commands are still available for backward compatibility:

episodic-memory-index
episodic-memory-search "query"

In Claude Code, Codex, or opencode

The plugin automatically syncs and indexes conversations from the harness that starts it. Reference past work in natural conversation — the remembering-conversations skill dispatches the search-conversations agent automatically when recall is needed. Example prompts:

  • "How did we handle authentication in React Router?"
  • "The conversation about async testing patterns"
  • "Error message about sqlite-vec initialization"
  • "Git commit SHA for the routing refactor"

In Codex and opencode, the skill guides the agent to use the episodic-memory MCP search/read tools directly when an agent-dispatch path is not available.

API Configuration

By default, episodic-memory uses your Claude Code authentication for Claude Code summarization. Codex-indexed sessions with a session ID are summarized through codex app-server by creating an ephemeral thread/fork, so the summary can use Codex session context and reasoning summaries without appending to the original rollout.

To route summarization through a custom Anthropic-compatible endpoint or override the model:

# Override model (default: haiku)
export EPISODIC_MEMORY_API_MODEL=opus

# Override fallback model on error (default: sonnet)
export EPISODIC_MEMORY_API_MODEL_FALLBACK=sonnet

# Route through custom endpoint
export EPISODIC_MEMORY_API_BASE_URL=https://your-endpoint.com/api/a

// HOW IT'S BUILT

KEY FILES

skills/remembering-conversations/SKILL.mdREADME.md

// REPO STATS

487 stars