
Vercel Deploy
Deploy a local frontend or full-stack app to Vercel via the claimable deploy API with automatic framework detection from package.json.
Overview
Vercel Deploy is an agent skill for the Ship phase that runs a bash script to publish a project via a claimable Vercel deploy API with package.json framework detection.
Install
npx skills add https://github.com/bytedance/deer-flow --skill vercel-deployWhat is this skill?
- Bash deploy script posts to a claimable Vercel deploy endpoint and returns previewUrl, claimUrl, deploymentId, projectId
- Framework detection from package.json for Next.js, Remix, Astro, SvelteKit, Nuxt, and many other stacks
- Optional project-path argument for monorepo or subdirectory deploys
- Ordered dependency checks to pick the most specific framework match
- Designed as deer-flow companion for one-command preview hosting
- 15+ framework dependency checks ordered in detect_framework
Adoption & trust: 1.3k installs on skills.sh; 70.7k GitHub stars; 0/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have a working app locally but waste cycles manually configuring Vercel projects for every agent-driven preview.
Who is it for?
Solo builders using deer-flow or similar agent pipelines who need quick Vercel previews from standard JavaScript framework repos.
Skip if: Production hardening, multi-region infra, or deployments that cannot use the documented remote deploy endpoint and bash execution.
When should I use this skill?
You need to deploy a project path to Vercel via the claimable deploy endpoint and receive previewUrl and claimUrl JSON.
What do I get? / Deliverables
You get JSON with preview and claim links plus deployment identifiers so you can share a live build and attach it to your Vercel account.
- JSON with previewUrl, claimUrl, deploymentId, and projectId
- Vercel preview deployment for the submitted project tree
Recommended Skills
Journey fit
Ship/launch is canonical because the skill executes deployment and returns preview and claim URLs after the product exists locally. Launch subphase covers pushing builds to a hosted preview environment rather than local testing or post-launch growth work.
How it compares
Opinionated one-shot preview deploy script, not a full Terraform or GitHub Actions pipeline replacement.
Common Questions / FAQ
Who is vercel-deploy for?
It is for indie developers and agent workflows that already use Vercel and want automated preview deploys from a project directory with detected framework metadata.
When should I use vercel-deploy?
Use it in Ship/launch after your app builds locally and you need a claimable preview URL—for demos, QA, or closing an agent task with a live link.
Is vercel-deploy safe to install?
The skill runs bash and calls an external deploy URL; review the Security Audits panel on this page and confirm you trust the endpoint before sending project files.
SKILL.md
READMESKILL.md - Vercel Deploy
#!/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"; then echo "gatsby"; return; fi # Remix if has_dep "@remix-run/"; then echo "remix"; return; fi # React Router (v7 framework mode) if has_dep "@react-router/"; then echo "react-router"; return; fi # TanStack Start if has_dep "@tanstack/start"; then echo "tanstack-start"; return; fi # Astro if has_dep "astro"; then echo "astro"; return; fi # Hydrogen (Shopify) if has_dep "@shopify/hydrogen"; then echo "hydrogen"; return; fi # SvelteKit if has_dep "@sveltejs/kit"; then echo "sveltekit-1"; return; fi # Svelte (standalone) if has_dep "svelte"; then echo "svelte"; return; fi # Nuxt if has_dep "nuxt"; then echo "nuxtjs"; return; fi # Vue with Vitepress if has_dep "vitepress"; then echo "vitepress"; return; fi # Vue with Vuepress if has_dep "vuepress"; then echo "vuepress"; return; fi # Gridsome if has_dep "gridsome"; then echo "gridsome"; return; fi # SolidStart if has_dep "@solidjs/start"; then echo "solidstart-1"; return; fi # Docusaurus if has_dep "@docusaurus/core"; then echo "docusaurus-2"; return; fi # RedwoodJS if has_dep "@redwoodjs/"; then echo "redwoodjs"; return; fi # Hexo if has_dep "hexo"; then echo "hexo"; return; fi # Eleventy if has_dep "@11ty/eleventy"; then echo "eleventy"; return; fi # Angular / Ionic Angular if has_dep "@ionic/angular"; then echo "ionic-angular"; return; fi if has_dep "@angular/core"; then echo "angular"; return; fi # Ionic React if has_dep "@ionic/react"; then echo "ionic-react"; return; fi # Create React App if has_dep "react-scripts"; then echo "create-react-app"; return; fi # Ember if has_dep "ember-cli" || has_dep "ember-source"; then echo "ember"; return; fi # Dojo if has_dep "@dojo/framework"; then echo "dojo"; return; fi # Polymer if has_dep "@polymer/"; then echo "polymer"; return; fi # Preact if has_dep "preact"; then echo "preact"; return; fi # Stencil if has_dep "@stencil/core"; then echo "stencil"; return; fi # UmiJS if has_dep "umi"; then echo "umijs"; return; fi # Sapper (legacy Svelte) if has_dep "sapper"; then echo "sapper"; return; fi # Saber if has_dep "saber"; then echo "saber"; return; fi # Sanity if has_dep "sanity"; then echo "sanity-v3"; return; fi if has_dep "@sanity/"; then echo "sanity"; return; fi # Storybook if has_dep "@storybook/"; then echo "storybook"; return; fi # NestJS if has_dep "@nestjs/core"; then echo "nestjs"; return; fi # Elysia if has_dep "elysia"; then echo "elysia"; return; fi # Hono if has_dep "hono"; then echo "hono"; return; fi # Fastify if has_dep "fastify"; then echo "fastify"; return; fi # h3 if has_dep "h3"; then echo "h3"; return; fi # Nitro if has_dep "nitropack"; then echo "nitro"; return; fi # Express if has_dep "express"; then echo "express"; return; fi # Vite (generic - check last among JS frameworks) if has_dep "vite"; then echo "vite"; return; fi # Parcel if has_dep "parcel"; then