vercel-deploy-preview
Create and manage ephemeral Vercel preview deployments for branch testing and collaborative review.
Install
mkdir -p .claude/skills/vercel-deploy-preview && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7732" && unzip -o skill.zip -d .claude/skills/vercel-deploy-preview && rm skill.zipInstalls to .claude/skills/vercel-deploy-preview
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create and manage Vercel preview deployments for branches and pull requests.Key capabilities
- →Generate preview URLs for branches
- →Configure preview-specific environment variables
- →Implement deployment protection
- →Integrate with GitHub PR comments
- →Poll deployment status
How it works
The tool triggers a build process for a specific branch, creating a unique URL for testing changes before they are merged to production.
Inputs & outputs
When to use vercel-deploy-preview
- →Deploy pull request previews for testing
- →Generate temporary URLs for stakeholder feedback
- →Verify production parity in preview environments
- →Manage preview lifecycle via CLI
About this skill
Vercel Deploy Preview
Overview
Deploy preview environments for branches and pull requests. Every git push to a non-production branch generates a unique preview URL. Covers CLI-based previews, API-based previews, deployment protection, and comment integration.
Prerequisites
- Completed
vercel-install-authsetup - Project linked via
vercel link - Git repository connected in Vercel dashboard
Instructions
Step 1: Deploy Preview via CLI
# Deploy current directory to a preview URL (default — not --prod)
vercel
# Output:
# 🔗 Linked to your-team/my-app
# 🔍 Inspect: https://vercel.com/your-team/my-app/AbCdEfG
# ✅ Preview: https://my-app-git-feature-branch-your-team.vercel.app
# Deploy a specific directory
vercel ./dist
# Deploy and wait for build to complete (useful in CI)
vercel --no-wait # returns immediately with deployment URL
Step 2: Deploy Preview via REST API
# Create a deployment via API — useful for custom CI pipelines
curl -X POST "https://api.vercel.com/v13/deployments" \
-H "Authorization: Bearer $VERCEL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "my-app",
"target": "preview",
"gitSource": {
"type": "github",
"repoId": "123456789",
"ref": "feature/new-feature",
"sha": "abc123def456"
}
}'
Step 3: Check Deployment Status
# Poll deployment status until READY
curl -s -H "Authorization: Bearer $VERCEL_TOKEN" \
"https://api.vercel.com/v13/deployments/dpl_xxxxxxxxxxxx" \
| jq '{state: .state, url: .url, readyState: .readyState}'
# States: QUEUED → BUILDING → READY (or ERROR/CANCELED)
// Programmatic polling
async function waitForDeployment(client: VercelClient, deploymentId: string) {
while (true) {
const d = await client.getDeployment(deploymentId);
if (d.state === 'READY') return d;
if (d.state === 'ERROR' || d.state === 'CANCELED') {
throw new Error(`Deployment ${d.state}: ${deploymentId}`);
}
await new Promise(r => setTimeout(r, 5000)); // poll every 5s
}
}
Step 4: Configure Preview Environment Variables
# Add env vars scoped to preview only
vercel env add DATABASE_URL preview
# Enter value when prompted
# Or via API — scope to preview environment
curl -X POST "https://api.vercel.com/v9/projects/my-app/env" \
-H "Authorization: Bearer $VERCEL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"key": "DATABASE_URL",
"value": "postgres://preview-db:5432/myapp",
"type": "encrypted",
"target": ["preview"]
}'
Step 5: Deployment Protection
Vercel supports password-protecting preview deployments:
// vercel.json — require authentication for previews
{
"deploymentProtection": {
"preview": "vercel-authentication"
}
}
Options:
"vercel-authentication"— requires Vercel team login"standard-protection"— bypass for automation withx-vercel-protection-bypassheader- Disabled — previews are publicly accessible
Step 6: GitHub Integration — PR Comments
When a GitHub repo is connected, Vercel automatically:
- Creates a preview deployment on every push
- Posts a comment on the PR with the preview URL
- Updates the GitHub commit status (pending → success/failure)
- Adds "Visit Preview" link in the PR checks section
To configure in the Vercel dashboard:
- Settings > Git > Deploy Hooks for manual triggers
- Settings > Git > Ignored Build Step to skip builds for certain paths
# Ignored Build Step — skip deploy when only docs changed
# vercel.json
{
"ignoreCommand": "git diff HEAD^ HEAD --quiet -- . ':!docs' ':!*.md'"
}
Preview URL Patterns
| Branch | URL Pattern |
|---|---|
feature/auth | my-app-git-feature-auth-team.vercel.app |
fix/bug-123 | my-app-git-fix-bug-123-team.vercel.app |
| Random deploy | my-app-abc123def.vercel.app |
Output
- Preview deployment URL unique to each branch/commit
- Build logs accessible via Vercel dashboard or API
- PR comment with preview link (GitHub integration)
- Environment variables scoped to preview only
Error Handling
| Error | Cause | Solution |
|---|---|---|
BUILD_FAILED | Build command failed | Check build logs: vercel inspect <url> |
FUNCTION_INVOCATION_FAILED | Runtime error in function | Review function logs: vercel logs <url> |
NO_BUILDS | No output detected | Verify outputDirectory in vercel.json |
| Preview not updating | Cached old deployment | Force rebuild: vercel --force |
DEPLOYMENT_BLOCKED | Deployment protection active | Use x-vercel-protection-bypass header |
Resources
Next Steps
For edge function development, see vercel-edge-functions.
When not to use it
- →Deploying to production environments
- →Ignoring build failure logs
Prerequisites
Limitations
- →Build command failed
- →Runtime error in function
- →No output detected
How it compares
This automates the creation of live preview environments for every push, unlike manual deployment workflows.
Compared to similar skills
vercel-deploy-preview side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| vercel-deploy-preview (this skill) | 1 | 27d | Review | Beginner |
| vercel-deployment | 3 | 6mo | No flags | Intermediate |
| vercel-deploy | 4 | 5mo | Review | Beginner |
| vercel-multi-env-setup | 1 | 27d | Caution | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
vercel-deployment
davila7
Expert knowledge for deploying to Vercel with Next.js Use when: vercel, deploy, deployment, hosting, production.
vercel-deploy
openai
Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
vercel-multi-env-setup
jeremylongshore
Configure Vercel across development, staging, and production environments. Use when setting up multi-environment deployments, configuring per-environment secrets, or implementing environment-specific Vercel configurations. Trigger with phrases like "vercel environments", "vercel staging", "vercel dev prod", "vercel environment setup", "vercel config by env".
vercel-cli-management
CaptainCrouton89
Deploy, manage environment variables, view logs, and configure cron jobs with Vercel CLI. Use when deploying to Vercel, managing env vars (add/update/remove), viewing runtime/build logs, or configuring scheduled tasks in vercel.json.
nexus-deployments
MAX-786
Deployment protocols for Vercel (Next.js Web App), Chrome Web Store packaging (Plasmo Extension), and Supabase production migrations. Use this when setting up CI/CD, preparing a release, or configuring deployment environment variables.
workflow
vercel
Creates durable, resumable workflows using Vercel's Workflow DevKit. Use when building workflows that need to survive restarts, pause for external events, retry on failure, or coordinate multi-step operations over time. Triggers on mentions of "workflow", "durable functions", "resumable", "workflow devkit", or step-based orchestration.