bundles/infrastructure/skills/vercel-deploy/SKILL.md
Deploy a Next.js app to Vercel and manage its environment — preview and production deploys, environment variables per environment, promotion, and rollback to a previous deployment. Use when asked to deploy to Vercel, ship a preview, promote to production, roll back a bad deploy, or manage Vercel env vars. Confirms the project is linked before any deploy and never links unattended.
npx skillsauth add shipshitdev/library vercel-deployInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Ship a Next.js app to Vercel and control its environments safely: preview deploys for review, production promotes behind confirmation, and a fast rollback when a deploy goes bad. Deploying is publishing — every production action is gated.
Inputs:
preview (default), prod, rollback, or env.Outputs:
Creates/Modifies:
External Side Effects:
Confirmation Required:
Delegates To:
monitoring-setup to confirm error tracking is live before a production deploy.dependency-audit / security-audit as a pre-production gate on risky releases.Never deploy an unlinked project, and never link one unattended:
test -f .vercel/project.json || { echo "Not linked — .vercel/project.json missing."; exit 1; }
vercel whoami # confirm the CLI is authenticated as the right account
If .vercel/project.json is absent, stop and ask the user to run vercel link
themselves — do not run it for them. Linking to the wrong project deploys to the wrong
place.
A preview build for review — never production:
vercel # builds and deploys a preview; prints the preview URL
Report the preview URL. This is the safe default for any "deploy this" without an explicit production ask.
prod)Confirm first, then promote. Prefer promoting an already-built preview over a fresh
--prod build so what ships is what was reviewed:
vercel --prod # builds and deploys straight to production
# or promote a specific, already-reviewed deployment:
vercel promote <deployment-url>
Before running: state what will go live (branch/commit), confirm error tracking is on
(monitoring-setup), and get an explicit yes. Production is live to users the moment
this returns.
rollback)When a production deploy is bad, roll back to the last known-good deployment:
vercel ls --prod # list recent production deployments
vercel rollback <good-deployment-url> # or `vercel promote` the known-good one
Name the target deployment (URL + commit) and confirm before rolling back. Rollback is itself a production change.
env)Manage vars per environment; production changes are gated:
vercel env ls # what's set, per environment
vercel env add <NAME> production # prompts for the value (not echoed)
vercel env rm <NAME> production # after confirmation
Never print a secret value into the transcript. Set the same var across development,
preview, and production deliberately — a var present in preview but missing in
production is a classic "works in preview, 500s in prod" bug.
vercel link unattended — stop and ask;
linking to the wrong project ships to the wrong place.vercel --prod without confirmation — production is live immediately; preview is
the default.--prod build instead of promoting the reviewed preview — promote what was
reviewed so prod matches what was tested.development
TypeScript refactoring and modernization guidelines from a principal specialist perspective. This skill should be used when refactoring, reviewing, or modernizing TypeScript code to ensure type safety, compiler performance, and idiomatic patterns. Triggers on tasks involving TypeScript type architecture, narrowing, generics, error handling, or migration to modern TypeScript features.
tools
Resolves TypeScript and JavaScript problems across type-level programming, performance, monorepo management, migration, and modern tooling. Invoke when diagnosing "type instantiation excessively deep" errors, migrating JS to TS, configuring strict tsconfig, debugging module resolution, or choosing between Biome/ESLint/Turborepo/Nx.
tools
Turborepo monorepo build system guidance. Triggers on: `turbo.json`, task pipelines, `dependsOn`, caching, remote cache, the `turbo` CLI, `--filter`, `--affected`, CI optimization, environment variables, internal packages, monorepo structure, and package boundaries. Use when the user configures tasks or workflows, creates packages, sets up a monorepo, shares code between apps, runs changed packages, debugs cache behavior, or works in an `apps/` plus `packages/` workspace.
tools
Provides Tailwind CSS v4 performance optimization and best practices guidelines. Triggers when writing, reviewing, or refactoring Tailwind CSS v4 code; when working with Tailwind configuration, @theme directive, utility classes, responsive design, dark mode, container queries, or CSS generation optimization.