Agent skill
neon
Neon API for serverless Postgres. Use when user mentions "Neon", "Neon database", "serverless Postgres", or asks about Neon projects.
Install this agent skill to your Project
npx add-skill https://github.com/vm0-ai/vm0-skills/tree/main/neon
SKILL.md
Neon API
Manage serverless Postgres projects, branches, databases, roles, and compute endpoints with the Neon API v2.
Official docs:
https://api-docs.neon.tech/reference/getting-started
When to Use
- Create and manage Neon projects
- Create and manage branches (for dev/preview environments)
- Manage databases and roles within projects
- Start/stop and configure compute endpoints
- Get connection URIs for databases
Core APIs
List Projects
curl -s "https://console.neon.tech/api/v2/projects" --header "Authorization: Bearer $(printenv NEON_TOKEN)" | jq '.projects[] | {id, name, region_id, created_at, pg_version}'
Docs: https://api-docs.neon.tech/reference/listprojects
Get Project Details
Replace <project-id> with the actual project ID:
curl -s "https://console.neon.tech/api/v2/projects/<project-id>" --header "Authorization: Bearer $(printenv NEON_TOKEN)" | jq '.project | {id, name, region_id, pg_version, created_at, store_passwords}'
Create Project
Write to /tmp/neon_request.json:
{
"project": {
"name": "my-new-project",
"region_id": "aws-us-east-2",
"pg_version": 16
}
}
curl -s -X POST "https://console.neon.tech/api/v2/projects" --header "Authorization: Bearer $(printenv NEON_TOKEN)" --header "Content-Type: application/json" -d @/tmp/neon_request.json | jq '{project: {id: .project.id, name: .project.name}, connection_uris: .connection_uris}'
Docs: https://api-docs.neon.tech/reference/createproject
Available regions: aws-us-east-2, aws-us-west-2, aws-eu-central-1, aws-ap-southeast-1
Delete Project
Replace <project-id> with the actual project ID:
curl -s -X DELETE "https://console.neon.tech/api/v2/projects/<project-id>" --header "Authorization: Bearer $(printenv NEON_TOKEN)" | jq '.project | {id, name}'
List Branches
Replace <project-id> with the actual project ID:
curl -s "https://console.neon.tech/api/v2/projects/<project-id>/branches" --header "Authorization: Bearer $(printenv NEON_TOKEN)" | jq '.branches[] | {id, name, primary, created_at, current_state}'
Docs: https://api-docs.neon.tech/reference/listprojectbranches
Create Branch
Replace <project-id> with the actual project ID.
Write to /tmp/neon_request.json:
{
"branch": {
"name": "dev-branch"
},
"endpoints": [
{
"type": "read_write"
}
]
}
curl -s -X POST "https://console.neon.tech/api/v2/projects/<project-id>/branches" --header "Authorization: Bearer $(printenv NEON_TOKEN)" --header "Content-Type: application/json" -d @/tmp/neon_request.json | jq '{branch: {id: .branch.id, name: .branch.name}, endpoints: [.endpoints[] | {host: .host, id: .id}]}'
Delete Branch
Replace <project-id> and <branch-id>:
curl -s -X DELETE "https://console.neon.tech/api/v2/projects/<project-id>/branches/<branch-id>" --header "Authorization: Bearer $(printenv NEON_TOKEN)" | jq '.branch | {id, name}'
List Databases
Replace <project-id> and <branch-id>:
curl -s "https://console.neon.tech/api/v2/projects/<project-id>/branches/<branch-id>/databases" --header "Authorization: Bearer $(printenv NEON_TOKEN)" | jq '.databases[] | {id, name, owner_name}'
Create Database
Replace <project-id> and <branch-id>.
Write to /tmp/neon_request.json:
{
"database": {
"name": "mydb",
"owner_name": "neondb_owner"
}
}
curl -s -X POST "https://console.neon.tech/api/v2/projects/<project-id>/branches/<branch-id>/databases" --header "Authorization: Bearer $(printenv NEON_TOKEN)" --header "Content-Type: application/json" -d @/tmp/neon_request.json | jq '.database | {id, name, owner_name}'
List Roles
Replace <project-id> and <branch-id>:
curl -s "https://console.neon.tech/api/v2/projects/<project-id>/branches/<branch-id>/roles" --header "Authorization: Bearer $(printenv NEON_TOKEN)" | jq '.roles[] | {name, protected}'
List Endpoints (Compute)
Replace <project-id>:
curl -s "https://console.neon.tech/api/v2/projects/<project-id>/endpoints" --header "Authorization: Bearer $(printenv NEON_TOKEN)" | jq '.endpoints[] | {id, host, branch_id, type, current_state, autoscaling_limit_min_cu, autoscaling_limit_max_cu}'
Get Connection URI
Replace <project-id> with the actual project ID. Optionally add database_name and role_name query params:
curl -s "https://console.neon.tech/api/v2/projects/<project-id>/connection_uri?database_name=neondb&role_name=neondb_owner" --header "Authorization: Bearer $(printenv NEON_TOKEN)" | jq '.uri'
Docs: https://api-docs.neon.tech/reference/getconnectionuri
Start Endpoint
Replace <project-id> and <endpoint-id>:
curl -s -X POST "https://console.neon.tech/api/v2/projects/<project-id>/endpoints/<endpoint-id>/start" --header "Authorization: Bearer $(printenv NEON_TOKEN)" | jq '.endpoint | {id, host, current_state}'
Suspend Endpoint
Replace <project-id> and <endpoint-id>:
curl -s -X POST "https://console.neon.tech/api/v2/projects/<project-id>/endpoints/<endpoint-id>/suspend" --header "Authorization: Bearer $(printenv NEON_TOKEN)" | jq '.endpoint | {id, host, current_state}'
Guidelines
- Branching model: Neon uses a git-like branching model; every project has a main branch, and you can create dev/preview branches from it
- Compute endpoints: Each branch can have a compute endpoint; endpoints auto-suspend after inactivity
- Connection strings: Use the connection URI endpoint to get ready-to-use Postgres connection strings
- Regions: Choose the region closest to your application; projects cannot be moved after creation
- Rate limits: API rate limits apply; check response headers for remaining quota
- Default database: New projects come with a
neondbdatabase andneondb_ownerrole
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
brave-search
Brave Search API for web search. Use when user says "search web", "Brave search", or asks to "find on web" without specifying Google.
supadata
Supadata API for YouTube/web data. Use when user mentions "Supadata", "YouTube data", "channel stats", or web scraping data.
roadmap-planning
Build and prioritize product roadmaps using scoring models like RICE, ICE, and value-effort matrices. Activate when creating a product roadmap, prioritizing features, sequencing initiatives, mapping dependencies, balancing team capacity, choosing between Now/Next/Later or quarterly planning, or communicating roadmap tradeoffs to executives and stakeholders.
qdrant
Qdrant API for vector search. Use when user mentions "Qdrant", "vector database", "semantic search", or embeddings storage.
calendly
Calendly scheduling API. Use when user mentions "Calendly", "calendly.com", "schedule a meeting", "booking link", "event types", or asks about interview scheduling.
stripe
Stripe API for payments. Use when user mentions "Stripe", "payment", "subscription", "billing", "invoice", or asks about payment processing.
Didn't find tool you were looking for?