CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

neon-functions

Long-running, serverless Node.js HTTP functions deployed onto your Neon branch, with DATABASE_URL injected automatically and compute that runs next to your data. Use when a user wants to host an API, an AI agent with long streaming responses, a WebSocket or server-sent-events (SSE) server, a webhook handler, a Discord bot, an MCP server, or any request/response workload that risks timing out on short, lambda-style serverless functions — and wants it to branch with their database. Also use for Function Triggers: a cron or an object-storage event that POSTs to a function. Triggers include "serverless function", "deploy an API", "long-running function", "streaming agent", "SSE server", "WebSocket server", "webhook handler", "MCP server", "cron", "function trigger", "scheduled function", "cron job", "object storage trigger", "on upload", "run code next to my database", "function that won't time out", "function logs", "Neon Functions", "Neon Compute", "DDoS protection", "rate limiting", and "production hardening".

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

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.

The body is a dense, highly actionable reference: executable TypeScript and shell throughout, a clearly sequenced setup→dev→deploy flow with preconditions, dry-run planning, and explicit security validation, and a genuine one-level-deep reference bundle that all exists on disk. Its main weaknesses are repetition (duplicated env-coercion warnings and checkout guidance, a thrice-repeated region list) and inconsistent reference link paths, which keep conciseness and organization from top marks.

Suggestions

Deduplicate the env-var handling warning: the "Never coerce a missing process.env value to an empty string / KEY= is also ''" guidance appears nearly verbatim in both "Develop Locally and Deploy" and "Environment Variables" — state it once in "Environment Variables" and cross-reference it from the deploy section.

State the supported-region list once (in the Availability section) and reference it from "When to Use" and the intro instead of repeating the four regions three separate times.

Use relative paths (e.g., references/sse.md) consistently for all bundled references instead of mixing in absolute neon.com URLs, so every link resolves against the local bundle.

DimensionReasoningScore

Conciseness

The body is dense and almost entirely Neon-specific runtime knowledge Claude cannot be assumed to know, but there is real tightening opportunity: the env-coercion warning ("Never coerce a missing process.env value to an empty string... An empty assignment (KEY=) is also empty") appears verbatim in both "Develop Locally and Deploy" and "Environment Variables", the checkout/apply-reconcile guidance is duplicated (lines 155 and 177), and the four-region list is repeated three times (lines 34, 52, 65).

3 / 5

Actionability

Fully executable, copy-paste-ready guidance throughout: the defineConfig declaration, a complete Hono+Drizzle+pg handler, "neon dev" / "neon deploy --env <file>", jose-based JWT verification with CORS, upgradeWebSocket usage, poll and LISTEN/NOTIFY fan-out code, an SSE ReadableStream endpoint, and a client backoff/reconnect routine — covering the common cases concretely.

5 / 5

Workflow Clarity

A clear sequence runs from precondition ("Check this precondition before setting anything up... Confirm the user's Neon project is in one of these regions") through declare-in-neon.ts, local "neon dev", "neon deploy", to "neon functions get <slug>" for the invocation URL, with real checkpoints ("neon config plan" dry-run; "Exercise two users: each can access their own data; cross-user access is denied. Repeat after restarting the Function"). Minor gap: no explicit post-deploy smoke test (e.g., curl the invocation URL) to close the loop.

4 / 5

Progressive Disclosure

All eight referenced bundle files exist (verified against references/), are one level deep with only lateral sibling cross-links, and each link is signaled with a summary of its content. Minor organization gaps: five of the eight reference links use absolute neon.com URLs rather than relative paths to the bundled files (ai-sdk, mastra-studio, sse, mcp, sentry), and "Further Reading" repeats links already cited inline — good structure but not the fully clean split of anchor 5.

4 / 5

Total

16

/

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.

The description clearly and explicitly states both what the skill provides and when to use it, with comprehensive, natural trigger terms including synonyms. Its only weakness is a handful of generic trailing triggers ("DDoS protection", "rate limiting", "production hardening") that slightly broaden it beyond the Neon Functions niche and create minor overlap risk with general hardening/security skills.

DimensionReasoningScore

Specificity

States multiple specific concrete capabilities — "Long-running, serverless Node.js HTTP functions deployed onto your Neon branch, with DATABASE_URL injected automatically" and "host an API, an AI agent with long streaming responses, a WebSocket or server-sent-events (SSE) server, a webhook handler, a Discord bot, an MCP server" — with comprehensive coverage and no vague filler.

5 / 5

Completeness

Explicitly answers what ("Long-running, serverless Node.js HTTP functions deployed onto your Neon branch, with DATABASE_URL injected automatically and compute that runs next to your data") and when ("Use when a user wants to host an API... and wants it to branch with their database. Also use for Function Triggers: a cron or an object-storage event that POSTs to a function") with concrete trigger phrases.

5 / 5

Trigger Term Quality

Comprehensive natural trigger terms including synonyms: "serverless function", "deploy an API", "streaming agent", "SSE server", "WebSocket server", "MCP server", "cron", "cron job", "scheduled function", "object storage trigger", "on upload", "run code next to my database", "function that won't time out", "Neon Functions" — matching the anchor-5 synonym coverage pattern.

5 / 5

Distinctiveness Conflict Risk

"deployed onto your Neon branch" and "Neon Functions" / "Neon Compute" anchor the skill firmly in its niche, but trailing triggers "DDoS protection", "rate limiting", and "production hardening" are generic and could fire on unrelated security-hardening requests — minor overlap risk, fitting anchor 4 rather than the minimal-conflict anchor 5.

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

skill_md_line_count

SKILL.md is long (667 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

Total

14

/

16

Passed

Repository

stevenknowswhy/ProfessionalBuyer

Path

.agents/skills/neon-functions/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.