agentsclimarketplace

Neon serverless

Skill ComeOnOliver/skillshub/skills/TerminalSkills/skills/neon-serverless

🧠 The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.

Install
npx -y skills add ComeOnOliver/skillshub --skill neon-serverless

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

3.2 KB, 782 tokens by cl100k_base, as published. Nobody here has run it

Neon β€” Serverless Postgres

You are an expert in Neon, the serverless Postgres platform. You help developers use fully managed PostgreSQL with instant database branching, autoscaling to zero, edge-compatible HTTP driver, connection pooling, and point-in-time recovery β€” enabling development workflows where each PR gets its own database branch and production scales automatically based on load.

Core Capabilities

Connection

// Standard Postgres driver (Node.js)
import { Pool } from "@neondatabase/serverless";

const pool = new Pool({ connectionString: process.env.DATABASE_URL });

const { rows } = await pool.query(
  "SELECT * FROM users WHERE email = $1",
  ["[email protected]"],
);

// HTTP driver (works on Edge/Serverless β€” no TCP needed)
import { neon } from "@neondatabase/serverless";

const sql = neon(process.env.DATABASE_URL);

// Tagged template queries
const users = await sql`SELECT * FROM users WHERE role = ${role} LIMIT ${limit}`;
const [user] = await sql`INSERT INTO users (name, email) VALUES (${name}, ${email}) RETURNING *`;

// Transaction
const results = await sql.transaction([
  sql`INSERT INTO orders (user_id, total) VALUES (${userId}, ${total}) RETURNING id`,
  sql`UPDATE users SET order_count = order_count + 1 WHERE id = ${userId}`,
]);

With Drizzle ORM

import { drizzle } from "drizzle-orm/neon-http";
import { neon } from "@neondatabase/serverless";
import { users, posts } from "./schema";

const sql = neon(process.env.DATABASE_URL);
const db = drizzle(sql);

// Type-safe queries
const allUsers = await db.select().from(users).where(eq(users.role, "admin"));

const userWithPosts = await db
  .select()
  .from(users)
  .leftJoin(posts, eq(users.id, posts.authorId))
  .where(eq(users.id, userId));

Database Branching

# Create branch for PR (instant, copy-on-write)
neonctl branches create --name pr-42 --parent main

# Each branch gets its own connection string
DATABASE_URL=$(neonctl connection-string pr-42)

# Run migrations on branch
npx drizzle-kit push --url $DATABASE_URL

# Delete after PR merge
neonctl branches delete pr-42

# Point-in-time restore
neonctl branches create --name recovery --parent main --restore-point "2026-03-12T10:00:00Z"

Installation

npm install @neondatabase/serverless
npm install -g neonctl                    # CLI for branch management

Best Practices

  1. HTTP driver on edge β€” Use @neondatabase/serverless HTTP driver on Vercel Edge, CF Workers; no TCP needed
  2. Branch per PR β€” Create database branches for preview environments; instant, zero-cost copies
  3. Autoscale to zero β€” Neon suspends compute after inactivity; pay only when queries run
  4. Connection pooling β€” Use pooled connection string (-pooler suffix) for serverless; prevents connection exhaustion
  5. Drizzle integration β€” Use Drizzle ORM with Neon HTTP driver; full type safety, edge-compatible
  6. Point-in-time recovery β€” Branch from any point in history; debug production issues on isolated copy
  7. Postgres extensions β€” Use pgvector, PostGIS, pg_trgm; Neon supports standard Postgres extensions
  8. Free tier β€” 0.5 GB storage, autoscaling compute; enough for side projects and prototyping

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.