Initial commit — Antigravity plugin v0.1.0

Plugin Claude Code miroir du plugin codex officiel d'OpenAI, mais
pour Google Antigravity (agy CLI). Headless via:

  agy --print --dangerously-skip-permissions --print-timeout 10m

Includes:
- 1 forwarder agent (antigravity-rescue)
- 5 slash commands (setup, rescue, status, result, cancel)
- 3 internal skills (cli-runtime, result-handling, gemini-prompting)
- agy-companion.mjs runtime (task / setup / status / result / cancel)
- marketplace.json for `/plugin marketplace add`

Tested: setup OK, foreground task OK, background workflow OK
(except OAuth refresh which requires interactive TTY).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-19 23:57:41 +02:00
commit e8ad489f36
14 changed files with 869 additions and 0 deletions

47
commands/rescue.md Normal file
View File

@@ -0,0 +1,47 @@
---
description: Delegate investigation, an explicit fix request, or follow-up rescue work to the Antigravity (Gemini) rescue subagent
argument-hint: "[--background|--wait] [--resume|--fresh] [--sandbox] [--add-dir <path>] [--timeout <10m|300s>] [what Antigravity should investigate, solve, or continue]"
allowed-tools: Bash(node:*), AskUserQuestion, Agent
---
Invoke the `antigravity:antigravity-rescue` subagent via the `Agent` tool (`subagent_type: "antigravity:antigravity-rescue"`), forwarding the raw user request as the prompt.
`antigravity:antigravity-rescue` is a subagent, not a skill — do not call `Skill(antigravity:antigravity-rescue)` (no such skill).
The final user-visible response must be Antigravity's output verbatim.
Raw user request:
$ARGUMENTS
Execution mode:
- If the request includes `--background`, run the `antigravity:antigravity-rescue` subagent in the background.
- If the request includes `--wait`, run the `antigravity:antigravity-rescue` subagent in the foreground.
- If neither flag is present, default to foreground.
- `--background` and `--wait` are execution flags for Claude Code. Forward `--background` to the helper; strip `--wait` from the prompt text.
- `--resume`, `--fresh`, `--sandbox`, `--add-dir`, `--timeout` are runtime-selection flags. Preserve them for the forwarded `task` call, but do not include them in the natural-language task text.
- If the request includes `--resume`, do not ask whether to continue. The user already chose.
- If the request includes `--fresh`, do not ask whether to continue. The user already chose.
- Otherwise, before starting Antigravity, check for a resumable rescue thread from this Claude session by running:
```bash
node "${CLAUDE_PLUGIN_ROOT}/scripts/agy-companion.mjs" task-resume-candidate --json
```
- If that helper reports `available: true`, use `AskUserQuestion` exactly once to ask whether to continue the current Antigravity thread or start a new one.
- The two choices must be:
- `Continue current Antigravity thread`
- `Start a new Antigravity thread`
- If the user is clearly giving a follow-up instruction such as "continue", "keep going", "resume", "dig deeper", put `Continue current Antigravity thread (Recommended)` first.
- Otherwise put `Start a new Antigravity thread (Recommended)` first.
- If the user chooses continue, add `--resume` before routing to the subagent.
- If the user chooses a new thread, add `--fresh` before routing to the subagent.
- If the helper reports `available: false`, do not ask. Route normally.
Operating rules:
- The subagent is a thin forwarder only. It should use one `Bash` call to invoke `node "${CLAUDE_PLUGIN_ROOT}/scripts/agy-companion.mjs" task ...` and return that command's stdout as-is.
- Return the Antigravity companion stdout verbatim to the user.
- Do not paraphrase, summarize, rewrite, or add commentary before or after it.
- Do not ask the subagent to inspect files, monitor progress, poll `/antigravity:status`, fetch `/antigravity:result`, call `/antigravity:cancel`, summarize output, or do follow-up work of its own.
- Leave `--resume` and `--fresh` in the forwarded request. The subagent handles that routing when it builds the `task` command.
- If the helper reports that Antigravity is missing, stop and tell the user to run `/antigravity:setup`.
- If the user did not supply a request, ask what Antigravity should investigate or fix.