agentsclimarketplace

Vercel deploy preview

Skill jeremylongshore/claude-code-plugins-plus-skills/skills/.curated/vercel-deploy-preview

425 plugins, 2,810 skills, 200 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.

Install
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill vercel-deploy-preview

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

'Create and manage Vercel preview deployments for branches and pull requests.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

5.7 KB, as published. Nobody here has run it

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

BranchURL Pattern
feature/authmy-app-git-feature-auth-team.vercel.app
fix/bug-123my-app-git-fix-bug-123-team.vercel.app
Random deploymy-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

ErrorCauseSolution
BUILD_FAILEDBuild command failedCheck build logs: vercel inspect <url>
FUNCTION_INVOCATION_FAILEDRuntime error in functionReview function logs: vercel logs <url>
NO_BUILDSNo output detectedVerify outputDirectory in vercel.json
Preview not updatingCached old deploymentForce rebuild: vercel --force
DEPLOYMENT_BLOCKEDDeployment protection activeUse x-vercel-protection-bypass header

Resources

Next Steps

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

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.