Netlify Functions

Write, configure, and deploy Netlify serverless functions in TypeScript, JavaScript, or Go. Use this when adding an API endpoint or backend route, adding a contact form handler, wiring auth or Identity signup/login hooks, identifying which Netlify user is calling a private or team-login-protected app, building streaming or AI-proxy responses, scheduling cron jobs, running long background jobs (batch processing/scraping), reacting to deploy or form events, setting up rate limiting or region/memory config, or reading environment variables and secrets inside a function. Covers file locations, the

49 stars 14 forksDevOps & CloudOfficial

Install

skills CLI (Claude Code, Cursor, Codex and more)
npx skills add netlify/context-and-tools --skill netlify-functions
Manual install
git clone --depth 1 https://github.com/netlify/context-and-tools.git /tmp/context-and-tools
mkdir -p ~/.claude/skills
cp -r /tmp/context-and-tools/skills/netlify-functions ~/.claude/skills/netlify-functions

Personal skills live in ~/.claude/skills. Use .claude/skills in a project folder to share a skill with your team.

From the SKILL.md

# Netlify Functions

Reach for the modern default-handler API (`.mts` TypeScript). Export a default async handler taking a web `Request` and a Netlify `Context`, returning a web `Response`. Avoid the legacy AWS Lambda handler shape unless writing Go or migrating old code (see Legacy at the end).

## File locations

- Default directory: `netlify/functions/` (relative to base directory). Keep it **outside** your publish directory or source files ship as static assets.
- A function is one file or a subdirectory whose entry file is named `index` or matches the subdirectory name. All of these create a function `hello`:
  - `netlify/functions/hello.mts`
  - `netlify/functions/hello/hello.mts`
  - `netlify/functions/hello/index.mts`
- Use `.mts` (TS) / `.mjs` (JS) for ES modules. `.cts`/`.cjs` force CommonJS; `.ts`/`.js` follow the nearest `package.json` `"type"`.

⚠️ **Same-name JS and TS files: the JS one wins.** If the functions directory has e.g. `items.js` and `items.ts`, the JavaScript function is deployed and the TypeScript file is silently ignored — edits to the `.ts` have no effect. Keep one file per function name; delete or rename the stale `.js` when moving a function to TypeScript.

## Minimal function

No `config` export. Serves at `/.netlify/functions/hello`.

```ts title="netlify/functions/hello.mts"
import type { Context } from "@netlify/functions"

export default async (req: Request, context: Context) => {
  return new Response("Hello, world!")
}
```
Read the full skill on GitHub

Details

Skill name
netlify-functions
Path
skills/netlify-functions/SKILL.md
License
MIT
Repo updated
26 October 2026

FAQ

What does the Netlify Functions skill do?

Write, configure, and deploy Netlify serverless functions in TypeScript, JavaScript, or Go. Use this when adding an API endpoint or backend route, adding a contact form handler, wiring auth or Identity signup/login hooks, identifying which Netlify user is calling a private or team-login-protected app, building streaming or AI-proxy responses, scheduling cron jobs, running long background jobs (batch processing/scraping), reacting to deploy or form events, setting up rate limiting or region/memory config, or reading environment variables and secrets inside a function. Covers file locations, the

How do I install the Netlify Functions skill?

skills CLI (Claude Code, Cursor, Codex and more): npx skills add netlify/context-and-tools --skill netlify-functions. Skills go in ~/.claude/skills (personal) or .claude/skills (project), and Claude loads them automatically when a task matches the description.

Is Netlify Functions popular?

It lives in netlify/context-and-tools, which has 49 GitHub stars and 14 forks, and is included in 1 curated skill list.

Related skills

Netlify AI Gateway

49

netlify/context-and-tools

Use Netlify AI Gateway to call OpenAI, Anthropic Claude, Google Gemini, TypeSafe (Jev), or OpenRouter-hosted models (xAI/DeepSeek/Meta/Mistral/Qwen) from Netlify Functions or Edge Functions without managing provider accounts or API keys. Reach for this when adding an AI feature to a Netlify app — a chatbot, text summarizer, image generator, joke/content generator, form-submission routing or analysis, or any LLM call — or when wiring the OpenAI/Anthropic/Gemini/TypeSafe/OpenRouter SDK into a Netlify Function, choosing which env vars to use, streaming long generations, or debugging why gateway c

DevOps & CloudIn 1 list14

Netlify Blobs

49

netlify/context-and-tools

Store and retrieve unstructured objects, files, and cache-like state on Netlify with the @netlify/blobs module. Use when persisting user file uploads (images/documents), caching computed output from functions or Background Functions, serving downloadable assets, storing JSON blobs keyed by ID, or seeding deploy-specific data. Reach for this for key/value or object storage from Functions, Edge Functions, or Build Plugins — not for per-user, transactional, or relational data (use Netlify DB for that). Triggers include "save an uploaded file", "cache API results", "store generated site map", "key

DevOps & CloudIn 1 list14

Netlify Database

49

netlify/context-and-tools

Zero-config Postgres for Netlify apps via @netlify/database — querying data from Functions/Edge Functions, writing schema migrations, setting up Drizzle ORM, local dev with netlify dev, database branches for deploy previews, and migrating an existing Postgres project onto Netlify. Use when adding a database, building a contact form or CRUD API, writing SQL migrations, wiring up Drizzle, running netlify database commands, testing with a local Postgres, or switching from Neon/Supabase/RDS to Netlify Database.

DatabasesIn 1 list14

All Deploy

72

Hainrixz/all-deploy

Deploys websites, web apps, APIs, and agents to the internet with a strict pre-deploy audit and a preview → health-check → prod flow. Handles plain HTML/CSS/JS pages and static sites (Astro, Hugo, Jekyll, Eleventy, Vite) as well as Next, Remix, Nuxt, SvelteKit, FastAPI, Flask, Express, MCP servers, Claude Agent SDK scripts, Python workers, and Dockerized projects. Routes to free static hosts — Cloudflare Pages, Netlify, GitHub Pages, Render — or to Vercel, Railway, Docker+SSH VPS, or a cloudflared tunnel, and can also run the project locally. Use when the user says "/all-deploy", "/deploy", "/

DevOps & Cloud14

Netlify Edge Functions

49

netlify/context-and-tools

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 orde

DevOps & CloudIn 1 list14

Platform Skills

71

nitinjain999/platform-skills

Use when troubleshooting, implementing, reviewing, or auditing platform infrastructure as a system — where Kubernetes, GitOps, CI/CD, and security concerns intersect. Provides structured diagnosis with blast radius, validation steps, and rollback plan for: Kubernetes, Flux CD, Argo CD, Terraform, GitHub Actions (composite actions, OIDC, SHA pinning), AWS, Azure, GKE, Linkerd, KEDA, Karpenter, supply chain security (Cosign, SBOM, SLSA), Kubernetes posture with Kubescape (NSA, MITRE, CIS, SOC2, PR gates, operator runtime detection), Falco, Chaos Engineering, DORA metrics, Datadog/Dynatrace/LLM o

DevOps & Cloud14

Browse the most popular Claude skills, all devops & cloud skills, or write your own with the skills generator.