mcpField
D
deploy-skills-in-antigravity

deploy-skills-in-antigravity

github.com/derailed-dashAgent 工作流2693 次安装6 天前更新
代码仓库

关于 deploy-skills-in-antigravity

用于安装或更新 Agent 技能,并可选择将其迁移到 Antigravity 的工作流程技能。它会先检查 `find-skills`,否则使用 `npx skills` 命令,并包含验证步骤。

主要功能

  1. 01安装前检查 `find-skills`
  2. 02通过 CLI 备用方式安装或更新技能
  3. 03在 Antigravity 中迁移前征求确认
  4. 04验证文件与技能注册状态
  5. 05更新 `skills.json` 注册表

适用场景

  1. 01从仓库 URL 安装技能
  2. 02更新全局安装的技能
  3. 03将技能迁移到 Antigravity 配置目录
  4. 04检查技能文件与 CLI 注册状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/derailed-dash/dazbo-agent-skills --skill deploy-skills-in-antigravity

安装后在 Claude Code 中输入/deploy-skills-in-antigravity确认已加载。

详细介绍

在 Antigravity 中部署 Skills

本 skill 提供了一套结构化工作流,用于下载、安装和迁移新的 agent skills。它首先检查 find-skills skill 是否可用,以处理 skill 的发现、安装或升级。如果 find-skills 不可用,则回退到直接使用 CLI 安装命令。

安装或升级完成后,如果在 Antigravity 环境中运行(即 ~/.gemini 存在),它会提示用户确认是否要将 skills 迁移到 ~/.gemini/config/skills/,以便它们在所有 Antigravity 工具中都可用。

目录

触发条件

本 skill 必须在以下情况触发:

  • 用户要求下载、安装、导入、设置或更新新的 agent skill。
  • 用户提到从某个仓库或特定分支/提交添加 skill。
  • 用户或 agent 提到诸如 npx skills add、skills add、skills install 或 npx skills 之类的 CLI 命令。
  • 用户提供仓库 URL(例如 https://github.com/...)并要求"添加"或"集成"其中的 skills。

前置条件

  • Node.js:系统必须提供 npx 才能运行 skills 工具。
  • 访问权限:确保你对 ~/.agents/skills/ 拥有目录写入权限;如果进行迁移,还需对 ~/.gemini/config/skills/ 拥有写入权限。

安装与迁移工作流

复制此清单并跟踪你的进度:

Skill Deployment Progress:
- [ ] Step 1: Check for `find-skills` availability
- [ ] Step 2: Install or upgrade skills
- [ ] Step 3: Check for Antigravity environment and prompt user for relocation
- [ ] Step 4: Relocate skills (if confirmed)
- [ ] Step 5: Verify that files are correctly positioned
- [ ] Step 6: Sync & Register with `skills.json`

步骤 1:检查 find-skills 是否可用

在开始安装或升级之前:

  • 检查 find-skills 技能是否在当前 Agent 技能上下文中可用。
  • 如果 find-skills 存在,请使用它在步骤 2 中发现、安装或升级技能。
  • 如果 find-skills 不存在,请使用本技能中详述的直接 CLI 回退命令继续执行步骤 2。

步骤 2:安装或升级技能

取决于 find-skills 是否可用:

  • 当 find-skills 可用时:
    • 将技能搜索、选择、安装或更新委托给 find-skills。
    • 安装新技能时:执行 npx skills add <package> -g -y(或指定仓库 URL/分支参数)。
    • 升级技能时:执行 npx skills update -g -y(或 npx skills check)。
  • 当 find-skills 不可用时:
    • 解析用户的请求,以确定目标仓库 URL、技能名称或分支。
    • 使用 run_command 执行直接 CLI 命令:
      • 从仓库安装:npx skills add https://github.com/username/repo-name -y -g
      • 安装特定技能:npx skills add https://github.com/username/repo-name -y -g --skill skill-name
      • 升级技能:npx skills update -g -y

步骤 3:检查 Antigravity 环境并提示用户进行迁移

重要

强制用户确认关卡 在运行任何迁移脚本之前,你必须停止并使用 ask_question 或直接提示询问用户。在用户明确确认之前,不要执行迁移命令。

通过 npx skills 进行默认技能安装时,会将文件放入 ~/.agents/skills/。 在迁移文件之前:

  1. 检查 ~/.gemini 是否存在:通过检查 ~/.gemini 是否存在来验证目标环境是否为 Antigravity(例如在 Linux/macOS 上使用 [ -d "$HOME/.gemini" ],或在 Windows 上使用 Test-Path "$HOME\.gemini")。
    • 如果 ~/.gemini 不存在,跳过迁移。已安装的技能将保留在 ~/.agents/skills/ 中。
  2. 提示用户:如果 ~/.gemini 确实存在,请明确询问用户是否希望将新安装/更新的技能迁移到 ~/.gemini/config/skills/,以便在所有 Antigravity 工具中可用。
    • 如果用户确认:继续执行步骤 4 以执行迁移。
    • 如果用户拒绝:将技能保留在 ~/.agents/skills/ 中。

步骤 4:迁移技能(如果已确认)

如果用户确认迁移且 ~/.gemini 存在:

步骤 5:验证文件是否位于正确位置

执行 验证循环 中列出的检查,以确保技能可正常使用且位置正确。

步骤 6:使用 skills.json 同步并注册

如果在 Antigravity 环境中操作(~/.gemini 存在)且技能已迁移到 ~/.gemini/config/skills/:

  1. 检查 ~/.gemini/config/skills.json 是否存在。
  2. 读取 skills.json 并检查新安装/更新的技能是否列在 exclude 数组中。
  3. 对于任何已迁移但未出现在 skills.json 中的新技能:
    • 提示用户或评估上下文,以决定该技能应默认启用("//skill-name")还是禁用("skill-name")。
    • 将该技能插入 exclude 数组。
    • 按字母顺序对 exclude 数组排序,并将更新后的 skills.json 写回磁盘。

特定操作系统的迁移命令

根据操作系统,执行相应的 shell 命令或脚本:

Linux 与 macOS(Bash/Zsh)

运行此干净替换脚本。它会在移动新安装的版本之前,删除 ~/.gemini/config/skills/ 中任何现有的版本:

mkdir -p "$HOME/.gemini/config/skills/" && [ -d "$HOME/.agents/skills" ] && for d in "$HOME/.agents/skills"/*/; do [ -d "$d" ] && rm -rf "$HOME/.gemini/config/skills/$(basename "$d")" && mv "$d" "$HOME/.gemini/config/skills/"; done
Windows (PowerShell)

如果在 Windows 主机环境中操作,请运行以下 PowerShell 命令:

$sourceDir = "$HOME\.agents\skills"
$destDir = "$HOME\.gemini\config\skills"
if (-not (Test-Path $destDir)) { New-Item -ItemType Directory -Path $destDir -Force }
Get-ChildItem -Path $sourceDir -Directory | ForEach-Object {
    $target = Join-Path $destDir $_.Name
    if (Test-Path $target) { Remove-Item -Path $target -Recurse -Force -ErrorAction SilentlyContinue }
    Move-Item -Path $_.FullName -Destination $destDir -Force
}

验证循环

在完成任务之前,Agent 必须运行以下验证序列:

1. 文件夹存在性与重定位验证

确认技能目录路径(如果已重定位,则为 ~/.gemini/config/skills/;如果未重定位,则为 ~/.agents/skills/):

  • Linux/macOS: ls -la ~/.gemini/config/skills/(或 ls -la ~/.agents/skills/)
  • Windows: Get-ChildItem "$HOME\.gemini\config\skills"(或 Get-ChildItem "$HOME\.agents\skills")
2. Frontmatter 与完整性检查

验证 SKILL.md 文件存在于目标目录中,并具有有效的 YAML frontmatter 块:

  • 命令: 读取 SKILL.md 的前 10 行,确认其以 --- 开头,并包含有效的 name 和 description 键。
3. 子目录验证

对于复杂的技能,确保嵌套文件夹(如 references/、evals/ 或 scripts/)存在且已填充内容:

  • 命令: 验证关键文件夹存在且非空。
4. 全局注册表检查

确认 Skills CLI 成功注册并列出该技能:

  • 命令: npx skills ls -g(或 npx skills ls -g --json)
  • 成功标准: 输出必须列出技能名称及其绝对路径。
5. 权限与可读性检查

确保技能文件可被当前活动的 shell 进程读取,以防止执行期间加载器失败。

评论

支持 Markdown