[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-vercel-create-a-backend":3,"mdc-qrr66o-key":36,"related-org-vercel-create-a-backend":608,"related-repo-vercel-create-a-backend":783},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":25,"repoUrl":26,"updatedAt":27,"license":28,"forks":29,"topics":30,"repo":31,"sourceUrl":34,"mdContent":35},"create-a-backend","plan and build backend architectures","Backend architecture guidance. Use when planning, building, or migrating an API or backend; choosing between Functions, Services, containers, Workflow, Queues, and Marketplace databases; or selecting a supported backend framework or runtime.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"vercel","Vercel","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fvercel.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"Backend","backend","tag",{"name":17,"slug":18,"type":15},"Architecture","architecture",{"name":20,"slug":21,"type":15},"Engineering","engineering",{"name":23,"slug":24,"type":15},"API Development","api-development",226,"https:\u002F\u002Fgithub.com\u002Fvercel\u002Fvercel-plugin","2026-08-22T03:56:50.847891",null,36,[],{"repoUrl":26,"stars":25,"forks":29,"topics":32,"description":33},[],"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.","https:\u002F\u002Fgithub.com\u002Fvercel\u002Fvercel-plugin\u002Ftree\u002FHEAD\u002Fskills\u002Fcreate-a-backend","---\nname: create-a-backend\ndescription: Backend architecture guidance. Use when planning, building, or migrating an API or backend; choosing between Functions, Services, containers, Workflow, Queues, and Marketplace databases; or selecting a supported backend framework or runtime.\nsummary: Match backend workloads to the right architecture\nmetadata:\n  priority: 7\n  docs:\n    - \"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fframeworks\u002Fbackend\"\n    - \"https:\u002F\u002Fvercel.com\u002Fdocs\u002Ffunctions\"\n    - \"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fservices\"\n    - \"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fqueues\"\n    - \"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fworkflow\"\n    - \"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fstorage\"\n  sitemap: \"https:\u002F\u002Fvercel.com\u002Fsitemap\u002Fdocs.xml\"\n  pathPatterns:\n    - 'Dockerfile.vercel'\n    - 'Containerfile.vercel'\n  promptSignals:\n    phrases:\n      - \"backend on vercel\"\n      - \"vercel backend\"\n      - \"build a backend\"\n      - \"create a backend\"\n      - \"deploy my backend\"\n      - \"backend architecture\"\n    allOf:\n      - [backend, vercel]\n      - [backend, docker]\n      - [backend, node]\n      - [backend, python]\n      - [backend, queue]\n    anyOf:\n      - \"api\"\n      - \"database\"\n      - \"service\"\n      - \"workflow\"\n    noneOf: []\n    minScore: 6\nretrieval:\n  aliases:\n    - Vercel backend\n    - backend architecture\n    - backend framework\n  intents:\n    - build a backend\n    - choose backend products\n    - deploy an existing API or server\n    - select a Node.js or Python backend framework\n  entities:\n    - Vercel Functions\n    - Vercel Services\n    - Vercel Queues\n    - Vercel Workflow\n    - Vercel Marketplace\n    - container images\n---\n\n# Create a Backend\n\nHelp the user create a backend by choosing an architecture before reaching for implementation details. Start from the workload, not the programming language. Vercel runs complex backend applications, not just frontends.\n\n## Product map\n\n| Need | Vercel product |\n| --- | --- |\n| HTTP APIs, webhooks, streaming, or framework server code | **[Vercel Functions](https:\u002F\u002Fvercel.com\u002Fdocs\u002Ffunctions) with [Fluid compute](https:\u002F\u002Fvercel.com\u002Fdocs\u002Ffluid-compute)** |\n| Bidirectional realtime connections (WebSockets) | **[Vercel Functions with Fluid compute](https:\u002F\u002Fvercel.com\u002Fdocs\u002Ffunctions\u002Fwebsockets)**; no separate realtime service required |\n| A frontend and one or more backends (API endpoints) that deploy together | **[Vercel Services](https:\u002F\u002Fvercel.com\u002Fdocs\u002Fservices)** |\n| An existing Dockerfile, custom runtime, or system dependencies | **[Container images](https:\u002F\u002Fvercel.com\u002Fdocs\u002Ffunctions\u002Fcontainer-images)** on Vercel Functions, optionally composed with Services |\n| Durable multi-step work with retries, sleeps, or external events | **[Vercel Workflow](https:\u002F\u002Fvercel.com\u002Fdocs\u002Fworkflow)** |\n| Background jobs, buffering, fan-out, or direct message routing | **[Vercel Queues](https:\u002F\u002Fvercel.com\u002Fdocs\u002Fqueues)** |\n| Scheduled HTTP work | **[Vercel Cron Jobs](https:\u002F\u002Fvercel.com\u002Fdocs\u002Fcron-jobs)**; use Workflow when the job itself must be durable |\n| Postgres, Redis, NoSQL, vector, or other application data | **[Storage integrations from the Vercel Marketplace](https:\u002F\u002Fvercel.com\u002Fmarketplace\u002Fcategory\u002Fstorage)** |\n| Files and user uploads | **[Vercel Blob](https:\u002F\u002Fvercel.com\u002Fdocs\u002Fstorage\u002Fvercel-blob)** |\n| Global, read-heavy configuration | **[Edge Config](https:\u002F\u002Fvercel.com\u002Fdocs\u002Fstorage\u002Fedge-config)** |\n\nUse Functions for the normal request\u002Fresponse backend. Use Services when independently built components should share one deployment, routing layer, preview URL, and rollback. Use separate Vercel projects when components need independent release cycles.\n\nPrefer a native Functions runtime for supported frameworks. Use container images when the application already has a Dockerfile or requires a custom runtime or system dependencies. They run as autoscaling, stateless Functions rather than always-on container hosts.\n\nChoose Queues for background jobs, buffering, fan-out, and message routing. Choose Workflow for durable multi-step business logic.\n\n## Databases and data stores\n\nProvision data stores through the Marketplace so credentials are injected into the project and environments stay connected. Check the current catalog before choosing a provider.\n\n- **Postgres:** Neon, Supabase, AWS\u002FAurora, Nile, Prisma\n- **MySQL:** AWS\u002FAurora\n- **Redis and key-value:** Upstash, Redis\n- **Document and NoSQL:** MongoDB Atlas, AWS\n- **SQLite:** Turso\n- **Realtime application backend:** Convex\n- **Analytics:** MotherDuck\n\nKeep the database close to the Functions region and use a serverless-compatible connection or pool.\n\n## Backend frameworks\n\nVercel provides first-class [backend examples and integrations](https:\u002F\u002Fvercel.com\u002Fdocs\u002Fframeworks\u002Fbackend) for these frameworks:\n\n- **Node.js and TypeScript:** Elysia, Express, Fastify, H3, Hono, Koa, NestJS, Nitro, and xmcp. Next.js Route Handlers are the natural choice when the backend belongs to a Next.js application.\n- **Python:** FastAPI, Flask, and Django. Other WSGI or ASGI applications can run when they export a compatible `app`, with additional configuration as needed.\n- **Go:** supported as a Vercel Functions runtime.\n\nFrontend and backend combinations, for example a Next.js\u002FVite\u002FSvelteKit frontend with a FastAPI\u002FFlask\u002FExpress\u002FGo backend, can be deployed together in one project using Services.\n\nPrefer the user's existing framework. For a new project, choose based on ecosystem and application needs.\n\n## Work sequence\n\n1. Identify synchronous requests, asynchronous work, persistent data, and independently deployed components.\n2. Select the products from the map, then select the framework.\n3. Load the focused skill for implementation: `vercel-functions`, `vercel-services`, `workflow`, `vercel-storage`, or `marketplace`.\n4. Confirm function limits, regions, environment variables, observability, and current product availability in the official docs before deployment.\n",{"data":37,"body":92},{"name":4,"description":6,"summary":38,"metadata":39,"retrieval":77},"Match backend workloads to the right architecture",{"priority":40,"docs":41,"sitemap":48,"pathPatterns":49,"promptSignals":52},7,[42,43,44,45,46,47],"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fframeworks\u002Fbackend","https:\u002F\u002Fvercel.com\u002Fdocs\u002Ffunctions","https:\u002F\u002Fvercel.com\u002Fdocs\u002Fservices","https:\u002F\u002Fvercel.com\u002Fdocs\u002Fqueues","https:\u002F\u002Fvercel.com\u002Fdocs\u002Fworkflow","https:\u002F\u002Fvercel.com\u002Fdocs\u002Fstorage","https:\u002F\u002Fvercel.com\u002Fsitemap\u002Fdocs.xml",[50,51],"Dockerfile.vercel","Containerfile.vercel",{"phrases":53,"allOf":60,"anyOf":70,"noneOf":75,"minScore":76},[54,55,56,57,58,59],"backend on vercel","vercel backend","build a backend","create a backend","deploy my backend","backend architecture",[61,62,64,66,68],[14,8],[14,63],"docker",[14,65],"node",[14,67],"python",[14,69],"queue",[71,72,73,74],"api","database","service","workflow",[],6,{"aliases":78,"intents":81,"entities":85},[79,59,80],"Vercel backend","backend framework",[56,82,83,84],"choose backend products","deploy an existing API or server","select a Node.js or Python backend framework",[86,87,88,89,90,91],"Vercel Functions","Vercel Services","Vercel Queues","Vercel Workflow","Vercel Marketplace","container images",{"type":93,"children":94},"root",[95,103,109,116,364,369,374,379,385,390,465,470,476,489,531,536,541,547],{"type":96,"tag":97,"props":98,"children":99},"element","h1",{"id":4},[100],{"type":101,"value":102},"text","Create a Backend",{"type":96,"tag":104,"props":105,"children":106},"p",{},[107],{"type":101,"value":108},"Help the user create a backend by choosing an architecture before reaching for implementation details. Start from the workload, not the programming language. Vercel runs complex backend applications, not just frontends.",{"type":96,"tag":110,"props":111,"children":113},"h2",{"id":112},"product-map",[114],{"type":101,"value":115},"Product map",{"type":96,"tag":117,"props":118,"children":119},"table",{},[120,139],{"type":96,"tag":121,"props":122,"children":123},"thead",{},[124],{"type":96,"tag":125,"props":126,"children":127},"tr",{},[128,134],{"type":96,"tag":129,"props":130,"children":131},"th",{},[132],{"type":101,"value":133},"Need",{"type":96,"tag":129,"props":135,"children":136},{},[137],{"type":101,"value":138},"Vercel product",{"type":96,"tag":140,"props":141,"children":142},"tbody",{},[143,175,198,217,240,259,278,301,322,343],{"type":96,"tag":125,"props":144,"children":145},{},[146,152],{"type":96,"tag":147,"props":148,"children":149},"td",{},[150],{"type":101,"value":151},"HTTP APIs, webhooks, streaming, or framework server code",{"type":96,"tag":147,"props":153,"children":154},{},[155],{"type":96,"tag":156,"props":157,"children":158},"strong",{},[159,166,168],{"type":96,"tag":160,"props":161,"children":164},"a",{"href":43,"rel":162},[163],"nofollow",[165],{"type":101,"value":86},{"type":101,"value":167}," with ",{"type":96,"tag":160,"props":169,"children":172},{"href":170,"rel":171},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Ffluid-compute",[163],[173],{"type":101,"value":174},"Fluid compute",{"type":96,"tag":125,"props":176,"children":177},{},[178,183],{"type":96,"tag":147,"props":179,"children":180},{},[181],{"type":101,"value":182},"Bidirectional realtime connections (WebSockets)",{"type":96,"tag":147,"props":184,"children":185},{},[186,196],{"type":96,"tag":156,"props":187,"children":188},{},[189],{"type":96,"tag":160,"props":190,"children":193},{"href":191,"rel":192},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Ffunctions\u002Fwebsockets",[163],[194],{"type":101,"value":195},"Vercel Functions with Fluid compute",{"type":101,"value":197},"; no separate realtime service required",{"type":96,"tag":125,"props":199,"children":200},{},[201,206],{"type":96,"tag":147,"props":202,"children":203},{},[204],{"type":101,"value":205},"A frontend and one or more backends (API endpoints) that deploy together",{"type":96,"tag":147,"props":207,"children":208},{},[209],{"type":96,"tag":156,"props":210,"children":211},{},[212],{"type":96,"tag":160,"props":213,"children":215},{"href":44,"rel":214},[163],[216],{"type":101,"value":87},{"type":96,"tag":125,"props":218,"children":219},{},[220,225],{"type":96,"tag":147,"props":221,"children":222},{},[223],{"type":101,"value":224},"An existing Dockerfile, custom runtime, or system dependencies",{"type":96,"tag":147,"props":226,"children":227},{},[228,238],{"type":96,"tag":156,"props":229,"children":230},{},[231],{"type":96,"tag":160,"props":232,"children":235},{"href":233,"rel":234},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Ffunctions\u002Fcontainer-images",[163],[236],{"type":101,"value":237},"Container images",{"type":101,"value":239}," on Vercel Functions, optionally composed with Services",{"type":96,"tag":125,"props":241,"children":242},{},[243,248],{"type":96,"tag":147,"props":244,"children":245},{},[246],{"type":101,"value":247},"Durable multi-step work with retries, sleeps, or external events",{"type":96,"tag":147,"props":249,"children":250},{},[251],{"type":96,"tag":156,"props":252,"children":253},{},[254],{"type":96,"tag":160,"props":255,"children":257},{"href":46,"rel":256},[163],[258],{"type":101,"value":89},{"type":96,"tag":125,"props":260,"children":261},{},[262,267],{"type":96,"tag":147,"props":263,"children":264},{},[265],{"type":101,"value":266},"Background jobs, buffering, fan-out, or direct message routing",{"type":96,"tag":147,"props":268,"children":269},{},[270],{"type":96,"tag":156,"props":271,"children":272},{},[273],{"type":96,"tag":160,"props":274,"children":276},{"href":45,"rel":275},[163],[277],{"type":101,"value":88},{"type":96,"tag":125,"props":279,"children":280},{},[281,286],{"type":96,"tag":147,"props":282,"children":283},{},[284],{"type":101,"value":285},"Scheduled HTTP work",{"type":96,"tag":147,"props":287,"children":288},{},[289,299],{"type":96,"tag":156,"props":290,"children":291},{},[292],{"type":96,"tag":160,"props":293,"children":296},{"href":294,"rel":295},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fcron-jobs",[163],[297],{"type":101,"value":298},"Vercel Cron Jobs",{"type":101,"value":300},"; use Workflow when the job itself must be durable",{"type":96,"tag":125,"props":302,"children":303},{},[304,309],{"type":96,"tag":147,"props":305,"children":306},{},[307],{"type":101,"value":308},"Postgres, Redis, NoSQL, vector, or other application data",{"type":96,"tag":147,"props":310,"children":311},{},[312],{"type":96,"tag":156,"props":313,"children":314},{},[315],{"type":96,"tag":160,"props":316,"children":319},{"href":317,"rel":318},"https:\u002F\u002Fvercel.com\u002Fmarketplace\u002Fcategory\u002Fstorage",[163],[320],{"type":101,"value":321},"Storage integrations from the Vercel Marketplace",{"type":96,"tag":125,"props":323,"children":324},{},[325,330],{"type":96,"tag":147,"props":326,"children":327},{},[328],{"type":101,"value":329},"Files and user uploads",{"type":96,"tag":147,"props":331,"children":332},{},[333],{"type":96,"tag":156,"props":334,"children":335},{},[336],{"type":96,"tag":160,"props":337,"children":340},{"href":338,"rel":339},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fstorage\u002Fvercel-blob",[163],[341],{"type":101,"value":342},"Vercel Blob",{"type":96,"tag":125,"props":344,"children":345},{},[346,351],{"type":96,"tag":147,"props":347,"children":348},{},[349],{"type":101,"value":350},"Global, read-heavy configuration",{"type":96,"tag":147,"props":352,"children":353},{},[354],{"type":96,"tag":156,"props":355,"children":356},{},[357],{"type":96,"tag":160,"props":358,"children":361},{"href":359,"rel":360},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fstorage\u002Fedge-config",[163],[362],{"type":101,"value":363},"Edge Config",{"type":96,"tag":104,"props":365,"children":366},{},[367],{"type":101,"value":368},"Use Functions for the normal request\u002Fresponse backend. Use Services when independently built components should share one deployment, routing layer, preview URL, and rollback. Use separate Vercel projects when components need independent release cycles.",{"type":96,"tag":104,"props":370,"children":371},{},[372],{"type":101,"value":373},"Prefer a native Functions runtime for supported frameworks. Use container images when the application already has a Dockerfile or requires a custom runtime or system dependencies. They run as autoscaling, stateless Functions rather than always-on container hosts.",{"type":96,"tag":104,"props":375,"children":376},{},[377],{"type":101,"value":378},"Choose Queues for background jobs, buffering, fan-out, and message routing. Choose Workflow for durable multi-step business logic.",{"type":96,"tag":110,"props":380,"children":382},{"id":381},"databases-and-data-stores",[383],{"type":101,"value":384},"Databases and data stores",{"type":96,"tag":104,"props":386,"children":387},{},[388],{"type":101,"value":389},"Provision data stores through the Marketplace so credentials are injected into the project and environments stay connected. Check the current catalog before choosing a provider.",{"type":96,"tag":391,"props":392,"children":393},"ul",{},[394,405,415,425,435,445,455],{"type":96,"tag":395,"props":396,"children":397},"li",{},[398,403],{"type":96,"tag":156,"props":399,"children":400},{},[401],{"type":101,"value":402},"Postgres:",{"type":101,"value":404}," Neon, Supabase, AWS\u002FAurora, Nile, Prisma",{"type":96,"tag":395,"props":406,"children":407},{},[408,413],{"type":96,"tag":156,"props":409,"children":410},{},[411],{"type":101,"value":412},"MySQL:",{"type":101,"value":414}," AWS\u002FAurora",{"type":96,"tag":395,"props":416,"children":417},{},[418,423],{"type":96,"tag":156,"props":419,"children":420},{},[421],{"type":101,"value":422},"Redis and key-value:",{"type":101,"value":424}," Upstash, Redis",{"type":96,"tag":395,"props":426,"children":427},{},[428,433],{"type":96,"tag":156,"props":429,"children":430},{},[431],{"type":101,"value":432},"Document and NoSQL:",{"type":101,"value":434}," MongoDB Atlas, AWS",{"type":96,"tag":395,"props":436,"children":437},{},[438,443],{"type":96,"tag":156,"props":439,"children":440},{},[441],{"type":101,"value":442},"SQLite:",{"type":101,"value":444}," Turso",{"type":96,"tag":395,"props":446,"children":447},{},[448,453],{"type":96,"tag":156,"props":449,"children":450},{},[451],{"type":101,"value":452},"Realtime application backend:",{"type":101,"value":454}," Convex",{"type":96,"tag":395,"props":456,"children":457},{},[458,463],{"type":96,"tag":156,"props":459,"children":460},{},[461],{"type":101,"value":462},"Analytics:",{"type":101,"value":464}," MotherDuck",{"type":96,"tag":104,"props":466,"children":467},{},[468],{"type":101,"value":469},"Keep the database close to the Functions region and use a serverless-compatible connection or pool.",{"type":96,"tag":110,"props":471,"children":473},{"id":472},"backend-frameworks",[474],{"type":101,"value":475},"Backend frameworks",{"type":96,"tag":104,"props":477,"children":478},{},[479,481,487],{"type":101,"value":480},"Vercel provides first-class ",{"type":96,"tag":160,"props":482,"children":484},{"href":42,"rel":483},[163],[485],{"type":101,"value":486},"backend examples and integrations",{"type":101,"value":488}," for these frameworks:",{"type":96,"tag":391,"props":490,"children":491},{},[492,502,521],{"type":96,"tag":395,"props":493,"children":494},{},[495,500],{"type":96,"tag":156,"props":496,"children":497},{},[498],{"type":101,"value":499},"Node.js and TypeScript:",{"type":101,"value":501}," Elysia, Express, Fastify, H3, Hono, Koa, NestJS, Nitro, and xmcp. Next.js Route Handlers are the natural choice when the backend belongs to a Next.js application.",{"type":96,"tag":395,"props":503,"children":504},{},[505,510,512,519],{"type":96,"tag":156,"props":506,"children":507},{},[508],{"type":101,"value":509},"Python:",{"type":101,"value":511}," FastAPI, Flask, and Django. Other WSGI or ASGI applications can run when they export a compatible ",{"type":96,"tag":513,"props":514,"children":516},"code",{"className":515},[],[517],{"type":101,"value":518},"app",{"type":101,"value":520},", with additional configuration as needed.",{"type":96,"tag":395,"props":522,"children":523},{},[524,529],{"type":96,"tag":156,"props":525,"children":526},{},[527],{"type":101,"value":528},"Go:",{"type":101,"value":530}," supported as a Vercel Functions runtime.",{"type":96,"tag":104,"props":532,"children":533},{},[534],{"type":101,"value":535},"Frontend and backend combinations, for example a Next.js\u002FVite\u002FSvelteKit frontend with a FastAPI\u002FFlask\u002FExpress\u002FGo backend, can be deployed together in one project using Services.",{"type":96,"tag":104,"props":537,"children":538},{},[539],{"type":101,"value":540},"Prefer the user's existing framework. For a new project, choose based on ecosystem and application needs.",{"type":96,"tag":110,"props":542,"children":544},{"id":543},"work-sequence",[545],{"type":101,"value":546},"Work sequence",{"type":96,"tag":548,"props":549,"children":550},"ol",{},[551,556,561,603],{"type":96,"tag":395,"props":552,"children":553},{},[554],{"type":101,"value":555},"Identify synchronous requests, asynchronous work, persistent data, and independently deployed components.",{"type":96,"tag":395,"props":557,"children":558},{},[559],{"type":101,"value":560},"Select the products from the map, then select the framework.",{"type":96,"tag":395,"props":562,"children":563},{},[564,566,572,574,580,581,586,587,593,595,601],{"type":101,"value":565},"Load the focused skill for implementation: ",{"type":96,"tag":513,"props":567,"children":569},{"className":568},[],[570],{"type":101,"value":571},"vercel-functions",{"type":101,"value":573},", ",{"type":96,"tag":513,"props":575,"children":577},{"className":576},[],[578],{"type":101,"value":579},"vercel-services",{"type":101,"value":573},{"type":96,"tag":513,"props":582,"children":584},{"className":583},[],[585],{"type":101,"value":74},{"type":101,"value":573},{"type":96,"tag":513,"props":588,"children":590},{"className":589},[],[591],{"type":101,"value":592},"vercel-storage",{"type":101,"value":594},", or ",{"type":96,"tag":513,"props":596,"children":598},{"className":597},[],[599],{"type":101,"value":600},"marketplace",{"type":101,"value":602},".",{"type":96,"tag":395,"props":604,"children":605},{},[606],{"type":101,"value":607},"Confirm function limits, regions, environment variables, observability, and current product availability in the official docs before deployment.",{"items":609,"total":782},[610,632,646,665,676,691,707,725,735,750,762,772],{"slug":611,"name":611,"fn":612,"description":613,"org":614,"tags":615,"stars":629,"repoUrl":630,"updatedAt":631},"next-cache-components-adoption","enable and migrate to Next.js Cache Components","Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the `cacheComponents` flag, work through a flood of blocking-prerender \u002F instant validation errors, run the `cache-components-instant-false` codemod, or decide between opting routes out with `export const instant = false` and fixing them in place.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[616,619,622,625,628],{"name":617,"slug":618,"type":15},"Caching","caching",{"name":620,"slug":621,"type":15},"Frontend","frontend",{"name":623,"slug":624,"type":15},"Migration","migration",{"name":626,"slug":627,"type":15},"Next.js","next-js",{"name":9,"slug":8,"type":15},141208,"https:\u002F\u002Fgithub.com\u002Fvercel\u002Fnext.js","2026-08-22T03:25:50.984703",{"slug":633,"name":633,"fn":634,"description":635,"org":636,"tags":637,"stars":629,"repoUrl":630,"updatedAt":645},"next-cache-components-optimizer","optimize Next.js cache components","Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components \u002F PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next\u002Fplaywright instant() e2e and work it to green, one verified route at a time; the shipped test then guards against regression. Use when asked to make a route's navigation instant (its static shell commits immediately), fix a route whose static shell isn't prerendered\u002Fserved\u002Fprefetched, grow a route's static shell or fix its slow first paint, diagnose which Suspense boundary keeps a route out of its static shell, or write the instant() e2e guard for one. Requires Next.js 16.3+ with cacheComponents; directs an upgrade if older.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[638,639,640,641,644],{"name":617,"slug":618,"type":15},{"name":620,"slug":621,"type":15},{"name":626,"slug":627,"type":15},{"name":642,"slug":643,"type":15},"Performance","performance",{"name":9,"slug":8,"type":15},"2026-08-12T04:28:44.716229",{"slug":647,"name":647,"fn":648,"description":649,"org":650,"tags":651,"stars":629,"repoUrl":630,"updatedAt":664},"next-dev-loop","verify Next.js runtime behavior","Verify Next.js runtime behavior after editing app code. Use this skill to confirm a change actually works in a running app — not just that it compiles or type-checks. Combines \u002F_next\u002Fmcp (Next.js's view) with agent-browser (the browser's view). Requires a running `next dev`.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[652,655,656,659,660,661],{"name":653,"slug":654,"type":15},"Debugging","debugging",{"name":620,"slug":621,"type":15},{"name":657,"slug":658,"type":15},"Local Development","local-development",{"name":626,"slug":627,"type":15},{"name":9,"slug":8,"type":15},{"name":662,"slug":663,"type":15},"Web Development","web-development","2026-08-22T03:25:48.935638",{"slug":666,"name":666,"fn":667,"description":668,"org":669,"tags":670,"stars":629,"repoUrl":630,"updatedAt":675},"next-partial-prefetching-adoption","adopt Partial Prefetching in Next.js apps","Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the `partialPrefetching` flag, opt routes in with `export const prefetch = 'partial'`, audit `\u003CLink prefetch={true}>` calls, or resolve the instant-link-prefetch-partial and instant-shell-url-data insights.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[671,672,673,674],{"name":620,"slug":621,"type":15},{"name":626,"slug":627,"type":15},{"name":642,"slug":643,"type":15},{"name":9,"slug":8,"type":15},"2026-08-22T03:25:49.953467",{"slug":677,"name":677,"fn":678,"description":679,"org":680,"tags":681,"stars":688,"repoUrl":689,"updatedAt":690},"turborepo","manage monorepos with Turborepo","Turborepo monorepo build system guidance. Triggers on: turbo.json, task pipelines,\ndependsOn, caching, remote cache, the \"turbo\" CLI, --filter, --affected, CI optimization, environment\nvariables, internal packages, monorepo structure\u002Fbest practices, and boundaries.\n\nUse when user: configures tasks\u002Fworkflows\u002Fpipelines, creates packages, sets up\nmonorepo, shares code between apps, runs changed\u002Faffected packages, debugs cache,\nor has apps\u002Fpackages directories.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[682,685,686],{"name":683,"slug":684,"type":15},"CI\u002FCD","ci-cd",{"name":642,"slug":643,"type":15},{"name":687,"slug":677,"type":15},"Turborepo",30809,"https:\u002F\u002Fgithub.com\u002Fvercel\u002Fturborepo","2026-08-19T03:29:36.331344",{"slug":692,"name":692,"fn":693,"description":694,"org":695,"tags":696,"stars":704,"repoUrl":705,"updatedAt":706},"add-function-examples","add AI function examples for testing","Guide for adding new AI function examples, for testing specific features against the actual provider APIs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[697,700,703],{"name":698,"slug":699,"type":15},"AI SDK","ai-sdk",{"name":701,"slug":702,"type":15},"Testing","testing",{"name":9,"slug":8,"type":15},25670,"https:\u002F\u002Fgithub.com\u002Fvercel\u002Fai","2026-04-06T18:55:51.318866",{"slug":708,"name":708,"fn":709,"description":710,"org":711,"tags":712,"stars":704,"repoUrl":705,"updatedAt":724},"add-harness-package","add AI SDK harness packages","Guide for adding new AI SDK harness packages. Use when creating a new @ai-sdk\u002Fharness-\u003Cname> package that adapts a coding-agent runtime to HarnessV1.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[713,716,717,720,723],{"name":714,"slug":715,"type":15},"Agents","agents",{"name":698,"slug":699,"type":15},{"name":718,"slug":719,"type":15},"Harness","harness",{"name":721,"slug":722,"type":15},"SDK","sdk",{"name":9,"slug":8,"type":15},"2026-06-18T08:29:19.858737",{"slug":726,"name":726,"fn":727,"description":728,"org":729,"tags":730,"stars":704,"repoUrl":705,"updatedAt":734},"add-provider-package","add new provider packages to AI SDK","Guide for adding new AI provider packages to the AI SDK. Use when creating a new @ai-sdk\u002F\u003Cprovider> package to integrate an AI service into the SDK.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[731,732,733],{"name":698,"slug":699,"type":15},{"name":23,"slug":24,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:55:47.45549",{"slug":736,"name":736,"fn":737,"description":738,"org":739,"tags":740,"stars":704,"repoUrl":705,"updatedAt":749},"adr-skill","create and maintain architecture decision records","Create and maintain Architecture Decision Records (ADRs) optimized for agentic coding workflows. Use when you need to propose, write, update, accept\u002Freject, deprecate, or supersede an ADR; bootstrap an adr folder and index; consult existing ADRs before implementing changes; or enforce ADR conventions. This skill uses Socratic questioning to capture intent before drafting, and validates output against an agent-readiness checklist.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[741,744,745,748],{"name":742,"slug":743,"type":15},"ADR","adr",{"name":17,"slug":18,"type":15},{"name":746,"slug":747,"type":15},"Documentation","documentation",{"name":20,"slug":21,"type":15},"2026-04-06T18:55:50.043694",{"slug":699,"name":699,"fn":751,"description":752,"org":753,"tags":754,"stars":704,"repoUrl":705,"updatedAt":761},"build AI features with Vercel AI SDK","Answer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK functions like generateText, streamText, ToolLoopAgent, embed, or tools, (2) Want to build AI agents, chatbots, RAG systems, or text generation features, (3) Have questions about AI providers (OpenAI, Anthropic, Google, etc.), streaming, tool calling, structured output, or embeddings, (4) Use React hooks like useChat or useCompletion. Triggers on: \"AI SDK\", \"Vercel AI SDK\", \"generateText\", \"streamText\", \"add AI to my app\", \"build an agent\", \"tool calling\", \"structured output\", \"useChat\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[755,756,757,760],{"name":714,"slug":715,"type":15},{"name":698,"slug":699,"type":15},{"name":758,"slug":759,"type":15},"LLM","llm",{"name":9,"slug":8,"type":15},"2026-04-06T18:55:48.739463",{"slug":763,"name":763,"fn":764,"description":765,"org":766,"tags":767,"stars":704,"repoUrl":705,"updatedAt":771},"capture-api-response-test-fixture","capture API response test fixtures","Capture API response test fixture.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[768,769,770],{"name":23,"slug":24,"type":15},{"name":701,"slug":702,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:55:56.374433",{"slug":773,"name":773,"fn":774,"description":775,"org":776,"tags":777,"stars":704,"repoUrl":705,"updatedAt":781},"develop-ai-functions-example","develop AI SDK function examples","Develop examples for AI SDK functions. Use when creating, running, or modifying examples under examples\u002Fai-functions\u002Fsrc to validate provider support, demonstrate features, or create test fixtures.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[778,779,780],{"name":698,"slug":699,"type":15},{"name":701,"slug":702,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:55:55.088956",73,{"items":784,"total":886},[785,802,817,832,845,860,873],{"slug":786,"name":786,"fn":787,"description":788,"org":789,"tags":790,"stars":25,"repoUrl":26,"updatedAt":801},"access-protected-vercel-deployment","access and test protected Vercel deployments","Access and test Vercel deployments protected by Vercel Authentication, SSO, or Deployment Protection. Use when curl, agent-browser, Playwright, or another automated request reaches a Vercel login or protection page; when a protected preview or production URL returns 401 or 403; when TRUSTED_SOURCES_ENVIRONMENT_MISMATCH appears; or when choosing between `vercel curl` and the `x-vercel-trusted-oidc-idp-token` header.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[791,794,797,800],{"name":792,"slug":793,"type":15},"Auth","auth",{"name":795,"slug":796,"type":15},"Deployment","deployment",{"name":798,"slug":799,"type":15},"Security","security",{"name":9,"slug":8,"type":15},"2026-08-03T06:27:15.914615",{"slug":803,"name":803,"fn":804,"description":805,"org":806,"tags":807,"stars":25,"repoUrl":26,"updatedAt":816},"ai-gateway","configure and manage Vercel AI Gateway","Vercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[808,811,814,815],{"name":809,"slug":810,"type":15},"AI Infrastructure","ai-infrastructure",{"name":812,"slug":813,"type":15},"Cost Optimization","cost-optimization",{"name":758,"slug":759,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:56:06.57787",{"slug":793,"name":793,"fn":818,"description":819,"org":820,"tags":821,"stars":25,"repoUrl":26,"updatedAt":831},"integrate authentication in Next.js apps","Authentication integration guidance — Clerk (native Vercel Marketplace), Descope, and Auth0 setup for Next.js applications. Covers middleware auth patterns, sign-in\u002Fsign-up flows, and Marketplace provisioning. Use when implementing user authentication.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[822,825,828,829,830],{"name":823,"slug":824,"type":15},"Auth0","auth0",{"name":826,"slug":827,"type":15},"Authentication","authentication",{"name":626,"slug":627,"type":15},{"name":798,"slug":799,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:56:17.050565",{"slug":833,"name":833,"fn":834,"description":835,"org":836,"tags":837,"stars":25,"repoUrl":26,"updatedAt":844},"bootstrap","bootstrap Vercel-linked repositories","Project bootstrapping orchestrator for repos that depend on Vercel-linked resources (databases, auth, and managed integrations). Use when setting up or repairing a repository so linking, environment provisioning, env pulls, and first-run db\u002Fdev commands happen in the correct safe order.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[838,841,842,843],{"name":839,"slug":840,"type":15},"Configuration","configuration",{"name":795,"slug":796,"type":15},{"name":657,"slug":658,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:56:18.297868",{"slug":846,"name":846,"fn":847,"description":848,"org":849,"tags":850,"stars":25,"repoUrl":26,"updatedAt":859},"build-agents","build and architect AI agents","Default guidance for building AI agents. Use for generic requests to build, create, scaffold, design, architect, or implement an AI agent, agent app, tool-calling agent, durable agent, multi-agent system, or scheduled agent.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[851,852,853,856],{"name":714,"slug":715,"type":15},{"name":20,"slug":21,"type":15},{"name":854,"slug":855,"type":15},"Multi-Agent","multi-agent",{"name":857,"slug":858,"type":15},"System Design","system-design","2026-08-16T03:29:55.954821",{"slug":861,"name":861,"fn":862,"description":863,"org":864,"tags":865,"stars":25,"repoUrl":26,"updatedAt":872},"cdn-caching","debug Vercel CDN caching behavior","Debug Vercel CDN caching — cache hit rate, stale content, revalidation behavior, ISR + PPR, per-request cache reasons (cacheReason) and PPR state (ppr_state), and costs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[866,867,870,871],{"name":617,"slug":618,"type":15},{"name":868,"slug":869,"type":15},"Observability","observability",{"name":642,"slug":643,"type":15},{"name":9,"slug":8,"type":15},"2026-08-06T05:34:49.901951",{"slug":874,"name":874,"fn":875,"description":876,"org":877,"tags":878,"stars":25,"repoUrl":26,"updatedAt":885},"chat-sdk","build multi-platform chatbots with Vercel","Vercel Chat SDK expert guidance. Use when building multi-platform chat bots — Slack, Telegram, Microsoft Teams, Discord, Google Chat, GitHub, Linear — with a single codebase. Covers the Chat class, adapters, threads, messages, cards, modals, streaming, state management, and webhook setup.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[879,880,883,884],{"name":714,"slug":715,"type":15},{"name":881,"slug":882,"type":15},"Messaging","messaging",{"name":721,"slug":722,"type":15},{"name":9,"slug":8,"type":15},"2026-08-16T03:29:57.575858",33]