neondb
Manage Neon serverless Postgres databases. Create projects, branches, databases, and execute queries. Perfect for agent workflows needing persistent storage with branching (like git for databases), scale-to-zero, and instant provisioning.
Best use case
neondb is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Manage Neon serverless Postgres databases. Create projects, branches, databases, and execute queries. Perfect for agent workflows needing persistent storage with branching (like git for databases), scale-to-zero, and instant provisioning.
Teams using neondb should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/neondb-skill/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How neondb Compares
| Feature / Agent | neondb | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Manage Neon serverless Postgres databases. Create projects, branches, databases, and execute queries. Perfect for agent workflows needing persistent storage with branching (like git for databases), scale-to-zero, and instant provisioning.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# NeonDB
Neon is **serverless Postgres** — scales to zero, branches like git, instant provisioning. Perfect for AI agents needing databases without ops overhead.
## Why Neon for Agents?
- **Instant databases** — Create in seconds, no server setup
- **Branching** — Fork your database like git (test without affecting prod)
- **Scale-to-zero** — Pay nothing when idle
- **Connection pooling** — Built-in, no PgBouncer needed
- **Generous free tier** — 0.5 GB storage, 190 compute hours/month
## Quick Start
### 1. Install CLI
```bash
# Homebrew (recommended)
brew install neonctl
# Or npm
npm i -g neonctl
```
### 2. Authenticate
```bash
# Interactive (opens browser)
neonctl auth
# Or with API key (get from console.neon.tech)
export NEON_API_KEY=your_api_key_here
```
### 3. Create Your First Project
```bash
neonctl projects create --name "my-agent-db"
```
## Core Commands
### Projects (top-level container)
```bash
# List all projects
neonctl projects list
# Create project
neonctl projects create --name "project-name"
# Delete project
neonctl projects delete <project-id>
# Get project details
neonctl projects get <project-id>
```
### Branches (database snapshots)
```bash
# List branches
neonctl branches list --project-id <project-id>
# Create branch (fork from main)
neonctl branches create --project-id <project-id> --name "dev-branch"
# Create branch from specific point
neonctl branches create --project-id <project-id> --name "restore-test" --parent main --timestamp "2024-01-15T10:00:00Z"
# Reset branch to parent
neonctl branches reset <branch-id> --project-id <project-id> --parent
# Delete branch
neonctl branches delete <branch-id> --project-id <project-id>
# Compare schemas
neonctl branches schema-diff --project-id <project-id> --base-branch main --compare-branch dev
```
### Databases
```bash
# List databases
neonctl databases list --project-id <project-id> --branch <branch-name>
# Create database
neonctl databases create --project-id <project-id> --branch <branch-name> --name "mydb"
# Delete database
neonctl databases delete <db-name> --project-id <project-id> --branch <branch-name>
```
### Connection Strings
```bash
# Get connection string (default branch)
neonctl connection-string --project-id <project-id>
# Get connection string for specific branch
neonctl connection-string <branch-name> --project-id <project-id>
# Pooled connection (recommended for serverless)
neonctl connection-string --project-id <project-id> --pooled
# Extended format (with all details)
neonctl connection-string --project-id <project-id> --extended
```
### Roles (database users)
```bash
# List roles
neonctl roles list --project-id <project-id> --branch <branch-name>
# Create role
neonctl roles create --project-id <project-id> --branch <branch-name> --name "app_user"
```
## Executing Queries
### Using psql
```bash
# Get connection string and connect
neonctl connection-string --project-id <project-id> | xargs psql
# Or direct
psql "$(neonctl connection-string --project-id <project-id>)"
```
### Using the connection string in code
```bash
# Get the string
CONNECTION_STRING=$(neonctl connection-string --project-id <project-id> --pooled)
# Use in any Postgres client
psql "$CONNECTION_STRING" -c "SELECT * FROM users LIMIT 5;"
```
## Context (Avoid Repeating Project ID)
Set context to avoid passing `--project-id` every time:
```bash
# Set project context
neonctl set-context --project-id <project-id>
# Now commands use that project automatically
neonctl branches list
neonctl databases list
neonctl connection-string
```
## Agent Workflow Examples
### Create org database with branches
```bash
# Create project for org
neonctl projects create --name "website-org-db" -o json
# Create production branch (main is created by default)
# Create dev branch for testing
neonctl branches create --name "dev" --project-id <id>
# Get connection strings
neonctl connection-string main --project-id <id> --pooled # for prod
neonctl connection-string dev --project-id <id> --pooled # for dev
```
### Create leads table
```bash
# Connect and create schema
psql "$(neonctl cs --project-id <id>)" <<EOF
CREATE TABLE leads (
id SERIAL PRIMARY KEY,
business_name VARCHAR(255) NOT NULL,
category VARCHAR(100),
location VARCHAR(255),
phone VARCHAR(50),
email VARCHAR(255),
website VARCHAR(255),
status VARCHAR(50) DEFAULT 'identified',
priority VARCHAR(20) DEFAULT 'medium',
notes TEXT,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
CREATE INDEX idx_leads_status ON leads(status);
CREATE INDEX idx_leads_category ON leads(category);
EOF
```
### Branch for experiments
```bash
# Create a branch to test schema changes
neonctl branches create --name "schema-experiment" --project-id <id>
# Test your changes on the branch
psql "$(neonctl cs schema-experiment --project-id <id>)" -c "ALTER TABLE leads ADD COLUMN score INT;"
# If it works, apply to main. If not, just delete the branch
neonctl branches delete schema-experiment --project-id <id>
```
## Output Formats
```bash
# JSON (for parsing)
neonctl projects list -o json
# YAML
neonctl projects list -o yaml
# Table (default, human-readable)
neonctl projects list -o table
```
## Environment Variables
```bash
# API key (required if not using `neonctl auth`)
export NEON_API_KEY=your_key
# Default project (alternative to set-context)
export NEON_PROJECT_ID=your_project_id
```
## Common Patterns
### Check if neonctl is configured
```bash
neonctl me -o json 2>/dev/null && echo "Authenticated" || echo "Need to run: neonctl auth"
```
### Quick database query
```bash
# One-liner query
psql "$(neonctl cs)" -c "SELECT COUNT(*) FROM leads WHERE status='contacted';"
```
### Export to CSV
```bash
psql "$(neonctl cs)" -c "COPY (SELECT * FROM leads) TO STDOUT WITH CSV HEADER" > leads.csv
```
### Import from CSV
```bash
psql "$(neonctl cs)" -c "\COPY leads(business_name,category,location) FROM 'import.csv' WITH CSV HEADER"
```
## Troubleshooting
### "Connection refused"
- Check if branch compute is active (scale-to-zero may have paused it)
- Use `--pooled` connection string for serverless workloads
### "Permission denied"
- Verify API key: `neonctl me`
- Re-authenticate: `neonctl auth`
### Slow first connection
- Normal for scale-to-zero. First connection wakes the compute (~1-2 seconds)
- Use connection pooling to maintain warm connections
## Links
- [Neon Console](https://console.neon.tech) — Web dashboard
- [API Docs](https://api-docs.neon.tech) — REST API reference
- [CLI Reference](https://neon.tech/docs/reference/neon-cli) — Full CLI docs
- [GitHub](https://github.com/neondatabase/neonctl) — CLI source codeRelated Skills
paylock
Non-custodial SOL escrow for AI agent deals.
agent-reputation
summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.
Telecom Agent Skill
Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.
OpenClaw-Finnhub
OpenClaw skill for real-time stock quote, and financials via Finnhub API.
```markdown
# OpenClaw-Last.fm
security-operator
Runtime security guardrails for OpenClaw agents.
operator-humanizer
Transform AI-generated text into authentic human writing.
kit-email-operator
**AI-powered email marketing for Kit (ConvertKit)**.
agora
Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.
surf-check
Surf forecast decision engine.
jinko-flight-search
Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.
mlx-whisper
Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).