AI coding assistants are powerful. They're also amnesiac. Claude Code will help you fix a Docker SQLite WAL corruption bug at 2am. You'll figure out the root cause (you can't docker cp a SQLite DB from a running container โ€” you need to stop writes first or copy the WAL file too). You'll fix it. Ship it. Move on. Three days later, same project, new session. Claude Code has no memory of that fix. The same bug pattern appears. You debug it again. After the third time this happened to me, I stopped fixing bugs and started building a system to make them unfixable. Claude Code supports "skills" โ€” markdown files that load into context when relevant patterns are detected. Think of them as institutional memory for your AI assistant. Each skill captures: The problem: What goes wrong, and how it looks when it happens The root cause: Why it happens (not just what to do) The fix: Exact steps, code patches, configuration changes The trigger: When Claude Code should automatically apply this knowledge Over 7 months of building a production API platform (39 services, 30+ APIs, running from an animal sanctuary in rural Japan โ€” long story), I hit 200+ production bugs. I extracted the non-obvious ones into 112 reusable skills.

Skill What it fixes

docker-sqlite-wal-copy-trap Data corruption when copying SQLite from running container

docker-ghost-container-recovery Container name occupied but container doesn't exist

docker-small-vps-deploy-optimization OOM kills on 2GB VPS during docker build

docker-static-asset-copy-gotcha Static assets 404 in container but work locally

docker-compose-force-recreate-caddy-loop Infinite restart loop with force-recreate watchdog

Skill What it fixes

bun-sqlite-transaction-await-crash Production crash from await inside db.transaction()

sqlite-check-constraint-migration CHECK constraint failed when expanding allowed values

bun-sqlite-like-parameter-binding Parameter binding silently fails on LIKE queries

json-to-sqlite-hybrid-