Skip to content
OpenSmartRoute
Skillv1.0.0

vercel-deploy-preview

Create and manage Vercel preview deployments for branches and pull requests. Use when deploying a preview for a pull request, testing changes before production, or sharing preview URLs with stakeholde

by jeremylongshore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jeremylongshore/tons-of-skills-marketplace (plugins/saas-packs/vercel-pack/skills/vercel-deploy-preview/SKILL.md). Install upstream with npx skills add jeremylongshore/tons-of-skills-marketplace --skill vercel-deploy-preview. Copyright stays with the author (MIT).

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-auth setup
  • 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 with x-vercel-protection-bypass header
  • Disabled β€” previews are publicly accessible

Step 6: GitHub Integration β€” PR Comments

When a GitHub repo is connected, Vercel automatically:

  1. Creates a preview deployment on every push
  2. Posts a comment on the PR with the preview URL
  3. Updates the GitHub commit status (pending β†’ success/failure)
  4. 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

Examples

Verify a protected preview without leaking the bypass secret

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.

Resources

Next Steps

For edge function development, see vercel-edge-functions.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jeremylongshore-tons-of-skills-marketplace-vercel-deploy-47d3f9/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jeremylongshore-tons-of-skills-marketplace-vercel-deploy-47d3f9.ocm.jsonjson
{
  "ocm": "1",
  "id": "jeremylongshore-tons-of-skills-marketplace-vercel-deploy-47d3f9",
  "kind": "skill",
  "name": "vercel-deploy-preview",
  "description": "Create and manage Vercel preview deployments for branches and pull requests. 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\", \"vercel preview URL\", \"create preview deployment\", \"vercel PR preview\".",
  "publisher": "jeremylongshore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "saas",
      "vercel",
      "deployment",
      "preview",
      "workflow",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Create and manage Vercel preview deployments for branches and pull requests. 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\", \"vercel preview URL\", \"create preview deployment\", \"vercel PR preview\"."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/jeremylongshore/tons-of-skills-marketplace",
      "path": "plugins/saas-packs/vercel-pack/skills/vercel-deploy-preview/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/jeremylongshore/tons-of-skills-marketplace/blob/HEAD/plugins/saas-packs/vercel-pack/skills/vercel-deploy-preview/SKILL.md",
      "key": "jeremylongshore/tons-of-skills-marketplace/plugins/saas-packs/vercel-pack/skills/vercel-deploy-preview/SKILL.md"
    },
    "compatibility": "Designed for Claude Code",
    "allowed_tools": [
      "Read,",
      "Write,",
      "Edit,",
      "Bash(vercel:*),",
      "Bash(curl:*),",
      "Bash(git:*),",
      "Grep"
    ],
    "license": "MIT"
  },
  "instructions": "# Vercel Deploy Preview\n\n## Overview\n\nDeploy 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.\n\n## Prerequisites\n\n- Completed `vercel-install-auth` setup\n- Project linked via `vercel link`\n- Git repository connected in Vercel dashboard\n\n## Instructions\n\n### Step 1: Deploy Preview via CLI\n\n```bash\n# Deploy current directory to a preview URL (default β€” not --prod)\nvercel\n\n# Output:\n# πŸ”— Linked to your-team/my-app\n# πŸ” Inspect:",
  "cost": {
    "context_tokens": 1396
  }
}

Fetch it by URL: GET /api/v1/registry/jeremylongshore-tons-of-skills-marketplace-vercel-deploy-47d3f9/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.