Agent skill

Qt Figma Component Generation

by TheQtCompanyRnD in TheQtCompanyRnD/agent-skills

Extract component metadata from a Figma design system and generate production-ready QML controls.

BSD-3-ClauseAuto-check passedFrontend & Design

Install Qt Figma Component Generation

skills CLI
$ npx skills add TheQtCompanyRnD/agent-skills --skill qt-figma-component-generation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install TheQtCompanyRnD/agent-skills qt-figma-component-generation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/TheQtCompanyRnD/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/qt-figma-component-generation .claude/skills/qt-figma-component-generation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
qt-figma-component-generation
GitHub stars
470
Token cost
~4.1k tokens
SKILL.md length
1,493 words
Files
86 (incl. references, assets)
Skills in repo
7
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Extract component metadata from a Figma design system and generate production-ready QML controls.

  • Works in 7 steps: Component Discovery → Pattern Selection → Prepare the Chosen Pattern → …
  • Someone wants to turn Figma components into QML files — whether they say generate components from Figma
  • SKILL.md covers Prerequisites, Step 1 — Component Discovery, Step 2 — Pattern Selection and Step 3 — Prepare the Chosen…, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Qt Figma Component Generation is an agent skill from TheQtCompanyRnD/agent-skills. Extract component metadata from a Figma design system and generate production-ready QML controls. Use this skill whenever someone wants to turn Figma components into QML files — whether they say "generate components from Figma", "create QML controls based on a design system", "convert Figma components to QML", "build the component library", "extract button/input/checkbox from Figma", or anything similar. Requires design-tokens.json and QML design system singletons to already exist (from the token extraction…

Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 87 other files, including reference files and assets. Compatibility notes: Works with Claude Code, Codex, and GitHub Copilot. Requires Figma MCP and design-tokens.json from qt-figma-token-extraction.

It sits in Frontend & Design, covering Design systems and Design tokens. It works with Figma. The repository describes itself as: Official Qt AI engineering skills for Claude Code, Codex, Copilot, Gemini,and other AI coding tools. The licence is BSD-3-Clause.

When your agent uses it

  • Someone wants to turn Figma components into QML files — whether they say generate components from Figma
  • Create QML controls based on a design system
  • Convert Figma components to QML
  • Build the component library

Example prompts

  • “generate components from Figma”
  • “create QML controls based on a design system”
  • “convert Figma components to QML”
  • “/qt-figma-component-generation”

Requirements

  • Compatibility (from SKILL.md): Works with Claude Code, Codex, and GitHub Copilot. Requires Figma MCP and design-tokens.json from qt-figma-token-extraction.

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Component Discovery
  2. Pattern Selection
  3. Prepare the Chosen Pattern
  4. Per-Component Extraction
  5. Figma → QML Mapping
  6. Write the QML File
  7. Post-Generation Review

What it can do on your machine

Read from SKILL.md and the folder at commit a784c48. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are qml).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Works with Claude Code, Codex, and GitHub Copilot. Requires Figma MCP and design-tokens.json from qt-figma-token-extraction.

    From compatibility in the SKILL.md frontmatter.

Context cost

Qt Figma Component Generation loads about 4.1k tokens when it runs, and up to ~14k if it reads all its reference files. Until then it costs about 196 tokens; SKILL.md has 1,493 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~196
When it runs · the whole SKILL.md, loaded when a task matches
~4.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~14k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from TheQtCompanyRnD/agent-skills at commit a784c48, republished under its BSD-3-Clause licence (© TheQtCompanyRnD). 1,493 words, ~4,096 tokens.

Download SKILL.mdSave it as .claude/skills/qt-figma-component-generation/SKILL.md (or your agent's skills folder). This skill also uses 85 other files; get the full folder from GitHub.
name
qt-figma-component-generation
description
Extract component metadata from a Figma design system and generate production-ready QML controls. Use this skill whenever someone wants to turn Figma components into QML files — whether they say "generate components from Figma", "create QML controls based on a design system", "convert Figma components to QML", "build the component library", "extract button/input/checkbox from Figma", or anything similar. Requires design-tokens.json and QML design system singletons to already exist (from the token extraction skill). Uses Figma MCP to inspect components one at a time and maps variants, states, sizing, and token usage to idiomatic Qt Quick Controls 2 patterns. Trigger this skill at the component generation step of any QML design-system workflow.
compatibility
Works with Claude Code, Codex, and GitHub Copilot. Requires Figma MCP and design-tokens.json from qt-figma-token-extraction.
license
LicenseRef-Qt-Commercial OR BSD-3-Clause
metadata.author
qt-ai-skills
metadata.version
1.0
metadata.qt-version
6.x
metadata.category
process

Figma Component Generation Skill

This skill reads component definitions from a Figma file via MCP and generates production-ready QML control files that consume the design-system singletons produced by the token-extraction skill.


Prerequisites

Before generating any components, confirm all of the following exist in the project:

  1. design-tokens.json — the merged token file from the token-extraction skill
  2. QML design system singletons — Primitives.qml, Theme.qml, Spacing.qml, FontInterface.qml in a design-system/ folder

If either is missing, stop and run the token-extraction skill first (qt-figma-token-extraction).

Verify Figma MCP is connected — confirm that get_metadata and get_design_context are available in the tool list. If not, tell the user:

"The Figma MCP connector isn't connected yet. Connect it via your MCP configuration, then come back and we can start."

Do not proceed until the connection is confirmed.


Step 1 — Component Discovery

Use get_metadata to fetch the file structure and identify which pages and frames contain components:

Tool: get_metadata
Input: { "fileKey": "<file key>" }

From the response, note all pages and frames or component sets named as component groups (e.g. "Button", "Text Field", "Checkbox").

Ask the user:

"I can see the following component groups in the Figma file: [list]. Which ones should I generate QML files for? Or should I do all of them?"

Build a single component inventory table and keep it updated throughout the entire workflow — do not create a second table later:

Figma component nameNode IDQML fileStatus
Button67:139Button.qmlpending
Text Field...TextField.qmlpending

Status values: pending → extracting → mapping → done / blocked


Step 2 — Pattern Selection

Ask the user to choose an implementation pattern before reading any assets or writing any code. If the AskUserQuestion tool is available, use it:

tool: AskUserQuestion
question: "Which code style should the generated components use?"
options:
  - "Pattern A — Inline (self-contained file, all state logic inside the component)"
  - "Pattern B — Style singleton (ComponentStyle.qml + Component.qml, supports multiple themes)"
  - "I'm not sure — recommend one"

If the tool is not available (e.g. in Claude Code, Codex, or Copilot), ask the question in plain text and wait for a reply before proceeding.

If the user selects "I'm not sure", recommend Pattern A for most projects — it is simpler, self-contained, and easier to debug. Only recommend Pattern B if the project already has a Qt.Themes / TokenInterface layer or needs to support multiple swappable themes.

Pattern B uses integer enum variants, not strings. Pattern A uses property string variant: "primary". Pattern B uses property int typeVariant: ButtonStyle.TypeVariant.Primary. Do not mix the two approaches — pick one and use it consistently throughout all components.


Step 3 — Prepare the Chosen Pattern

Before extracting or writing anything, make sure the structure for the chosen pattern is in front of you. Pattern B is read from the bundled assets; Pattern A is built from the inline snippets in Step 5.

Pattern A assets — references/

This folder contains Figma-verified Pattern A controls. Each is a self-contained file where all state logic lives inside the component using conditional expressions on readonly property values.

Reference fileOutput fileDemonstrates
references/Button.qmlButton.qmlAbstractButton, multi-variant state machine, size helpers, accent family mapping
references/TextField.qmlTextField.qmlTextInput wrapped in ColumnLayout, label + error + helper text, clear button
references/Checkbox.qmlCheckbox.qmlCheckBox indicator, Canvas tick mark, indeterminate state
references/Toggle.qmlToggle.qmlSwitch track + animated thumb, NumberAnimation
references/Select.qmlSelect.qmlCustom Item with Popup, ListView delegate, chevron

Read the file that most closely matches the component being generated before writing any code. If a QML coding skill (qt-development-skills:qt-qml) is available, use it while writing so the output follows idiomatic Qt 6 patterns.

Pattern B assets — assets/qt-controls/

This folder contains QML pairs from a production Qt controls library. Each component is split across two files:

  • Button.qml — component logic, layout, base type, public API
  • ButtonStyle.qml — pragma Singleton defining typed component objects for each state and size variant

Read the asset pair for the component you are about to generate — before writing any code. The generated file must follow the reference asset's structure, property ordering, and pattern choices. If the output deviates from the reference in a way that cannot be justified by the specific Figma component, ask yourself why and correct it. Do not invent a different structure when a reference exists.

Core pairs to read first (read the pair that matches the component being generated):

  • Button.qml + ButtonStyle.qml
  • CheckBox.qml + CheckBoxStyle.qml
  • ComboBox.qml + ComboBoxStyle.qml
  • Switch.qml + SwitchStyle.qml
  • TextField.qml + TextFieldStyle.qml

Step 4 — Per-Component Extraction

For each component in the inventory, extract its specification via MCP.

Always call get_design_context on an individual main component node — NOT the parent component set node. Component sets return oversized JSON mixing all variants. Inspect the default/base variant first, then representative variants (Hover, Pressed, Disabled) individually.

Tool: get_design_context
Input: { "fileKey": "<key>", "nodeId": "<individual component node id>" }

If individual node IDs are not known yet, call get_design_context on the parent frame and scan for child component nodes, then re-call on each.

What to extract per component
  • Variants / props — Figma variant properties and allowed values → QML property declarations
  • States — Default, Hover, Pressed, Disabled, Focus, Error → conditional expressions on readonly property values
  • Sizing — height, padding (H + V), gap, font size, font weight, corner radius
  • Color tokens — which semantic token appears in each state; record exact Figma name and resolved value from design-tokens.json
  • Typography — font family, size, weight, line height per text element
  • Border — stroke width, color token, which states it appears in
  • Icon / slot — whether the component has an icon slot, its size, left/right/both position

Record all extracted data in a scratch note before writing any code.


Step 5 — Figma → QML Mapping

Before writing any token reference, open Theme.qml, Primitives.qml, Spacing.qml, and FontInterface.qml and read the actual property names. Do not copy token names from the reference assets — the project's token naming convention may differ from the examples. Every token name you write in a component must exist in the project's singletons.

Show full SKILL.md (592 more words)Show less
Base type selection
Figma componentQML base type
Button (any style)AbstractButton (from QtQuick.Controls)
CheckboxCheckBox (from QtQuick.Controls.Basic)
Radio buttonRadioButton (from QtQuick.Controls.Basic)
Toggle / switchSwitch (from QtQuick.Controls.Basic)
Text input / fieldColumnLayout wrapping a Rectangle + TextInput
Text area (multiline)ScrollView wrapping TextArea (from QtQuick.Controls.Basic) — no reference asset yet; follow the TextField pattern but add wrapMode: TextArea.Wrap and remove fixed height
Select / dropdownCustom Item with a Popup
SliderSlider (from QtQuick.Controls.Basic)
Tab barTabBar + TabButton
Progress barProgressBar (from QtQuick.Controls.Basic)
Spinner / spin boxSpinBox (from QtQuick.Controls.Basic)
Card / containerRectangle or plain Item
DividerRectangle (1 px, fillWidth)
BadgeRectangle wrapping a Text
TooltipToolTip (from QtQuick.Controls.Basic)
Variant → property pattern (Pattern A)
qml
property string variant: "primary"   // primary | secondary | ghost | tertiary | danger
property string size:    "medium"    // small | medium | large  (sm | md | lg accepted)
Variant → enum pattern (Pattern B)
qml
// Use integer enums, not strings — do not mix with Pattern A string variants
property int typeVariant: ButtonStyle.TypeVariant.Primary
State → conditional expression pattern
qml
readonly property color _bg: {
    if (!enabled) return Theme.background_muted
    return pressed ? Theme.accent_subtle
         : hovered ? Theme.accent_muted
         :            Theme.accent_default
}
Icon slot pattern
qml
// Icon slot — rendered via icon font glyph in a Text item
property string iconGlyph:     ""
property int    iconLayoutDir: Qt.LeftToRight   // Qt.LeftToRight | Qt.RightToLeft
                                                 // controls which side the icon appears on

contentItem: RowLayout {
    layoutDirection: root.iconLayoutDir
    spacing:         root._iconGap
    Text {
        text:        root.iconGlyph
        font.family: FontInterface.iconFont.name
        visible:     root.iconGlyph !== ""
    }
    Text {
        id:   _label
        text: root.label
        // ... font properties
    }
}
Sizing — tokens first, literals as fallback

Check Spacing.qml and FontInterface.qml first. Only use a literal value when no token covers the dimension, and add a // TODO: add to Spacing.qml comment.

Focus ring pattern

Focus rings apply only to Control-based components (AbstractButton, CheckBox, Switch, Slider, etc.). Text Field (ColumnLayout root) and Select (Item root) are not Control subclasses — use activeFocus and a fixed radius for those.

qml
// For Control-based components (AbstractButton, CheckBox, Switch …)
Rectangle {
    anchors { fill: parent; margins: -2 }
    radius:       parent.radius + 2          // only valid when parent is a Rectangle
    color:        "transparent"
    border.color: Theme.stroke_focus         // use a token — never a literal color
    border.width: 2                          // TODO: promote to Spacing token if available
    visible:      root.visualFocus           // Control property — gives keyboard-only focus ring
}

// For non-Control roots (ColumnLayout, Item) — use activeFocus and fixed radius
Rectangle {
    anchors { fill: parent; margins: -2 }
    radius:       4                          // TODO: use Spacing token
    color:        "transparent"
    border.color: Theme.stroke_focus
    border.width: 2
    visible:      root.activeFocus
}
Color animation pattern

Add Behavior blocks only on color properties that animate during interaction (hover, press). Skip them for the disabled state — a snap, not a fade, is usually correct there.

qml
// On the Rectangle or contentItem that holds the interactive color:
Behavior on color        { ColorAnimation { duration: Theme.duration_fast } }
Behavior on border.color { ColorAnimation { duration: Theme.duration_fast } }
// If no duration token exists yet: duration: 100 — add a TODO to promote it
Cursor pattern
qml
HoverHandler { cursorShape: root.enabled ? Qt.PointingHandCursor : Qt.ArrowCursor }

Step 6 — Write the QML File

Place each component in the project's components/ folder. Use PascalCase matching the Figma component name (Button.qml, TextField.qml, etc.).

File header
qml
// ComponentName.qml — [Project] Design System — [component description]
// Maps to Figma: [file name] → [component name] (node [id])
//
// Figma variants (inspected via MCP, [date]):
//   Prop1: "value1" | "value2"
//   Prop2: "valueA" | "valueB"
// States: Default | Hover | Pressed | Disabled [| Error | Focus]
// Sizes:  "small" | "medium" | "large"
//
// Usage:
//   import MyProject
//   ComponentName { prop: "value"; onAction: doThing() }
Public API section
qml
// ── Public API ────────────────────────────────────────────────────────────
property string variant: "primary"
property string size:    "medium"
property string label:   "Button"

// ── Private helpers ───────────────────────────────────────────────────────
readonly property bool  _isSmall: size === "small" || size === "sm"
readonly property color _bg: ...
Missing values
qml
// TODO: add Spacing.buttonIconGapSm to Spacing.qml (Figma: 0px for small buttons)
readonly property int _iconGap: _isSmall ? 0 : Spacing.x4

After generating all components, summarise the full TODO list for the user.


Step 7 — Post-Generation Review

After all components are written, run a consistency pass:

  • Every readonly property color referencing a theme token must use a name that actually exists in Theme.qml or Primitives.qml. Flag any that don't.
  • Every numeric size must come from Spacing.qml or FontInterface.qml. Collect any literals that should be promoted to tokens.
  • Every interactive component has a focus ring.
  • Every interactive component has a HoverHandler with a cursor shape.
  • File headers document the node IDs that were inspected.
  • Update the inventory table from Step 1 — mark all components done or blocked.

Present a brief summary to the user:

  • Components generated (count and names)
  • Components skipped or blocked (with reason)
  • Full TODO list: tokens that need to be added to the design-system singletons
  • Recommended next step: add components to qt_add_qml_module QML_FILES in CMakeLists.txt and smoke-test in a gallery

Common Pitfalls

Inspecting the component set instead of a main component. Component sets return all variants stacked. Always drill down to an individual component node.

Using token names from reference assets instead of the project. The reference assets use example token names that may not match the project's singletons. Always read the actual singleton files first.

Hardcoding a value that exists in a token. Check Spacing.qml and FontInterface.qml before writing any literal number.

Missing the indeterminate / partial state. Checkbox and radio buttons often have a third state. Always check for Qt.PartiallyChecked.

Not zeroing out AbstractButton default padding. AbstractButton and other Control subclasses have default padding that inflates rendered height. Zero them explicitly when managing geometry yourself.

Forgetting Behavior blocks. Add Behavior on color { ColorAnimation { duration: Theme.duration_fast } } on color properties that animate during interaction (hover, press). Use a token for duration — not a hardcoded 100. Skip Behaviors on the disabled state; a snap transition is usually correct there.

Popup z-ordering. Popup items need parent: Overlay.overlay if clipped by a parent container.

Mixing Pattern A strings and Pattern B enums. Choose one variant approach and use it consistently across all components.

© TheQtCompanyRnD, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 85 other files (references, assets) in skills/qt-figma-component-generation of TheQtCompanyRnD/agent-skills.

  • SKILL.md
  • assets/qt-controls/BadgeLabel.qml
  • assets/qt-controls/BadgeLabelStyle.qml
  • assets/qt-controls/BadgeNotification.qml
  • assets/qt-controls/BadgeNotificationStyle.qml
  • assets/qt-controls/Button.qml
  • assets/qt-controls/ButtonStyle.qml
  • assets/qt-controls/Card.qml
  • assets/qt-controls/CardStyle.qml
  • assets/qt-controls/CheckBox.qml
  • assets/qt-controls/CheckBoxStyle.qml
  • assets/qt-controls/ComboBox.qml
  • assets/qt-controls/ComboBoxStyle.qml
  • assets/qt-controls/Dialog.qml
  • assets/qt-controls/DialogButtonBox.qml
  • assets/qt-controls/DialogButtonBoxStyle.qml
  • assets/qt-controls/DialogStyle.qml
  • assets/qt-controls/IconButton.qml
  • assets/qt-controls/IconButtonStyle.qml
  • … and 67 more

Open the folder on GitHubat commit a784c48

Compare with similar skills

Qt Figma Component Generation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Qt Figma Component Generation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Qt Figma Component Generation this skillTheQtCompanyRnD/agent-skills470—~4.1kAutomated safety check: PassBSD-3-Clause
Figma Design System Builderwarpdotdev/warp65k2 repos~4.4kAutomated safety check: PassAGPL-3.0
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Figma Screen Generatorwarpdotdev/warp65k2 repos~5kAutomated safety check: PassAGPL-3.0
Extract DesignManavarya09/design-extract4.2k—~786Automated safety check: NotesMIT
AnyDesignuxKero/anydesign216—~1.5kAutomated safety check: PassMIT

Similar skills

  • Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.

    65k GitHub starsUsed in 2 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Figma Screen Generator

    warpdotdev/warp

    Builds or updates full Figma screens from code or a description by reusing the file's published design system components, variables and styles.

    65k GitHub starsUsed in 2 repos~5k tokens
    Frontend & DesignAuto-check passed
  • Extract Design

    Manavarya09/design-extract

    Extract the full design language from any website URL. An agent skill from Manavarya09/design-extract.

    4.2k GitHub stars~786 tokensUpdated 2 days ago
    Frontend & DesignAuto-check: notes
  • AnyDesign

    uxKero/anydesign

    Extracts the design of a screenshot, website URL or Figma file into a design.md of tokens, components, layout and brand rules, or copies one element into element.md.

    216 GitHub stars~1.5k tokensUpdated 26 days ago
    Frontend & DesignAuto-check passed
  • AnyDesign Design Analyzer

    avelikiy/great_cto

    Analyzes a screenshot, website or Figma file and writes a `design.md` with its token system, component inventory and reconstruction notes, or an `element.md` for one element.

    103 GitHub starsUsed in 1 repo~3.2k tokens
    Frontend & DesignAuto-check passed

More from TheQtCompanyRnD/agent-skills

  • Qt Canvas2d

    TheQtCompanyRnD/agent-skills

    Applies Qt Canvas2D (QtCanvas2D / Qt Canvas Painter, Qt 6.12+) best practices when producing or working with Canvas2D QML source code.

    470 GitHub stars~3.4k tokensUpdated 3 days ago
    Auto-check passed
  • Qt Qml Test Run

    TheQtCompanyRnD/agent-skills

    Builds and runs Qt Quick Test (qmltestrunner / CTest) for a QML project, then writes a Markdown report.

    470 GitHub stars~4.4k tokensUpdated 3 days ago
    Auto-check passed
  • Qt Figma Token Extraction

    TheQtCompanyRnD/agent-skills

    Extract design tokens, text styles, and variables from a Figma design system and produce a design-tokens.json plus ready-to-use QML singletons.

    470 GitHub stars~7.3k tokensUpdated 3 days ago
    Auto-check passed
  • Qt Cmake Project

    TheQtCompanyRnD/agent-skills

    A skill your agent uses to generate or update Qt 6 CMake projects or edit CMakeLists.txt, add sources/resources or define targets (executable, QML module, library).

    470 GitHub stars~2.5k tokensUpdated 3 days ago
    Auto-check passed
  • Qt Qml Test

    TheQtCompanyRnD/agent-skills

    Generates Qt Quick Test cases (TestCase, SignalSpy, tryCompare) for QML components.

    470 GitHub stars~4.2k tokensUpdated 3 days ago
    Auto-check passed
  • Qt UI Design

    TheQtCompanyRnD/agent-skills

    Design or audit UI for Qt/QML, Qt projects, web, or embedded MPU or MCU targets.

    470 GitHub stars~6.4k tokensUpdated 3 days ago
    Auto-check passed

Works with

Questions about Qt Figma Component Generation

What does Qt Figma Component Generation do?

Extract component metadata from a Figma design system and generate production-ready QML controls. Qt Figma Component Generation is an agent skill from TheQtCompanyRnD/agent-skills. Extract component metadata from a Figma design system and generate production-ready QML controls.

When should I use Qt Figma Component Generation?

Qt Figma Component Generation fits situations like: someone wants to turn Figma components into QML files — whether they say generate components from Figma; create QML controls based on a design system; convert Figma components to QML; build the component library.

How do I install Qt Figma Component Generation in Claude Code?

Run `npx skills add TheQtCompanyRnD/agent-skills --skill qt-figma-component-generation -a claude-code`. Or copy the skill folder (skills/qt-figma-component-generation in TheQtCompanyRnD/agent-skills) into .claude/skills/qt-figma-component-generation in your project. Claude Code loads it when a task matches its description.

How do I install Qt Figma Component Generation in Codex?

Run `npx skills add TheQtCompanyRnD/agent-skills --skill qt-figma-component-generation -a codex`. Or copy the skill folder (skills/qt-figma-component-generation in TheQtCompanyRnD/agent-skills) into .agents/skills/qt-figma-component-generation in your project. Codex loads it when a task matches its description.

Can I use Qt Figma Component Generation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TheQtCompanyRnD/agent-skills --skill qt-figma-component-generation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/qt-figma-component-generation, .gemini/skills/qt-figma-component-generation, .github/skills/qt-figma-component-generation and .opencode/skills/qt-figma-component-generation in your project.

What does Qt Figma Component Generation need to run?

SKILL.md names no scripts, command-line tools or credentials: Qt Figma Component Generation is instructions for the agent only. Compatibility (from SKILL.md): Works with Claude Code, Codex, and GitHub Copilot. Requires Figma MCP and design-tokens.json from qt-figma-token-extraction..

Does Qt Figma Component Generation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Qt Figma Component Generation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Qt Figma Component Generation use?

Qt Figma Component Generation is published under the BSD-3-Clause licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Qt Figma Component Generation use?

About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 10k tokens, read only when the agent opens those files.

What are the alternatives to Qt Figma Component Generation?

Skills that share tags, products or a category with Qt Figma Component Generation: Figma Design System Builder (warpdotdev/warp, 65k stars), Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars), Figma Screen Generator (warpdotdev/warp, 65k stars) and Extract Design (Manavarya09/design-extract, 4.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Qt Figma Component Generation?

TheQtCompanyRnD (a GitHub organization) maintains it in TheQtCompanyRnD/agent-skills, which has 470 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.

Source: TheQtCompanyRnD/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.