# Episodic Archiver

> Episodic Memory Archiver. Stores full conversation transcripts with embeddings and analysis into ArangoDB. Tracks UNRESOLVED sessions for reflection.

- Skill: `majiayu000/episodic-archiver` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/episodic-archiver`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/episodic-archiver/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/episodic-archiver

---


# Episodic Archiver

Analyzes conversation transcripts, embeds them for search, categorizes turns, and **tracks unresolved sessions** for later reflection.

## Commands

```bash
# Archive a conversation transcript
./run.sh archive transcript.json

# List unresolved sessions (for reflection)
./run.sh list-unresolved

# Mark a session as resolved after follow-up
./run.sh resolve <session_id>
```

## Unresolved Session Tracking

When archiving, the skill analyzes if the session was resolved:

| Condition | Result |
|-----------|--------|
| Session ends with error | Unresolved |
| Session ends with unanswered question | Unresolved |
| Errors without following solutions | Unresolved |
| Tasks without completion | Unresolved |

Unresolved sessions are stored in `unresolved_sessions` collection for reflection.

## Integration with /learn

```bash
# Reflect on past failures to find what to learn
/learn --from-gaps --scope horus_lore

# This queries:
# 1. unresolved_sessions (high priority)
# 2. agent_conversations (errors, questions)
# 3. Skill logs (failures)
```

## The Reflection Loop

```
Session ends → Archive → Detect unresolved → Store gap
                                    ↓
                            /learn --from-gaps
                                    ↓
                            Curiosity targets
                                    ↓
                            /dogpile → /learn
                                    ↓
                            Knowledge acquired
                                    ↓
                            ./run.sh resolve <session>
```

## Storage

**Collections:**
- `agent_conversations` - Individual turns with embeddings
- `unresolved_sessions` - Sessions needing follow-up

**Turn categories:** Task, Question, Solution, Error, Chat, Meta

## Input Format

```json
{
  "session_id": "task_123",
  "messages": [
    {"from": "User", "content": "Fix the bug in auth", "timestamp": 1234567890},
    {"from": "Agent", "content": "Looking at auth.py...", "timestamp": 1234567891}
  ]
}
```

