.fyi
SkillsMCPPluginsSubagents

Browse by category

DevOps & CI/CD SkillsProductivity & Workflow SkillsOther SkillsProduct & Project Management SkillsDocumentation & Knowledge SkillsCode Review & Refactor SkillsBackend & APIs SkillsAgent Meta & Communication SkillsResearch SkillsSecurity SkillsUX UI & Design SkillsTesting & QA SkillsSee all →

Every Claude Code skill, MCP server, plugin and subagent in one directory. Searchable, comparable, and one command from installed. Live stats from GitHub, npm and PyPI.

We're on Product HuntYour agent's app storeCheck it out →
Agent SkillsMCP ServersPluginsSubagentsCoding Agents
CollectionsOfficial publishersGlossaryFAQBlogSearchSavedFeedback
PrivacyTermsllms.txtSitemap

made with ♥ · © 2026 aaaa.fyi

Independent project · real data from public registries

…/agent-skills/deploy-to-vercel
home/skills/vercel-labs/agent-skills/deploy-to-vercel
vercel-labs avatar

deploy-to-vercel

byvercel-labs· 154 skills

Installs

99k

Stars

29k

Forks

2.6k

Category

DevOps & CI/CD

View on GitHub

TL;DR

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".

How to install deploy-to-vercel?

vercel-labs/agent-skills/deploy-to-vercel
$npx -y skills add vercel-labs/agent-skills --skill deploy-to-vercel

Installs into the current project.

›Prefer a prompt? Paste this to your agent

Use this skill

Run `npx skills use "https://github.com/vercel-labs/agent-skills" --skill "vercel-labs/agent-skills/deploy-to-vercel"` and follow the generated skill instructions now. Read its complete output, redirecting it to a temporary file first if necessary. Resolve relative paths from the supporting-files directory it provides.

Use the whole pack

Use the skills in "https://github.com/vercel-labs/agent-skills" that are relevant to the current task. Run `npx skills add "https://github.com/vercel-labs/agent-skills"` and select the relevant skills, then follow their instructions.

Files · 1

View on GitHub
SKILL.md
1# Deploy to Vercel
2 
3Deploy any project to Vercel. **Always deploy as preview** (not production) unless the user explicitly asks for production.
4 
5The goal is to get the user into the best long-term setup: their project linked to Vercel with git-push deploys. Every method below tries to move the user closer to that state.
6 
7## Step 1: Gather Project State
8 
9Run all four checks before deciding which method to use:
10 
11```bash
12# 1. Check for a git remote
13git remote get-url origin 2>/dev/null
14 
15# 2. Check if locally linked to a Vercel project (either file means linked)
16cat .vercel/project.json 2>/dev/null || cat .vercel/repo.json 2>/dev/null
17 
18# 3. Check if the Vercel CLI is installed and authenticated
19vercel whoami 2>/dev/null
20 
21# 4. List available teams (if authenticated)
22vercel teams list --format json 2>/dev/null
23```
24 
25### Team selection
26 
27If the user belongs to multiple teams, present all available team slugs as a bulleted list and ask which one to deploy to. Once the user picks a team, proceed immediately to the next step — do not ask for additional confirmation.
28 
29Pass the team slug via `--scope` on all subsequent CLI commands (`vercel deploy`, `vercel link`, `vercel inspect`, etc.):
30 
31```bash
32vercel deploy [path] -y --no-wait --scope <team-slug>
33```
34 
35If the project is already linked (`.vercel/project.json` or `.vercel/repo.json` exists), the `orgId` in those files determines the team — no need to ask again. If there is only one team (or just a personal account), skip the prompt and use it directly.
36 
37**About the `.vercel/` directory:** A linked project has either:
38- `.vercel/project.json` — created by `vercel link` (single project linking). Contains `projectId` and `orgId`.
39- `.vercel/repo.json` — created by `vercel link --repo` (repo-based linking). Contains `orgId`, `remoteName`, and a `projects` array mapping directories to Vercel project IDs.
40 
41Either file means the project is linked. Check for both.
42 
43**Do NOT** use `vercel project inspect`, `vercel ls`, or `vercel link` to detect state in an unlinked directory — without a `.vercel/` config, they will interactively prompt (or with `--yes`, silently link as a side-effect). Only `vercel whoami` is safe to run anywhere.
44 
45## Step 2: Choose a Deploy Method
46 
47### Linked (`.vercel/` exists) + has git remote → Git Push
48 
49This is the ideal state. The project is linked and has git integration.
50 
511. **Ask the user before pushing.** Never push without explicit approval:
52 ```
53 This project is connected to Vercel via git. I can commit and push to
54 trigger a deployment. Want me to proceed?
55 ```
56 
572. **Commit and push:**
58 ```bash
59 git add .
60 git commit -m "deploy: <description of changes>"
61 git push
62 ```
63 Vercel automatically builds from the push. Non-production branches get preview deployments; the production branch (usually `main`) gets a production deployment.
64 
653. **Retrieve the preview URL.** If the CLI is authenticated:
66 ```bash
67 sleep 5
68 vercel ls --format json
69 ```
70 The JSON output has a `deployments` array. Find the latest entry — its `url` field is the preview URL.
71 
72 If the CLI is not authenticated, tell the user to check the Vercel dashboard or the commit status checks on their git provider for the preview URL.
73 
74---
75 
76### Linked (`.vercel/` exists) + no git remote → `vercel deploy`
77 
78The project is linked but there's no git repo. Deploy directly with the CLI.
79 
80```bash
81vercel deploy [path] -y --no-wait
82```
83 
84Use `--no-wait` so the CLI returns immediately with the deployment URL instead of blocking until the build finishes (builds can take a while). Then check on the deployment status with:
85 
86```bash
87vercel inspect <deployment-url>
88```
89 
90For production deploys (only if user explicitly asks):
91```bash
92vercel deploy [path] --prod -y --no-wait
93```
94 
95---
96 
97### Not linked + CLI is authenticated → Link first, then deploy
98 
99The CLI is working but the project isn't linked yet. This is the opportunity to get the user into the best state.
100 
1011. **Ask the user which team to deploy to.** Present the team slugs from Step 1 as a bulleted list. If there's only one team (or just a personal account), skip this step.
102 
1032. **Once a team is selected, proceed directly to linking.** Tell the user what will happen but do not ask for separate confirmation:
104 ```
105 Linking this project to <team name> on Vercel. This will create a Vercel
106 project to deploy to and enable automatic deployments on future git pushes.
107 ```
108 
1093. **If a git remote exists**, use repo-based linking with the selected team scope:
110 ```bash
111 vercel link --repo --scope <team-slug>
112 ```
113 This reads the git remote URL and matches it to existing Vercel projects that deploy from that repo. It creates `.vercel/repo.json`. This is much more reliable than `vercel link` (without `--repo`), which tries to match by directory name and often fails when the local folder and Vercel project are named differently.
114 
115 **If there is no git remote**, fall back to standard linking:
116 ```bash
117 vercel link --scope <team-slug>
118 ```
119 This prompts the user to select or create a project. It creates `.vercel/project.json`.
120 
1214. **Then deploy using the best available method:**
122 - If a git remote exists → commit and push (see git push method above)
123 - If no git remote → `vercel deploy [path] -y --no-wait --scope <team-slug>`, then `vercel inspect <url>` to check status
124 
125---
126 
127### Not linked + CLI not authenticated → Install, auth, link, deploy
128 
129The Vercel CLI isn't set up at all.
130 
1311. **Install the CLI (if not already installed):**
132 ```bash
133 npm install -g vercel
134 ```
135 
1362. **Authenticate:**
137 ```bash
138 vercel login
139 ```
140 The user completes auth in their browser. If running in a non-interactive environment where login is not possible, skip to the **no-auth fallback** below.
141 
1423. **Ask which team to deploy to** — present team slugs from `vercel teams list --format json` as a bulleted list. If only one team / personal account, skip. Once selected, proceed immediately.
143 
1444. **Link the project** with the selected team scope (use `--repo` if a git remote exists, plain `vercel link` otherwise):
145 ```bash
146 vercel link --repo --scope <team-slug> # if git remote exists
147 vercel link --scope <team-slug> # if no git remote
148 ```
149 
1505. **Deploy** using the best available method (git push if remote exists, otherwise `vercel deploy -y --no-wait --scope <team-slug>`, then `vercel inspect <url>` to check status).
151 
152---
153 
154### No-Auth Fallback — claude.ai sandbox
155 
156**When to use:** Last resort when the CLI can't be installed or authenticated in the claude.ai sandbox. This requires no authentication — it returns a **Preview URL** (live site) and a **Claim URL** (transfer to your Vercel account).
157 
158```bash
159bash /mnt/skills/user/deploy-to-vercel/resources/deploy.sh [path]
160```
161 
162**Arguments:**
163- `path` - Directory to deploy, or a `.tgz` file (defaults to current directory)
164 
165**Examples:**
166```bash
167# Deploy current directory
168bash /mnt/skills/user/deploy-to-vercel/resources/deploy.sh
169 
170# Deploy specific project
171bash /mnt/skills/user/deploy-to-vercel/resources/deploy.sh /path/to/project
172 
173# Deploy existing tarball
174bash /mnt/skills/user/deploy-to-vercel/resources/deploy.sh /path/to/project.tgz
175```
176 
177The script auto-detects the framework from `package.json`, packages the project (excluding `node_modules`, `.git`, `.env`), uploads it, and waits for the build to complete.
178 
179**Tell the user:** "Your deployment is ready at [previewUrl]. Claim it at [claimUrl] to manage your deployment."
180 
181---
182 
183### No-Auth Fallback — Codex sandbox
184 
185**When to use:** In the Codex sandbox where the CLI may not be authenticated. Codex runs in a sandboxed environment by default — try the CLI first, and fall back to the deploy script if auth fails.
186 
1871. **Check whether the Vercel CLI is installed** (no escalation needed for this check):
188 ```bash
189 command -v vercel
190 ```
191 
1922. **If `vercel` is installed**, try deploying with the CLI:
193 ```bash
194 vercel deploy [path] -y --no-wait
195 ```
196 
1973. **If `vercel` is not installed, or the CLI fails with "No existing credentials found"**, use the fallback script:
198 ```bash
199 skill_dir="<path-to-skill>"
200 
201 # Deploy current directory
202 bash "$skill_dir/resources/deploy-codex.sh"
203 
204 # Deploy specific project
205 bash "$skill_dir/resources/deploy-codex.sh" /path/to/project
206 
207 # Deploy existing tarball
208 bash "$skill_dir/resources/deploy-codex.sh" /path/to/project.tgz
209 ```
210 
211The script handles framework detection, packaging, and deployment. It waits for the build to complete and returns JSON with `previewUrl` and `claimUrl`.
212 
213**Tell the user:** "Your deployment is ready at [previewUrl]. Claim it at [claimUrl] to manage your deployment."
214 
215**Escalated network access:** Only escalate the actual deploy command if sandboxing blocks the network call (`sandbox_permissions=require_escalated`). Do **not** escalate the `command -v vercel` check.
216 
217---
218 
219## Agent-Specific Notes
220 
221### Claude Code / terminal-based agents
222 
223You have full shell access. Do NOT use the `/mnt/skills/` path. Follow the decision flow above using the CLI directly.
224 
225For the no-auth fallback, run the deploy script from the skill's installed location:
226```bash
227bash ~/.claude/skills/deploy-to-vercel/resources/deploy.sh [path]
228```
229The path may vary depending on where the user installed the skill.
230 
231### Sandboxed environments (claude.ai)
232 
233You likely cannot run `vercel login` or `git push`. Go directly to the **no-auth fallback — claude.ai sandbox**.
234 
235### Codex
236 
237Codex runs in a sandbox. Check if the CLI is available first, then fall back to the deploy script. Go to the **no-auth fallback — Codex sandbox**.
238 
239---
240 
241## Output
242 
243Always show the user the deployment URL.
244 
245- **Git push:** Use `vercel ls --format json` to find the preview URL. If the CLI isn't authenticated, tell the user to check the Vercel dashboard or commit status checks.
246- **CLI deploy:** Show the URL returned by `vercel deploy --no-wait`. Use `vercel inspect <url>` to check build status and report it to the user.
247- **No-auth fallback:** Show both the preview URL and the claim URL:
248 ```
249 Deployment successful!
250 
251 Preview URL: https://my-app-abc123.vercel.app
252 Claim URL: https://vercel.com/claim-deployment?code=...
253 
254 View your site at the Preview URL.
255 To transfer this deployment to your Vercel account, visit the Claim URL.
256 ```
257 
258**Do not** curl or fetch the deployed URL to verify it works. Just return the link.
259 
260---
261 
262## Troubleshooting
263 
264### Network Egress Error (claude.ai)
265 
266If deployment fails due to network restrictions on claude.ai, tell the user:
267 
268```
269Deployment failed due to network restrictions. To fix this:
270 
2711. Go to https://claude.ai/settings/capabilities
2722. Add *.vercel.com to the allowed domains
2733. Try deploying again
274```
275 
276### Escalated Network Access (Codex / sandboxed environments)
277 
278If deployment fails due to network issues (timeouts, DNS errors, connection resets) in a sandboxed environment, rerun with escalated permissions (`sandbox_permissions=require_escalated`). Do not escalate the initial CLI availability check — only escalate the actual deploy command.
279 
280Example guidance to the user:
281```
282The deploy needs escalated network access to deploy to Vercel. I can rerun
283the command with escalated permissions — want me to proceed?
284```
285 
286### CLI Auth Failure
287 
288If `vercel login` or `vercel deploy` fails with authentication errors, fall back to the no-auth deploy script (claude.ai or Codex variant, depending on the environment).

Security

Review

  • Gen Agent Trust Hubpass
  • Socketpass
  • Snykpass
  • Runlayerwarn
  • ZeroLeakspass

Preview

vercel-labs/agent-skillsvercel-labs/agent-skills

$ npx -y skills add vercel-labs/agent-skills --skill deploy-to-vercel

▸ installing to .claude/skills…

✓ deploy-to-vercel ready

Repovercel-labs/agent-skills
TypeSkills
CategoryDevOps & CI/CD
ForOps
UpdatedJul 2026
License—
First seenJul 26, 2026

Tags

Skill

Related

6 picks
Type
  1. mattpocock avatarsetup-matt-pocock-skillsConfigure this repo for the engineering skills — set up its issue tracker, triage label vocabulary, and domain doc layout.SkillsJul 2026495k189k
  2. microsoft avatarmicrosoft-foundryDeploy, evaluate, fine-tune, and manage Foundry agents end-to-end with azd: hosted agent scaffold/run/deploy, prompt agent create, batch eval, continuous eval,…SkillsJul 2026490k1.3k
  3. microsoft avatarazure-deployExecute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files.SkillsJul 2026485k1.3k
  4. microsoft avatarazure-preparePrepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd)…SkillsJul 2026485k1.3k
  5. microsoft avatarazure-validatePre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity…SkillsJul 2026484k1.3k
  6. microsoft avatarazure-aigatewayConfigure Azure API Management as an AI Gateway for AI models, MCP tools, and agents.SkillsJul 2026484k1.3k