Guides Vercel deployment for PolicyEngine frontend apps: team scoping, project naming conventions, env vars, verification steps, and fixes for common issues like personal account deploys.
From essentialnpx claudepluginhub policyengine/policyengine-claude --plugin data-scienceThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Standard patterns for deploying frontend apps (interactive tools, dashboards, static sites) to Vercel under the PolicyEngine team.
All PE apps deploy under the policy-engine Vercel team:
vercel link --scope policy-engine
vercel --prod --yes --scope policy-engine
Projects use the pattern policyengine--{repo-name}:
policyengine--marriage.vercel.app
policyengine--aca-calc.vercel.app
policyengine--state-legislative-tracker.vercel.app
Vercel auto-assigns a random production URL (e.g., marriage-zeta-beryl.vercel.app). Use that in apps.json as the source URL since custom aliases may have deployment protection issues.
cd my-project
# Link to team (creates .vercel/)
vercel link --scope policy-engine
# Deploy
vercel --prod --yes
vercel --prod --yes --scope policy-engine
For apps with API backends (e.g., Modal):
# Set env var (Next.js uses NEXT_PUBLIC_* prefix)
vercel env add NEXT_PUBLIC_API_URL production
# Must force-redeploy after changing env vars
vercel --prod --force --yes --scope policy-engine
Next.js apps access env vars via process.env.NEXT_PUBLIC_API_URL.
curl -s -o /dev/null -w "%{http_code}" https://your-app.vercel.app/
# Should return 200
Deployed to personal account: If vercel --prod goes to your personal account, delete .vercel/ and re-link:
rm -rf .vercel
vercel link --scope policy-engine
vercel --prod --yes
Deployment protection (401): Team deployment protection may block unauthenticated access to alias URLs. Use the auto-assigned production URL instead, or configure in Vercel dashboard > Settings > Deployment Protection.
Generic project names: Never use generic names like app or site — they can steal domains from other projects. Always use descriptive names.
Must be at repo root. For Next.js static exports, configure rewrites as needed:
{
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}