- Home
- Skills
- Frontend & Web Apps
- Figma Componentize — Components & Variants from a Frame
More screenshots
Works with the AI Agents you already use
Figma Componentize — Components & Variants from a Frame
Finds the repeated buttons, cards, header, and footer in a Figma frame, turns them into components with variants, and replaces the originals with instances, checking each step with you.
$9
Figma Componentize — Components & Variants from a Frame
Example session with this skill installed
/figma-componentize https://www.figma.com/design/<fileKey>/figma-tokenize?node-id=10-2
- Read your context and instructions
- Compiled the figma componentize
The frame is a villa-rental landing page (1440 x 3365) that already has auto layout, named layers, and variables, and no components. The agent found six candidates, showed them with counts, and four were chosen.
Candidates found
| # | Candidate | Found | What it is |
|---|---|---|---|
| 1 | Button | 3 | Horizontal frame with a background color and a white label. Two are 285 x 53 and 409 x 53, one is 192 x 44 |
| 2 | Villa card | 3 | Vertical frame with an image, a title, and a description. 756 x 544 and two of 500 x 241 |
| 3 | Header | 1 | Logo, tagline, language switch, inquiry button |
| 4 | Footer | 1 | Brand, links, copyright, slogan |
| 5 | Footer nav item | 3 | Privacy, terms, contact links |
| 6 | Reservation note | 2 | White note text, 600 x 36 |
All colors in the candidates were already bound to variables, so there was no need to tokenize first. No icon-like children were found, so no candidate needed to be split by icon.
What it built
| Component | Variants | Instances placed |
|---|---|---|
| Button | Size (Large, Small) x State (Default, Hover, Disabled) = 6 | hero-cta-button, reservation-cta-button, inquiry-button (Small) |
| Villa card | Size (Small, Large) = 2 | villa-card-bedroom, villa-card-terrace (Small), villa-card-indoor (Large) |
| Header | none | header |
| Footer | none | footer |
Each master was moved out of the frame to the right, and the original elements became instances. The label of each button and the image, title, and description of each card stayed as overrides, so the page reads exactly as before.
Checks reported by the agent
- Masters placed outside the frame: 4 of 4 components, and the two variant sets sit clear of the frame and of each other
- Instances kept their original size: hero-cta 285 x 53, reservation-cta 409 x 53, inquiry 192 x 44, bedroom and terrace 500 x 241, indoor 756 x 544, footer 1440 x 287
- Screenshots of the replaced sections checked by eye: images fill their frames, text sits where it did, no overflow
- Full-frame comparison against the frame before the run: one pixel differs
Variant colors
The Hover state needed a darker version of the button color. The agent asked first, then created one new variable, brand/accent-3-hover, in the existing Color collection and bound it to both Hover variants. The other variants reuse existing variables. Disabled uses 50 percent opacity, so it needed no new color.
One thing it caught and fixed
After the Header was turned into a component, the frame became 45 px shorter: the Header had shrunk from 90 px to 45 px because its height had been set to follow its content, while the original had a fixed height of 90. The agent's size check caught it, restored the fixed height, and the frame returned to 3365 px. The skill's notes now say to record the original sizing modes before converting, and to restore exactly those.
Summary
4 components (2 with variants, 8 variants in all), 8 instances, 1 new variable. The page looks the same as before; the difference is that a change to the Button or the Villa card now updates every place it is used.
Connects securely to your tools. The creator never sees your data.
About this skill
A frame built by hand, captured from code, or generated by Figma's Design Agent looks finished, but every button and card is its own copy. Change one and you have to change all the others. This skill finds the patterns, picks the best copy of each as the master, builds the component, and swaps every occurrence for an instance that keeps its own text and image.
What it does
- Finds repeated structures by comparing shape, size, and children, and always considers the header and footer, even if they appear only once
- Checks icon-like children by name, so cards that look alike but hold different icons are not merged by mistake
- Converts the most complete copy into a master component, moves it out of the frame, and sets its inner layers so it stays correct at other sizes
- Replaces every other occurrence with an instance, and keeps per-occurrence text and images as overrides
- Proposes variant axes that fit each component (for example Size and State for a button, Size for a card) and builds the ones you approve
- Offers to bind the colors used only in the new variants, such as a darker hover color, to variables
- Re-checks positions and sizes after every step and reports counts, not just "done"
How it works
- Give it a Figma frame or section URL
- It analyzes the frame and lists the candidates with counts and a short description of each
- You choose which candidates to componentize
- For each one it creates the master and the instances, shows a screenshot, and asks about variants
- It builds the approved variants, verifies sizes and positions, and asks before creating any new variables
Includes field notes for the Figma Plugin API
The skill ships with a reference of 24 known pitfalls in writing to Figma through use_figma, for example a section that collapses to 100px or a component that stays nested in its frame. It also carries its own notes on componentizing: sizing that collapses after variants are combined, cards in a grid that jump to a new row, and icons that look identical but are not. The skill opens only the entry that matches a symptom.
What it is not
It does not publish to a team library, share components across files, or accept component or component-set URLs. It creates new components from a frame that has none yet. It works best on a frame that already has auto layout and clear layer names; run a tidy-up step first if it does not.
Requirements
Runs inside an agent connected to the official Figma MCP server, the same connection used for implementing Figma designs as code. Needs edit access to the Figma file, because it creates components and replaces elements in place. Duplicate the frame or the file first if you want a way back. No local file access and no arbitrary network calls.
Try it free first
Try it Free on Agensi runs on Agensi's servers, which have no connection to your Figma file. Use the example session above to see the flow and the kind of report you get; the installed skill works on your real file through your own Figma MCP connection.
Works well with
Run it after a tidy-up step and a tokenize step, so the patterns are easy to find and the colors are already variables.
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
30-day refund
Not a fit? Get your money back
Trust & safety
Security scanned
Verified clean 5 days ago
- Passed all security checks, Safe to install
Requires