Skip to content

Figloo 0.1.0

Choose a tag to compare

@g761007 g761007 released this 02 Oct 02:16
· 53 commits to main since this release

Figloo 0.1.0 adds page snapshots: for a page to implement, the agent reads a screenshot and every layer's place and properties in one call, then looks layers up without touching Figma again. It can also find layers by where they are on screen, and start from several selected layers.

Upgrading from 0.0.1

  • Replace both files. The extension and the MCP server now speak bridge protocol 0.2.0, and a mismatched pair reports PROTOCOL_MISMATCH in get_status. Reload the extension on chrome://extensions or arc://extensions, then start a new agent session.
  • Codex stops a tool call after 60 seconds by default, and snapshot_layer can take up to three minutes. Set tool_timeout_sec = 300 for figloo in ~/.codex/config.toml; the README shows the full entry.

Files

File SHA-256
figloo-extension-0.1.0.zip 41fa9dc0bf493275029315ac04978e0cd7196281612be1553c4004ed48bd58c1
figloo-mcp-0.1.0.mjs d4afd3be6027e133d0f2927909971f380f4c38569518c9a0d35043a613dc522b

Install

  1. Unzip figloo-extension-0.1.0.zip into a folder you keep. On chrome://extensions or arc://extensions, turn on Developer mode, click "Load unpacked", and select that folder.
  2. Keep figloo-mcp-0.1.0.mjs anywhere; it needs only Node.js 24. Register it with Claude Code, then start a new session:
    claude mcp add -s user figloo -- node /absolute/path/to/figloo-mcp-0.1.0.mjs
  3. Pair once: run node figloo-mcp-0.1.0.mjs pair and paste the token and port into the extension's options page.
  4. In Figma, sign in (view access is enough), use the English UI, keep the UI expanded, and turn on "Adapt content for screen readers" under Main menu, Preferences, Accessibility settings. Keep the Figma tab on screen while the agent works.

The README has the details and troubleshooting.

What's new

  • snapshot_layer reads a layer and everything inside it, up to 400 layers: about 40 seconds for 300 layers, at most three minutes. It returns a screenshot and an outline with one line per layer, and saves the snapshot under ~/.figloo/snapshots/ for 24 hours (snapshotTtlHours in the config file). For each layer it records its place and size relative to the root, whether it is hidden, the designer's export settings, and everything inspect_nodes shows. Instances count as one layer. image.alignment says whether the root's place in the screenshot was checked against the screenshot itself. Meanwhile the user cannot use Figma; a click in Figma stops it.
  • query_snapshot looks layers up in a saved snapshot without the Figma tab, even after the page reloads: by ref in full, or by text, type, and the layer they are inside.
  • get_visual_neighbors lists the siblings of a layer by where they are on screen, with the side, gap, and offset in design pixels.
  • get_anchor returns up to 20 selected layers.
  • When the selected layer is a screen frame, the popup's prompt asks the agent to implement that page and to take a snapshot of it first.
  • The README is also available in Traditional Chinese (Taiwan).

Fixes

  • capture no longer crops around a layer's old place when the zoom barely changes, for example from 100% to 93%.
  • get_visual_neighbors measures lines, which have no height on screen.

The full contract is in docs/mcp-tools.md.

Verification

  • Arc 1.166.0 (Chromium 154) on macOS 27.0, signed in with view access: snapshots of a 278-layer and a 198-layer screen in 29 to 39 seconds. The properties of 16 sampled layers match inspect_nodes exactly, and 117 of 120 unrotated layers sit within 0.1 px of what the inspection panel shows. A click in Figma during a snapshot stops it and closes what it opened.
  • Chrome for Testing through Playwright: end-to-end tests against real Figma as a guest, run against these release files.
  • Supported setups and known limitations, including the occasional stale screen place behind image.alignment: docs/compatibility.