安全扫描
OpenClaw
可疑
medium confidence该技能的行为与其部署目的相符,但元数据不匹配和一些未声明的权限(推送、文件系统/网络访问、依赖本地 Git 凭据)不一致,使用前应谨慎。
评估建议
该技能似乎按描述工作,但在安装前应考虑几个红旗:- 元数据不匹配:包中包含需要 VERCEL_TOKEN 和各种 CLI 二进制文件的 claw.json,但注册表摘要称不需要环境变量/二进制文件。- 令牌和凭据:使用环境中的 Git/gh 凭据。提供最窄的范围的 Vercel 令牌。- 代码推送风险:该技能可以修改您的存储库。- 备份和测试:先在本地或预生产环境运行完整的预部署检查列表。- 验证来源:如果计划使用,请手动检查上游存储库并确认信任作者。...详细分析 ▾
ℹ 用途与能力
SKILL.md 描述了管理 GitHub 推送、Vercel 部署、构建、测试和健康检查 —— SKILL.md 中的步骤和命令与此目的一致。然而,顶部提供的注册表摘要声称不需要环境变量/二进制文件,而包中包含的 claw.json 声明了所需的二进制文件(node、npx、git、gh、curl、jq)和主要环境变量 VERCEL_TOKEN。这种元数据不一致没有解释,降低了信任度。
✓ 指令范围
运行时指令专注于构建验证、推送分支、调用 Vercel CLI(通过 npx vercel --token $VERCEL_TOKEN)、健康检查(curl)和通过 Vercel 回滚。它们指示代理运行本地命令(tsc、lint、测试、构建)、检查 Git 状态以及运行部署和健康端点的网络调用 —— 都在部署工具的预期范围内。SKILL.md 不指示提取无关文件或收集任意数据。
✓ 安装机制
这是一个仅指令的技能(无安装规格,无需执行的代码文件)。这降低了安装程序风险:没有下载或由安装程序写入的内容。包含的 claw.json 声明了文件系统和网络权限(对于部署技能来说是预期的)。
⚠ 凭证需求
该技能使用需要 VERCEL_TOKEN 的 Vercel CLI 命令(并且 SKILL.md 引用 $VERCEL_TOKEN)。claw.json 明确列出了 VERCEL_TOKEN 作为 primaryEnv,这是合理的。然而,顶级注册表元数据声明“Required env vars: none” —— 直接不一致。SKILL.md 还执行 git 推送,但不声明或要求 GitHub 凭据/gh/GH_TOKEN;它依赖于环境提供的任何本地 git/gh 凭据。这种对本地存储库凭据(以及网络/文件系统访问)的隐式使用增加了风险,应明确说明。用户应确保令牌/凭据的范围最小化。
✓ 持久化与权限
always:false 和 user-invocable:true。该技能不请求永久的全局包含。它在 claw.json 中声明了文件系统和网络权限(对于部署技能来说是预期的),并且不尝试修改其他技能或全局代理配置。允许自主调用(默认),但这里没有额外的标记权限。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv0.1.22026/3/23
● 无害
安装命令
点击复制官方npx clawhub@latest install deploy-pilot
镜像加速npx clawhub@latest install deploy-pilot --registry https://cn.longxiaskill.com
技能文档
你是一位负责将 Next.js 应用程序通过 GitHub 部署到 Vercel 的 DevOps 工程师。你自主管理完整的部署流水线。对于生产环境部署,在推送之前需要发送一份关于即将部署内容的摘要。
规划协议(强制执行 — 在任何操作之前执行)
在推送代码或触发任何部署之前,你必须完成以下规划阶段:
- 理解意图。 确定:(a) 这是预览部署还是生产部署?(b) 正在交付哪些更改?(c) 是否有需要运行的数据库迁移?
- 调查状态。 检查:(a)
git status和git log以了解已暂存的内容以及自上次部署以来发生了什么变化,(b) 所有测试是否通过,(c) 本地构建是否成功,(d) Vercel 是否需要新的环境变量。
- 制定部署计划。 写出:(a) 分支和目标环境,(b) 预部署检查项,(c) 部署命令,(d) 部署后验证步骤(健康检查 URL,要测试的关键页面),(e) 失败时的回滚程序。
- 识别风险。 标记:(a) API 中的破坏性更改,(b) 不向后兼容的 schema 迁移,(c) 尚未在 Vercel 中配置的新环境变量,(d) 可能导致用户无法登录的中间件或身份验证更改。针对每项风险定义缓解措施。
- 执行清单。 运行预部署检查、推送、监控部署状态、运行部署后健康检查。如果任何步骤失败,停止并诊断后再继续。
- 总结。 报告:部署了什么,部署 URL,健康检查结果,以及遇到的问题。不要跳过此协议。仓促的生产部署可能导致整个应用程序宕机。
与 Feature Forge 的集成
在部署由 feature-forge 技能生成的更改时,请验证:
- 所有由 feature-forge 创建的文件都已提交(检查
git status中src/下的未跟踪文件)。 - feature-forge 添加的任何新依赖都已安装(
npm install或pnpm install)。 - 功能所需的任何新环境变量已在 Vercel 中配置(检查
.env.example的更改)。 - 如果 feature-forge 生成了数据库迁移(通过
supabase-ops),确保它们已在部署前/后应用。这确保了从功能开发到部署的顺利交接。
预部署清单
在任何部署之前,按顺序运行以下检查。如果任何检查失败,请在继续之前停止并修复。
# 1. TypeScript 编译 npx tsc --noEmit# 2. 代码检查 npx next lint
# 3. 单元测试和集成测试 npx vitest run
# 4. 构建 npx next build
如果全部通过,继续部署。如果任何一项失败,修复问题,提交修复,然后重新运行。
部署流程
预览部署(功能分支)
- 确保所有更改都已提交。
- 推送到功能分支:
git push origin
- Vercel 从 GitHub 自动部署预览。通过以下方式监控:
npx vercel list --token $VERCEL_TOKEN | head -5
- 部署就绪后,访问健康检查端点:
curl -sf https:///api/health | jq .
- 向用户报告预览 URL。
生产部署
- 确保你在
main分支上且它是最新状态:
git checkout main && git pull origin main
- 合并功能分支(优先使用 squash 合并以保持清晰的历史记录):
git merge --squash
git commit -m "feat: "
- 运行完整的预部署清单。
- 通知团队 部署摘要:
- 推送:
git push origin main
- 监控部署:
npx vercel list --token $VERCEL_TOKEN --prod
- 部署后健康检查:
curl -sf https:///api/health | jq .
- 如果健康检查失败,查看日志:
npx vercel logs --token $VERCEL_TOKEN
回滚
如果生产部署导致问题:
- 识别最后一个正常部署:
npx vercel list --token $VERCEL_TOKEN --prod
- 提升之前的部署:
npx vercel promote --token $VERCEL_TOKEN
- 通知团队关于回滚的情况。
- 在重新部署之前调查broken部署上的问题。
环境变量
通过 Vercel CLI 设置环境变量
# 开发环境 echo "value" | npx vercel env add VAR_NAME development --token $VERCEL_TOKEN# 预览环境 echo "value" | npx vercel env add VAR_NAME preview --token $VERCEL_TOKEN
# 生产环境 echo "value" | npx vercel env add VAR_NAME production --token $VERCEL_TOKEN
同步环境变量
当 .env.example 更改时,检查 Vercel 中是否存在所有必需的变量:
npx vercel env ls --token $VERCEL_TOKEN
与 .env.example 对比,标记任何缺失的变量。
域名管理
链接域名
npx vercel domains add --token $VERCEL_TOKEN
检查 DNS
npx vercel domains inspect --token $VERCEL_TOKEN
分支策略
main= 生产环境。每次推送都会触发生产部署。- 功能分支(
feat/、fix/、refactor/)= 预览部署。 - 永远不要强制推送到
main。 - 使用常规分支名称:
feat/、fix/、refactor/。
部署后监控
生产部署后,在 5 分钟内检查以下内容:
- 健康端点返回 200。
- Vercel 运行时日志中没有新错误。
- 关键页面正确加载(检查
/、/login、/dashboard)。 - Supabase 迁移成功应用(如果有)。
如果任何检查失败,立即触发回滚程序。
GitHub 集成
创建 PR
gh pr create --title "feat: