Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
sanjay3290 avatar

Postgres

  • 472 installs
  • 364 repo stars
  • Updated July 9, 2026
  • sanjay3290/ai-skills

postgres is an agent skill (version 1.0) that runs read-only SELECT queries and schema exploration against configured PostgreSQL databases for developers who need safe production data inspection without write access.

About

postgres in sanjay3290/ai-skills (version 1.0, Apache 2.0) executes read-only SQL against one or more PostgreSQL databases via a Python query.py CLI and connections.json config. Agents list databases with --list, match user intent to connection descriptions, inspect tables and schemas, and run SELECT, SHOW, EXPLAIN, and WITH queries with a 30-second timeout and a 10,000-row cap. Safety layers include PostgreSQL readonly sessions, single-statement validation, SSL modes, credential sanitization in errors, and chmod 600 guidance for config files. Column output is capped at 100 characters per field for readable agent responses. Developers reach for postgres when exploring app data, validating migrations, or analyzing orders, users, or analytics tables during backend work. The skill blocks INSERT, UPDATE, DELETE, and DROP operations entirely. Requires Python 3.8+ and psycopg2-binary from requirements.txt with exit code 0 on success.

  • postgres

Postgres by the numbers

  • 472 all-time installs (skills.sh)
  • +15 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #883 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/sanjay3290/ai-skills --skill postgres

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs472
repo stars364
Last updatedJuly 9, 2026
Repositorysanjay3290/ai-skills

How do you query PostgreSQL safely in read-only mode?

Use postgres for development tasks

Who is it for?

Backend developers who need agent-assisted, read-only PostgreSQL exploration across staging or production replicas without opening a GUI client.

Skip if: Database migrations, schema writes, or teams that require INSERT/UPDATE/DELETE operations through the agent.

When should I use this skill?

User asks to query PostgreSQL, explore database schemas, run SELECT statements, or inspect table contents read-only.

What you get

Query result rows, table listings, schema metadata, and database inventory from configured PostgreSQL connections.

  • SQL query results
  • Table and schema listings

By the numbers

  • Version 1.0 with 30-second query timeout and 10,000-row cap
  • Requires Python 3.8+ and psycopg2-binary

Files

SKILL.mdMarkdownGitHub ↗

PostgreSQL Read-Only Query Skill

Execute safe, read-only queries against configured PostgreSQL databases.

Requirements

  • Python 3.8+
  • psycopg2-binary: pip install -r requirements.txt

Setup

Create connections.json in the skill directory or ~/.config/claude/postgres-connections.json.

Security: Set file permissions to 600 since it contains credentials:

chmod 600 connections.json
{
  "databases": [
    {
      "name": "production",
      "description": "Main app database - users, orders, transactions",
      "host": "db.example.com",
      "port": 5432,
      "database": "app_prod",
      "user": "readonly_user",
      "password": "your-password",
      "sslmode": "require"
    }
  ]
}

Config Fields

FieldRequiredDescription
nameYesIdentifier for the database (case-insensitive)
descriptionYesWhat data this database contains (used for auto-selection)
hostYesDatabase hostname
portNoPort number (default: 5432)
databaseYesDatabase name
userYesUsername
passwordYesPassword
sslmodeNoSSL mode: disable, allow, prefer (default), require, verify-ca, verify-full

Usage

List configured databases

python3 scripts/query.py --list

Query a database

python3 scripts/query.py --db production --query "SELECT * FROM users LIMIT 10"

List tables

python3 scripts/query.py --db production --tables

Show schema

python3 scripts/query.py --db production --schema

Limit results

python3 scripts/query.py --db production --query "SELECT * FROM orders" --limit 100

Database Selection

Match user intent to database description:

User asks aboutLook for description containing
users, accountsusers, accounts, customers
orders, salesorders, transactions, sales
analytics, metricsanalytics, metrics, reports
logs, eventslogs, events, audit

If unclear, run --list and ask user which database.

Safety Features

  • Read-only session: Connection uses PostgreSQL readonly=True mode (primary protection)
  • Query validation: Only SELECT, SHOW, EXPLAIN, WITH queries allowed
  • Single statement: Multiple statements per query rejected
  • SSL support: Configurable SSL mode for encrypted connections
  • Query timeout: 30-second statement timeout enforced
  • Memory protection: Max 10,000 rows per query to prevent OOM
  • Column width cap: 100 char max per column for readable output
  • Credential sanitization: Error messages don't leak passwords

Troubleshooting

ErrorSolution
Config not foundCreate connections.json in skill directory
Authentication failedCheck username/password in config
Connection timeoutVerify host/port, check firewall/VPN
SSL errorTry "sslmode": "disable" for local databases
Permission warningRun chmod 600 connections.json

Exit Codes

  • 0: Success
  • 1: Error (config missing, auth failed, invalid query, database error)

Workflow

1. Run --list to show available databases 2. Match user intent to database description 3. Run --tables or --schema to explore structure 4. Execute query with appropriate LIMIT

Related skills

Forks & variants (1)

Postgres has 1 known copy in the catalog totaling 23 installs. They canonicalize to this original listing.

How it compares

Pick postgres for safe read-only SQL exploration via agents; pick migration or ORM skills when schema changes or writes are required.

FAQ

Is the postgres skill write-safe?

postgres enforces read-only PostgreSQL sessions, validates that only SELECT, SHOW, EXPLAIN, and WITH queries run, rejects multiple statements, and blocks INSERT, UPDATE, DELETE, and DROP operations.

How does postgres choose a database?

postgres reads connections.json descriptions and matches user intent—users, orders, analytics, or logs—to the right database, or lists all configured databases when ambiguous.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.