fix(skills): discover the Antigravity CLI global skill root (#21647)

This commit is contained in:
Neil
2026-09-20 17:25:07 -07:00
committed by GitHub
parent b88101e482
commit 8e0293ebfd
3 changed files with 46 additions and 3 deletions
@@ -0,0 +1,43 @@
import { mkdtemp, mkdir, rm, writeFile } from 'node:fs/promises'
import { tmpdir } from 'node:os'
import { join, posix, win32 } from 'node:path'
import { describe, expect, it } from 'vitest'
import { buildSkillDiscoverySources, discoverSkills } from './discovery'
describe('Antigravity CLI skill discovery', () => {
it.each([
{ homeDir: '/home/agent', cwd: '/workspace', pathApi: posix },
{ homeDir: 'C:\\Users\\agent', cwd: 'D:\\workspace', pathApi: win32 }
])('uses the owning host path syntax for $homeDir', (args) => {
expect(
buildSkillDiscoverySources(args).find((root) => root.id === 'home-antigravity')
).toMatchObject({
path: args.pathApi.join(args.homeDir, '.gemini', 'config', 'skills'),
owner: 'antigravity',
providers: ['agent-skills']
})
})
it('discovers the documented CLI root without claiming legacy-only skills are loaded', async () => {
const home = await mkdtemp(join(tmpdir(), 'orca-agy-skills-'))
try {
for (const [directory, name] of [
['config', 'current-probe'],
['antigravity', 'legacy-probe']
]) {
const skill = join(home, '.gemini', directory, 'skills', name)
await mkdir(skill, { recursive: true })
await writeFile(
join(skill, 'SKILL.md'),
`---\nname: ${name}\ndescription: Discovery test\n---\nTest skill.\n`
)
}
const result = await discoverSkills({ homeDir: home, cwd: home, includeCwd: false })
const agySkills = result.skills.filter((skill) => skill.sourceLabel === 'Antigravity home')
expect(agySkills.map((skill) => skill.name)).toEqual(['current-probe'])
expect(agySkills[0]?.rootPath).toBe(join(home, '.gemini', 'config', 'skills'))
} finally {
await rm(home, { recursive: true, force: true })
}
})
})
+2 -2
View File
@@ -399,7 +399,7 @@ describe('skill discovery', () => {
expect(rootPaths).toContain('/workspace/current/.claude/skills')
})
it('scans each provider home skill root that npx skills --global writes to', () => {
it('scans provider home and workspace skill roots', () => {
const roots = buildSkillDiscoverySources({
homeDir: '/home/test',
cwd: '/workspace/current'
@@ -414,7 +414,7 @@ describe('skill discovery', () => {
'/home/test/.omp/agent/skills',
'/home/test/.hermes/skills',
'/home/test/.gemini/skills',
'/home/test/.gemini/antigravity/skills',
'/home/test/.gemini/config/skills',
'/home/test/.cursor/skills',
'/home/test/.factory/skills',
'/home/test/.continue/skills',
+1 -1
View File
@@ -188,7 +188,7 @@ export function buildSkillDiscoverySources(
source(
'home-antigravity',
'Antigravity home',
pathApi.join(home, '.gemini', 'antigravity', 'skills'),
pathApi.join(home, '.gemini', 'config', 'skills'),
'home',
['agent-skills'],
'antigravity'