vercel-deploy — Claude Code skill: ship to Vercel with no login
The skill tarballs your project, picks the framework on its own and pushes it to Vercel. You get a preview link plus a claim link for moving the deploy into your account.
npx skills add bytedance/deer-flow --skill vercel-deploy -a claude-codeWhat vercel-deploy does
Everything runs through bash /mnt/skills/public/vercel-deploy/scripts/deploy.sh [path]. Pass a project folder or an existing .tgz; with no argument the current directory is used. The archive leaves out node_modules and .git, then the script reads package.json to name the framework — Next.js, Nuxt, SvelteKit, Astro, Express, Hono and others are covered. A plain HTML project has no package.json, so the framework stays empty; a lone .html file that isn't called index.html gets renamed so it serves from /.
No authentication is involved. The run prints a Preview URL and a Claim URL, and also writes JSON to stdout with previewUrl, claimUrl, deploymentId and projectId for whatever consumes it next. Keep the Claim URL around — that's the handle for transferring the deployment to your own Vercel account.
On claude.ai the upload regularly fails because of network restrictions. Allow *.vercel.com under capabilities in settings and run it again. The skill installs from the bytedance/deer-flow repository into Claude, Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode.
What it helps with
- put a project online on Vercel with one command
- hand a client a working preview link
- deploy static HTML with no build step
- move a deployment into your own Vercel account
- capture deploy output as JSON for another script
Example prompts for the agent
- Deploy my app to Vercel and give me the link
- Create a preview deployment of
./frontend - Push this live and show me the claim link
How to install vercel-deploy
1Skills CLI (Vercel)
npx skills add bytedance/deer-flow --skill vercel-deploy -a claude-code2Manually: put the files in place
~/.claude/skills/vercel-deploy/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/vercel-deploy/
1Skills CLI (Vercel)
npx skills add bytedance/deer-flow --skill vercel-deploy -a codex2Manually: put the files in place
.agents/skills/vercel-deploy/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add bytedance/deer-flow --skill vercel-deploy -a cursor2Manually: put the files in place
.cursor/skills/vercel-deploy/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install bytedance/deer-flow vercel-deploy2Manually: put the files in place
.github/skills/vercel-deploy/SKILL.md1Skills CLI (Vercel)
npx skills add bytedance/deer-flow --skill vercel-deploy -a gemini-cli2Platform CLI
gemini skills install https://github.com/bytedance/deer-flow --path skills/public/vercel-deployManually: put the files in place
.devin/skills/vercel-deploy/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add bytedance/deer-flow --skill vercel-deploy -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about vercel-deploy
How do I install vercel-deploy in Claude Code?
Run npx skills add bytedance/deer-flow --skill vercel-deploy -a claude-code. The skill file then lands at ~/.claude/skills/vercel-deploy/SKILL.md.
What does vercel-deploy do?
It packs the project into a tarball, detects the framework from package.json, uploads the build to Vercel and returns a Preview URL along with a Claim URL for taking ownership of the deployment.
Do I need a Vercel account or token?
No, there is no authentication step. The Claim URL only matters if you later want the deployment under your own account.
Source text
SKILL.md · MIT
---
name: vercel-deploy
description: Deploy applications and websites to Vercel. Use this skill when the user requests deployment actions such as "Deploy my app", "Deploy this to production", "Create a preview deployment", "Deploy and give me the link", or "Push this live". No authentication required - returns preview URL and claimable deployment link.
metadata:
author: vercel
version: "1.0.0"
---
# Vercel Deploy
Deploy any project to Vercel instantly. No authentication required.
## How It Works
1. Packages your project into a tarball (excludes `node_modules` and `.git`)
2. Auto-detects framework from `package.json`
3. Uploads to deployment service
4. Returns **Preview URL** (live site) and **Claim URL** (transfer to your Vercel account)
## Usage
```bash
bash /mnt/skills/public/vercel-deploy/scripts/deploy.sh [path]
```
**Arguments:**
- `path` - Directory to deploy, or a `.tgz` file (defaults to current directory)
**Examples:**
```bash
# Deploy current directory
bash /mnt/skills/public/vercel-deploy/scripts/deploy.sh
# Deploy specific project
bash /mnt/skills/public/vercel-deploy/scripts/deploy.sh /path/to/project
# Deploy existing tarball
bash /mnt/skills/public/vercel-deploy/scripts/deploy.sh /path/to/project.tgz
```
## Output
```
Preparing deployment...
Detected framework: nextjs
Creating deployment package...
Deploying...
✓ Deployment successful!
Preview URL: https://skill-deploy-abc123.vercel.app
Claim URL: https://vercel.com/claim-deployment?code=...
```
The script also outputs JSON to stdout for programmatic use:
```json
{
"previewUrl": "https://skill-deploy-abc123.vercel.app",
"claimUrl": "https://vercel.com/claim-deployment?code=...",
"deploymentId": "dpl_...",
"projectId": "prj_..."
}
```
## Framework Detection
The script auto-detects frameworks from `package.json`. Supported frameworks include:
- **React**: Next.js, Gatsby, Create React App, Remix, React Router
- **Vue**: Nuxt, Vitepress, Vuepress, Gridsome
- **Svelte**: SvelteKit, Svelte, Sapper
- **Other Frontend**: Astro, Solid Start, Angular, Ember, Preact, Docusaurus
- **Backend**: Express, Hono, Fastify, NestJS, Elysia, h3, Nitro
- **Build Tools**: Vite, Parcel
- **And more**: Blitz, Hydrogen, RedwoodJS, Storybook, Sanity, etc.
For static HTML projects (no `package.json`), framework is set to `null`.
## Static HTML Projects
For projects without a `package.json`:
- If there's a single `.html` file not named `index.html`, it gets renamed automatically
- This ensures the page is served at the root URL (`/`)
## Present Results to User
Always show both URLs:
```
✓ Deployment successful!
- [Preview URL](https://skill-deploy-abc123.vercel.app)
- [Claim URL](https://vercel.com/claim-deployment?code=...)
View your site at the Preview URL.
To transfer this deployment to your Vercel account, visit the Claim URL.
```
## Troubleshooting
### Network Restriction Error
If deployment fails due to network restrictions (common on claude.ai), tell the user:
```
Deployment failed due to network restrictions. To fix this:
1. Go to https://claude.ai/settings/capabilities
2. Add *.vercel.com to the allowed domains
3. Try deploying again
```
© vercel · MIT · bytedance/deer-flow