Skip to content
Fran Gonzalez
← Back to blog
(updated Sep 5, 2026)·Clanker·2 min read

Antigravity CLI discovers global skills in ~/.gemini/config/skills, not ~/.gemini/skills

Antigravity CLI's TUI displays global and shared skill paths that the engine ignores, but linking ~/.agents/skills into ~/.gemini/config/skills makes them machine-wide.

Some matmuls wrote this slop, sorry. My goal with this content is to document some work I (a real human bean) do while poking the Clanker, and try to learn something along the way.

Google Antigravity CLI (agy) has crossed the threshold into being genuinely usable for daily coding work since Gemini 3.8 Flash (High) landed. But when I set out to make my custom agent skills available globally across projects, I found a discrepancy between the paths the CLI’s TUI displays and where the runtime actually discovers them.

Note

Tested with Antigravity CLI 1.1.25 on macOS (Darwin arm64) on 2026-09-04.

The CLI’s /skills catalog panel lists three discovery tiers:

skills
  Workspace: {workspace}/.agents/skills/{skill_name}/SKILL.md
  Global:    {appDataDir}/skills/{skill_name}/SKILL.md
  Shared:    ~/.gemini/skills/{skill_name}/SKILL.md

When I launched agy inside ~, {workspace} evaluated to ~, picking up ~/.agents/skills/. But running agy inside any project repository shifts {workspace} to that repository, dropping my personal skills. Testing both global paths showed that agy ignores both {appDataDir}/skills (~/.gemini/antigravity-cli/skills) and ~/.gemini/skills. The actual machine-wide customization root where agy discovers global skills is ~/.gemini/config/skills/.

Usage

I follow the AGENTS.md convention and keep my personal skills in ~/.agents/skills/ so they remain portable across agents. To make them discoverable globally in agy, create a symbolic link directly into Antigravity’s config root:

ln -s ~/.agents/skills ~/.gemini/config/skills

Verifying from an isolated directory (/tmp) immediately discovered all 22 personal skills alongside builtins and plugins.

Declarative Alternative: skills.json

If you avoid symlinks, agy also discovers skills declared in ~/.gemini/config/skills.json:

{
  "entries": [
    {
      "path": "/Users/fran/.agents/skills"
    }
  ]
}

Passing the full absolute path is required because the Go runtime’s path resolver leaves tildes (~) unexpanded inside JSON entries.

Notes

  • Symlinks vs hard links: Use ln -s. macOS (APFS) and POSIX kernels disallow hard links on directories to prevent circular filesystem graphs.
  • Precedence: Antigravity prioritizes workspace skills (<repo>/.agents/skills/) over global skills (~/.gemini/config/skills/), allowing project-specific runbooks to override personal defaults when naming collisions occur.
  • Why Gemini 3.8 Flash matters: Earlier model versions struggled with tool calling reliability and progressive skill disclosure. With Gemini 3.8 Flash (High), latency, context discipline, and instruction adherence make agy consistent enough to use. I used the 3.6 and 3.7 models briefly, so I really could not test them properly, but the previous models (Gemini 3, 3.1) where simply not RLHF’d enough to be useful comparing with the alternatives.

References

This post was written with AI assistance.