Skip to content

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

Choose a tag to compare

@MarcosNahuel MarcosNahuel released this 25 May 15:25
· 31 commits to main since this release

✨ 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.