mirror of
https://github.com/hanzoai/frames.git
synced 2026-09-24 00:08:03 +00:00
@hanzo/frame is taken by the hero video primitive — one full-bleed video element — which has held that name on npm since it shipped. This repo is the video toolchain: a CLI, a renderer, a studio, a player. Plural is what it is, so the CLI publishes as @hanzo/frames and the workspace packages follow it (@hanzo/frames-core, @hanzo/frames-engine, and the rest). The binary stays `frames`, and now actually ships. The manifest mapped it to bin/frames.mjs while the file on disk was bin/hyperframes.mjs, so a global install produced no working command. The paths that name a package to fetch were pointing elsewhere. The update check read registry.npmjs.org/frames, a different author's package, and the npm, bun and pnpm installers would have pulled it over the CLI; the render image installed the upstream hyperframes; scaffolded projects and the docs pinned the unscoped name. All of them now name @hanzo/frames.
151 lines
6.4 KiB
Plaintext
151 lines
6.4 KiB
Plaintext
---
|
|
title: Google Antigravity
|
|
description: "Set up Frames in Google Antigravity — install skills, author compositions, and render video from the agent-first IDE."
|
|
---
|
|
|
|
Google Antigravity is Google's agent-first IDE built on VS Code. Its agent discovers and loads Frames skills automatically based on your prompts, so you get correct compositions without memorizing framework internals.
|
|
|
|
## Install skills
|
|
|
|
Install the Frames skill package into your project:
|
|
|
|
```bash
|
|
npx skills add hanzoai/frames
|
|
```
|
|
|
|
This places skill directories inside `.agents/skills/` at your workspace root — the location Antigravity scans for workspace-scoped skills.
|
|
|
|
<Tip>
|
|
If you want the skills available across all your Antigravity projects, install them to the global scope instead:
|
|
|
|
```bash
|
|
npx skills add hanzoai/frames --agent antigravity --global
|
|
```
|
|
|
|
Global skills live in `~/.gemini/antigravity/skills/` and load in every workspace.
|
|
</Tip>
|
|
|
|
Verify the skills are installed:
|
|
|
|
```bash
|
|
ls .agents/skills/
|
|
```
|
|
|
|
You should see directories like `frames/` (the entry skill), `frames-core/`, `frames-animation/`, `frames-cli/`, and others — each containing a `SKILL.md` that the agent reads on demand.
|
|
|
|
## How skills work in Antigravity
|
|
|
|
Antigravity uses **semantic matching** — when you type a prompt, the agent compares it against the `description` field of every available skill and loads the ones that are relevant. You don't need to invoke skills with a slash command (though you can reference them by name for precision).
|
|
|
|
| You say | Agent loads |
|
|
|---|---|
|
|
| "Create a 10-second product intro with captions" | `frames`, `frames-core` |
|
|
| "Add a GSAP scale-pop to the title" | `frames-animation` |
|
|
| "Use Tailwind for styling" | `frames-core` |
|
|
| "Transcribe this audio and add captions" | `media-use` |
|
|
| "Add a shimmer sweep transition" | `frames-registry` |
|
|
|
|
The skill is only injected into the agent's context window when it matches — this keeps the context clean and focused.
|
|
|
|
<Note>
|
|
For the best results, mention "Frames" or "composition" in your prompt so the agent matches the right skills immediately instead of guessing at generic web-video conventions.
|
|
</Note>
|
|
|
|
## Create and preview a video
|
|
|
|
<Steps>
|
|
<Step title="Scaffold a project">
|
|
Open Antigravity's integrated terminal and run:
|
|
|
|
```bash
|
|
npx @hanzo/frames init my-video
|
|
cd my-video
|
|
```
|
|
|
|
The wizard walks you through example selection and media import. Skills are installed automatically inside the new project.
|
|
</Step>
|
|
|
|
<Step title="Start the preview server">
|
|
```bash
|
|
npx @hanzo/frames preview
|
|
```
|
|
|
|
This launches the Frames Studio in your browser with hot reload — edits to `index.html` appear instantly.
|
|
</Step>
|
|
|
|
<Step title="Prompt the agent">
|
|
In Antigravity's agent sidebar, describe the video you want:
|
|
|
|
> Create a 15-second dark-themed product intro for my SaaS app with a fade-in title, hype-style captions, and a flash transition to the CTA.
|
|
|
|
The agent reads the Frames skill, writes valid HTML with `data-*` attributes and GSAP timelines, and saves it to your project files. The preview updates automatically.
|
|
</Step>
|
|
|
|
<Step title="Iterate">
|
|
Talk to the agent like a video editor — don't re-prompt from scratch:
|
|
|
|
> Make the title 2x bigger and swap the transition to a whip pan.
|
|
|
|
> Add a lower third at 0:03 with my name.
|
|
|
|
> Replace the background with assets/hero.mp4.
|
|
</Step>
|
|
|
|
<Step title="Render">
|
|
```bash
|
|
npx @hanzo/frames render --output output.mp4
|
|
```
|
|
</Step>
|
|
</Steps>
|
|
|
|
## Using multiple agents in Manager view
|
|
|
|
Antigravity's [Manager view](https://antigravity.google/docs/agent) lets you orchestrate multiple agents in parallel. For complex multi-scene videos, you can split the work:
|
|
|
|
- **Agent 1:** Author the intro scene and transitions
|
|
- **Agent 2:** Generate TTS narration and caption timing
|
|
- **Agent 3:** Build the data visualization scene
|
|
|
|
Each agent picks up the relevant Frames skills independently. Merge the output into a single `index.html` with `data-composition-src` references when all agents finish.
|
|
|
|
## MCP alternative
|
|
|
|
If you prefer zero-install cloud authoring, Antigravity supports remote MCP servers. Add the Frames MCP connector to author and render compositions without the CLI — see [Antigravity's MCP documentation](https://antigravity.google/docs/mcp) for the exact setup steps in your version, then use the server URL:
|
|
|
|
```
|
|
https://mcp.hanzo.ai/mcp/frames
|
|
```
|
|
|
|
Authorize with your Hanzo account (hanzo.id) when prompted. See the [Frames MCP guide](/guides/mcp) for full details on tools and prompting. The MCP handles rendering in the cloud; the CLI gives you local control.
|
|
|
|
## Agent instruction files
|
|
|
|
Frames projects created with `npx @hanzo/frames init` scaffold both `CLAUDE.md` and `AGENTS.md` automatically — these give the agent additional composition context beyond what the skills provide.
|
|
|
|
- **`AGENTS.md`** — the cross-agent convention. Antigravity reads this regardless of which model you've selected (Gemini, Claude, or others).
|
|
- **`CLAUDE.md`** — read when Antigravity's agent uses a Claude model (Sonnet or Opus), providing Claude-specific project instructions.
|
|
|
|
## Tips
|
|
|
|
- **Mention the skill by name when precision matters.** "Using the frames skill, add a grain overlay" is more reliable than "add a grain overlay" when the agent has many skills loaded.
|
|
- **Use `npx @hanzo/frames lint` before rendering.** The linter catches structural issues (missing `class="clip"`, unregistered timelines, muted video violations) that the agent might miss on complex edits.
|
|
- **Install registry blocks for advanced effects.** Run `npx @hanzo/frames add shimmer-sweep` to install pre-built blocks, then ask the agent to wire them into your composition.
|
|
- **Keep the preview server running.** Antigravity's file watcher + Frames' hot reload means you see every agent edit in real time.
|
|
|
|
## Next steps
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Prompting guide" icon="message" href="/guides/prompting">
|
|
Vocabulary and patterns that produce better compositions.
|
|
</Card>
|
|
<Card title="Catalog" icon="grid-2" href="/catalog/blocks/data-chart">
|
|
50+ ready-to-use blocks the agent can install and wire.
|
|
</Card>
|
|
<Card title="GSAP Animation" icon="wand-magic-sparkles" href="/guides/gsap-animation">
|
|
Motion principles and timeline authoring.
|
|
</Card>
|
|
<Card title="Pipeline guide" icon="list-check" href="/guides/pipeline">
|
|
The 7-step structure agents follow for multi-beat videos.
|
|
</Card>
|
|
</CardGroup>
|