> **vercel-deploy** — chapter 37 of 44 in [openai/skills](https://skillsdocs.com/openai/skills).
>
> Book (all chapters, one file): https://skillsdocs.com/openai/skills.md
> Machine manifest: https://skillsdocs.com/openai/skills/.well-known/agent-skills/index.json
> Install the book: `npx skills add openai/skills`
> Upstream: https://github.com/openai/skills/blob/main/skills/.curated/vercel-deploy/SKILL.md @ `main`
> Raw bytes, no header: https://raw.githubusercontent.com/openai/skills/main/skills/.curated/vercel-deploy/SKILL.md
> Base for relative paths: https://raw.githubusercontent.com/openai/skills/main/skills/.curated/vercel-deploy/
> Licence: Declared in LICENSE.txt — https://github.com/openai/skills/blob/main/skills/.curated/vercel-deploy/LICENSE.txt
>
> Bundled files (5), referenced from this skill's directory:
>   - `agents/openai.yaml` — https://raw.githubusercontent.com/openai/skills/main/skills/.curated/vercel-deploy/agents/openai.yaml
>   - `assets/vercel-small.svg` — https://raw.githubusercontent.com/openai/skills/main/skills/.curated/vercel-deploy/assets/vercel-small.svg
>   - `assets/vercel.png` — https://raw.githubusercontent.com/openai/skills/main/skills/.curated/vercel-deploy/assets/vercel.png
>   - `LICENSE.txt` — https://raw.githubusercontent.com/openai/skills/main/skills/.curated/vercel-deploy/LICENSE.txt
>   - `scripts/deploy.sh` — https://raw.githubusercontent.com/openai/skills/main/skills/.curated/vercel-deploy/scripts/deploy.sh
>
> Content © its authors, served unmodified. Takedown: https://github.com/DreambaseAI/skillsdocs/issues/new?labels=takedown&title=Takedown+request

<!-- Verbatim upstream SKILL.md follows, YAML frontmatter included. -->

---
name: vercel-deploy
description: 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 Deploy

Deploy any project to Vercel instantly. **Always deploy as preview** (not production) unless the user explicitly asks for production.

## Prerequisites

- Check whether the Vercel CLI is installed **without** escalated permissions (for example, `command -v vercel`).
- Only escalate the actual deploy command if sandboxing blocks the deployment network calls (`sandbox_permissions=require_escalated`).
- The deployment might take a few minutes. Use appropriate timeout values.

## Quick Start

1. Check whether the Vercel CLI is installed (no escalation for this check):

```bash
command -v vercel
```

2. If `vercel` is installed, run this (with a 10 minute timeout):
```bash
vercel deploy [path] -y
```

**Important:** Use a 10 minute (600000ms) timeout for the deploy command since builds can take a while.

3. If `vercel` is not installed, or if the CLI fails with "No existing credentials found", use the fallback method below.

## Fallback (No Auth)

If CLI fails with auth error, use the deploy script:

```bash
skill_dir="<path-to-skill>"

# Deploy current directory
bash "$skill_dir/scripts/deploy.sh"

# Deploy specific project
bash "$skill_dir/scripts/deploy.sh" /path/to/project

# Deploy existing tarball
bash "$skill_dir/scripts/deploy.sh" /path/to/project.tgz
```

The script handles framework detection, packaging, and deployment. It waits for the build to complete and returns JSON with `previewUrl` and `claimUrl`.

**Tell the user:** "Your deployment is ready at [previewUrl]. Claim it at [claimUrl] to manage your deployment."

## Production Deploys

Only if user explicitly asks:
```bash
vercel deploy [path] --prod -y
```

## Output

Show the user the deployment URL. For fallback deployments, also show the claim URL.

**Do not** curl or fetch the deployed URL to verify it works. Just return the link.

## Troubleshooting

### Escalated Network Access

If deployment fails due to network issues (timeouts, DNS errors, connection resets), rerun the actual deploy command with escalated permissions (use `sandbox_permissions=require_escalated`). Do not escalate the `command -v vercel` installation check. The deploy requires escalated network access when sandbox networking blocks outbound requests.

Example guidance to the user:

```
The deploy needs escalated network access to deploy to Vercel. I can rerun the command with escalated permissions—want me to proceed?
```
