Execute Vercel primary workflow: Deploy Preview. Use when Deploying a preview for a pull request, Testing changes before production, or Sharing preview URLs with stakeholders. Trigger with phrases like "vercel deploy preview", "create preview deployment with vercel".
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.
vercel-install-auth setupvercel link# 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
# 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"
}
}'
# 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
}
}
# 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"]
}'
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 with x-vercel-protection-bypass headerWhen a GitHub repo is connected, Vercel automatically:
To configure in the Vercel dashboard:
# Ignored Build Step — skip deploy when only docs changed
# vercel.json
{
"ignoreCommand": "git diff HEAD^ HEAD --quiet -- . ':!docs' ':!*.md'"
}
| 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 |
| 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 |
Create a preview for a pull request, use a CI-held deployment-protection bypass token only in the automated smoke job, and request a harmless /health endpoint. Publish the preview URL and the commit SHA in the pull request, but never print the bypass header or token. Confirm the same URL is inaccessible without approved access, then expire the preview or retain it under the repository’s documented review window.
For edge function development, see vercel-edge-functions.
下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer