reindex-memory

Rebuild the memory SQLite index from observations.jsonl and scratchpad findings.

1|Updated Mar 15, 2026
One-click install
npx skills add https://github.com/paulingham/.claude --skill reindex-memory
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: reindex-memory
Source: https://github.com/paulingham/.claude/tree/main/skills/reindex-memory
Command: npx skills add https://github.com/paulingham/.claude --skill reindex-memory

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Rebuilds ~/.claude/db/memory.sqlite — a derived SQLite index with FTS5 — from the canonical learning/{project_hash}/observations.jsonl files and scratchpad findings. The JSONL files remain the source of truth; this DB is a fast, queryable read index used by Stories 3-5 (/harness:recall, MCP memory server, and embedding similarity search).

Core Features & Use Cases

  • Idempotent reindex of the memory index from learning observations and scratchpad findings.
  • Schema-aware rebuilds: when the schema version changes, data tables are recreated while embeddings are preserved when possible.
  • Lightweight, offline operation: implemented using Python standard library only, suitable for fresh installs and reproducible reindexes.

Quick Start

Run the reindex.py script to rebuild memory from the learning observations.

Frequently Asked Questions about reindex-memory

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I rebuild a SQLite memory index from JSONL observations?

Rebuilding a SQLite memory index from JSONL observations involves running a reindex script that reconstructs the FTS5 database from learning observations and scratchpad findings to restore recall accuracy.

What is schema drift in a memory index and when does it require a rebuild?

Schema drift in a memory index happens when the database schema version changes after upgrades or learning cycles, requiring a rebuild that recreates data tables while preserving existing embeddings whenever possible.

Can I reindex memory offline using only the Python standard library?

Yes, you can reindex memory offline using only the Python standard library, making the operation suitable for fresh installs and reproducible reindexes without requiring external dependencies or network connectivity.

Why does my memory recall search return stale or missing results after adding new observations?

Memory recall search returns stale or missing results when the SQLite index has not been updated to reflect newly added learning observations, requiring an idempotent reindex to refresh the queryable read index.

Does the reindex process preserve existing embeddings when the database schema changes?

The reindex process preserves existing embeddings during schema changes by recreating data tables only when the current schema version requires it, maintaining idempotence throughout the rebuild operation.