From 607b96f8923042e990f607e57cd2959de7301b35 Mon Sep 17 00:00:00 2001 From: Fellyph Cintra Date: Fri, 6 Feb 2026 14:41:36 +0000 Subject: [PATCH 1/2] Update README with Antigravity and Gemini CLI skills Added sections for Antigravity and Gemini CLI skills. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 13273a7..ecea617 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,8 @@ This copies skills into: - `.github/skills/` for VS Code / GitHub Copilot - `.claude/skills/` for Claude Code (project-level) - `.cursor/skills/` for Cursor (project-level) +- `.agent/skills/` for Antigravity +- `.gemini/skills/` for Gemini CLI ### Install globally for Cursor From eb6f6126d18421ad01eb31b374abe7d02fecab59 Mon Sep 17 00:00:00 2001 From: Fellyph Cintra Date: Thu, 26 Mar 2026 22:42:57 +0000 Subject: [PATCH 2/2] Enhance skillpack scripts to support Antigravity and Gemini targets Updated the skillpack build and install scripts to include Antigravity and Gemini as valid targets. This change expands the options for building and installing skillpacks, allowing for better integration with these new platforms. The usage instructions and valid targets have been updated accordingly. --- shared/scripts/skillpack-build.mjs | 12 ++++++++---- shared/scripts/skillpack-install.mjs | 12 +++++++++--- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/shared/scripts/skillpack-build.mjs b/shared/scripts/skillpack-build.mjs index a5841de..4577ab7 100644 --- a/shared/scripts/skillpack-build.mjs +++ b/shared/scripts/skillpack-build.mjs @@ -5,16 +5,18 @@ function usage() { process.stderr.write( [ "Usage:", - " node shared/scripts/skillpack-build.mjs [--out=dist] [--targets=codex,vscode,claude,cursor] [--skills=skill1,skill2] [--clean]", + " node shared/scripts/skillpack-build.mjs [--out=dist] [--targets=codex,vscode,claude,cursor,antigravity,gemini] [--skills=skill1,skill2] [--clean]", "", "Outputs:", " - /codex/.codex/skills//SKILL.md", " - /vscode/.github/skills//SKILL.md", " - /claude/.claude/skills//SKILL.md", " - /cursor/.cursor/skills//SKILL.md", + " - /antigravity/.agent/skills//SKILL.md", + " - /gemini/.gemini/skills//SKILL.md", "", "Options:", - " --targets Comma-separated list of targets (codex, vscode, claude, cursor). Default: codex,vscode,claude,cursor", + " --targets Comma-separated list of targets (codex, vscode, claude, cursor, antigravity, gemini). Default: codex,vscode,claude,cursor,antigravity,gemini", " --skills Comma-separated list of skill names to build. Default: all skills", " --clean Remove target directories before building", "", @@ -26,7 +28,7 @@ function usage() { } function parseArgs(argv) { - const args = { out: "dist", targets: ["codex", "vscode", "claude", "cursor"], skills: [], clean: false }; + const args = { out: "dist", targets: ["codex", "vscode", "claude", "cursor", "antigravity", "gemini"], skills: [], clean: false }; for (const a of argv) { if (a === "--help" || a === "-h") args.help = true; else if (a === "--clean") args.clean = true; @@ -101,6 +103,8 @@ function buildTarget({ repoRoot, outDir, target, skillDirs }) { vscode: path.join(outDir, "vscode", ".github", "skills"), claude: path.join(outDir, "claude", ".claude", "skills"), cursor: path.join(outDir, "cursor", ".cursor", "skills"), + antigravity: path.join(outDir, "antigravity", ".agent", "skills"), + gemini: path.join(outDir, "gemini", ".gemini", "skills"), }; const destSkillsRoot = rootByTarget[target]; assert(destSkillsRoot, `Unknown target: ${target}`); @@ -117,7 +121,7 @@ function buildTarget({ repoRoot, outDir, target, skillDirs }) { process.stdout.write(`OK: built ${target} skillpack at ${rel}\n`); } -const VALID_TARGETS = ["codex", "vscode", "claude", "cursor"]; +const VALID_TARGETS = ["codex", "vscode", "claude", "cursor", "antigravity", "gemini"]; function main() { const args = parseArgs(process.argv.slice(2)); diff --git a/shared/scripts/skillpack-install.mjs b/shared/scripts/skillpack-install.mjs index e9411aa..eca0b57 100644 --- a/shared/scripts/skillpack-install.mjs +++ b/shared/scripts/skillpack-install.mjs @@ -11,7 +11,7 @@ function usage() { "Options:", " --dest= Destination repo root (required, unless using --global)", " --from= Source directory (default: dist)", - " --targets= Comma-separated targets: codex, vscode, claude, claude-global, cursor, cursor-global (default: codex,vscode)", + " --targets= Comma-separated targets: codex, vscode, claude, claude-global, cursor, cursor-global, antigravity, gemini (default: codex,vscode)", " --skills= Comma-separated skill names to install (default: all)", " --mode= 'replace' (default) or 'merge'", " --global Shorthand for --targets=claude-global (installs to ~/.claude/skills)", @@ -25,6 +25,8 @@ function usage() { " claude-global Install to ~/.claude/skills/ (user-level, ignores --dest)", " cursor Install to /.cursor/skills/", " cursor-global Install to ~/.cursor/skills/ (user-level, ignores --dest)", + " antigravity Install to /.agent/skills/", + " gemini Install to /.gemini/skills/", "", "Examples:", " # Build and install to a WordPress project", @@ -133,7 +135,7 @@ function listSkillDirs(skillsRoot) { .filter((d) => fs.existsSync(path.join(d, "SKILL.md"))); } -const VALID_TARGETS = ["codex", "vscode", "claude", "claude-global", "cursor", "cursor-global"]; +const VALID_TARGETS = ["codex", "vscode", "claude", "claude-global", "cursor", "cursor-global", "antigravity", "gemini"]; // Map target to source subdirectory in dist function getSourceDir(fromDir, target) { @@ -145,6 +147,8 @@ function getSourceDir(fromDir, target) { vscode: path.join(fromDir, "vscode", ".github", "skills"), claude: path.join(fromDir, "claude", ".claude", "skills"), cursor: path.join(fromDir, "cursor", ".cursor", "skills"), + antigravity: path.join(fromDir, "antigravity", ".agent", "skills"), + gemini: path.join(fromDir, "gemini", ".gemini", "skills"), }; return targetDirMap[sourceTarget]; } @@ -165,6 +169,8 @@ function getDestDir(destRepoRoot, target) { vscode: path.join(destRepoRoot, ".github", "skills"), claude: path.join(destRepoRoot, ".claude", "skills"), cursor: path.join(destRepoRoot, ".cursor", "skills"), + antigravity: path.join(destRepoRoot, ".agent", "skills"), + gemini: path.join(destRepoRoot, ".gemini", "skills"), }; return destDirMap[target]; } @@ -220,7 +226,7 @@ function installTarget({ fromDir, destRepoRoot, target, skillsFilter, mode, dryR function listAvailableSkills(fromDir) { // Check all possible target sources - const sources = ["codex", "vscode", "claude", "cursor"] + const sources = ["codex", "vscode", "claude", "cursor", "antigravity", "gemini"] .map((t) => getSourceDir(fromDir, t)) .filter((p) => fs.existsSync(p));