All skills
vercel-labs avatar

/vercel-cli

@51524a1 official

Vercel CLI expert guidance. Use when deploying, managing environment variables, linking projects, viewing logs, querying metrics, managing domains, managing feature flags with vercel flags, or interacting with the Vercel platform from the command line.

  • 57 files
  • 222.1 KB
  • Updated 2 weeks ago
  • GitHub

Use this Skill: https://skilld.dev/gh/vercel-labs/vercel-plugin/vercel-cli

This session only. Nothing lands on disk.

referencesdeployment.md

≈683 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Deployment

Ensure .vercel/ exists before deploying (via vercel link or vercel link --repo).

Basic Usage

vercel                    # preview deployment (default)
vercel --prod             # production deployment
vercel --target staging   # custom environment

Prebuilt Deploy

Build locally, deploy the output — avoids remote builds:

vercel build --prod
vercel deploy --prebuilt --prod

If build and deploy run in separate CI jobs, use --standalone so artifacts are self-contained:

vercel build --prod --standalone
# (upload .vercel/output/ as artifact, then in deploy job:)
vercel deploy --prebuilt --prod

Deploy Output

  • stdout: The deployment URL (pipeable)
  • stderr: Progress and errors
URL=$(vercel deploy --prod)

Forced Deploys And Build Cache

vercel deploy --force creates a new deployment even when Vercel would otherwise reuse an existing result. For forced deploys, build cache is not retained unless --with-cache is also provided.

Use this when you need a fresh preview build from the current local checkout:

vercel deploy . --target preview --force

For large repositories, retry with an archive if the CLI reports too many files:

vercel deploy . --target preview --force --archive=tgz

vercel redeploy <url> rebuilds an existing deployment, but it does not support a no-cache flag. A manual CLI deploy is not the same as a Git integration redeploy: it creates a new deployment from local source, so commit metadata, aliases, source provenance, and dashboard grouping may differ from the original Git-triggered deployment.

Accessing Preview Deployments

Use vercel curl — it handles deployment protection automatically:

vercel curl /api/health --deployment $PREVIEW_URL

Do not disable deployment protection. Use vercel curl instead.

Other Deploy Commands

  • vercel redeploy <url> — rebuild an existing deployment; no no-cache flag
  • vercel promote <url> — move a deployment to production without rebuilding
  • vercel rollback <url> — revert to a previous deployment
  • vercel rolling-release / vercel rr — gradual traffic shifting

Workflows

Blue/Green

URL=$(vercel --prod --skip-domain)   # deploy without domain assignment
vercel curl / --deployment $URL      # verify (handles deployment protection)
vercel promote $URL                  # promote to production

Rolling Release

vercel rr configure --enable --advancement-type=automatic --stage=10,5m --stage=50,10m
vercel rr start --dpl=<deployment-url> --yes
vercel rr fetch

See references/project-infra.md for approve, abort, and complete commands.

Source: SKILL.md on GitHub

No third-party reports yet.

Signed by skilld at 51524a1. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 6 hours ago.

Activeupdated 2 weeks ago
Other metadata
metadata
{
  "priority": 4,
  "docs": [
    "https://vercel.com/docs/cli"
  ],
  "sitemap": "https://vercel.com/sitemap.xml",
  "pathPatterns": [
    "vercel.json",
    "vercel.ts",
    ".vercel/**",
    ".vercelignore",
    "now.json"
  ],
  "bashPatterns": [
    "^\\s*vercel(?:\\s|$)",
    "^\\s*vc(?:\\s|$)",
    "\\bnpx\\s+vercel\\b",
    "\\bpnpm\\s+dlx\\s+vercel\\b",
    "\\bbunx\\s+vercel\\b",
    "\\byarn\\s+dlx\\s+vercel\\b",
    "\\bnpx\\s+@vercel/config\\b"
  ],
  "promptSignals": {
    "phrases": [
      "check deployment",
      "check deploy",
      "deployment status",
      "deploy status",
      "vercel logs",
      "vercel metrics",
      "deployment logs",
      "deploy logs",
      "vercel inspect",
      "is it deployed",
      "deploy failing",
      "deploy failed",
      "deployment error",
      "check vercel",
      "vercel status"
    ],
    "allOf": [
      [
        "check",
        "deployment"
      ],
      [
        "check",
        "deploy"
      ],
      [
        "vercel",
        "status"
      ],
      [
        "vercel",
        "logs"
      ],
      [
        "vercel",
        "metrics"
      ],
      [
        "deploy",
        "error"
      ],
      [
        "deploy",
        "failed"
      ],
      [
        "deploy",
        "stuck"
      ]
    ],
    "anyOf": [
      "deployment",
      "deploy",
      "vercel",
      "production"
    ],
    "noneOf": [
      "terraform",
      "aws deploy",
      "heroku"
    ],
    "minScore": 6
  }
}
retrieval
{
  "aliases": [
    "vercel command line",
    "vc cli",
    "deploy command",
    "vercel terminal"
  ],
  "intents": [
    "deploy from cli",
    "link project",
    "manage domains",
    "view logs from terminal"
  ],
  "entities": [
    "vercel CLI",
    "vercel deploy",
    "vercel env",
    "vercel link",
    "vercel logs",
    "vercel metrics"
  ]
}
chainTo
[
  {
    "pattern": "\"functions\"\\s*:\\s*\\{|\"maxDuration\"\\s*:|\"memory\"\\s*:",
    "targetSkill": "vercel-functions",
    "message": "Functions configuration detected in vercel.json — loading Vercel Functions guidance for runtime options, streaming, and Fluid Compute.",
    "skipIfFileContains": "\"crons\"\\s*:"
  },
  {
    "pattern": "\"redirects\"\\s*:\\s*\\[|\"rewrites\"\\s*:\\s*\\[|\"headers\"\\s*:\\s*\\[",
    "targetSkill": "routing-middleware",
    "message": "Routing rules in vercel.json — loading Routing Middleware guidance for platform-level request interception patterns."
  }
]

README badge

README badge for vercel-labs/vercel-plugin/vercel-cli