Agent Skills

create-a-backend

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.

Install

npx skills add https://github.com/vercel/vercel-plugin --skill create-a-backend
SKILL.md

Create a Backend

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.

Product map

Need Vercel product
HTTP APIs, webhooks, streaming, or framework server code Vercel Functions with Fluid compute
Bidirectional realtime connections (WebSockets) Vercel Functions with Fluid compute; no separate realtime service required
A frontend and one or more backends (API endpoints) that deploy together Vercel Services
An existing Dockerfile, custom runtime, or system dependencies Container images on Vercel Functions, optionally composed with Services
Durable multi-step work with retries, sleeps, or external events Vercel Workflows
Background jobs, buffering, fan-out, or direct message routing Vercel Queues
Scheduled HTTP work Vercel Cron Jobs; use Workflow when the job itself must be durable
Postgres, Redis, NoSQL, vector, or other application data Storage integrations from the Vercel Marketplace
Files and user uploads Vercel Blob
Global, read-heavy configuration Global Config

Use Functions for the normal request/response 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.

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.

Choose Queues for background jobs, buffering, fan-out, and message routing. Choose Workflow for durable multi-step business logic.

Databases and data stores

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.

  • Postgres: Neon, Supabase, AWS/Aurora, Nile, Prisma
  • MySQL: AWS/Aurora
  • Redis and key-value: Upstash, Redis
  • Document and NoSQL: MongoDB Atlas, AWS
  • SQLite: Turso
  • Realtime application backend: Convex
  • Analytics: MotherDuck

Keep the database close to the Functions region and use a serverless-compatible connection or pool.

Backend frameworks

Vercel provides first-class backend examples and integrations for these frameworks:

  • 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.
  • Python: FastAPI, Flask, and Django. Other WSGI or ASGI applications can run when they export a compatible app, with additional configuration as needed.
  • Go: supported as a Vercel Functions runtime.

Frontend and backend combinations, for example a Next.js/Vite/SvelteKit frontend with a FastAPI/Flask/Express/Go backend, can be deployed together in one project using Services.

Prefer the user's existing framework. For a new project, choose based on ecosystem and application needs.

Work sequence

  1. Identify synchronous requests, asynchronous work, persistent data, and independently deployed components.
  2. Select the products from the map, then select the framework.
  3. Load the focused skill for implementation: vercel-functions, vercel-services, workflow, vercel-storage, or marketplace.
  4. Confirm function limits, regions, environment variables, observability, and current product availability in the official docs before deployment.

Related skills

entra-app-registrationmicrosoft606KGuides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.azure-messagingmicrosoft595KTroubleshoot and resolve issues with Azure Messaging SDKs for Event Hubs and Service Bus. Covers connection failures, authentication errors, message processing issues, and SDK configuration problems. WHEN: event hub SDK error, service bus SDK issue, messaging connection failure, AMQP error, event processor host issue, message lock lost, message lock expired, lock renewal, lock renewal batch, send timeout, receiver disconnected, SDK troubleshooting, azure messaging SDK, event hub consumer, servicentra-agent-idmicrosoft328KProvision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmi_path, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmi_path token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registsupabasesupabase298KUse when doing ANY task involving Supabase. Triggers: Supabase products (Database, Auth, Edge Functions, Realtime, Storage, Vectors, Cron, Queues); client libraries and SSR integrations (supabase-js, @supabase/ssr) in Next.js, React, SvelteKit, Astro, Remix; auth issues (login, logout, sessions, JWT, cookies, getSession, getUser, getClaims, RLS); Supabase CLI or MCP server; schema changes, migrations, declarative schemas, security audits, Postgres extensions (pg_graphql, pg_cron, pg_vector); deb

Search skills and MCP servers

Fuzzy search across 23,137 skills and servers