Skip to content
Neon Postgres

Neon Postgres Skill

Neon's official agent skill for serverless Postgres — connection strings and drivers, pooled vs direct connections, branching, autoscaling, scale-to-zero, read replicas and logical replication.

GitHub Docs

Install

Install with the skills CLI

One command for Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf and dozens of other agents. Needs Node.js; the skill is fetched straight from neondatabase/agent-skills.

$ npx skills add neondatabase/agent-skills --skill neon-postgres

Run it in a terminal. The CLI finds the agents installed on your machine, asks which ones to add the skill to, and whether to install it into the folder you ran it from or for all your projects.

Other ways to install

  1. Open the skill on GitHub and download the folder that holds its SKILL.md.
  2. Put it at ~/.claude/skills/neon-postgres/, where Claude Code picks it up in every project.

No scripts or references next to it? Saving the SKILL.md alone as ~/.claude/skills/neon-postgres/SKILL.md works too.

Using another agent? Its personal skills folder
Codex
~/.agents/skills/
Cursor
~/.cursor/skills/
GitHub Copilot
~/.copilot/skills/
Gemini CLI
~/.gemini/skills/
Windsurf
~/.codeium/windsurf/skills/
OpenCode
~/.config/opencode/skills/

About

  • Pooled vs direct connection guidance and DATABASE_URL conventions
  • Driver selection: @neondatabase/serverless for edge vs pg for servers
  • Database branching as copy-on-write clones for migrations and per-PR databases
  • Autoscaling, scale-to-zero and cold-start behaviour
  • Read replicas, instant restore and logical replication
  • IP allow lists and connection pooling limits

Neon is Postgres with compute separated from storage, and almost every question a developer asks about it comes from that split. Which connection string do I use? Why did my first query take a second? What does a branch actually copy? This official skill from Neon answers those in the shape an agent needs while it is writing code.

Connections are the bulk of it: pooled versus direct endpoints and when each is correct, DATABASE_URL conventions, and driver choices — the serverless HTTP driver @neondatabase/serverless for edge and Workers runtimes versus a normal TCP pg connection for long-lived servers. Getting this wrong is the most common cause of connection exhaustion on serverless platforms, and the skill is explicit about it.

Branching is Neon's headline feature and the skill treats it as a workflow rather than a button. Branches are instant copy-on-write clones with their own endpoint, which makes it practical to run a schema migration against a real copy of production data instead of a dump-and-restore cycle, or to give each pull request its own database.

Elasticity — autoscaling and scale-to-zero — is covered along with the consequence you have to design around: a cold start on the first query after an idle period. Instant restore, read replicas, connection pooling limits, IP allow lists and logical replication round out the surface.

The skill is one of a set. It declares neon as its parent skill, which carries the platform overview and getting-started material, and it sits alongside claimable-postgres for provisioning and neon-postgres-egress-optimizer for reducing data-transfer cost. Neon works with any Postgres driver, ORM or framework, so the guidance applies whether you are on Drizzle, Prisma, SQLAlchemy or raw SQL.

Install: npx skills add https://github.com/neondatabase/agent-skills --skill neon-postgres, or /plugin install neon-postgres@neon in Claude Code. Apache-2.0 licensed.

Try it

Once installed, ask your agent something like:

Wire this Cloudflare Worker to Neon using the serverless driver, and create a branch so I can test the migration against production data first.

SKILL.md

The instructions your agent loads, as published by Neon.

SKILL.md
name
neon-postgres
description
Guides and best practices for working with Lakebase Postgres, the database behind Neon. Covers setup, connection methods and drivers, pooled vs direct connections, branching, autoscaling, scale-to-zero, instant restore, read replicas, connection pooling, IP allow lists, and logical replication. Use when users ask about "Lakebase Postgres", "Neon setup", "connect to Neon", "Neon project", "DATABASE_URL", "serverless Postgres", "Neon CLI", "neon", "Neon MCP", "Neon Auth", "@neondatabase/serverless", "@neondatabase/neon-js", "scale to zero", "Neon autoscaling", "Neon read replica", or "Neon connection pooling".
metadata
parent: neon

FIRST: Use the parent neon skill for a Neon overview, getting started with Neon, Neon development best practices, and more.

If the neon skill is not installed, fetch it from https://neon.com/docs/ai/skills/neon/SKILL.md or install it with:

npx skills add neondatabase/agent-skills --skill neon

Lakebase Postgres

Lakebase Postgres is the database at the core of Neon. It runs on the lakebase architecture — OLTP built directly on cloud object storage — which decouples storage from compute to offer autoscaling, branching, instant restore, and scale-to-zero. It's fully compatible with Postgres and works with any language, framework, or ORM that supports Postgres.

It is the same database whether you reach it through Neon or through Databricks; this skill covers the Neon access path.

Setup Flow
1. Select the organization and project

Use the CLI (default) or MCP server to list organizations and projects. Let the user select an existing project or create a new one. Check the .neon file for an existing linked project or branch.

2. Get the connection string

Use the CLI (default), neon env pull, or the MCP server to get the connection string. Store it in .env as DATABASE_URL. Read the file first before modifying it, to avoid overwriting existing values.

#### When to use pooled vs direct connections

Use caseConnection type
Web applications, serverless functionsPooled (-pooler)
Schema migrationsDirect
pg_dump / pg_restoreDirect
Logical replicationDirect
Long-running analytics with temp tablesDirect
Admin tasks needing SET or session stateDirect
LISTEN / NOTIFYDirect
3. Pick the connection method and driver

Always pair Neon with an ORM such as Drizzle for easy schema management and migrations. Refer to the connection methods guide to pick the correct driver based on how the runtime treats your code: https://neon.com/docs/connect/choose-connection.md.

Recommendations:

  • Drizzle as ORM (see https://neon.com/docs/guides/drizzle.md)
  • On Vercel, use node-postgres (npm install pg) with Vercel Fluid compute and import { attachDatabasePool } from "@vercel/functions";
  • On Cloudflare, use node-postgres with Cloudflare Hyperdrive
  • On Neon Functions, use node-postgres, as the functions are long-running and reuse the pool across requests.
  • Use the @neondatabase/serverless driver for serverless and edge environments (for example, when using Netlify) — HTTP transport for one-shot queries, WebSocket for transaction support. Link: https://neon.com/docs/serverless/serverless-driver.md
4. Set up the schema

Manage schemas and migrations as code. Avoid running ad hoc schema migrations against your database, since they're hard to manage.

If you're using an ORM, follow your ORM's best practices to manage schemas and migrations. For example, if using Drizzle, only use Drizzle for schema and migration management unless instructed otherwise.

Branching

Use this when the user is planning isolated environments, schema migration testing, preview deployments, or branch lifecycle automation.

Key points:

  • Branches are instant, copy-on-write clones (no full data copy).
  • Each branch has its own compute endpoint.
  • Use the neon CLI or MCP server to create, inspect, and compare branches.

Link: https://neon.com/docs/introduction/branching.md

For detailed branch creation workflows (normal vs schema-only branches, reset-from-parent, CLI/MCP selection), use the neon-postgres-branches skill. If it isn't installed, fetch it from https://neon.com/docs/ai/skills/neon-postgres-branches/SKILL.md or install it with:

npx skills add neondatabase/agent-skills --skill neon-postgres-branches
Autoscaling

Use this when the user needs compute to scale automatically with workload and wants guidance on CU sizing and runtime behavior.

Link: https://neon.com/docs/introduction/autoscaling.md

Scale to Zero

Use this when optimizing idle costs and discussing suspend/resume behavior, including cold-start trade-offs.

Key points:

  • Idle computes suspend automatically after a default of 5 minutes; the timeout is configurable, and suspension can only be disabled on the Launch and Scale plans.
  • First query after suspend typically has a cold-start penalty (around hundreds of ms)
  • Storage remains active while compute is suspended.

Link: https://neon.com/docs/introduction/scale-to-zero.md

Instant Restore

Use this when the user needs point-in-time recovery or wants to restore data state without traditional backup restore workflows.

Key points:

  • History windows for instant restore depend on plan limits.
  • Users can create branches from historical points-in-time.
  • Time Travel queries can be used for historical inspection workflows.

Link: https://neon.com/docs/introduction/branch-restore.md

Read Replicas

Use this for read-heavy workloads where the user needs dedicated read-only compute without duplicating storage.

Key points:

  • Replicas are read-only compute endpoints sharing the same storage.
  • Creation is fast and scaling is independent from primary compute.
  • Typical use cases: analytics, reporting, and read-heavy APIs.

Link: https://neon.com/docs/introduction/read-replicas.md

Connection Pooling

Use this when the user is in serverless or high-concurrency environments and needs safe, scalable Postgres connection management.

Key points:

  • Neon pooling uses PgBouncer.
  • Add -pooler to endpoint hostnames to use pooled connections.
  • Pooling is especially important in serverless runtimes with bursty concurrency.

Link: https://neon.com/docs/connect/connection-pooling.md

IP Allow Lists

Use this when the user needs to restrict database access by trusted networks, IPs, or CIDR ranges.

Link: https://neon.com/docs/introduction/ip-allow.md

Logical Replication

Use this when integrating CDC pipelines, external Postgres sync, or replication-based data movement.

Key points:

  • Neon supports native logical replication workflows.
  • Useful for replicating to/from external Postgres systems.

Link: https://neon.com/docs/guides/logical-replication-guide.md

Install

Skill: Supabase

by Supabase

Featured

Supabase's official skill covering Database, Auth, Edge Functions, Realtime, Storage, Vectors, Cron and Queues — with a hard rule to verify against the live changelog before writing code.

Browse all skills →