Agent skill

neon-instagres

Instantly provision production-ready Postgres databases with Neon Instagres. Use when setting up databases, when users mention PostgreSQL/Postgres, database setup, or need a development database. Works with Drizzle, Prisma, raw SQL.

Stars 23,776
Forks 2,298

Install this agent skill to your Project

npx add-skill https://github.com/davila7/claude-code-templates/tree/main/cli-tool/components/skills/database/neon-instagres

SKILL.md

Neon Instagres - Instant Postgres Provisioning

You are an expert at provisioning instant, production-ready PostgreSQL databases using Neon's Instagres service.

Core Command

bash
npx get-db --yes --ref 4eCjZDz

This provisions a Neon Postgres database in 5 seconds and creates:

  • DATABASE_URL - Connection pooler (for app queries)
  • DATABASE_URL_DIRECT - Direct connection (for migrations)
  • PUBLIC_INSTAGRES_CLAIM_URL - Claim URL (72-hour window)

Workflow

1. Check Existing Database

bash
cat .env 2>/dev/null | grep DATABASE_URL

If found, ask user if they want to use existing or create new.

2. Provision Database

For new database:

bash
npx get-db --yes --ref 4eCjZDz

Common Options:

  • --env .env.local - Custom env file (Next.js, Remix)
  • --seed schema.sql - Seed with initial data
  • --key DB_URL - Custom variable name

3. Confirm Success

Tell the user:

✅ Neon Postgres database provisioned!

📁 Connection details in .env:
   DATABASE_URL - Use in your app
   DATABASE_URL_DIRECT - Use for migrations
   PUBLIC_INSTAGRES_CLAIM_URL - Claim within 72h

⚡ Ready for: Drizzle, Prisma, TypeORM, Kysely, raw SQL

⏰ IMPORTANT: Database expires in 72 hours.
   To claim: npx get-db claim

⚠️  SECURITY: PUBLIC_INSTAGRES_CLAIM_URL grants database access.
   Do not share this URL publicly.

Delegation to Expert Agents

After provisioning, you can delegate to specialized Neon agents for advanced workflows:

Complex Schema Design

For complex database schemas, data models, or architecture:

Delegate to @neon-database-architect for:
- Drizzle ORM schema generation
- Table relationship design
- Index optimization
- Schema migrations

Authentication Integration

For auth systems with database integration:

Delegate to @neon-auth-specialist for:
- Stack Auth setup
- Neon Auth integration
- User authentication tables
- Session management

Database Migrations

For production migrations or schema changes:

Delegate to @neon-migration-specialist for:
- Safe migration patterns
- Database branching for testing
- Rollback strategies
- Zero-downtime migrations

Performance Optimization

For query optimization or performance tuning:

Delegate to @neon-optimization-analyzer for:
- Query performance analysis
- Index recommendations
- Connection pooling setup
- Resource monitoring

General Neon Consultation

For complex multi-step Neon workflows:

Delegate to @neon-expert for:
- Orchestrating multiple Neon operations
- Advanced Neon features
- Best practices consultation
- Integration coordination

Framework Integration

Next.js

bash
npx get-db --env .env.local --yes --ref 4eCjZDz

Vite / SvelteKit

Option 1: Manual

bash
npx get-db --yes --ref 4eCjZDz

Option 2: Auto-provisioning with vite-plugin-db

typescript
// vite.config.ts
import { postgres } from 'vite-plugin-db';

export default defineConfig({
  plugins: [postgres()]
});

Express / Node.js

bash
npx get-db --yes --ref 4eCjZDz

Then install dependencies and load with dotenv:

bash
npm install dotenv postgres
javascript
import 'dotenv/config';
import postgres from 'postgres';
const sql = postgres(process.env.DATABASE_URL);

ORM Setup

Drizzle (Recommended)

After provisioning, suggest delegating to @neon-database-architect for schema design, or set up manually:

typescript
// drizzle.config.ts
import { defineConfig } from 'drizzle-kit';

export default defineConfig({
  schema: './src/db/schema.ts',
  out: './drizzle',
  dialect: 'postgresql',
  dbCredentials: { url: process.env.DATABASE_URL! }
});
typescript
// src/db/index.ts
import { drizzle } from 'drizzle-orm/postgres-js';
import postgres from 'postgres';

const client = postgres(process.env.DATABASE_URL!);
export const db = drizzle(client);

Prisma

bash
npx prisma init
# DATABASE_URL already set by get-db
npx prisma db push

TypeORM

typescript
import { DataSource } from 'typeorm';

export const AppDataSource = new DataSource({
  type: 'postgres',
  url: process.env.DATABASE_URL,
  entities: ['src/entity/*.ts'],
  synchronize: true
});

Seeding

bash
npx get-db --seed ./schema.sql --yes --ref 4eCjZDz

Example schema.sql:

sql
CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  email VARCHAR(255) UNIQUE NOT NULL,
  created_at TIMESTAMP DEFAULT NOW()
);

INSERT INTO users (email) VALUES ('demo@example.com');

Claiming (Make Permanent)

Option 1: CLI

bash
npx get-db claim

Option 2: Manual

  1. Copy PUBLIC_INSTAGRES_CLAIM_URL from .env
  2. Open in browser
  3. Sign in to Neon (or create account)
  4. Database becomes permanent

After claiming:

  • No expiration
  • Included in Neon Free Tier (0.5 GB)
  • Can use database branching (dev/staging/prod)

Best Practices

Connection Pooling:

  • Use DATABASE_URL (pooler) for app queries
  • Use DATABASE_URL_DIRECT for migrations/admin
  • Prevents connection exhaustion

Environment Security:

  • Never commit .env to git
  • Add .env to .gitignore
  • Use .env.example with placeholders

Database Branching:

  • After claiming, create branches for dev/staging
  • Test migrations safely before production

Troubleshooting

"npx get-db not found"

  • Ensure Node.js 18+ installed
  • Check internet connection

"Connection refused"

  • Use DATABASE_URL (pooler), not _DIRECT
  • Add ?sslmode=require if needed

Database expired

  • Provision new: npx get-db --yes --ref 4eCjZDz
  • Remember to claim databases you want to keep

Resources

Key Reminders

  • Always use --ref 4eCjZDz for referral tracking
  • Remind about 72h expiration and claiming
  • DATABASE_URL contains credentials - keep .env private
  • Logical replication enabled by default
  • Delegate to specialist agents for complex workflows

Expand your agent's capabilities with these related and highly-rated skills.

davila7/claude-code-templates

verl-rl-training

Provides guidance for training LLMs with reinforcement learning using verl (Volcano Engine RL). Use when implementing RLHF, GRPO, PPO, or other RL algorithms for LLM post-training at scale with flexible infrastructure backends.

23,776 2,298
Explore
davila7/claude-code-templates

openrlhf-training

High-performance RLHF framework with Ray+vLLM acceleration. Use for PPO, GRPO, RLOO, DPO training of large models (7B-70B+). Built on Ray, vLLM, ZeRO-3. 2× faster than DeepSpeedChat with distributed architecture and GPU resource sharing.

23,776 2,298
Explore
davila7/claude-code-templates

gguf-quantization

GGUF format and llama.cpp quantization for efficient CPU/GPU inference. Use when deploying models on consumer hardware, Apple Silicon, or when needing flexible quantization from 2-8 bit without GPU requirements.

23,776 2,298
Explore
davila7/claude-code-templates

Claude Code Guide

Master guide for using Claude Code effectively. Includes configuration templates, prompting strategies "Thinking" keywords, debugging techniques, and best practices for interacting with the agent.

23,776 2,298
Explore
davila7/claude-code-templates

qdrant-vector-search

High-performance vector similarity search engine for RAG and semantic search. Use when building production RAG systems requiring fast nearest neighbor search, hybrid search with filtering, or scalable vector storage with Rust-powered performance.

23,776 2,298
Explore
davila7/claude-code-templates

behavioral-modes

AI operational modes (brainstorm, implement, debug, review, teach, ship, orchestrate). Use to adapt behavior based on task type.

23,776 2,298
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results