Built for agents that Figma access keeps metering.
- No Dev Mode seat
- You have the design but no paid seat for Figma's MCP. figlens reads the saved file directly.
- MCP limits
- Call limits stop an agent before it finishes a whole design, even with the desktop app open. Reading a local file has no budget.
- Agents in the cloud
- A cloud host cannot run the desktop app, and the REST API caps calls per day. Hand the agent a
.figpath and it slices, plans and exports by itself. - Designers
- Your part ends at File > Save local copy. One file next to the code is the whole handoff.
Every layer comes back as values the agent can build from.
Point at a row to find its layer. To see real output, run figlens on the public first-success example.
- Layout
Card @16,16 288×168 r=14 - Text
"Ship the screen" 22/600 #16151a - Components
Button instance 84×28 r=7 fill #5b47b8 - Icons
Check → check.svg - Images
logo.webp, original bytes, shown 96×32 - Variables
design tokens with their modes, exportable as DTCG - Reference render
references/screen.png, to compare the build against
From Save local copy to a checked screen.
The designer saves a local copy.
In Figma, File > Save local copy. Commit
design.fig, or put it where your cloud agent can read it.The agent finds the frame.
By name or by visible text. No node ids to copy from a browser.
figlens find design.fig "First success" --type FRAMEOne command lifts the bundle.
Structure, text, assets, a reference render and a manifest, in one zip.
figlens bundle design.fig 0:1 frame.zipIt builds, then checks its own work.
A screenshot of the running page is compared with the frame. The largest differing regions come back with the layers under them.
figlens compare-image design.fig 0:1 screenshot.png
Measured against Figma's own exports.
826 production frames and five Community files, compared with Figma's JSON, PNG and SVG exports on 2026-10-22.
- Frames with identical node structure, names, visibility, bounds and text771 of 826
- Original image fills, byte-identical2,608 of 2,608
- SVG assets within the pixel threshold5,014 of 5,197
- Community frame bundles with no missing assets306 of 306
In a task-list case study, all six figlens-based attempts kept all 19 visible text occurrences as real DOM text and all four icons, with Docker networking disabled. Method and limits.
Install it where your agent lives.
Each setup gives the agent the figlens tools and the same built-in guidance. Restart the host, then check the tools are listed.
claude plugin marketplace add runkids/figlens
claude plugin install figlens@figlenscodex plugin marketplace add runkids/figlens
codex plugin add figlens@figlenspi install npm:@runkids/figlensCommand line
Pick one. The binary is self-contained, with no Rust or Docker needed.