From rolepod-dblab
Assert live database state as verify-phase evidence. Run a read-only query and check it against an expected exists / row_count / value, returning a structured PASS/FAIL — not raw rows. Use to prove a row exists, a count matches, or a value landed after a change.
How this skill is triggered — by the user, by Claude, or both
Slash command
/rolepod-dblab:db-queryThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Single-backend skill. Calls **`rolepod_db_query`** on the rolepod-dblab MCP server and surfaces the structured result. No fallback (D-001).
Single-backend skill. Calls rolepod_db_query on the rolepod-dblab MCP server and surfaces the structured result. No fallback (D-001).
Did the data actually end up the way the change intended? PASS or FAIL.
Phase: Verify. Read-only — the query runs inside BEGIN TRANSACTION READ ONLY, so any write (including writable CTEs) is rejected by Postgres, not by string-parsing.
check-work DB evidence: "row exists", "count == N", "this column == value".rolepod-wplab owns WP data access; route there./db-write (guarded). db-query refuses writes.psql / SQL client job, out of scope (SPEC §3) — db-query returns a PASS/FAIL assertion, not a row dump./db-explain.conn — Postgres connection string (secret; never logged).sql — a read-only query.expect — at least one of: exists (bool), row_count (int), value (first column of first row equals this scalar).timeout_ms (optional, default 30000) — statement timeout.Call rolepod_db_query:
{
"conn": "postgresql://…/db",
"sql": "SELECT status FROM orders WHERE id = 42",
"expect": { "exists": true, "row_count": 1, "value": "paid" }
}
passed — true iff every assertion passed.checks[] — each: name, expected, actual, passed.row_count, sample (≤5 rows for context), manifest_path (phase verify, status pass/fail).A write attempt returns an error with code read_only_violation (not a PASS, not a silent write).
{ "conn": "postgresql://…/db", "sql": "SELECT count(*) FROM users WHERE tier IS NULL", "expect": { "value": 0 } }
PASS means zero users have a null tier — the backfill is complete.
.rolepod-dblab/artifacts/db-query_<ts>_<uuid>/rolepod parent (marker <git-root>/.rolepod/parent-active): <git-root>/.rolepod/evidence/<ts>-rolepod-dblab-db-query/The run directory holds assertion.json + a manifest.json (Extension Protocol v1), so check-work aggregates DB state as a first-class evidence type.
The
/db-queryskill needs the rolepod-dblab MCP server, which is not currently available. Confirm the plugin is installed and try again, or check thatnpx -y @rolepod/dblabis reachable.
npx claudepluginhub nuttaruj/rolepod-dblab --plugin rolepod-dblabGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.