Skip to content

/vercel-functions

Vercel Functions expert guidance — Node.js/Bun/Python runtimes, Fluid Compute, long-duration (30 min) functions, large functions (5 GB bundles), Docker/OCI container images, plan limits, streaming, WebSockets, and Cron Jobs. Use when configuring, debugging, or optimizing

BOOST
From plugin
vercel
29046 skills3 agents4 commands3 hooks
+1
Install
$ npx -y skills add vercel/vercel-plugin --skill vercel-functions --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/vercel-functions

Context preview

The summary Claude sees to decide when to auto-load this skill.

Vercel Functions expert guidance — Node.js/Bun/Python runtimes, Fluid Compute, long-duration (30 min) functions, large functions (5 GB bundles), Docker/OCI container images, plan limits, streaming, WebSockets, and Cron Jobs. Use when configuring, debugging, or optimizing

SKILL.md

vercel-functions.SKILL.md

--- name: vercel-functions description: Vercel Functions expert guidance — Node.js/Bun/Python runtimes, Fluid Compute, long-duration (30 min) functions, large functions (5 GB bundles), Docker/OCI container images, plan limits, streaming, WebSockets, and Cron Jobs. Use when configuring, debugging, or optimizing server-side code running on Vercel. summary: "Vercel Functions run on Fluid Compute with Node.js as the default runtime — strongly prefer it over `runtime = 'edge'` (Vercel recommends migrating off Edge, and Next.js 16.3+ no longer supports it). Duration: 300s default on every plan including Hobby, 800s max on Pro/Enterprise, 1800s (30 min) per-function in the extended beta; beyond that use Vercel Workflow. Bundles: 250 MB standard (500 MB Python), 5 GB via the large functions beta (`VERCEL_SUPPORT_LARGE_FUNCTIONS=1`). Request/response bodies cap at 4.5 MB. Memory is dashboard-only (Standard 2 GB/1 vCPU, Performance 4 GB/2 vCPU; Hobby fixed). Docker works: add `Dockerfile.vercel` to run an OCI image as an autoscaling, stateless, scale-to-zero Function." metadata: priority: 8 docs:

  • "https://vercel.com/docs/functions"
  • "https://vercel.com/docs/functions/runtimes"
  • "https://vercel.com/docs/functions/limitations"
  • "https://vercel.com/docs/functions/configuring-functions/duration"
  • "https://vercel.com/docs/functions/container-images"
  • "https://vercel.com/docs/fluid-compute"
  • "https://vercel.com/docs/functions/websockets"

sitemap: "https://vercel.com/sitemap.xml" pathPatterns:

  • 'api/**/*.*'
  • 'pages/api/**'
  • 'src/pages/api/**'
  • 'app/**/route.*'
  • 'src/app/**/route.*'
  • 'apps/*/api/**/*.*'
  • 'apps/*/app/**/route.*'
  • 'apps/*/src/app/**/route.*'
  • 'apps/*/pages/api/**'
  • 'vercel.json'
  • 'apps/*/vercel.json'
  • 'vercel.ts'
  • 'apps/*/vercel.ts'

Vercel builds `Dockerfile.vercel` / `Containerfile.vercel` into a

container-image Function, so these are Functions config, not generic Docker.

  • 'Dockerfile.vercel'
  • '*/Dockerfile.vercel'
  • 'Containerfile.vercel'
  • '*/Containerfile.vercel'

bashPatterns:

  • '\bvercel\s+dev\b'
  • '\bvercel\s+logs\b'
  • '\bvercel\s+vcr\b'

importPatterns:

  • 'ws'
  • 'socket.io'
  • 'socket.io-client'

promptSignals: phrases:

  • "websocket"
  • "websockets"
  • "web socket"
  • "socket.io"

Polling is the classic technique people reach for when they think Vercel

lacks websockets. We intentionally do NOT trigger on named third-party

services (Pusher, PubNub, Ably) — those are deliberate choices, not a

signal that someone is working around a missing feature.

  • "long polling"
  • "long-polling"

Duration: people hit the ceiling and ask about it in these words.

  • "maxduration"
  • "max duration"
  • "function timeout"
  • "function times out"
  • "long-running function"
  • "long running function"
  • "504"

Bundle size: the 250 MB error message is the usual entry point.

  • "unzipped maximum size"
  • "250mb"
  • "250 mb"
  • "large function"
  • "bundle size limit"

Containers: Dockerfile.vercel is a Functions feature, not just packaging.

  • "dockerfile"
  • "container image"
  • "container registry"
  • "runtime edge"
  • "edge runtime"

allOf:

  • ["docker", "vercel"]
  • ["hobby", "limit"]

anyOf:

  • "realtime"
  • "bidirectional"
  • "ws server"
  • "polling"
  • "server-sent events"
  • "fluid compute"
  • "active cpu"

noneOf: [] minScore: 6 validate: - pattern: export\s+default\s+function message: 'Use named exports (GET, POST, PUT, DELETE) instead of default export for route handlers' severity: error

Skip on App Router page / layout / loading / error / not-found / sitemap / template / default files,

which require a default export by Next.js convention. Detected via the 'use client' directive,

an App Router config export (metadata, dynamic, revalidate, fetchCache, runtime), an `export default

function` whose name matches an App Router file (Page / Layout / Loading / etc.), or any JSX

element with a capitalised component tag — all signals that the file is a page-style file rather

than a route handler. See anthropics/claude-code#54989.

skipIfFileContains: "(?:^|\\n)\\s*['\"]use\\s+client['\"]|export\\s+const\\s+(?:metadata|dynamic|revalidate|fetchCache|runtime)\\b|export\\s+default\\s+(?:async\\s+)?function\\s+\\w*(?:Page|Layout|Loading|Error|NotFound|Sitemap|Template|Default|sitemap|robots|opengraph|manifest)\\b|<[A-Z][A-Za-z0-9]*|\\{\\s*children\\s*[,}:]|MetadataRoute\\.|from\\s+['\"]next/(?:font|image|link|navigation|headers|cookies)['\"]" - pattern: NextApiRequest|NextApiResponse message: 'NextApiRequest/NextApiResponse are Pages Router types — use Web API Request/Response' severity: error -

Vercel's docs recommend migrating off the Edge runtime, and Next.js 16.3+

doesn't support it. Surfaced as a recommendation rather than an error:

existing Edge functions still work, so this is a nudge, not a blocker.

Matches `"runtime": "edge"` in vercel.json too.

pattern: 'runtime[''"]?\s*[=:]\s*[''"]edge[''"]' message: 'Consider dropping `runtime = "edge"`. Vercel recommends migrating from Edge to Node.js, and Next.js 16.3+ no longer supports it. Node.js on Fluid Compute runs in the same regions at the same price with full Node.js APIs, longer durations, and larger bundles.' severity: recommended - pattern: 'from\s+[''"](openai|@anthropic-ai/sdk|anthropic)[''"]|new\s+(OpenAI|Anthropic)\(' message: 'Direct AI provider SDK detected in route handler. Use the Vercel AI SDK for streaming, tools, and provider abstraction.' severity: recommended upgradeToSkill: ai-sdk upgradeWhy: 'Replace vendor-locked provider S

Read more
Ships withvercel

Comprehensive Vercel ecosystem plugin — relational knowledge graph, skills for every major product, specialized agents, and Vercel conventions. Turns any AI agent into a Vercel expert.

Get the whole plugin, auto-invoked

Other skills on vercel.