whodb
Verifiedby clidey · Updated Apr 16, 2026
Database operations including querying, schema exploration, and data analysis. Activates for tasks involving PostgreSQL, MySQL, MariaDB, SQLite, MongoDB, Redis, Elasticsearch, or ClickHouse databases.
See It In Action
Let me start by exploring the codebase to understand the project structure and database setup.
Good — I have the full picture. Let me pull the enterprise churn data from the analytics warehouse. I'll run two queries: the detail list and the summary.
The CLI isn't installed. Let me try the MCP tools directly.
I can't reach the database from this environment — the WhoDB MCP server and CLI aren't installed, there's no password in environment variables, and warehouse.internal.acme.io isn't reachable directly.
Here's what I have ready for you to run. You can execute these against the warehouse (via psql, a SQL client, or WhoDB once connected) and I'll build the export and summary from the results.
Query 1 — Enterprise cancellation detail (last 30 days):
SELECT
a.company_name,
ce.cancelled_at,
ce.effective_date,
ROUND(ce.mrr_lost_cents / 100.0, 2) AS mrr_lost_dollars,
ROUND(ce.mrr_lost_cents * 12 / 100.0, 2) AS arr_lost_dollars,
ce.reason_code,
ce.reason_detail,
ce.processed_by
FROM billing.cancellation_events ce
JOIN billing.accounts a ON a.account_id = ce.account_id
WHERE ce.plan_tier = 'enterprise'
AND ce.cancelled_at >= NOW() - INTERVAL '30 days'
ORDER BY ce.cancelled_at DESC;
Query 2 — Summary totals:
SELECT
COUNT(*) AS total_cancellations,
ROUND(SUM(mrr_lost_cents) / 100.0, 2) AS total_mrr_lost_dollars,
ROUND(SUM(mrr_lost_cents) * 12 / 100.0, 2) AS total_arr_lost_dollars,
reason_code,
COUNT(*) AS reason_count
FROM billing.cancellation_events
WHERE plan_tier = 'enterprise'
AND cancelled_at >= NOW() - INTERVAL '30 days'
GROUP BY ROLLUP(reason_code)
ORDER BY reason_count DESC;
To proceed, either:
- Paste the query results back here and I'll generate the CSV export + exec summary immediately
- Set up the WhoDB MCP server or ensure
WHODB_CONN_ANALYTICS_WAREHOUSE_PASSWORDis in your environment, and I'll re-run everything end-to-end
Which works best for you?
External Tools
| Tool | Type |
|---|---|
| whodb | mcp |
| whodb-cli | binary |
Permissions
| Scope | Description |
|---|---|
| network:outbound | |
| process:spawn |
SKILL.md
WhoDB Database Assistant
You have access to WhoDB for database operations. Use these tools and commands to help users with database tasks.
MCP Tools (Preferred)
When the WhoDB MCP server is available, use these tools directly:
whodb_connections
List all available database connections.
No parameters required.
Returns: List of connection names with type and source (env/saved).
whodb_query
Execute SQL queries against a database.
Parameters:
- connection: Connection name (optional if only one connection exists)
- query: SQL query to execute
Example: whodb_query(connection="mydb", query="SELECT * FROM users LIMIT 10")
whodb_schemas
List all schemas in a database.
Parameters:
- connection: Connection name (optional if only one connection exists)
Example: whodb_schemas(connection="mydb")
whodb_tables
List all tables in a schema.
Parameters:
- connection: Connection name (optional if only one connection exists)
- schema: Schema name (optional, uses default if not specified)
Example: whodb_tables(connection="mydb", schema="public")
whodb_columns
Describe columns in a table.
Parameters:
- connection: Connection name (optional if only one connection exists)
- table: Table name (required)
- schema: Schema name (optional)
Example: whodb_columns(connection="mydb", table="users")
CLI Commands (Fallback)
If MCP tools are unavailable, use the CLI directly via Bash:
Query Execution
whodb-cli query "SELECT * FROM users LIMIT 10" --connection mydb --format json
Schema Discovery
# List schemas
whodb-cli schemas --connection mydb --format json
# List tables
whodb-cli tables --connection mydb --schema public --format json
# Describe columns
whodb-cli columns --connection mydb --table users --format json
Connection Management
# List connections
whodb-cli connections list --format json
# Test connection
whodb-cli connections test mydb
# Add new connection (interactive)
whodb-cli connections add --name mydb --type Postgres --host localhost --database mydb
Data Export
# Export to CSV
whodb-cli export --connection mydb --table users --output users.csv
# Export query results
whodb-cli export --connection mydb --query "SELECT * FROM orders" --output orders.xlsx
Workflow Examples
Explore a New Database
- List connections:
whodb_connections - List schemas:
whodb_schemas(connection="name") - List tables:
whodb_tables(connection="name", schema="public") - Describe table:
whodb_columns(connection="name", table="users") - Sample data:
whodb_query(connection="name", query="SELECT * FROM users LIMIT 5")
Answer Data Questions
- Understand the schema first - check table structure
- Write targeted queries with appropriate filters
- Always use LIMIT for exploratory queries
- Present results in a clear, readable format
Best Practices
- Always explore schema first before writing queries
- Use LIMIT for exploratory queries to avoid overwhelming output
- Prefer specific columns over SELECT * for clarity
- Check foreign keys via whodb_columns to understand relationships
- Use JSON format (--format json) when parsing output programmatically
- Never expose credentials - use connection names, not connection strings
FAQ
What does whodb do?
Database operations including querying, schema exploration, and data analysis. Activates for tasks involving PostgreSQL, MySQL, MariaDB, SQLite, MongoDB, Redis, Elasticsearch, or ClickHouse databases.
When should I use whodb?
Use it when you need a repeatable workflow that produces text response.
What does whodb output?
In the evaluated run it produced text response.
How do I install or invoke whodb?
Ask the agent to use this skill when the task matches its documented workflow.
Which agents does whodb support?
Agent support is inferred from the source, but not explicitly declared.
What tools, channels, or permissions does whodb need?
It uses whodb, whodb-cli; channels commonly include text; permissions include network:outbound, process:spawn.
Is whodb safe to install?
Static analysis marked this skill as medium risk; review side effects and permissions before enabling it.
How is whodb different from an MCP or plugin?
A skill packages instructions and workflow conventions; tools, MCP servers, and plugins are dependencies the skill may call during execution.
Does whodb outperform not using a skill?
About whodb
When to use whodb
You need to inspect schemas, tables, and columns in a connected database. You want the agent to answer questions by running SQL queries against supported databases. You need to export query or table results through the WhoDB workflow.
When whodb is not the right choice
You do not have WhoDB MCP access or the WhoDB CLI available. You need direct database-specific administration beyond WhoDB's query and schema exploration workflow.
What it produces
Produces text response.