CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

netlify-edge-functions

Write, route, cache, and debug Netlify Edge Functions, the Deno-based TypeScript or JavaScript handlers in netlify/edge-functions that run at the network edge in front of static files and serverless functions. Activate this skill whenever someone wants to add auth middleware or a login gate, redirect or rewrite visitors by country or cookie, localize or personalize a page with geolocation, run A/B testing, transform or inject HTML into a response, stream server-side rendering at the edge, or cache an edge response. Also use it when an edge function silently does nothing, runs in the wrong order, ignores its Cache-Control headers, or cannot read an environment variable.

Quality

91%

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

The canonical home for this skill is netlify-edge-functions in netlify/context-and-tools

SKILL.md
Quality
Evals
Security

Quality

Content

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

This is a high-quality, dense reference: nearly every line is a fact, guardrail, or executable example, and the hard parts of the domain (declaration order, caching semantics, user gating) are covered with unusual precision. The main weaknesses are structural: a monolithic single-file layout that inlines what could be separate reference material, a house-rules appendix that partially duplicates the body, and debugging guidance that lacks a consolidated verification workflow.

Suggestions

Split reference-grade material (the Context property table, Web APIs list, and Declarations/netlify.toml keys) into a references/ file, keeping SKILL.md as an overview with clearly signaled one-level-deep links — the body currently runs ~360 lines with everything inline.

Consolidate the scattered debugging pointers into one ordered checklist with verification steps (e.g. 'function does nothing': verify a route exists (config.path or [[edge_functions]]) → check for same-named .ts/.js shadowing → confirm Split Testing is off → check logs at Cloud compute > Edge functions).

Deduplicate the appended house-rules section: rules 3, 5, 6, and 7 restate the 'No route = silent no-op', 'Caching needs both parts', two-pass order, and context.user guidance already present in the body — keep only the non-duplicated org conventions (edge-vs-serverless workload choice, adapter-first rule) and remove the internal HTML comments.

DimensionReasoningScore

Conciseness

The body is dense and table-driven with essentially no explanation of concepts Claude already knows (no 'what is an edge network', no library tutorials), and terse guardrails like "Rewrites must target the same site. To reach other sites, use fetch." It falls below anchor 5 because the appended "house rules" section restates several points already made (rule 3 repeats the 'No route = silent no-op' footgun, rule 5 repeats 'Caching needs both parts', rule 6 repeats the two-pass order, rule 7 repeats the context.user guidance), and trailing internal HTML comments ('Gaps:', 'Undocumented:', the ctx-gen marker) are non-instructional tokens.

4 / 5

Actionability

Ten complete, copy-paste-ready examples cover the common cases (endpoint, redirect/rewrite, middleware transform, conditional requests, body re-read, user gate, waitUntil, streaming SSR, response caching, config declaration), alongside exact CLI commands with flags ("netlify dev", "--edge-inspect", "--geo=mock --country=DE") and concrete tables for config keys, Context properties, limits, and onError values. This matches the anchor-5 example: executable examples plus the specific behavioral details (e.g. 'next() strips conditional headers').

5 / 5

Workflow Clarity

Multi-step processes that exist are clearly sequenced: the two-pass declaration order is spelled out step-by-step with a worked example ("A request to /admin runs auth, then common, then injector"), and error-handling guidance gives decision rules (fail closed for auth, bypass for nice-to-haves). It falls short of anchor 5 because debugging is addressed as scattered pointers ('check the route first', log locations) rather than an explicit validate-and-recover sequence — there is no consolidated 'function does nothing' checklist with verification steps, though the operations are not destructive/batch so the score-3 cap does not apply.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), so everything — the full Context property table, Web APIs list, Declarations reference, limits, and house rules — is inlined in one ~360-line SKILL.md. Section headers are good and external official docs are clearly linked at the end, but this matches anchor 3 ('200 lines of API reference that could be in a separate file' organized under headers) rather than anchor 4, since reference-grade material is not split out one level deep.

3 / 5

Total

16

/

20

Passed

Description

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

An exemplary description: it defines what the skill does in concrete, third-person terms, gives explicit and varied 'use when' triggers covering both build tasks and failure modes, and stays tightly scoped to Netlify Edge Functions. Every clause is load-bearing with no buzzwords or over-claims.

DimensionReasoningScore

Specificity

Opens with four concrete verbs ("Write, route, cache, and debug") and then enumerates specific capabilities: "add auth middleware or a login gate, redirect or rewrite visitors by country or cookie, localize or personalize a page with geolocation, run A/B testing, transform or inject HTML into a response, stream server-side rendering at the edge, or cache an edge response" — comprehensive concrete action coverage with no vague filler. It stays at anchor 5 rather than 4 because coverage spans writing, routing, caching, debugging, and edge cases, not just several actions with gaps.

5 / 5

Completeness

Explicitly answers "what" ("Write, route, cache, and debug Netlify Edge Functions, the Deno-based TypeScript or JavaScript handlers in netlify/edge-functions that run at the network edge in front of static files and serverless functions") and "when" with two explicit trigger clauses ("Activate this skill whenever..." and "Also use it when...") containing concrete trigger phrases. Both the happy-path and debugging triggers are present, matching the anchor-5 example's structure.

5 / 5

Trigger Term Quality

Natural user phrasings are well covered: "auth middleware", "login gate", "redirect or rewrite", "by country or cookie", "A/B testing", "cache", "environment variable", plus failure-mode triggers users would actually voice ("silently does nothing, runs in the wrong order, ignores its Cache-Control headers"). It also names the artifact ("netlify/edge-functions", "TypeScript or JavaScript") and stays at 5 because the trigger list includes synonyms and debugging variations rather than a single generic keyword.

5 / 5

Distinctiveness Conflict Risk

It carves out a clear niche (Netlify Edge Functions specifically) and even distinguishes them from adjacent products in the same sentence ("in front of static files and serverless functions"), and from Netlify Identity elsewhere in the skill. Triggers like "edge function silently does nothing" are unambiguous for this skill, so conflict risk with generic Netlify or serverless skills is minimal.

5 / 5

Total

20

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

netlify/context-and-tools

Path

codex/skills/netlify-edge-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.