Recover Neotoma SQLite Database

SkillDatabases & data

Check Neotoma SQLite integrity and run .recover when the DB is corrupt (malformed disk image, btree errors). Use when MCP/API fails with SQLite corruption.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Recover Neotoma SQLite Database skill

What this skill tells your AI

The instructions your AI receives, as published by markmhendrickson/neotoma in skills/recover-sqlite-database/SKILL.md and read by ahel’s review.

When to use

Neotoma errors such as database disk image is malformed, failed PRAGMA integrity_check, or btreeInitPage / SQLITE_CORRUPT on the local SQLite file (neotoma.db or neotoma.prod.db under NEOTOMA_DATA_DIR).

Preconditions

  • sqlite3 CLI on PATH (macOS usually has it).
  • Stop Neotoma (MCP stdio processes, neotoma api, anything using the DB) before --recover or before swapping files.

Script (primary)

From the Neotoma install location:

# Check only (exit 0 = ok, 2 = corrupt)
npx neotoma storage recover-db
npx neotoma storage recover-db --env production

# Write recovered copy (does not replace live DB)
npx neotoma storage recover-db --env production --recover

Output is a sibling file like neotoma.prod.recovered-<timestamp>.db. Verify it reports PRAGMA integrity_check: ok, then manually archive the live .db/-wal/-shm and cp the recovered file to the live name.

After swap

  • Inspect lost_and_found in the recovered file if present; re-ingest important rows via store_structured using normal schemas.
  • Prefer NEOTOMA_DATA_DIR outside iCloud-synced folders to reduce recurrence.

Do not

  • Run --recover while Neotoma still holds the database open.
  • Auto-delete the corrupt file until a good recovered copy is verified and backed up.

Signals

GitHub stars
32
Forks
3
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
recover-sqlite-database
Source
github.com/markmhendrickson/neotoma