SuperAPI AI Directory

vercel-deploy

Deployment & operations

View repository

Updated 10-15 20:30

About this skill

Vercel Deploy

Deploy any static site directory to Vercel using claimable deployments. No authentication, no config, no build step — just point at a directory and get a live URL.

When to use

After generating a static site with any other skill (landing-page-builder, scroll-sequence, or manually), run this to put it live. Also useful when the user has an existing static site directory they want to host.

Workflow

1. Identify the directory

The user provides a path to a directory containing static files. If they don't specify one, look for the most recently generated project (e.g., /tmp/landing-page/, or whatever the upstream skill produced).

The directory must contain an index.html at the root. If there's a single .html file with a different name, the deploy script will rename it automatically.

2. Check size

The Vercel deploy endpoint has upload limits. Before deploying, check the total size:

du -sh <directory>
  • Under 4.5MB (compressed): Deploy directly — this is the Vercel function payload limit
  • Over 4.5MB: Reduce asset sizes before deploying

For scroll-sequence sites, the 1920px/25fps extraction often exceeds this limit. To fit, re-extract frames at lower resolution and fps:

ffmpeg -y -i video.mp4 -vf "fps=12,scale=960:-1" -c:v libwebp -quality 65 frames/frame_%04d.webp

Then update FRAME_COUNT in js/app.js to match the new count. A typical 8-second video at 960px/12fps produces ~96 frames at ~2MB compressed — well within limits.

3. Deploy

Run the deploy script:

bash <skill-path>/scripts/deploy.sh <directory-or-tgz>

The input can be a directory or a pre-built .tgz file. When given a directory, the script packages it automatically (excluding node_modules and .git).

The script:

  • Errors if no .html files are found; warns if multiple exist without an index.html
  • Renames a single non-index.html file automatically
  • Packages the directory into a .tgz and POSTs it to Vercel's claimable deploy endpoint
  • Returns JSON with previewUrl, claimUrl, deploymentId, projectId

4. Present results

Tell the user:

  • Preview URL: The live site — share this anywhere
  • Claim URL: Transfer ownership to their Vercel account (optional, expires after 7 days)

If the deploy fails, check:

  • Is curl available?
  • Is the directory path correct?
  • Is index.html present?
  • Is the payload under the size limit?