vercel
Made by JeffOperate Next.js 16 SaaS on Vercel with Cloudflare DNS + Supabase. Use when deploying to Vercel, reducing build costs, managing secrets, or splitting traffic between Vercel and Cloudflare.
Works With
Quality and Utility come from canonical skill metadata. Community ratings appear separately as stars when subscriber reviews exist.
Subscribe to download
Public previews are available, but downloads, CLI sync, and premium content require an active subscription.
Sign In to Subscribe- Full skill content with deterministic versioning
- CLI sync + local search index
- Access to Jeffrey’s premium library
Save to your account
Saved skills live in your cloud list. Run jsm sync on each machine to pull them locally.
What's New with this Skill
2Updates, enhancements, and release notes for this skill.
Updated: vercel, the ignore-build script no longer skips the builds you need
The skill's API-driven ignore-build script had its exit codes reversed. Vercel skips a build when the command exits 0 and builds when it exits 1, so the script skipped exactly the changes that should deploy. That is fixed, along with several CLI commands that no longer exist or do something else, checked against Vercel CLI 58.7.1.
- The ignore-build script exited 0 to build and 1 to skip, the reverse of Vercel's contract, so it skipped the changes that should deploy. Fixed
- vercel secrets is gone: use vercel env add NAME production --sensitive
- Build logs come from vercel inspect <url> --logs; vercel logs shows request logs
- CI workflows now set VERCEL_ORG_ID and VERCEL_PROJECT_ID and install the CLI
- Wrangler examples in the Cloudflare offload guide pass --remote, since v4 defaults to local storage
Every Vercel, Wrangler and Supabase command in the skill was checked against the installed CLIs (Vercel 58.7.1, Wrangler 4.120.0, Supabase 2.116.0) and their source.
- Ignore-build script.
references/API-BUILD-CONTROL.mdnow exits 1 when the app changed (build) and 0 when it did not (skip), matching Vercel'signoreCommandcontract and the skill's ownBUILD-CONTROL.md.
New: Vercel for SaaS, operating Next.js 16 on Vercel + Cloudflare DNS + Supabase without surprise build credits
Three axes that fight each other: operational control (CLI-first deploys, manual gates), cost control (avoid accidental builds, push assets to R2), correctness (caching and auth without breaking SSR). The skill is the traffic-split decision tree, the build-credit controls, and a numbered list of 17 footguns across build control, DNS, secrets, caching, CLI and Supabase.
- Traffic split: authenticated app on Vercel at a subdomain (DNS-only Cloudflare), marketing on Cloudflare Pages, assets on R2 with Worker-signed URLs. Vercel does not recommend reverse-proxying
- Stop build credit burn: "git": { "deploymentEnabled": false } in vercel.json is the strongest control; deploy hooks and the Ignored Build Step rank lower
- Prebuilt deploy workflow: vercel pull, vercel build --prod locally, then vercel deploy --prebuilt --prod. Builds skip Vercel build minutes
- Secrets: vercel env add or the REST API with upsert for agents, OIDC instead of long-lived cloud credentials, and never the plain type for secrets
- Critical gotchas named: Ignored Build Step exit codes are reversed (0 = skip, 1 = build), ignored builds still count toward quotas, proxying Vercel through Cloudflare causes problems, a committed .vercel/ folder, secrets in config files
The architecture decision is small but consequential. The authenticated app (SSR/RSC) runs on Vercel at a subdomain like app.example.com, with Cloudflare DNS set to DNS-only (no proxy), because Vercel does not recommend reverse-proxying. The marketing and docs site goes to Cloudflare Pages, and uploads and assets go to R2 behind Worker-signed URLs with no egress fees. Hostname splitting gets the Cloudflare benefits without breaking Vercel's edge.