CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

neon-ai-gateway

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 changing only the base URL. Triggers include "call an LLM", "add AI to my app", "chat completion", "model routing", "LLM proxy/gateway", "one API for all models", "use Claude/GPT/Gemini", "AI SDK", "Mastra agent", "Neon AI Gateway", and "log/rate-limit AI calls".

65

Quality

82%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-structured body: concrete commands, exact env vars and URL paths, and copy-paste code across four SDK approaches with explicit validation and debugging guidance. Its main weakness is conciseness — the region list, dialect routing, and credential-provisioning guidance are each repeated two to three times, with occasional marketing prose — and its length (~295 lines with no reference files) leaves some detail inlined that would sit better in bundled references.

Suggestions

State the region list once (under Availability) and reference it elsewhere; the identical four-region sentence currently appears twice.

Deduplicate credential provisioning: the Setup, Environment Variables, and 'Getting the credentials' sections each re-explain deploy/env-pull/checkout — consolidate into one section and cross-link it.

Move the full /v1/models response JSON (and optionally the dialect-routing table) into a references/ file, keeping a trimmed example inline, to cut the body toward a true overview document.

DimensionReasoningScore

Conciseness

Mostly efficient, genuinely Neon-specific material (env var semantics, dialect routes, plan gating) but with clear tightening opportunities: the region list appears verbatim twice ("Currently available in aws-us-east-2..." at the top and again under Availability), the dialect path routing is explained in full twice (the routes list plus 'So ${NEON_AI_GATEWAY_BASE_URL}/v1 is the chat-completions endpoint...' and again in 'Use with Plain SDKs'), credential sourcing is explained three times (Setup, Environment Variables, and the three-bullet 'Getting the credentials' block), and there is marketing prose ("runs on the same Databricks infrastructure that serves trillions of tokens a month", "batteries-included"). Not 2: it never explains concepts Claude already knows, and the padding is a fraction of useful content; not 4: the duplication is repeated and prominent rather than minor.

3 / 5

Actionability

Fully concrete, executable guidance throughout: the neon.ts config block, `neon deploy` / `neon config status|plan|apply` commands, the exact env var table (`NEON_AI_GATEWAY_TOKEN`, `NEON_AI_GATEWAY_BASE_URL` with the bare-host format spelled out), copy-paste TypeScript for the AI SDK provider (streamText, generateText, agent with tools/stopWhen), Mastra, and plain OpenAI SDK in both dialects, plus a runnable curl for /v1/models with the full response shape. The common cases are all covered specifically; not 4 because the only gaps are illustrative undefined bindings (messages, db, memory) that do not reduce the specificity of the instructions.

5 / 5

Workflow Clarity

The sequence is clear and well-ordered — preconditions (region, paid plan), enable via neon.ts, `neon deploy`, credentials pulled into .env.local, then SDK usage — with explicit checkpoints (`neon config status` / `neon config plan`, reading /v1/models) and an error-recovery distinction for the free-plan-blocked vs reduced-catalog cases. Not 5: there is no post-deploy validation that a first inference request actually succeeds, and several examples rely on implicitly available bindings (messages, db, memory) rather than a checked step; not 3: validation and debugging guidance are explicit, not implicit.

4 / 5

Progressive Disclosure

No bundle files (references/, scripts/, assets/) exist; everything is inline in a ~295-line body. Structure is good — clear sections in dependency order, well-signaled one-level-deep external pointers (the parent neon skill, the neon-functions skill's ai-sdk.md, models.dev, and a Further Reading list of doc URLs). Not 5: reference-worthy detail is inlined rather than split — the full ~30-line /v1/models response JSON, the four-dialect routing table, and the plan-gating detail would each fit a reference file; not 3: navigation is easy, references are clearly labeled, and no content is buried or nested.

4 / 5

Total

16

/

20

Passed

Description

83%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description with explicit what/when structure, concrete capabilities, and rich trigger phrasing. Its weaknesses are the second-person "your Neon branch" phrasing, which the rubric penalizes, and the trigger "log/rate-limit AI calls", which over-claims functionality the skill never covers, alongside fairly generic LLM triggers that create overlap risk with provider-neutral skills.

Suggestions

Rewrite 'built into your Neon branch' in third person (e.g. 'built into a Neon project's branch') to satisfy the third-person voice rule.

Remove the 'log/rate-limit AI calls' trigger or add matching coverage of logging/rate-limiting, since neither the description's capabilities nor the skill body mention it.

Narrow the most generic triggers ('call an LLM', 'use Claude/GPT/Gemini', 'AI SDK') toward Neon-contextualized phrasings (e.g. 'call an LLM from Neon', 'route LLM calls through the Neon AI Gateway') to reduce conflict with provider-neutral LLM skills.

DimensionReasoningScore

Specificity

Concrete actions are named — "call an LLM", "route between model providers (OpenAI, Anthropic, Google/Gemini, Meta, Alibaba, and more)", "avoid juggling separate provider API keys", "Works with the OpenAI SDK, Anthropic SDK, google-genai, the Vercel AI SDK, and Mastra by changing only the base URL" — which reaches anchor 5's breadth, but the second-person phrasing "built into your Neon branch" triggers the rubric's voice penalty, reducing it to 4. Not anchor 3: far more than 1-2 concrete actions; not clean 5: penalized voice plus minor coverage gaps (no mention of model listing or streaming as actions).

4 / 5

Completeness

Explicitly answers both: what — "One API and one credential for frontier and open-source LLMs, built into your Neon branch", "Works with the OpenAI SDK, Anthropic SDK, google-genai, the Vercel AI SDK, and Mastra by changing only the base URL" — and when — "Use when a user wants to call an LLM, add AI/chat/an agent to their app, route between model providers... or avoid juggling separate provider API keys and accounts", with concrete trigger phrases enumerated. Matches anchor 5 exactly; anchor 4's 'when could be more explicit' does not apply.

5 / 5

Trigger Term Quality

Trigger coverage is broad and natural — "call an LLM", "add AI to my app", "chat completion", "model routing", "LLM proxy/gateway", "one API for all models", "use Claude/GPT/Gemini", "Neon AI Gateway" — but the listed trigger "log/rate-limit AI calls" is an over-claim: neither the description's capabilities nor the skill body mention logging or rate limiting, so the trigger is unsupported. Not 5 due to that unsupported term; not 3 because the rest of the coverage, including synonyms and product name, is comprehensive.

4 / 5

Distinctiveness Conflict Risk

The Neon-specific framing ("Neon AI Gateway", "built into your Neon branch", one Neon credential) carves a clear niche, but broad triggers like "call an LLM", "add AI to my app", "use Claude/GPT/Gemini", and "AI SDK" overlap with generic LLM-provider skills and would fire for users with no Neon context. Mostly distinct with minor overlap risk — anchor 4; not 5 because of that generic-trigger overlap, not 3 because the core subject is unambiguous.

4 / 5

Total

17

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

stevenknowswhy/ProfessionalBuyer

Path

.agents/skills/neon-ai-gateway/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.