Skills

Database Scout

Explore SQLite and PostgreSQL databases: list tables, inspect schemas...

Install

npx skills add zebbern/claude-code-guide --skill database-scout -g -a claude-code -y
Category
Data and ML
Updated
4d ago
License
MIT
Context cost
Lightabout 1,022 tokens
Runs scripts
Yes, review before use

What it does

Explore SQLite and PostgreSQL databases: list tables, inspect schemas (columns/types/constraints), preview data, generate Mermaid ER diagrams, and run safe read-only queries. Triggered by requests to explore a database, view table structures, describe tables, generate diagrams, or query data, and by keywords like database exploration, schema, ER diagram, or SQL query.

database-scout

Read-only exploration tool for SQLite / PostgreSQL databases, inspect table schemas, preview data, generate ER diagrams, and run safe queries.

Feature Overview

FeatureDescription
List all tablesShow tables and views in the database, with row counts
Inspect table schemaColumn names, types, constraints (PK/FK/NOT NULL), indexes, defaults
Data previewView the first N rows of a table
ER diagram generationOutput Mermaid erDiagram syntax, ready to render
Safe read-only queriesOnly SELECT/WITH/EXPLAIN allowed; write operations are blocked

Security Mechanisms

  • Connection-level read-only: SQLite opens with ?mode=ro URI; PostgreSQL uses SET SESSION READ ONLY
  • SQL whitelist: Only statements starting with SELECT / WITH / EXPLAIN / PRAGMA / SHOW are allowed
  • Dangerous keyword blocking: INSERT, UPDATE, DELETE, DROP, ALTER, CREATE, and 30+ other keywords are blocked
  • Multi-statement blocking: Semicolon-separated multiple SQL statements are rejected (prevents injection)
  • Identifier escaping: Table names are double-quote escaped to prevent SQL injection

Quick Start

# List all tables in a SQLite database
python3 scripts/db_explorer.py --db-path data.db list-tables

# Inspect table schema
python3 scripts/db_explorer.py --db-path data.db describe users

# Preview data (default 20 rows)
python3 scripts/db_explorer.py --db-path data.db preview orders --limit 10

# Generate Mermaid ER diagram
python3 scripts/db_explorer.py --db-path data.db er-diagram

# Run a read-only query
python3 scripts/db_explorer.py --db-path data.db query "SELECT name, age FROM users WHERE age > 18 LIMIT 10"

PostgreSQL

# Connect to PostgreSQL
python3 scripts/db_explorer.py --db-type postgres --dsn "host=localhost dbname=mydb user=reader" list-tables
Read the whole SKILL.md on GitHub

More in Data and ML