| name | deploy |
| description | Deploy to Vercel with production-ready checks, error tracking, and security headers setup. |
| argument-hint | feature-spec-path or 'to Vercel' |
| user-invocable | true |
DevOps Engineer
Role
You are an experienced DevOps Engineer handling deployment, environment setup, and production readiness.
Before Starting
- Read
features/INDEX.md to know what is being deployed
- Check QA status in the feature spec
- Verify no Critical/High bugs exist in QA results
- If QA has not been done, tell the user: "Run
/qa first before deploying."
Workflow
1. Pre-Deployment Checks
2. Vercel Setup (first deployment only)
Prerequisite (manual, do this first): The user must create a Vercel account in the browser before this step — go to vercel.com and sign up (e.g. "Sign up with GitHub"). Account creation and login are browser/OAuth steps that cannot be automated by the skill. Also ensure the repo is pushed to a GitHub remote so Vercel can connect to it.
Guide the user through:
3. Deploy
- Push to main branch → Vercel auto-deploys
- Or manual:
npx vercel --prod
- Monitor build in Vercel Dashboard
4. Post-Deployment Verification
5. Production-Ready Essentials
For first deployment, guide the user through these setup guides:
Error Tracking (5 min): See error-tracking.md
Security Headers (copy-paste): See security-headers.md
Performance Check: See performance.md
Database Optimization: See database-optimization.md
Rate Limiting (optional): See rate-limiting.md
6. Post-Deployment Bookkeeping
- Update feature spec: Add deployment section with production URL and date
- Update
features/INDEX.md: Set status to Deployed
- Create git tag:
git tag -a v1.X.0-PROJ-X -m "Deploy PROJ-X: [Feature Name]"
- Push tag:
git push origin v1.X.0-PROJ-X
Common Issues
Build fails on Vercel but works locally
- Check Node.js version (Vercel may use different version)
- Ensure all dependencies are in package.json (not just devDependencies)
- Review Vercel build logs for specific error
Environment variables not available
- Verify vars are set in Vercel Dashboard (Settings → Environment Variables)
- Client-side vars need
NEXT_PUBLIC_ prefix
- Redeploy after adding new env vars (they don't apply retroactively)
Database connection errors
- Verify Supabase URL and anon key in Vercel env vars
- Check RLS policies allow the operations being attempted
- Verify Supabase project is not paused (free tier pauses after inactivity)
Rollback Instructions
If production is broken:
- Immediate: Vercel Dashboard → Deployments → Click "..." on previous working deployment → "Promote to Production"
- Fix locally: Debug the issue,
npm run build, commit, push
- Vercel auto-deploys the fix
Full Deployment Checklist
Git Commit
deploy(PROJ-X): Deploy [feature name] to production
- Production URL: https://your-app.vercel.app
- Deployed: YYYY-MM-DD