Skip to content

Releases: MarcosNahuel/antigravity-plugin-cc

v0.7.0 — Audio & video (transcribe + media Q&A)

19 Jun 18:13

Choose a tag to compare

Gemini is natively multimodal in audio and video — capabilities Claude Code lacks. v0.7.0 offloads them to agy.

  • /agy:transcribe <audio|video|YouTube-URL> [focus] — faithful transcript + summary in the source language; timestamps for video/URLs. Voice notes, meetings, calls, screencasts. → docs/agy/transcripts/
  • /agy:media <file|URL> | <question> — multimodal Q&A over audio/video/image ("what decisions were made?", "what happens at 2:30?"), grounded with time references. → docs/agy/media/

Verified on a real WhatsApp .ogg voice note and a YouTube video. 15 commands now, no Node runtime.

v0.6.9 — Local NotebookLM, model control & media-ready

19 Jun 18:04

Choose a tag to compare

The agy bridge for Claude Code — drive Google Antigravity (agy / Gemini 3.x) from inside Claude Code. 13 slash commands, no Node runtime.

🗒️ Flagship: a local NotebookLM

/agy:notebook <folder> | <objective> reads a whole folder of documents (PDFs, scans, images, docx) and writes a per-document summary, a relevance INDEX.md, a cited RESUMEN_MAESTRO.md, a TIMELINE.md and an ENTIDADES.md. Then /agy:notebook-ask answers questions over them with citations — locally, offloading all the reading to Gemini so it barely touches Claude's context.

New since 0.6.3

  • /agy:notebook (+ notebook-ask): local NotebookLM with incremental cache, automatic model routing (Flash sweep → Pro synthesis), one-page-doc grouping, and auto-chunking of huge scanned PDFs.
  • /agy:model: switch the agy model reliably by writing settings.json (the --model flag is unreliable).
  • /agy:setup: no more false "re-login" alarms.

Install

```
/plugin marketplace add MarcosNahuel/antigravity-plugin-cc
/plugin install antigravity@marcosnahuel-antigravity
/agy:setup
```
Requires the agy CLI installed + a Google/Antigravity sign-in. MIT.

v0.6.3 — robust recovery + full skill test pass

07 Jun 22:48
8c0bf9f

Choose a tag to compare

Patch release from a full end-to-end test of all 10 commands on agy 1.0.6 — every command verified working (research, report, ask, review, rescue, record, scrape, doc-to-md, design-review, setup; review correctly flagged two seeded bugs).

Fixed

  • Transcript recovery resolved the conversation id unreliably. The #76 Plan B looked up the cid in last_conversations.json[cwd] first, but that file is written with a delay and on 1.0.6 often lacks the invoking cwd entry — so immediate recovery returned empty though the response was on disk. Now resolves the cid from the cli log (Print mode: conversation=<cid>) → most-recent brain/<cid> dir → last_conversations.json[cwd] last. Verified live.

No happy-path behavior change; this only hardens the fallback that fires when agy --print drops stdout (still common on 1.0.6).

v0.6.2 — stdin fix + reliable infographics + npm

07 Jun 17:52
99a5320

Choose a tag to compare

Reliability + distribution release, driven by hands-on end-to-end testing on agy 1.0.6.

Fixed

  • agy --print stdin-hang in subprocess/background contexts — agy blocks forever on inherited stdin (log created but empty; --print-timeout does not bound it). Every invocation now closes stdin with < /dev/null. Prereq for the v0.6.1 transcript recovery (which can't help if agy never runs).
  • /agy:report referenced images it never created — standardized ASSETS_DIR (.html.assets) + deterministic slug + a post-generation assets-existence check (IMAGES_PRESENT=n/total) that reports missing images instead of shipping broken <img>.
  • Research forward-dating — anti-forward-dating rule in all 3 intensity templates (no dates/versions/specs without a cited source; never present unreleased as shipped).

Added

  • /agy:report --images native|external|noneexternal (pre-generate PNGs with e.g. Nano Banana 2 gemini-3.1-flash-image-preview; agy references them) is the recommended path for brand-grade infographics. none = styled placeholders.
  • npm distributionpackage.json + bin helper (npx antigravity-plugin-cc prints install commands). Mirror/discovery channel; canonical install remains the marketplace.

Docs

  • README documents /agy:report + /agy:ask + /agy:review, a "Documents with infographics" section, the --images matrix, and the npm note. Version 0.6.2 consistent across all manifests.

The upstream empty-stdout bug (#76) is still unfixed as of agy 1.0.6 — these are wrapper-side mitigations.

v0.6.1 — issue #76 recovery + auth-timeout detection

06 Jun 19:01

Choose a tag to compare

Reliability release: full recovery path for the upstream empty-stdout bug (issue #76), driven by community findings on the upstream thread and confirmed through agy 1.0.5.

Added

  • Transcript recovery (Plan B) for #76. When agy --print exits 0 with empty stdout and no output file, recover the response from cache/last_conversations.json[cwd]brain/<cid>/.system_generated/logs/transcript.jsonl → last PLANNER_RESPONSE.content. Confirmed by three independent reporters. Makes /agy:rescue usable in subprocess mode; safety net for all modes.
  • Headless auth-timeout detection (new agy 1.0.5 failure mode). keyringAuth: timed outPrint mode: auth timed out — the model never runs, so nothing is recoverable. The subagent detects it and returns an actionable re-auth message instead of a silent empty result; no wasted retry.
  • Three-way failure-mode triage table (text_drip length=N → #76 recover; rename … Access is denied → #217 retry; auth timed out → re-auth).

Changed

  • --print-timeout documented as non-binding (community: 15s requested, exited ~41s). Set the Bash-tool timeout with headroom; high research (20m) exceeds the 10m Bash ceiling → background it.

Fixed

  • Corrected the stale --model claim. Rejected by agy 1.0.0/1.0.1 but accepted by 1.0.5+; the plugin still defaults to omitting it for cross-version safety.

The empty-stdout bug remains unfixed upstream as of agy 1.0.5 (2026-06-05); these are wrapper-side mitigations, not a fix.

v0.6.0 — TRAID Design System

06 Jun 19:01

Choose a tag to compare

Feature release: branded HTML report generation via the TRAID Design System, two quick-use commands, and Windows reliability hardening.

Added

  • /agy:report <markdown> [--template <id>] [--output <path>] — publication-grade self-contained HTML from a markdown source using 5 canonical templates (traid-dark, traid-light, stripe-press, notion-docs, magazine). Two-phase flow: agy recommends 1–3 templates, you pick (or --template to skip), then it generates branded HTML, inlining Imagen images for ![generate: ...] cues.
  • /agy:ask <prompt> — one-shot quick prompt, returns the response verbatim.
  • /agy:review [focus] — sends the current git diff to agy for code review.
  • TRAID Design System — 5 templates with full palette / typography / component specs.

Changed

  • agy-rescue subagent gained 4 mode branches (ask, review, report-analyze, report-generate) — 10 modes total.
  • Windows rename bug (#217) hardening: sleep 2 && agy … backoff retry + PowerShell .tmp-sweep fallback.

Note: v0.6.0 was developed and validated but reached the public repo together with v0.6.1.

v0.3.1 — fix: repository manifest schema

26 May 00:20

Choose a tag to compare

🐛 Hotfix: plugin manifest validation

What broke

The plugin's `repository` field in `plugins/antigravity/.claude-plugin/plugin.json` was an OBJECT (npm convention):

```json
"repository": {
"type": "git",
"url": "https://github.com/MarcosNahuel/antigravity-plugin-cc\"
}
```

But Claude Code's plugin manifest schema requires a STRING:

```json
"repository": "https://github.com/MarcosNahuel/antigravity-plugin-cc\"
```

Symptoms before this fix

If you ran:

```text
/plugin marketplace add MarcosNahuel/antigravity-plugin-cc
/plugin install antigravity@marcosnahuel-antigravity
```

Claude Code would respond `Failed to install: ... invalid manifest file ... Validation errors: repository: Invalid input: expected string, received object` — and the seven slash commands (`/antigravity:research`, `/antigravity:rescue`, `/antigravity:record`, `/antigravity:scrape`, `/antigravity:doc-to-md`, `/antigravity:design-review`, `/antigravity:setup`) would never appear in autocomplete.

This bug was present from v0.1.0 onwards — every previous release had it. It only surfaced when Claude Code's loader applied strict schema validation.

After this fix

A clean install now works end-to-end:

```text
/plugin marketplace add MarcosNahuel/antigravity-plugin-cc
/plugin install antigravity@marcosnahuel-antigravity

Restart Claude Code if asked

/antigravity:

→ autocomplete shows all 7 commands

```

Upgrade

If you're on any prior version:

```text
/plugin uninstall antigravity@marcosnahuel-antigravity
/plugin marketplace update marcosnahuel-antigravity
/plugin install antigravity@marcosnahuel-antigravity
```

Or restart Claude Code after pulling — `/plugin update` should pick up v0.3.1.

Engineering note

npm `package.json` uses `repository: {type, url}`. Claude Code plugin manifest uses `repository: ""`. Different schemas — don't reuse npm habits. This is now documented in `CHANGELOG.md` as a gotcha for future plugin authors.

Full changelog

CHANGELOG.md

v0.3.0 — Scrape · Doc-to-MD · Design Review

25 May 17:16

Choose a tag to compare

✨ Three new slash commands

/agy:scrape <url> [schema] [--json]

Structured data extraction from a single URL. Pass natural-language schema (extract product info) or explicit field list (price, title, stock). Output goes to docs/agy/scrapes/YYYY-MM-DD-<slug>.{md,json}.

Uses read_url for static HTML and the browser subagent for JS-heavy SPAs.

/agy:scrape https://example.com/product/123 price, title, stock, image_url
/agy:scrape https://example.com/blog extract all article titles and dates --json

For ad-hoc extractions. For production scraping pipelines, use Playwright + n8n.

/agy:doc-to-md <file> [focus]

Multimodal PDF / docx / image → clean Markdown conversion via Gemini. Preserves tables, lists, headings, code blocks. Inline images become described placeholders. Output to docs/agy/converted/YYYY-MM-DD-<slug>.md.

/agy:doc-to-md ./rfp-from-client.pdf
/agy:doc-to-md ./screenshot.png extract only the visible table data
/agy:doc-to-md ./contract.docx focus on the pricing and SLA sections

Ideal for ingesting RFPs, specs, contracts, and other client documents that arrive as PDF or docx.

/agy:design-review <url> [focus]

UX/visual audit using browser subagent + multimodal vision. Captures desktop (1440×900) + mobile (375×667) screenshots, scores 10 dimensions, ends with 3 strengths + 3 highest-leverage improvements + overall /10 score.

/agy:design-review https://your-app.com/

/agy:design-review https://your-app.com/checkout focus on mobile conversion flow

/agy:design-review https://your-app.com/ benchmark against MercadoLibre seller backend

Validated against a real ERP login during development — output quality is on par with junior UX reviewer.

Why these three (and not others)

After enumerating agy's full capability surface, these three are the highest-leverage capabilities not already covered by Claude Code's native tools or sister plugins. We intentionally skipped:

  • /agy:image|video|tts — already covered by Vertex AI direct skills
  • /agy:subagent|fork|rewind — Claude Code has native equivalents
  • /agy:memory — overlap with engram plugin
  • /agy:quota — requires TTY, incompatible with the plugin's --print workflow

See the capability inventory report for full reasoning.

Same proven workarounds

All three new commands use the v0.2.0-established pattern:

  • --print is always the LAST flag (Go flag-parser gotcha)
  • --add-dir <CWD> so agy can write into the calling project
  • The prompt instructs agy to use write_file (workaround for upstream issue #76: empty stdout in --print mode)

Install / Update

From inside Claude Code:

/plugin marketplace update MarcosNahuel/antigravity-plugin-cc
/plugin update antigravity@marcosnahuel-antigravity

Full changelog

See CHANGELOG.md.

v0.2.0 — /agy:record + flag-order fix

25 May 15:25

Choose a tag to compare

✨ New: /agy:record <url> [steps]

Record a browser walkthrough of any URL using agy's browser subagent. Generates a .webm video, initial + final screenshots, and a markdown report describing what was observed. Output lands in your project at docs/agy/recordings/YYYY-MM-DD-<host-path-slug>.{webm,mp4,png,md}.

Examples:

/agy:record https://example.com/

/agy:record https://erp.example.com/login Login with demo@x.com / password=test, navigate to the dashboard, scroll through the main metrics, click on Reports

/agy:record https://docs.python.org/3/ Read the front page, scroll to the language reference section, click on it

Default walkthrough (when no steps are given): load → screenshot → scroll → click most prominent CTA → screenshot.

Optional MP4 conversion via ffmpeg if it's on PATH (winget install Gyan.FFmpeg, brew install ffmpeg, or apt install ffmpeg). Falls back gracefully to .webm-only with an install hint when ffmpeg is missing.

No audio — pair with your TTS pipeline of choice and mux with ffmpeg if narration is needed.

🐛 Critical fix: flag order (affects ALL commands)

The v0.1.x invocation contract was actually broken in a subtle way that went undetected because the failure mode looked the same as other failures:

  • v0.1.x ran agy --print --dangerously-skip-permissions ...
  • Go's flag package treats --print as value-taking and consumed --dangerously-skip-permissions as the prompt
  • agy received the literal string --dangerously-skip-permissions as USER_REQUEST (verified by inspecting ~/.gemini/antigravity-cli/brain/<session>/.system_generated/logs/transcript.jsonl) and responded to that instead of the user's actual task

v0.2.0 contract: agy --dangerously-skip-permissions [--add-dir <CWD>] --print-timeout <T> [--continue] --print "<PROMPT>"--print is always the LAST flag.

This is documented prominently in the subagent (plugins/antigravity/agents/agy-rescue.md) under "Invocation contract".

🩹 Workaround: empty stdout in --print mode (issue #76)

agy v1.0.x has a confirmed upstream bug (google-antigravity/antigravity-cli#76) where, when stdout is not a TTY, the binary exits 0 with zero bytes on stdout even though the model generated a full response. The text_drip.go log entries (Drip stopped: length=2504) prove the response is produced but never flushed.

v0.2.0 workaround: every mode now instructs agy in the prompt itself to write its output via write_file to a known path. The calling agent reads that file. stdout is used only as a process-exit signal. The plugin will automatically pick up the upstream fix when it lands.

🆕 New default flag: --add-dir <CWD>

record and research modes now always pass --add-dir <calling-CWD> so agy's write_file tool has permission to write into the calling project's directory. Without this flag, agy could only write to ~/.gemini/antigravity-cli/scratch/ and the output never landed in the user's repo.

Install

From inside Claude Code:

/plugin marketplace update MarcosNahuel/antigravity-plugin-cc
/plugin update antigravity@marcosnahuel-antigravity

(or /plugin install if you haven't installed the plugin yet)

Full changelog

See CHANGELOG.md.

v0.1.1 — fix --model + harden setup ping

24 May 18:23

Choose a tag to compare

Bugfix release that ships the day after v0.1.0.

Fixed

  • Removed --model flag from /agy:rescue and /agy:research. The agy CLI 1.0.x does not accept --model — passing it makes the binary exit with flags provided but not defined: -model. Earlier versions of this plugin documented and parsed this flag, so any user who tried --model pro or similar got an immediate hard failure. Model selection is now delegated entirely to agy's internal default (Gemini 3.5 Flash for most cases).
  • Setup ping no longer enters tool-call loops. agy defaults to an agentic mode that calls ListDir, Search, ReadFile even for trivial prompts. The previous /agy:setup ping was \"ping — reply with only the word 'pong'\", which the model interpreted as license to explore the workspace, consume the entire --print-timeout, and return exit 0 with empty stdout — indistinguishable from "OAuth missing". v0.1.1 sends an explicit "do not use any tools, do not search, do not read files" instruction in the ping prompt.

Changed

  • Health-check troubleshooting now distinguishes "tool-call timeout" from "OAuth missing". README FAQ and `commands/setup.md` now document both failure modes, with `~/.gemini/antigravity-cli/installation_id` as the diagnostic check for OAuth.
  • Removed the "Multi-model support" README section. It documented model identifiers (`gemini-3.5-pro`, `claude-opus-4-6-thinking`, etc.) that are not selectable from the CLI in 1.0.x. The section will return when upstream `agy` exposes a model flag.

Notes

  • agy 1.0.x has model selection inside its interactive settings, not on the command line. If you need a specific model, change it via agy directly.
  • This patch is non-breaking: the slash commands keep the same names. Anyone passing --model X will now get the model agy picks by default instead of a hard failure.

Upgrade

/plugin update antigravity@marcosnahuel-antigravity

Restart Claude Code after upgrading so the slash commands reload.