CtrlK
BlogDocsLog inGet started
Tessl Logo

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".

68

Quality

83%

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

71%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.

The body is highly actionable — nearly every section ends in runnable code, exact commands, or precise configuration values, and verification/debugging guidance is unusually good. Its weaknesses are token efficiency (duplicated region lists, triple-repeated env-var caveats, marketing prose) and structure: it is a single monolithic file carrying reference-grade detail that belongs in separate one-level-deep reference files.

Suggestions

Deduplicate repeated material: state the region list and the 'Neon injects only NEON_AI_GATEWAY_* (not OPENAI_*)' caveat once, and let Setup/List Models sections link back instead of restating credential provisioning.

Move reference-grade detail — the /v1/models JSON response shape, the plan/catalog gating matrix, and the per-SDK dialect routing notes — into a references/ file (e.g. references/models-api.md, references/plan-gating.md), keeping SKILL.md as a lean overview with one-level-deep pointers.

Trim promotional prose ('trillions of tokens a month', 'batteries-included', 'No extra infrastructure...') in favor of the factual deltas that distinguish the gateway from direct provider SDKs.

DimensionReasoningScore

Conciseness

Mostly efficient and factual, but with recurring waste: the region list appears twice (lines 30 and 58), the caveat that Neon injects only NEON_AI_GATEWAY_* and not OPENAI_* is stated three times (the env-var table, the AI SDK note, and the plain-SDKs section), credential-provisioning instructions are repeated in Setup and again under List Available Models, and promotional prose ("runs on the same Databricks infrastructure that serves trillions of tokens a month", "batteries-included") adds no actionable value. This fits the anchor for mostly efficient content that includes unnecessary explanation and could be tightened, more than the 'minor instances' of the level-4 anchor.

3 / 5

Actionability

Fully executable, copy-paste-ready guidance throughout: the neon.ts config with `neon deploy`, the `neon config status/plan/apply` commands, complete TypeScript examples for @neon/ai-sdk-provider, Mastra, and plain OpenAI SDK, an exact env-var table, the curl for GET /v1/models, and precise dialect paths (${NEON_AI_GATEWAY_BASE_URL}/v1, /openai/v1, /anthropic, /gemini). Common cases (chat completion, streaming, agent with tools, model listing) are all covered with runnable code.

5 / 5

Workflow Clarity

The setup-to-request sequence is clear and mostly checkpointed: check region and plan preconditions, enable aiGateway in neon.ts, run `neon deploy` (with `neon config plan` as a dry-run), confirm env vars, then build the client — plus explicit verification/debug guidance (read /v1/models rather than assuming the catalog, distinguish Free-plan blocking from a reduced catalog, `neon config status`). It falls short of a 5 because the sequence is implied by section order rather than presented as an explicit ordered workflow with feedback loops, and there is no end-to-end 'verify the request works' step.

4 / 5

Progressive Disclosure

The file is a ~290-line monolith with no bundle files: reference-grade detail — the 30-line /v1/models JSON response shape, the plan-gating matrix, per-SDK dialect routing, and full Mastra/agent examples — is inlined in SKILL.md where the rubric expects it split into one-level-deep reference files. Section headers are clear and external pointers (Further Reading, the parent neon skill, models.dev) are well signaled, so it sits at the 'some structure but content that should be separate is inline' anchor rather than the unstructured level-2 anchor.

3 / 5

Total

15

/

20

Passed

Description

96%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: it explicitly states what the gateway does and when to use it, with a rich set of natural trigger phrases and concrete, specific capabilities. The only weakness is a handful of overly broad triggers ("call an LLM", "chat completion") that could cause it to fire for generic LLM requests where Neon isn't relevant.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions and capabilities: "route between model providers (OpenAI, Anthropic, Google/Gemini, Meta, Alibaba, and more)", "avoid juggling separate provider API keys", and "Works with the OpenAI SDK, Anthropic SDK, google-genai, the Vercel AI SDK, and Mastra by changing only the base URL". Coverage of what the gateway does is comprehensive rather than leaving minor gaps, matching the anchor for multiple specific concrete actions.

5 / 5

Completeness

Both questions are explicitly answered: the "what" ("One API and one credential for frontier and open-source LLMs, built into your Neon branch") and an explicit "Use when..." clause with concrete trigger phrases ("Use when a user wants to call an LLM, add AI/chat/an agent to their app, route between model providers..."). This matches the anchor for clearly and explicitly answering both.

5 / 5

Trigger Term Quality

Trigger phrases are extensive 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", "AI SDK", "Mastra agent", "Neon AI Gateway", and "log/rate-limit AI calls". Synonyms, product names, and both generic and specific phrasings users would actually say are covered.

5 / 5

Distinctiveness Conflict Risk

The Neon anchoring ("Neon AI Gateway" trigger, "especially when they already use Neon") gives it a clear niche, but several triggers — "call an LLM", "chat completion", "use Claude/GPT/Gemini" — are generic enough to fire for general LLM-SDK requests unrelated to Neon, creating minor-to-moderate overlap with closely related AI skills. Not score 3 because the what-clause firmly ties it to Neon branching and one-credential routing; not score 5 because the generic trigger list does carry real overlap risk.

4 / 5

Total

19

/

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
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.