addyosmani / addyosmani/agent-skills

Antigravity CLI (agy): the 8 lifecycle slash commands (/spec, /build, etc.) don't appear as searchable commands, despite `plugin validate` reporting them as processed

Abierto
#445 11 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
93.8k
Forks
10k
Merge medio
3 d 15 h
PR fusionados (30 d)
23

Descripción

## Environment
- Antigravity CLI version: 1.1.9
- Install method: `agy plugin install https://github.com/addyosmani/agent-skills.git`
- Install location on disk: `~/.gemini/config/plugins/agent-skills/`
(note: this differs from the path documented in `docs/antigravity-setup.md`, which states the plugin installs to `~/.gemini/antigravity-cli/plugins/agent-skills/` — that directory does not exist on my system; only `~/.gemini/config/`, `~/.gemini/antigravity-cli/`, `~/.gemini/antigravity/`, and `~/.gemini/antigravity-ide/` exist, and the plugin lives under `config/`, not `antigravity-cli/`)

## Problem
Per `docs/antigravity-setup.md`, the plugin should register 8 slash commands (`/spec`, `/planning`, `/build`, `/test`, `/review`, `/code-simplify`, `/ship`, `/webperf`), each invoking a corresponding skill with additional wrapper instructions (e.g. `/build` invokes `incremental-implementation` + `test-driven-development`, supports a `/build auto` mode, and writes to `tasks/plan.md` / `tasks/todo.md`).

In practice, none of these short commands resolve to the agent-skills command definitions. Typing `/spec`, `/plan`, or `/build` in the CLI only surfaces commands from other installed plugins that happen to share similar names — never the agent-skills ones.

The 24 lifecycle **skills** ARE correctly discovered and searchable under the `/agent-skills:` namespace (e.g. `/agent-skills:planning-and-task-breakdown`, `/agent-skills:incremental-implementation` both work). Only the 8 **command wrappers** (`commands/*.toml`) fail to surface anywhere.

## Steps to reproduce
1. `agy plugin install https://github.com/addyosmani/agent-skills.git`
2. `agy plugin list` → confirms import:
```json
{
"imports": [
{
"name": "agent-skills",
"source": "antigravity",
"components": ["skills", "agents", "commands"]
}
]
}
```
3. `agy plugin validate ~/.gemini/config/plugins/agent-skills` → reports success:
```
[ok] ~/.gemini/config/plugins/agent-skills
✔ skills : 24 processed
✔ agents : 4 processed
✔ commands : 8 processed (converted to skills)
- mcpServers : skipped (not found)
- hooks : skipped (not found)
```
4. `cat ~/.gemini/config/plugins/agent-skills/commands/build.toml` → confirms the file exists on disk with the expected `description` and `prompt` fields, matching the format of the other working command files.
5. Start a fresh `agy` session inside a git project directory (not `$HOME`) and type `/build` → scroll through all ~23 suggestions shown; none match the `build.toml` description ("Implement tasks incrementally — build, test, verify, commit. Add \"auto\" to run the whole plan in one approved pass.").
6. Type `/agent-skills:build` → "No matches" (the command wrapper isn't indexed under this namespace either, even though the underlying skill `/agent-skills:incremental-implementation` resolves fine).
7. Type `/agent-skills:spec` and `/agent-skills:planning` → these DO resolve, but only because they fuzzy-match the skill names `spec-driven-development` and `planning-and-task-breakdown` — not because the command wrapper itself is indexed. It's unclear whether the extra wrapper instructions (spec save location, plan-mode enforcement, etc.) are actually being applied, since the skill entry that resolves has the plain skill description, not the command's richer prompt text.

## Expected
Typing `/spec`, `/planning`, `/build`, `/test`, `/review`, `/code-simplify`, `/ship`, `/webperf` (or some consistent, discoverable equivalent, e.g. `/agent-skills:build`) should surface the actual command wrapper defined in `commands/build.toml`, not just the underlying skill.

## Additional context — related cross-tool command wiring issues
This may be part of a broader pattern where slash-command discovery isn't fully consistent across the different CLI targets this repo supports:

- PR #363 (GitHub Copilot CLI) found that commands were "only wired up for Claude Code (via `.claude/commands/` auto-discovery) and Antigravity CLI (via `commands/*.toml` filesystem convention)" — Copilot CLI needed an explicit `commands` key in `plugin.json` that wasn't present.
- In that same PR thread, the maintainer noted uncertainty about whether adding a `commands` key to the root `plugin.json` (currently treated as "the Antigravity manifest") might affect Antigravity's own command resolution — suggesting the Antigravity command-registration path is still being finalized and may have edge cases like this one.
- There's also an open PR titled "ci: validate command descriptions stay in sync across all three tool directories," implying command definitions currently live in three separate places (`.claude/commands/`, root `commands/`, and possibly `.gemini/commands/`) that can drift out of sync.
- PR #273 ("fix(claude-plugin): clear 'commands/ ignored' lint without breaking Antigravity") confirms by design that Antigravity is *supposed* to read the root `commands/*.toml` files independently of Claude Code's `.claude-plugin/plugin.json` — quote: "Antigravity CLI — unaffected; still reads root `commands/` + root `plugin.json`." So this isn't a case of Antigravity simply not knowing about the folder; the files ARE being read (per `agy plugin validate`'s "8 processed" output), they just don't surface as resolvable slash commands afterward.

## Workaround currently in use
Invoking the underlying skill directly via its full name, e.g. `/agent-skills:incremental-implementation`, and manually describing any wrapper-specific behavior (like `/build auto`'s single-approval autonomous mode) in the prompt.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.