Using Ccproxy Inspector
starbaser/ccproxy
Operates the ccproxy inspector MITM system for intercepting, inspecting, and transforming LLM API traffic.
One API and one credential for frontier and open-source LLMs, built into your Neon branch and powered by Databricks.
$ npx skills add neondatabase/agent-skills --skill neon-ai-gateway -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install neondatabase/agent-skills neon-ai-gateway --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/neondatabase/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/neon-ai-gateway .claude/skills/neon-ai-gateway && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "neon-ai-gateway" agent skill from https://github.com/neondatabase/agent-skills/tree/main/skills/neon-ai-gateway into .claude/skills/neon-ai-gateway/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "neon-ai-gateway", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/neondatabase/agent-skills/tree/main/skills/neon-ai-gatewayType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add neondatabase/agent-skills --skill neon-ai-gateway -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install neondatabase/agent-skills neon-ai-gateway --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/neondatabase/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/neon-ai-gateway .agents/skills/neon-ai-gateway && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "neon-ai-gateway" agent skill from https://github.com/neondatabase/agent-skills/tree/main/skills/neon-ai-gateway into .agents/skills/neon-ai-gateway/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "neon-ai-gateway", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add neondatabase/agent-skills --skill neon-ai-gateway -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install neondatabase/agent-skills neon-ai-gateway --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/neondatabase/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/neon-ai-gateway .cursor/skills/neon-ai-gateway && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "neon-ai-gateway" agent skill from https://github.com/neondatabase/agent-skills/tree/main/skills/neon-ai-gateway into .cursor/skills/neon-ai-gateway/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "neon-ai-gateway", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/neondatabase/agent-skills.git --path skills/neon-ai-gateway--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add neondatabase/agent-skills --skill neon-ai-gateway -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install neondatabase/agent-skills neon-ai-gateway --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/neondatabase/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/neon-ai-gateway .gemini/skills/neon-ai-gateway && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "neon-ai-gateway" agent skill from https://github.com/neondatabase/agent-skills/tree/main/skills/neon-ai-gateway into .gemini/skills/neon-ai-gateway/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "neon-ai-gateway", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install neondatabase/agent-skills neon-ai-gatewayInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add neondatabase/agent-skills --skill neon-ai-gateway -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/neondatabase/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/neon-ai-gateway .github/skills/neon-ai-gateway && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "neon-ai-gateway" agent skill from https://github.com/neondatabase/agent-skills/tree/main/skills/neon-ai-gateway into .github/skills/neon-ai-gateway/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "neon-ai-gateway", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add neondatabase/agent-skills --skill neon-ai-gateway -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install neondatabase/agent-skills neon-ai-gateway --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/neondatabase/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/neon-ai-gateway .opencode/skills/neon-ai-gateway && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "neon-ai-gateway" agent skill from https://github.com/neondatabase/agent-skills/tree/main/skills/neon-ai-gateway into .opencode/skills/neon-ai-gateway/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "neon-ai-gateway", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
neon-ai-gatewayOne API and one credential for frontier and open-source LLMs, built into your Neon branch and powered by Databricks.
Neon AI Gateway is an agent skill from neondatabase/agent-skills, published by the product's own GitHub organization. One API and one credential for frontier and open-source LLMs, built into your Neon branch and powered by Databricks. Use when a user wants to call an LLM, add AI/chat/an agent to their app, route between model providers (OpenAI, Anthropic, Google/Gemini, Meta, Alibaba, and more), or avoid juggling separate provider API keys and accounts — especially when they already use Neon and want AI requests to branch with their project. Works with the OpenAI SDK, Anthropic SDK, google-genai, the Vercel AI SDK, and Mastra by…
Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in AI & LLM Engineering, covering LLM API integration, Rate limiting and Model routing and gateways. It works with OpenAI, Vercel AI SDK, Mastra and Databricks. The repository describes itself as: Agent Skills for Neon Severless Postgres. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit bfd013c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
console.neon.techAlso links to:
neon.commodels.devai-sdk.devmastra.aiFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
NEON_AI_GATEWAY_TOKENOPENAI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Neon AI Gateway loads about 5.1k tokens when it runs. Until then it costs about 200 tokens; SKILL.md has 2,003 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
h's gateway credentials into your local `.env.local`, so local runs hit the same branch gateway as the deployed functionlocally, `neon env pull` writes them to `.env`/`.env.local` (or use `neon-env run -- <cmd>` to inject at runtime withoutON_AI_GATEWAY_BASE_URL` into your local `.env.local`; inside a deployed Neon Function they're injected automatically. Se`neon env pull` writes the two vars to `.env`/`.env.local`, or `neon-env run -- <cmd>` injects them at runtime withoutAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from neondatabase/agent-skills at commit bfd013c, republished under its Apache-2.0 licence (© neondatabase). 2,003 words, ~5,139 tokens.
.claude/skills/neon-ai-gateway/SKILL.md (or your agent's skills folder).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:
neon skills -s neon -yCurrently available in aws-us-east-2, aws-us-east-1, aws-eu-central-1, and aws-ap-southeast-1.
The Neon AI Gateway is the LLM inference layer built into your Neon branch: one API and one Neon credential give you access to frontier and open-source models from many providers (Anthropic, OpenAI, Google, Meta, and more), all hosted and powered by Databricks. The catalog shifts over time, so treat /v1/models and the models.dev Neon page as the source of truth rather than a fixed provider list. Your existing OpenAI/Anthropic/Gemini SDK works by changing only the base URL.
Use this skill to help the user send model calls through the gateway, wire it into the AI SDK or Mastra, and switch providers without rewiring code. Deliver a working inference request, a configured agent, or a precise answer from the official Neon docs.
Reach for the AI Gateway whenever an app or agent needs to call an LLM and the user would rather not manage model providers themselves:
model field to move between Claude, GPT, and Gemini. Standard SDKs (OpenAI, Anthropic, google-genai) work with just a base-URL change.If the user already has a deep, single-provider integration and no interest in Neon branching or multi-model routing, a direct provider SDK is fine — but the moment they want one credential, model portability, or branch-scoped AI, this is the reason to use it.
claude-sonnet-4-6, gpt-5-mini, gemini-3-flash).Check these preconditions before setting anything up:
The AI Gateway is currently available in aws-us-east-2, aws-us-east-1, aws-eu-central-1, and aws-ap-southeast-1. Foundation model access requires a paid Neon plan. Confirm the user's project is in one of these regions.
The AI Gateway is credential-gated rather than a provisioning step, but two plan limits gate it — one blocks provisioning, the other only trims the catalog — and the CLI surfaces each:
neon config apply / deploy and neon checkout refuse to enable the gateway on a Free plan (the gateway can't serve requests there), with a friendly "upgrade to a paid plan, or remove aiGateway" error. A dry-run neon config plan and neon env pull don't provision, so they only warn. So: to use the gateway the project's account must be on a paid Neon plan.*-pro) are missing from GET /v1/models. This is expected; neon env pull (and the env pull bundled into apply / deploy / checkout) warns and links the user to their branch's AI Gateway page in the Neon Console (https://console.neon.tech/app/projects/<project-id>/branches/<branch-id>/ai-gateway) to request access to more models. Verify what's actually available for the branch by reading /v1/models (see the models section below) rather than assuming the full catalog.When helping a user debug "the gateway isn't working" or "a model is missing", use /v1/models plus the account's plan to distinguish these two cases — a Free plan blocks provisioning entirely, while a reduced catalog on a paid plan just needs a model-access request.
The gateway is part of neon.ts (see the neon skill for the branch-first workflow and neon.ts basics). Enable it with aiGateway:
// neon.ts
import { defineConfig } from "@neon/config/v1";
export default defineConfig({
aiGateway: true,
});neon deploy # provisions the gateway on the linked branchneon.ts)The aiGateway toggle above is part of neon.ts, Neon's infrastructure-as-code file — one TypeScript file declares the gateway alongside every other branch service, in version control (see the neon skill for the full reference). Reconcile it against a branch the Terraform way:
neon config status # print the branch's live config (is the gateway on?)
neon config plan # dry-run diff of what apply would change
neon config apply # enable the gateway on the branch (neon deploy is an alias)The gateway is branch-scoped: each branch gets its own gateway host. When a neon.ts is present, neon checkout applies the policy as it creates a branch, so a fresh preview/CI branch comes up with the gateway already enabled. Checking out an existing branch doesn't reconcile it — run neon deploy to apply changes. Provisioning (config apply / deploy), link, and checkout also pull the branch's gateway credentials into your local .env.local, so local runs hit the same branch gateway as the deployed function (no manual env pull needed).
When aiGateway is enabled, Neon injects the gateway credentials as Neon-branded env vars. Inside a deployed Neon Function these are injected automatically; locally, neon env pull writes them to .env/.env.local (or use neon-env run -- <cmd> to inject at runtime without a file):
| Variable | Meaning |
|---|---|
NEON_AI_GATEWAY_TOKEN | Gateway bearer token (a Neon credential, nt_live_...) |
NEON_AI_GATEWAY_BASE_URL | Bare branch gateway host (scheme://host, no path — no /ai-gateway): https://<branch-id>-api.ai.<region>.aws.neon.tech |
Neon injects only these two vars — it does not set
OPENAI_API_KEY/OPENAI_BASE_URL. The@neon/ai-sdk-providerand Mastra'sneon/<model>readNEON_AI_GATEWAY_*directly (zero config); for the plain OpenAI SDK /@ai-sdk/openai, build the client'sapiKey+baseURLfrom them (shown below), or set your ownOPENAI_*by hand (env pullleaves user-set vars untouched).
NEON_AI_GATEWAY_BASE_URL is the bare host — you append the dialect path yourself (which is exactly what the @neon/ai-sdk-provider does for you). The routes under the host are:
/v1 — unified, OpenAI Chat Completions-compatible; recommended default, works with every provider (/v1/chat/completions)./openai/v1 — OpenAI Responses API (required for gpt-5-…-codex variants and gpt-5-5-pro); the @ai-sdk/openai provider uses the Responses API by default (/openai/v1/responses)./anthropic — native Anthropic Messages (extended thinking, prompt caching). Give the Anthropic SDK this as its base URL and it appends /v1/messages itself, so the full request path is /anthropic/v1/messages./gemini — native Gemini generateContent. Give google-genai this as its base URL and it appends /v1beta/models/<model>:generateContent itself, so the full request path is /gemini/v1beta/models/<model>:generateContent.So ${NEON_AI_GATEWAY_BASE_URL}/v1 is the chat-completions endpoint and ${NEON_AI_GATEWAY_BASE_URL}/openai/v1 the OpenAI Responses endpoint (both appended by you); for the native Anthropic and Gemini dialects you hand the SDK the shorter /anthropic or /gemini base and it appends the rest. See Use with Plain SDKs below.
For typed, validated access to the injected credentials, pass the same neon.ts config object to parseEnv from @neon/env — it returns an env.aiGateway namespace (apiKey, baseUrl) derived from your config.
The Vercel AI SDK is the recommended way to call the gateway and build agents from TypeScript: one set of primitives (generateText, streamText, tool calling, structured output) over every catalog model, with first-class streaming for the long agent responses Neon Functions are built to host.
The dedicated @neon/ai-sdk-provider reads NEON_AI_GATEWAY_BASE_URL + NEON_AI_GATEWAY_TOKEN from the injected env with zero config and routes each model to the best endpoint (Anthropic → Messages, OpenAI/Codex → Responses, everything else → MLflow). On a Neon Function that streams text and generates images, just pick a catalog model:
import { neon } from "@neon/ai-sdk-provider";
import { streamText } from "ai";
const result = streamText({
model: neon("gpt-5-mini"), // or claude-sonnet-4-6, gemini-3-flash, ...
messages,
tools: {
image_generation: neon.tools.imageGeneration({
outputFormat: "jpeg",
size: "1024x1024",
}),
},
});
return result.toUIMessageStreamResponse();A single completion is the same provider with generateText:
import { neon } from "@neon/ai-sdk-provider";
import { generateText } from "ai";
const { text } = await generateText({
model: neon("claude-haiku-4-5"), // or gpt-5-3-codex, gemini-3-flash, ...
prompt: "Summarize Postgres for me.",
});Prefer
@neon/ai-sdk-providerover the bare@ai-sdk/openaiopenai(): Neon injects onlyNEON_AI_GATEWAY_*, notOPENAI_*, soopenai()won't pick up the gateway from the env on its own. If you do use@ai-sdk/openai, configure it explicitly withcreateOpenAI({ apiKey: process.env.NEON_AI_GATEWAY_TOKEN, baseURL:${process.env.NEON_AI_GATEWAY_BASE_URL}/openai/v1}).
To build an agent — a model that calls tools in a loop and then answers — add tools and a stopWhen budget. The loop runs in-process, so on a Neon Function it isn't cut off by lambda-style timeouts:
import { neon } from "@neon/ai-sdk-provider";
import { generateText, tool, stepCountIs } from "ai";
import { z } from "zod";
const { text } = await generateText({
model: neon("claude-sonnet-4-6"),
prompt: "How many open todos do I have, and what's the oldest one?",
tools: {
listTodos: tool({
description: "List the user's open todos.",
inputSchema: z.object({}), // AI SDK v5+: `inputSchema`, not `parameters`
execute: async () => db.select().from(todos),
}),
},
stopWhen: stepCountIs(5), // let the model call tools, then summarize
});For a full AI SDK agent deployed as a Neon Function (streaming, tool calling, image generation, persistence), see the neon-functions skill's references/ai-sdk.md.
Mastra is the recommended framework when you want batteries-included agents — built-in memory, tools, workflows, and tracing — with the model still pointed at the gateway. With @mastra/core 1.47+, use a neon/<model> magic string; Mastra reads NEON_AI_GATEWAY_BASE_URL and NEON_AI_GATEWAY_TOKEN from the environment (injected by neon deploy when aiGateway is enabled). Use parseEnv only for other declared services (e.g. env.postgres.databaseUrl for @mastra/pg memory):
import { Agent } from "@mastra/core/agent";
import { parseEnv } from "@neon/env";
import config from "../neon";
const env = parseEnv(config);
export const personalAssistant = new Agent({
id: "personal-assistant",
name: "personal-assistant",
instructions:
"You are a warm, concise personal assistant with long-term memory.",
model: "neon/claude-haiku-4-5",
memory, // your Mastra memory store, e.g. @mastra/pg on env.postgres.databaseUrl
});When you don't need an agent framework — a single completion, an existing provider-SDK integration, or native provider features — call the gateway with the plain SDKs. Neon injects the NEON_AI_GATEWAY_* vars (not OPENAI_*), so set the client's apiKey + baseURL from them. For the OpenAI Responses dialect (/openai/v1):
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.NEON_AI_GATEWAY_TOKEN,
baseURL: `${process.env.NEON_AI_GATEWAY_BASE_URL}/openai/v1`,
});
const res = await client.responses.create({
model: "gpt-5-mini", // swap to claude-sonnet-4-6, gemini-3-flash, ...
input: "What is Neon?",
});For the unified chat-completions dialect, point baseURL at /v1 instead:
const client = new OpenAI({
apiKey: process.env.NEON_AI_GATEWAY_TOKEN,
baseURL: `${process.env.NEON_AI_GATEWAY_BASE_URL}/v1`,
});
const res = await client.chat.completions.create({
model: "claude-sonnet-4-6",
messages: [{ role: "user", content: "What is Neon?" }],
});The Anthropic SDK and google-genai work the same way for native provider features — point the Anthropic SDK at ${NEON_AI_GATEWAY_BASE_URL}/anthropic (it appends /v1/messages itself) and google-genai at ${NEON_AI_GATEWAY_BASE_URL}/gemini (it appends /v1beta/models/...).
Use a model's catalog ID directly in the model field — e.g. claude-sonnet-4-6, gpt-5-mini, gemini-3-flash. No provider prefix is needed. To look up the exact identifiers the gateway serves, which underlying model each maps to, and their context windows, pricing, and capabilities, use any of:
neon key)./v1/models)The gateway also exposes the model catalog live from your own branch endpoint, so an app or agent can discover exactly which models this branch serves without hard-coding the list. It is an OpenAI-compatible list endpoint, served only on the unified dialect (/v1):
curl "$NEON_AI_GATEWAY_BASE_URL/v1/models" \
-H "Authorization: Bearer $NEON_AI_GATEWAY_TOKEN"GET ${NEON_AI_GATEWAY_BASE_URL}/v1/models → 200GET ${NEON_AI_GATEWAY_BASE_URL}/openai/v1/models → 404 (not served on the Responses dialect — use /v1)Getting the credentials for the request. Both values come from the same branch-scoped Neon credential the gateway uses everywhere else — you never manage a provider key:
neon.ts (recommended). Enable aiGateway in neon.ts and run neon deploy (or neon config apply). Provisioning, neon link, and neon checkout pull NEON_AI_GATEWAY_TOKEN + NEON_AI_GATEWAY_BASE_URL into your local .env.local; inside a deployed Neon Function they're injected automatically. See Setup and Environment Variables above.neon env pull writes the two vars to .env/.env.local, or neon-env run -- <cmd> injects them at runtime without a file — but only when neon.ts declares aiGateway; the vars are never pulled off branch state alone.Any Neon credential (nt_live_...) valid for the branch works as the bearer token; NEON_AI_GATEWAY_BASE_URL is the bare branch host (no path).
Response shape — OpenAI/OpenRouter-compatible list:
{
"object": "list",
"data": [
{
"id": "claude-sonnet-4-6", // catalog model ID — use directly in the `model` field
"canonical_slug": "claude-sonnet-4-6",
"name": "Claude Sonnet 4.6", // human-readable display name
"object": "model",
"owned_by": "anthropic", // provider slug, e.g. anthropic | openai | google | meta | alibaba | databricks | ... (non-exhaustive; read live)
"created": 0,
"enabled": true,
"context_length": null,
"architecture": {
"modality": "text->text",
"input_modalities": ["text"],
"output_modalities": ["text"],
"tokenizer": "Claude", // Claude | Gemini | GPT | "" (empty for open-source)
"instruct_type": null
},
"top_provider": {
"is_moderated": false,
"context_length": null,
"max_completion_tokens": null
},
"pricing": null,
"per_request_limits": null
}
// ... one entry per model in the branch's catalog
]
}Note:
context_length,pricing, andper_request_limitsare currentlynullandcreatedis0for every entry — for context windows, pricing, and capabilities use the models.dev catalog above. Use/v1/modelswhen you need the live, branch-scoped list of servable model IDs (e.g. to populate a model picker or validate amodelbefore a request).
The Neon documentation is the source of truth and the AI Gateway is evolving rapidly, so always verify against the official docs. Any doc page can be fetched as markdown by appending .md to the URL or by requesting Accept: text/markdown. Find the right page from the docs index (https://neon.com/docs/llms.txt) and the changelog announcements.
© neondatabase, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/neon-ai-gateway of neondatabase/agent-skills.
Open the folder on GitHubat commit bfd013c
Neon AI Gateway next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Neon AI Gateway this skillneondatabase/agent-skills | 100 | — | ~5.1k | Automated safety check: Notes | Apache-2.0 | |
| Using Ccproxy Inspectorstarbaser/ccproxy | 350 | — | ~2.7k | Automated safety check: Pass | Custom licence | |
| Using Ccproxy APIstarbaser/ccproxy | 350 | — | ~4k | Automated safety check: Pass | Custom licence | |
| ModLens Image Vision Bridgeliustack/modlens | 4.2k | — | ~1.3k | Automated safety check: Notes | MIT | |
| Claude APIKocoro-lab/Kocoro | 414 | 7 repos | ~4.5k | Automated safety check: Pass | Apache-2.0 | |
| Sap Cloud SDK AI Pythonsecondsky/sap-skills | 462 | — | ~3.8k | Automated safety check: Pass | GPL-3.0 |
starbaser/ccproxy
Operates the ccproxy inspector MITM system for intercepting, inspecting, and transforming LLM API traffic.
starbaser/ccproxy
Guides users through ccproxy as an OpenAI-compatible and Anthropic-compatible LLM API server with SDK integration, OAuth authentication, sentinel key substitution, model routing, and troubleshooting.
liustack/modlens
Gives text-only models sight by running the modlens CLI on an image path or URL and returning structured JSON evidence with transcribed text, layout and semantics.
Kocoro-lab/Kocoro
Build apps with the Claude API or Anthropic SDK. An agent skill from Kocoro-lab/Kocoro.
secondsky/sap-skills
Integrates the SAP Cloud SDK for AI for Python (sap-ai-sdk-gen, formerly generative-ai-hub-sdk) into Python applications.
decolua/9router
Sets up access to the 9Router AI gateway, an OpenAI-compatible REST endpoint for chat, images, speech, embeddings, web search and web fetch, and indexes its capability skills.
neondatabase/agent-skills
Add authentication to a new app. An agent skill from neondatabase/agent-skills.
neondatabase/agent-skills
Guides and best practices for working with Lakebase Postgres on Neon: connections, pooled vs direct, schema migrations, branching, autoscaling, scale-to-zero, instant restore, read replicas, IP…
neondatabase/agent-skills
Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, and the AI Gateway.
neondatabase/agent-skills
Long-running, serverless Node.js HTTP functions deployed onto your Neon branch, with DATABASEURL injected automatically and compute that runs next to your data.
neondatabase/agent-skills
S3-compatible object storage that branches with your Neon project, so files and the database stay in sync across every branch.
neondatabase/agent-skills
Choose and create the right Neon branch type for testing and development.
Categories
One API and one credential for frontier and open-source LLMs, built into your Neon branch and powered by Databricks. Neon AI Gateway is an agent skill from neondatabase/agent-skills, published by the product's own GitHub organization. One API and one credential for frontier and open-source LLMs, built into your Neon branch and powered by Databricks.
Neon AI Gateway fits situations like: A user wants to call an LLM; add AI/chat/an agent to their app; route between model providers (OpenAI; include call an LLM.
Run `npx skills add neondatabase/agent-skills --skill neon-ai-gateway -a claude-code`. Or copy the skill folder (skills/neon-ai-gateway in neondatabase/agent-skills) into .claude/skills/neon-ai-gateway in your project. Claude Code loads it when a task matches its description.
Run `npx skills add neondatabase/agent-skills --skill neon-ai-gateway -a codex`. Or copy the skill folder (skills/neon-ai-gateway in neondatabase/agent-skills) into .agents/skills/neon-ai-gateway in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add neondatabase/agent-skills --skill neon-ai-gateway -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/neon-ai-gateway, .gemini/skills/neon-ai-gateway, .github/skills/neon-ai-gateway and .opencode/skills/neon-ai-gateway in your project.
Going by SKILL.md and its folder, Neon AI Gateway needs the command-line tools its instructions call (curl) and credentials named NEON_AI_GATEWAY_TOKEN and OPENAI_API_KEY. Our summary lists: A credential in NEON_AI_GATEWAY_TOKEN; A credential in OPENAI_API_KEY.
SKILL.md names 5 domains. In commands or code: console.neon.tech; the agent is likely to contact it when it follows the instructions. As links in the text: neon.com, models.dev, ai-sdk.dev and mastra.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Neon AI Gateway is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.1k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Neon AI Gateway: Using Ccproxy Inspector (starbaser/ccproxy, 350 stars), Using Ccproxy API (starbaser/ccproxy, 350 stars), ModLens Image Vision Bridge (liustack/modlens, 4.2k stars) and Claude API (Kocoro-lab/Kocoro, 414 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
neondatabase (a GitHub organization, an official publisher) maintains it in neondatabase/agent-skills, which has 100 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 9, 2026.
Source: neondatabase/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.