| name | skill-management |
| description | Install, uninstall, and list agent skills. Handles NTFS hardlinks for auto-sync with source repos. |
Skill Management
This skill handles installing, uninstalling, and listing agent skills.
Skills live at: C:\Users\galaxywin\.gemini\antigravity\skills\
Each skill is a folder containing a SKILL.md file with YAML frontmatter (name, description).
Installing a Skill
When the user says "install skill" and provides a path (to a SKILL.md or a directory containing one):
- Resolve the path. If a directory, look for
SKILL.md inside it.
- Read the frontmatter to get the
name field — this becomes the folder name.
- Check for conflicts. If
skills/<name>/ exists, ask before overwriting.
- Create the skill folder:
New-Item -ItemType Directory "C:\Users\galaxywin\.gemini\antigravity\skills\<name>" -Force
- Create an NTFS hardlink for auto-sync:
cmd /c mklink /H "C:\Users\galaxywin\.gemini\antigravity\skills\<name>\SKILL.md" "<source>\SKILL.md"
- Verify:
$links = (fsutil hardlink list "C:\Users\galaxywin\.gemini\antigravity\skills\<name>\SKILL.md").Count
if ($links -gt 1) { "✅ Installed and synced" } else { "❌ Failed" }
Why hardlinks?
- Auto-synced — same file on disk, edits to source are instant.
- No admin required — unlike symlinks on Windows.
- Clean — only
SKILL.md appears, not the entire repo (unlike directory junctions).
Rules
- NEVER use
.lnk shortcuts — invisible to the skill scanner.
- NEVER use directory junctions to repos — leaks node_modules/src/dist and breaks the scanner.
- NEVER just copy without hardlinking — goes out of sync.
- If source and target are on different drives, hardlinks won't work. Copy instead and warn the user.
Uninstalling a Skill
Remove-Item "C:\Users\galaxywin\.gemini\antigravity\skills\<name>" -Recurse -Force
Safe — only removes the hardlink. The original SKILL.md in the source repo is untouched.
Listing Skills
Get-ChildItem "C:\Users\galaxywin\.gemini\antigravity\skills" -Directory |
ForEach-Object { $_.Name + " => " + (Select-String "^description:" "$($_.FullName)\SKILL.md").Line }
Skill Update Protocol
When you learn something new that should be remembered across conversations, update the relevant skill's SKILL.md immediately. Examples:
- User corrects a mistake → add a rule to prevent it (e.g. "always commit before moving on" was added to git-workflow after forgetting)
- A new pattern or convention emerges → document it in the relevant skill
- A common error is encountered → add it to troubleshooting
When to update skills:
- During the current task — if you discover something worth remembering, update the skill NOW, don't wait
- When user explicitly says "remember this" — add to the most relevant skill
- When a bug was caused by missing knowledge — add a rule to prevent recurrence
Never wait until "later" to update skills — that's how knowledge gets lost between conversations.