
Vercel Deploy
Push a local or packaged project to Vercel and get an immediate preview URL plus a claim link—without logging into Vercel first.
Overview
Vercel Deploy is an agent skill for the Ship phase that packages and uploads a project to Vercel and returns preview and claim URLs.
Install
npx skills add https://github.com/vercel-labs/vercel-skills --skill vercel-deployWhat is this skill?
- deploy.sh packages project tarball excluding node_modules and .git
- Auto-detects framework from package.json before upload
- Returns Preview URL and Claim URL to attach deployment to your Vercel account
- No Vercel authentication required for the initial preview deploy
- Accepts directory path or existing .tgz archive argument
- Excludes node_modules and .git from deployment package
- Returns two URLs: Preview URL and Claim URL
Adoption & trust: 47 installs on skills.sh; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You want a shareable live deployment link now but do not want to interrupt flow for Vercel CLI login or manual dashboard steps.
Who is it for?
Indie hackers ready to ship a Next.js or auto-detected framework app from a local tree or tarball.
Skip if: Self-hosted Docker-only targets, air-gapped environments, or production governance that forbids unauthenticated third-party upload flows.
When should I use this skill?
User requests deployment such as “Deploy my app”, “Create a preview deployment”, “Deploy and give me the link”, or “Push this live”.
What do I get? / Deliverables
You receive a working Preview URL and a Claim URL so you can demo immediately and attach the deployment to your Vercel account later.
- Live Preview URL on vercel.app
- Claim URL for Vercel account transfer
Recommended Skills
Journey fit
Deployment requests map to getting a build live, which sits in Ship before or alongside public launch. Preview and production deploy actions are launch-prep and go-live workflows on Vercel’s platform.
How it compares
One-shot preview deploy skill—not a full CI/CD pipeline replacement or Terraform-style infra module.
Common Questions / FAQ
Who is vercel-deploy for?
Solo builders and small teams using coding agents who deploy web apps to Vercel and want preview plus claim links in one step.
When should I use vercel-deploy?
In Ship (launch) when you ask to deploy, get a preview link, or push live; occasionally in Validate (prototype) to host a quick shareable demo.
Is vercel-deploy safe to install?
The skill packages and uploads your project over the network—review the Security Audits panel on this page and exclude secrets from the tarball before deploying.
SKILL.md
READMESKILL.md - Vercel Deploy
# 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/user/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/user/vercel-deploy/scripts/deploy.sh # Deploy specific project bash /mnt/skills/user/vercel-deploy/scripts/deploy.sh /path/to/project # Deploy existing tarball bash /mnt/skills/user/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 Egress 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 ``` #!/bin/bash # Vercel Deployment Script (via claimable deploy endpoint) # Usage: ./deploy.sh [project-path] # Returns: JSON with previewUrl, claimUrl, deploymentId, projectId set -e DEPLOY_ENDPOINT="https://claude-skills-deploy.vercel.com/api/deploy" # Detect framework from package.json detect_framework() { local pkg_json="$1" if [ ! -f "$pkg_json" ]; then echo "null" return fi local content=$(cat "$pkg_json") # Helper to check if a package exists in dependencies or devDependencies has_dep() { echo "$content" | grep -q "\"$1\"" } # Order matters - check more specific frameworks first # Blitz if has_dep "blitz"; then echo "blitzjs"; return; fi # Next.js if has_dep "next"; then echo "nextjs"; return; fi # Gatsby if has_dep "gatsby";