
Vercel Deploy
Get an instant Vercel preview URL from your repo folder without logging in, then claim the deployment into your account when ready.
Overview
Vercel Deploy is an agent skill for the Ship phase that packages a project and returns a Vercel preview URL and claim link without upfront authentication.
Install
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-deployWhat is this skill?
- Packages project tarball excluding node_modules and .git
- Auto-detects framework from package.json before upload
- Runs deploy.sh with optional path or pre-built .tgz argument
- Returns live Preview URL plus Claim URL to transfer ownership
- No Vercel authentication required for the initial preview
Adoption & trust: 522 installs on skills.sh; 27.7k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have a build-ready folder but no quick way to put it on the internet and share a URL from the agent session.
Who is it for?
Indie hackers validating a UI, sharing a stakeholder demo, or smoke-testing production config on Vercel before full CI setup.
Skip if: Long-term production governance, multi-environment secrets strategy, or teams that require audited enterprise deploy pipelines only.
When should I use this skill?
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”.
What do I get? / Deliverables
A live preview deployment URL and optional claim flow land in the terminal so you can test, demo, or attach the site to your Vercel account.
- Live Preview URL on vercel.app
- Claim URL for Vercel account transfer
- Terminal log with detected framework name
Recommended Skills
Journey fit
How it compares
One-shot shell deploy skill—not a full GitHub Actions or infrastructure-as-code platform.
Common Questions / FAQ
Who is vercel-deploy for?
Solo builders and agent users who want a fast Vercel preview from a local or mounted project path without configuring OAuth first.
When should I use vercel-deploy?
When you say deploy my app, create a preview deployment, push this live, or need a shareable link right after Build or during Ship launch prep.
Is vercel-deploy safe to install?
It runs a deploy script with network upload; check the Security Audits panel on this page and review deploy.sh in your skill copy before running on sensitive repos.
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";