Claude-skill-registry episodic-archiver

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/episodic-archiver" ~/.claude/skills/majiayu000-claude-skill-registry-episodic-archiver && rm -rf "$T"
manifest: skills/data/episodic-archiver/SKILL.md
source content

Episodic Archiver

Analyzes conversation transcripts, embeds them for search, categorizes turns, and tracks unresolved sessions for later reflection.

Commands

# 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:

ConditionResult
Session ends with errorUnresolved
Session ends with unanswered questionUnresolved
Errors without following solutionsUnresolved
Tasks without completionUnresolved

Unresolved sessions are stored in

unresolved_sessions
collection for reflection.

Integration with /learn

# 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

{
  "session_id": "task_123",
  "messages": [
    {"from": "User", "content": "Fix the bug in auth", "timestamp": 1234567890},
    {"from": "Agent", "content": "Looking at auth.py...", "timestamp": 1234567891}
  ]
}