ワンクリックで
create-migration
Create a new PebbleDB/SQLite database migration following the project pattern
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create a new PebbleDB/SQLite database migration following the project pattern
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Load project context for the audiobook-organizer codebase. Invoke this skill at the start of any agent that needs project knowledge. Reads live docs files — no hardcoded values. Falls back to generic behavior on non-audiobook-organizer projects.
Initialize server authentication and retrieve API key. SSH to the audiobook-organizer server, restart the service, read the bootstrap token from the .bootstrap-token file (no longer logged in plaintext — pen-test CRIT-1), exchange it for an API key via POST /api/v1/auth/bootstrap, and write the key to .claude/.api-token (shared across worktrees, auto-cleanup after 8 hours). Use when starting fresh or when the API key has expired.
Build and deploy audiobook-organizer to the production Linux server
Reference guide for common audiobook-organizer tasks and recurring patterns. Helps identify which tasks have existing skills or which new skills might be useful. Use when starting a new task to see if there's a pattern match, or to discover which skills exist for database, build, deployment, debugging, or operational tasks.
Pull logs from the audiobook-organizer service and provide web UI login instructions. Requires running server-bootstrap first to get .api-token file. Reads journalctl via SSH (supports tail, filter, streaming), extracts login credentials, and provides instructions for accessing the web dashboard. Use when troubleshooting server issues, checking service status, or needing to log into the web UI.
Build and deploy the audiobook-organizer using Makefile targets. Handles full builds (frontend + backend), API-only builds, test runs, and deployment. Always uses `make` targets instead of manual commands; auto-installs frontend dependencies before builds. Use when asked to build, run, test, deploy, or for frontend dev server.
| name | create-migration |
| description | Create a new PebbleDB/SQLite database migration following the project pattern |
| disable-model-invocation | true |
Create a new migration in internal/database/migrations.go following the established pattern.
Find the current highest migration version:
grep 'Version:' internal/database/migrations.go | grep -oP '\d+' | sort -n | tail -1
Create the migration function at the end of migrations.go (before the closing of the file), following this pattern:
func migration<NNN>Up(store Store) error {
// For PebbleDB operations:
ps, ok := store.(*PebbleStore)
if !ok {
return nil // Skip for non-Pebble stores
}
_ = ps
// For SQLite operations:
ss, ok := store.(*SQLiteStore)
if !ok {
return nil
}
_, err := ss.db.Exec(`ALTER TABLE books ADD COLUMN new_field TEXT DEFAULT ''`)
return err
}
Register the migration in the migrations slice:
{
Version: <next_version>,
Description: "<description>",
Up: migration<NNN>Up,
Down: nil,
},
Update the file version header at the top of migrations.go
Down: nil unless rollback is critical (most migrations are additive)go build ./internal/database/... after addingmy_backfill_v1_done) to prevent re-runs