Vercel 部署:发布应用并返回预览链接
把应用或站点发布到 Vercel,处理项目配置与域名。
做出来什么
把项目部署到 Vercel,返回含 previewUrl 和 claimUrl 的 JSON。
安装
d=$(mktemp -d);
git -C "$d" init -q;
git -C "$d" fetch -q --depth 1 --filter=blob:none https://github.com/openai/skills.git 49f948faa9258a0c61caceaf225e179651397431;
git -C "$d" sparse-checkout set --no-cone skills/.curated/vercel-deploy;
git -C "$d" checkout -q FETCH_HEAD;
mkdir -p ~/.claude/skills/vercel-deploy;
cp -R "$d/skills/.curated/vercel-deploy/." ~/.claude/skills/vercel-deploy/;
rm -rf "$d"
装到 ~/.claude/skills/vercel-deploy;换 Codex、Hermes 只改这段路径。
--- name: vercel-deploy description: Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment". --- # Vercel Deploy Deploy any project to Vercel instantly. **Always deploy as preview** (not production) unless the user explicitly asks for production. ## Prerequisites - Check whether the Vercel CLI is installed **without** escalated permissions (for example, `command -v vercel`). - Only escalate the actual deploy command if sandboxing blocks the deployment network calls (`sandbox_permissions=require_escalated`). - The deployment might take a few minutes. Use appropriate timeout values. ## Quick Start 1. Check whether the Vercel CLI is installed (no escalation for this check): ```bash command -v vercel ``` 2. If `vercel` is installed, run this (with a 10 minute timeout): ```bash vercel deploy [path] -y ``` **Important:** Use a 10 minute (600000ms) timeout for the deploy command since builds can take a while. 3. If `vercel` is not installed, or if the CLI fails with "No existing credentials found", use the fallback method below. ## Fallback (No Auth) If CLI fails with auth error, use the deploy script: ```bash skill_dir="<path-to-skill>" # Deploy current directory bash "$skill_dir/scripts/deploy.sh" # Deploy specific project bash "$skill_dir/scripts/deploy.sh" /path/to/project # Deploy existing tarball bash "$skill_dir/scripts/deploy.sh" /path/to/project.tgz ``` The script handles framework detection, packaging, and deployment. It waits for the build to complete and returns JSON with `previewUrl` and `claimUrl`. **Tell the user:** "Your deployment is ready at [previewUrl]. Claim it at [claimUrl] to manage your deployment." ## Production Deploys Only if user explicitly asks: ```bash vercel deploy [path] --prod -y ``` ## Output Show the user the deployment URL. For fallback deployments, also show the claim URL. **Do not** curl or fetch the deployed URL to verify it works. Just return the link. ## Troubleshooting ### Escalated Network Access If deployment fails due to network issues (timeouts, DNS errors, connection resets), rerun the actual deploy command with escalated permissions (use `sandbox_permissions=require_escalated`). Do not escalate the `command -v vercel` installation check. The deploy requires escalated network access when sandbox networking blocks outbound requests. Example guidance to the user: ``` The deploy needs escalated network access to deploy to Vercel. I can rerun the command with escalated permissions—want me to proceed? ```