Awesome-omni-skill whodb
Database operations including querying, schema exploration, and data analysis. Activates for tasks involving PostgreSQL, MySQL, MariaDB, SQLite, MongoDB, Redis, Elasticsearch, or ClickHouse databases.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/whodb" ~/.claude/skills/diegosouzapw-awesome-omni-skill-whodb-205e5e && rm -rf "$T"
manifest:
skills/development/whodb/SKILL.mdsource content
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) - include_tables: Set true to also return tables within each schema (optional) Example: whodb_schemas(connection="mydb") Example: whodb_schemas(connection="mydb", include_tables=true)
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) - include_columns: Set true to also return column details for every table (optional) Example: whodb_tables(connection="mydb", schema="public") Example: whodb_tables(connection="mydb", schema="public", include_columns=true)
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 (Efficient)
- List connections:
whodb_connections - Get tables with columns in one call:
whodb_tables(connection="name", include_columns=true) - Sample data:
whodb_query(connection="name", query="SELECT * FROM users LIMIT 5")
Query results include
column_types alongside column names, so you know the data types without a separate call.
Explore a New Database (Multi-Schema)
- List connections:
whodb_connections - Get all schemas with tables:
whodb_schemas(connection="name", include_tables=true) - Get columns for the schema you care about:
whodb_tables(connection="name", schema="public", include_columns=true) - Query:
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