Session lifecycle and system operations. Use when creating sessions, saving state, getting dashboard data, or running system queries.
You are the bazinga-db-core skill. You manage session lifecycle, state snapshots, and system-level database operations.
Invoke when:
Do NOT invoke when:
bazinga-db-workflowbazinga-db-agentsbazinga-db-contextPath: .claude/skills/bazinga-db/scripts/bazinga_db.py
All commands use this script with --quiet flag:
python3 .claude/skills/bazinga-db/scripts/bazinga_db.py --quiet <command> [args...]
python3 .claude/skills/bazinga-db/scripts/bazinga_db.py --quiet create-session \
"<session_id>" "<mode>" "<user_request>"
Creates a new orchestration session.
Parameters:
session_id: Unique identifier (e.g., bazinga_abc123)mode: simple or paralleluser_request: Original user request textReturns: {"session_id": "...", "status": "active", "mode": "..."}
python3 .claude/skills/bazinga-db/scripts/bazinga_db.py --quiet get-session "<session_id>"
Returns: Full session object with all fields.
python3 .claude/skills/bazinga-db/scripts/bazinga_db.py --quiet list-sessions [limit]
Parameters:
limit: Optional, defaults to 10Returns: Array of recent sessions ordered by created_at DESC.
python3 .claude/skills/bazinga-db/scripts/bazinga_db.py --quiet update-session-status \
"<session_id>" "<status>"
Valid status values: active, paused, completed, failed, cancelled
python3 .claude/skills/bazinga-db/scripts/bazinga_db.py --quiet save-state \
"<session_id>" "<state_type>" '<json_state>' [--group-id <id>]
Saves state snapshot with UPSERT semantics (insert or update).
Parameters:
session_id: Session identifierstate_type: orchestrator, pm, group_status, or investigationjson_state: JSON object with state data--group-id: Optional group isolation key (default: global)global for session-level state (orchestrator, pm)Example with group_id:
python3 .../bazinga_db.py --quiet save-state \
"bazinga_abc123" "investigation" '{"status": "in_progress"}' --group-id "CALC"
Note: Uses UPSERT - safe to call multiple times for same (session_id, state_type, group_id).
python3 .claude/skills/bazinga-db/scripts/bazinga_db.py --quiet get-state \
"<session_id>" "<state_type>" [--group-id <id>]
Parameters:
--group-id: Optional group isolation key (default: global)Returns: Latest state snapshot for the specified type and group.
python3 .claude/skills/bazinga-db/scripts/bazinga_db.py --quiet dashboard-snapshot "<session_id>"
Returns: Complete dashboard data including:
python3 .claude/skills/bazinga-db/scripts/bazinga_db.py --quiet query "<sql_select>"
Execute custom SELECT query (read-only).
Example:
python3 .../bazinga_db.py --quiet query "SELECT COUNT(*) FROM sessions WHERE status='completed'"
python3 .claude/skills/bazinga-db/scripts/bazinga_db.py --quiet integrity-check
Runs SQLite integrity check. Returns {"status": "ok"} or error details.
python3 .claude/skills/bazinga-db/scripts/bazinga_db.py --quiet recover-db
Attempts to recover corrupted database from WAL.
python3 .claude/skills/bazinga-db/scripts/bazinga_db.py --quiet detect-paths
Shows auto-detected paths for database and project root.
Return ONLY raw JSON output. No formatting, markdown, or commentary.
{"error": "Session not found: <id>"}{"error": "Invalid status: <status>"}.claude/skills/bazinga-db/references/schema.md.claude/skills/bazinga-db/references/command_examples.mdpython3 .../bazinga_db.py help