mirror of
https://github.com/msitarzewski/agency-agents.git
synced 2026-07-06 00:08:57 +03:00
fix(antigravity): correct skills path + deterministic SKILL.md
Antigravity moved its skill directories: global skills now load from ~/.gemini/config/skills/ and project skills from <project>/.agents/skills/ (the old ~/.gemini/antigravity/skills/ is stale). Confirmed against Google's Antigravity Skills docs. - tools.json: antigravity → skill-md format, new user+project dests, scope user+project (keeps the `agency-` slug prefix for namespacing). - convert.sh: emit standard Agent-Skills frontmatter only (name + description); drop risk/source/date_added — the date stamp made output non-deterministic, and it's the reason the app had kept Antigravity recognized-only. Now byte- identical to the osaurus skill-md shape. Removed the now-unused ANTIGRAVITY_DATE_ADDED constant. - install.sh: install + detect against ~/.gemini/config/skills/. - Docs updated. check-tools.sh passes (tools.json / install.sh / convert.sh consistent). Path discovery + skill-md approach by Pedro Remedios (msitarzewski/agency-agents-app#32). Co-authored-by: Pedro Remedios <pedro.remedios@gmail.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -10,7 +10,8 @@ with `agency-` to avoid conflicts with existing skills.
|
||||
```
|
||||
|
||||
This copies files from `integrations/antigravity/` to
|
||||
`~/.gemini/antigravity/skills/`.
|
||||
`~/.gemini/config/skills/` (global). For project-scoped skills, Antigravity
|
||||
also reads `<project>/.agents/skills/`.
|
||||
|
||||
## Activate a Skill
|
||||
|
||||
|
||||
+5
-11
@@ -10,7 +10,7 @@
|
||||
# ./scripts/convert.sh [--tool <name>] [--out <dir>] [--parallel] [--jobs N] [--help]
|
||||
#
|
||||
# Tools:
|
||||
# antigravity — Antigravity skill files (~/.gemini/antigravity/skills/)
|
||||
# antigravity — Antigravity skill files (~/.gemini/config/skills/)
|
||||
# gemini-cli — Gemini CLI subagent files (~/.gemini/agents/*.md)
|
||||
# opencode — OpenCode agent files (.opencode/agents/*.md)
|
||||
# cursor — Cursor rule files (.cursor/rules/*.mdc)
|
||||
@@ -64,12 +64,6 @@ REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
OUT_DIR="$REPO_ROOT/integrations"
|
||||
TODAY="$(date +%Y-%m-%d)"
|
||||
|
||||
# Static date stamped into Antigravity skill frontmatter. Deliberately fixed (NOT
|
||||
# the convert-run date): a per-run TODAY made every regeneration produce different
|
||||
# bytes, which churns the gitignored output and breaks byte-reproducible rendering
|
||||
# downstream. Matches the documented example in integrations/antigravity/README.md.
|
||||
ANTIGRAVITY_DATE_ADDED="2026-03-08"
|
||||
|
||||
# Shared helpers (get_field, get_body, slugify, ...)
|
||||
# shellcheck source=lib.sh
|
||||
. "$SCRIPT_DIR/lib.sh"
|
||||
@@ -125,14 +119,14 @@ convert_antigravity() {
|
||||
outfile="$outdir/SKILL.md"
|
||||
mkdir -p "$outdir"
|
||||
|
||||
# Antigravity SKILL.md format mirrors community skills in ~/.gemini/antigravity/skills/
|
||||
# Antigravity Agent-Skills SKILL.md — name + description frontmatter and the
|
||||
# persona as the body, installed into ~/.gemini/config/skills/ (global) or
|
||||
# <project>/.agents/skills/ (project). Standard fields only, so it stays a
|
||||
# valid Agent-Skills skill for any host (and deterministic — no date stamp).
|
||||
cat > "$outfile" <<HEREDOC
|
||||
---
|
||||
name: ${slug}
|
||||
description: ${description}
|
||||
risk: low
|
||||
source: community
|
||||
date_added: '${ANTIGRAVITY_DATE_ADDED}'
|
||||
---
|
||||
${body}
|
||||
HEREDOC
|
||||
|
||||
+4
-4
@@ -14,7 +14,7 @@
|
||||
# Tools:
|
||||
# claude-code -- Copy agents to ~/.claude/agents/
|
||||
# copilot -- Copy agents to ~/.github/agents/ and ~/.copilot/agents/
|
||||
# antigravity -- Copy skills to ~/.gemini/antigravity/skills/
|
||||
# antigravity -- Copy skills to ~/.gemini/config/skills/
|
||||
# gemini-cli -- Install agents to ~/.gemini/agents/
|
||||
# opencode -- Copy agents to .opencode/agents/ in current directory
|
||||
# cursor -- Copy rules to .cursor/rules/ in current directory
|
||||
@@ -363,7 +363,7 @@ check_integrations() {
|
||||
# ---------------------------------------------------------------------------
|
||||
detect_claude_code() { [[ -d "${HOME}/.claude" ]]; }
|
||||
detect_copilot() { command -v code >/dev/null 2>&1 || [[ -d "${HOME}/.github" || -d "${HOME}/.copilot" ]]; }
|
||||
detect_antigravity() { [[ -d "${HOME}/.gemini/antigravity/skills" ]]; }
|
||||
detect_antigravity() { [[ -d "${HOME}/.gemini/config/skills" ]]; }
|
||||
detect_gemini_cli() { command -v gemini >/dev/null 2>&1 || [[ -d "${HOME}/.gemini" ]]; }
|
||||
detect_cursor() { command -v cursor >/dev/null 2>&1 || [[ -d "${HOME}/.cursor" ]]; }
|
||||
detect_opencode() { command -v opencode >/dev/null 2>&1 || [[ -d "${HOME}/.config/opencode" ]]; }
|
||||
@@ -401,7 +401,7 @@ tool_label() {
|
||||
case "$1" in
|
||||
claude-code) printf "%-14s %s" "Claude Code" "(claude.ai/code)" ;;
|
||||
copilot) printf "%-14s %s" "Copilot" "(~/.github + ~/.copilot)" ;;
|
||||
antigravity) printf "%-14s %s" "Antigravity" "(~/.gemini/antigravity)" ;;
|
||||
antigravity) printf "%-14s %s" "Antigravity" "(~/.gemini/config/skills)" ;;
|
||||
gemini-cli) printf "%-14s %s" "Gemini CLI" "(~/.gemini/agents)" ;;
|
||||
opencode) printf "%-14s %s" "OpenCode" "(opencode.ai)" ;;
|
||||
openclaw) printf "%-14s %s" "OpenClaw" "(~/.openclaw/agency-agents)" ;;
|
||||
@@ -720,7 +720,7 @@ install_copilot() {
|
||||
|
||||
install_antigravity() {
|
||||
local src="$INTEGRATIONS/antigravity"
|
||||
local dest; dest="$(resolve_dest antigravity "${HOME}/.gemini/antigravity/skills")"
|
||||
local dest; dest="$(resolve_dest antigravity "${HOME}/.gemini/config/skills")"
|
||||
local count=0
|
||||
[[ -d "$src" ]] || { err "integrations/antigravity missing. Run convert.sh first."; return 1; }
|
||||
mkdir -p "$dest"
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
"opencode": {"id":"opencode","label":"opencode","short":"opencode","kebab":"opencode","accent":"#FF6B35","icon":"opencode","order":7,"scope":{"user":true,"project":true},"detect":{"dirs":[".config/opencode"],"agentsDir":null},"version":{"bin":"opencode","args":["--version"]},"format":"opencode-md","installKind":"per-agent","slugFrom":"name","dest":{"user":[".config/opencode/agents/{slug}.md"],"project":[".opencode/agents/{slug}.md"]}},
|
||||
"osaurus": {"id":"osaurus","label":"Osaurus","short":"Osaurus","kebab":"osaurus","accent":"#10B981","icon":null,"order":8,"scope":{"user":true,"project":false},"detect":{"dirs":[".osaurus"],"agentsDir":".osaurus/skills"},"version":{"bin":"osaurus","args":["--version"]},"format":"skill-md","installKind":"per-agent","slugFrom":"name","slugPrefix":"agency-","dest":{"user":[".osaurus/skills/{slug}/SKILL.md"],"project":[]}},
|
||||
"aider": {"id":"aider","label":"Aider","short":"Aider","kebab":"aider","accent":"#8B5CF6","icon":null,"order":9,"scope":{"user":false,"project":true},"detect":{"dirs":[],"agentsDir":null},"version":{"bin":"aider","args":["--version"]},"format":"aider-conventions","installKind":"roster","slugFrom":null,"dest":{"user":[],"project":["CONVENTIONS.md"]}},
|
||||
"antigravity": {"id":"antigravity","label":"Antigravity","short":"antigravity","kebab":"antigravity","accent":"#0EA5E9","icon":"antigravity","order":10,"scope":{"user":true,"project":false},"detect":{"dirs":[".gemini/antigravity/skills"],"agentsDir":".gemini/antigravity/skills"},"version":{"bin":"agy","args":["--version"]},"format":"antigravity-skill","installKind":"per-agent","slugFrom":"name","slugPrefix":"agency-","dest":{"user":[".gemini/antigravity/skills/{slug}/SKILL.md"],"project":[]}},
|
||||
"antigravity": {"id":"antigravity","label":"Antigravity","short":"antigravity","kebab":"antigravity","accent":"#0EA5E9","icon":"antigravity","order":10,"scope":{"user":true,"project":true},"detect":{"dirs":[".gemini/config/skills",".agents/skills"],"agentsDir":".gemini/config/skills"},"version":{"bin":"agy","args":["--version"]},"format":"skill-md","installKind":"per-agent","slugFrom":"name","slugPrefix":"agency-","dest":{"user":[".gemini/config/skills/{slug}/SKILL.md"],"project":[".agents/skills/{slug}/SKILL.md"]}},
|
||||
"kimi": {"id":"kimi","label":"Kimi","short":"Kimi","kebab":"kimi","accent":"#0F0F12","icon":"kimi","order":11,"scope":{"user":true,"project":false},"detect":{"dirs":[],"agentsDir":".config/kimi/agents"},"version":{"bin":"kimi","args":["--version"]},"format":"kimi-agent","installKind":"per-agent","slugFrom":"name","dest":{"user":[".config/kimi/agents/{slug}/agent.yaml",".config/kimi/agents/{slug}/system.md"],"project":[]}},
|
||||
"openclaw": {"id":"openclaw","label":"OpenClaw","short":"openclaw","kebab":"openclaw","accent":"#E11D48","icon":null,"order":12,"scope":{"user":true,"project":false},"detect":{"dirs":[".openclaw"],"agentsDir":".openclaw/agency-agents"},"version":{"bin":"openclaw","args":["--version"]},"format":"openclaw-workspace","installKind":"per-agent","slugFrom":"name","dest":{"user":[".openclaw/agency-agents/{slug}/SOUL.md",".openclaw/agency-agents/{slug}/AGENTS.md",".openclaw/agency-agents/{slug}/IDENTITY.md"],"project":[]}},
|
||||
"windsurf": {"id":"windsurf","label":"Windsurf","short":"Windsurf","kebab":"windsurf","accent":"#09B6A2","icon":"windsurf","order":13,"scope":{"user":false,"project":true},"detect":{"dirs":[".codeium"],"agentsDir":null},"version":{"bin":"windsurf","args":["--version"]},"format":"windsurf-rules","installKind":"roster","slugFrom":null,"dest":{"user":[],"project":[".windsurfrules"]}},
|
||||
|
||||
Reference in New Issue
Block a user