Mandatory read-only gate that runs before any write to a Figma file, through figmaexecute (figma-console MCP) or usefigma (official Figma MCP).

MITAuto-check passedFrontend & Design

Install Figma Preflight

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill figma-preflight -a claude-code

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

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins figma-preflight --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/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/thiagoxikota/figma-maxxing/skills/figma-preflight .claude/skills/figma-preflight && 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
figma-preflight
GitHub stars
1.3k
Token cost
~5.4k tokens
SKILL.md length
2,816 words
Files
2 (incl. scripts)
Skills in repo
714
Repo updated
First seen
Licence
MIT

At a glance

Mandatory read-only gate that runs before any write to a Figma file, through figmaexecute (figma-console MCP) or usefigma (official Figma MCP).

  • Works in 2 steps: The file's icon component pages (for… → The codebase's real assets. Grep the…
  • The user asks to create
  • SKILL.md covers Triggers, Which server each tool belongs…, The 8-check gate and Output, plus 4 more sections
  • Runs Python scripts from its folder; calls python3 and bash

What it does

Figma Preflight is an agent skill from hashgraph-online/awesome-codex-plugins. Mandatory read-only gate that runs before any write to a Figma file, through figmaexecute (figma-console MCP) or usefigma (official Figma MCP). Runs 8 checks in order (live connection, confirmed target node-id, metadata, variables, design system and icon search, canon references, state coverage, file lock) and either approves the write or returns a fix list. It never mutates the canvas. Also audits cross-screen flow: orphan screens, CTAs without a destination, dead ends. Use when the user asks to create, edit…

Its SKILL.md is about 5.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/figma_lock.py`). Compatibility notes: Gate for writes through figma-console-mcp (figmaexecute, Desktop Bridge plugin in Figma Desktop) or through the official Figma MCP server (usefigma, Full…

It sits in Frontend & Design, covering Design systems. It works with Figma and Model Context Protocol. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is MIT.

When your agent uses it

  • The user asks to create
  • Instantiate anything in Figma
  • Asks audit the flow
  • Esse botão leva pra onde?

Example prompts

  • “audit the flow”
  • “audita o fluxo”
  • “tem tela órfã?”
  • “/figma-preflight”

Requirements

  • Python 3
  • Compatibility (from SKILL.md): Gate for writes through figma-console-mcp (figma_execute, Desktop Bridge plugin in Figma Desktop) or through the official Figma MCP server (use_figma, Full seat, not validated by this repo). The file lock script needs Python 3 (standard library only). Reads the figma-canon skill. The optional local evidence script of figma-bridge-doctor is macOS only.

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. The file's icon component pages (for example an "Icons" page, whatever language it is named
  2. The codebase's real assets. Grep the screen or component source for the actual icon: the

What it can do on your machine

Read from SKILL.md and the folder at commit 9e7b281. 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

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • bash

    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

    Gate for writes through figma-console-mcp (figma_execute, Desktop Bridge plugin in Figma Desktop) or through the official Figma MCP server (use_figma, Full seat, not validated by this repo). The file lock script needs Python 3 (standard library only). Reads the figma-canon skill. The optional local evidence script of figma-bridge-doctor is macOS only.

    From compatibility in the SKILL.md frontmatter.

Context cost

Figma Preflight loads about 5.4k tokens when it runs. Until then it costs about 166 tokens; SKILL.md has 2,816 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~166
When it runs · the whole SKILL.md, loaded when a task matches
~5.4k

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); the scripts in this folder are not scanned.

SKILL.md

The full file from hashgraph-online/awesome-codex-plugins at commit 9e7b281, republished under its MIT licence (© hashgraph-online). 2,816 words, ~5,390 tokens.

Download SKILL.mdSave it as .claude/skills/figma-preflight/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
figma-preflight
description
Mandatory read-only gate that runs before any write to a Figma file, through figma_execute (figma-console MCP) or use_figma (official Figma MCP). Runs 8 checks in order (live connection, confirmed target node-id, metadata, variables, design system and icon search, canon references, state coverage, file lock) and either approves the write or returns a fix list. It never mutates the canvas. Also audits cross-screen flow: orphan screens, CTAs without a destination, dead ends. Use when the user asks to create, edit, build or instantiate anything in Figma, or asks "audit the flow", "audita o fluxo", "tem tela órfã?", "esse botão leva pra onde?".
compatibility
Gate for writes through figma-console-mcp (figma_execute, Desktop Bridge plugin in Figma Desktop) or through the official Figma MCP server (use_figma, Full seat, not validated by this repo). The file lock script needs Python 3 (standard library only). Reads the figma-canon skill. The optional local evidence script of figma-bridge-doctor is macOS only.
license
MIT
metadata.author
Thiago Xikota
metadata.version
1.2.0

figma-preflight

Mandatory pre-write checklist. Blocks the write (figma_execute, or use_figma on path B of Check 0) until all checks pass.

This skill is a gate. It approves the write or returns a fix list. It never mutates the canvas.

Triggers

  • Auto-fires when user intent is to WRITE to Figma (create, edit, build, instantiate).
  • Auto-fires before:
    • any write through the figma-console figma_execute tool (Desktop Bridge)
    • any write through the official Figma MCP server's use_figma tool
    • the canvas build phase of your project's own build skill or workflow, if any
  • Does NOT fire on read-only operations (orient, inspect, audit).

Which server each tool belongs to

  • figma-console MCP server (Southleft): figma_execute, figma_get_status, and every other figma_* tool named here.
  • Official Figma MCP server: get_metadata, get_variable_defs, search_design_system, whoami, use_figma.

Checks 1 to 4 name the official server's read tools. When only figma-console is connected, read the same kind of data with its own tools. These are alternatives, not one-to-one equivalents: the output shapes differ.

CheckOfficial Figma MCP toolfigma-console alternative
1, 2get_metadatafigma_get_file_data, figma_get_file_for_plugin, figma_get_selection (for the active selection)
3get_variable_defsfigma_get_variables, figma_get_token_values, figma_get_styles, figma_get_text_styles
4search_design_systemfigma_search_components, figma_get_library_components, figma_get_design_system_summary

The 8-check gate

Run all 8 in order (Check 0 to Check 7). Each must pass before the next runs. Fails closed (blocks the write).

Check 0: Live connection to Figma

Two paths pass this check. Only an MCP call proves the connection: a shell command NEVER does.

  • Path A, figma-console (the path this repo validates). AUTHORITY: figma_get_status with probe:true, returning setup.valid=true plus the correct connectedFile. A shell command cannot attest that the plugin is paired: ports 9223 to 9232 are a pure WebSocket with no HTTP endpoint (field note, 2026-08). Write path: figma_execute through the Desktop Bridge.
  • Path B, official Figma MCP server only. When the official server is the only live connection (figma-console is not installed, or its Bridge is down): a successful whoami plus a successful get_metadata on the target (that call also satisfies Check 2). Write path: use_figma. Path B is not validated by this repo: keep writes small, read back every change. Follow the official server's own instructions for use_figma.
  • figma-bridge-doctor/scripts/figma-status.sh (in the figma-bridge-doctor skill's scripts/ directory, macOS only; in Claude Code run it as bash "${CLAUDE_SKILL_DIR}/../figma-bridge-doctor/scripts/figma-status.sh", which needs that skill installed next to this one) is LOCAL evidence only: Figma is running, servers are listening. By design it does not report pairing (it prints current_file_pairing=ask_figma_get_status). Use it for diagnosis, not as a verdict.
  • If neither path confirms the connection, the write MUST be blocked. Bridge recovery goes through the figma-bridge-doctor skill: when figma-console is installed, try it before you fall back to path B.

Advisory pre-check A0 (optional, path A; path B already runs it): Call whoami (official Figma MCP server) once per session if you do not know which seat the connected account holds OR you are writing to a file you do not own. A seat mismatch (for example a Dev seat writing to a published library) fails loudly with a permission error, so this is an early feedback convenience, not a silent failure preventer. Skip for: a solo developer on personal drafts, sessions where you already know the seat, or when you are on the Starter plan's MCP tool call budget. The 7 hard checks below cover the silent failures.

Check 1: Target node-id confirmed
  • Has the user provided a specific node-id OR is there an active Figma selection?
  • "The header frame" is NOT confirmed. You need an explicit node-id.
  • If ambiguous: run get_metadata and ask the user to disambiguate.
Check 2: get_metadata run this session
  • Has get_metadata been called on the target page or frame in this session?
  • If NO: run get_metadata now and parse the structure.
  • If YES: reuse the earlier result from this session.
Check 3: get_variable_defs (if the write touches styled properties)
  • Will the write set fills, strokes, spacing, typography or radii?
  • If YES: get_variable_defs MUST have been called on the relevant scope.
  • If NOT called: run it now.
  • Required for token-bound writes.
Check 4: search_design_system (if the write creates new UI)
  • Will the write create a frame or component that COULD be an existing component?

  • If YES: search_design_system MUST have been run with a relevant query.

  • Block "new Button" / "new Card" / "new Input" writes if the search was not run.

  • ICONS / ILLUSTRATIONS (anti-hallucination, field note, 2026-06): NEVER hand-draw an icon (createNodeFromSvg with invented geometry) before checking what the design ALREADY has. Two sources to scan FIRST:

    1. The file's icon component pages (for example an "Icons" page, whatever language it is named in). Instantiate those brand components. Do not redraw.
    2. The codebase's real assets. Grep the screen or component source for the actual icon: the lucide-react-native import name, a require('../assets/icons/calendar.png') asset, or an SVG file.

    Match the app's REAL icon. A tab bar that uses brand PNG icons must use those assets or their componentized equivalents, never a generic geometric calendar, trophy or user that you drew. If a needed icon has no component, use the real asset (image fill) and FLAG the library gap. Never substitute a look-alike you invented. Block any icon-bearing write where neither the icon library nor the app asset was checked.

The WHOLE feature, not only the node you are about to write (field note, 2026-08). The check above is per write, and that is how one feature accumulated dozens of hand-drawn icons under many different names across several sessions: each individual write looked innocent. When you enter a feature that ALREADY EXISTS, run an adherence sweep before you start: count the nodes with an icon name (icon-* or its equivalent in the file's language, for example icone-* in Portuguese; spinner-*; a glyph in a TEXT node) that are NOT a library instance. If the number is not zero, that is debt to report at the start, not to discover when the designer points at it. The same sweep closes the work: zero ad hoc icons on the page is the proof. "I replaced N icons" is not.

Check 5: figma-canon refs loaded
  • Required refs per context (files under figma-canon/references/):
    • Any write: plugin-api-core.md + figma-execute-atomicity.md + auto-layout-canon.md
    • Write touches tokens, variables, annotations or images: + plugin-api-data.md
    • Write hits edge cases (sections, connectors, masters, image fills, rate limits):
      • plugin-api-anomalies.md (for a 429 lockout it points on to rate-limit-recovery.md)
    • New screen: the refs above + state-coverage.md + ai-slop-signatures.md + naming-canon.md
    • Handoff prep: the refs above + handoff-format.md
  • If not loaded: load now before proceeding.
Check 6: State coverage planned (if creating a screen)
  • For new screen creation: which states are required (for example Empty / Loading / Error / Success / Edge; the decision table gives the full set per screen class)?
  • Use the decision table in figma-canon/references/state-coverage.md.
  • If the states are not explicitly planned: ask the user OR stop and clarify.
Check 7: Figma file lock claimed (single-driver invariant)

One Figma file has one writer at a time. The lock script is scripts/figma_lock.py in this skill (Python 3, standard library only). The commands below call it as "${CLAUDE_SKILL_DIR}/scripts/figma_lock.py". Claude Code replaces ${CLAUDE_SKILL_DIR} with this skill's directory (the folder that holds this file) when it loads the skill. Other agents: if the text still shows ${CLAUDE_SKILL_DIR}, put the absolute path of that folder in its place; never run a command with the variable empty.

bash
python3 "${CLAUDE_SKILL_DIR}/scripts/figma_lock.py" claim <fileKey> --agent <agent> --task <task> [--ttl 1800]
python3 "${CLAUDE_SKILL_DIR}/scripts/figma_lock.py" check <fileKey>
python3 "${CLAUDE_SKILL_DIR}/scripts/figma_lock.py" release <fileKey> --agent <agent> --task <task>
python3 "${CLAUDE_SKILL_DIR}/scripts/figma_lock.py" sweep

How the script behaves:

  • File-based: one JSON lock per fileKey under ~/.cache/figma-maxxing/locks/ (override with FIGMA_LOCK_DIR). Every session on the machine must use the same lock directory. A session with a different FIGMA_LOCK_DIR does not see the others' locks.
  • The lock is advisory: it only protects sessions that check it.
  • The lock is TTL based (--ttl in seconds, default 1800), with no PID tracking. A lock tied to the PID of a transient tool shell dies immediately (agent tool shells exit right after every command), which is why this lock is TTL based (field note, 2026-08).
  • Every command prints one JSON object. Exit code 0 on success, 1 on conflict or when the lock directory stays busy ({"error": "lock directory is busy"}), 2 on a usage error (a fileKey that is not 1 to 64 letters, digits, _ or -; a --ttl that is not positive; release without a task). A usage error prints the argparse message, not JSON.
  • check prints {"held": false} or {"held": true, "agent": ..., "task": ..., "claimed_at": ..., "expires_at": ...}. It always exits 0 and never reserves the file.
  • claim prints {"claimed": true, "renewed": false, ...} on a fresh claim. A claim by the same agent and task renews the lock ("renewed": true). A claim on a lock held by someone else exits 1 and prints the holder: {"claimed": false, "held": true, "agent": ..., ...}. Expired locks are treated as free.
  • release prints {"released": true, "held": false}. If someone else holds the lock it exits 1 and prints the holder. If nothing is held it prints {"released": false, "held": false} and exits 0.
  • sweep deletes expired lock files and prints {"swept": <count>}. It is housekeeping only: an expired lock is already treated as free.
  • --agent defaults to the environment variable FIGMA_LOCK_AGENT, then to the literal agent. --task defaults to FIGMA_LOCK_TASK. A claim with no task at all gets a generated adhoc-<uuid> task that you would have to copy from the claim output to release. Always pass an explicit --agent (for example claude-code) and --task.
  • release --force releases a lock held by another task. It exists for the human, not for the agent. Never use it yourself.

The gate:

  • Resolve the fileKey from the Figma URL, figma_get_status, or the figma-map.md written by figma-orient (default docs/figma-map.md, or the agent's own memory system).
  • Diagnosis only: python3 "${CLAUDE_SKILL_DIR}/scripts/figma_lock.py" check <fileKey>. A free check does not reserve the file. Only a successful claim authorizes you to proceed.
  • If held=false: claim it with python3 "${CLAUDE_SKILL_DIR}/scripts/figma_lock.py" claim <fileKey> --agent <agent> --task <task> --ttl 1800.
  • If held=true and you ARE the holder (agent and task match): proceed.
  • If held=true and you are NOT the holder: BLOCK the write. Surface who holds it and tell the user to either wait until expires_at or release the conflicting lock manually. Do NOT bypass.
  • Release in cleanup or finally, on success and on failure alike. In a shell script, use trap. Keep exactly the same --agent and --task as the claim (or the same FIGMA_LOCK_AGENT and FIGMA_LOCK_TASK). An abrupt death without cleanup depends on TTL expiry. Never release the lock of another task.
  • Release after the write completes: python3 "${CLAUDE_SKILL_DIR}/scripts/figma_lock.py" release <fileKey> --agent <agent> --task <task>.
  • One isolated script error (for example {"error": "lock directory is busy"}) does not declare the gate broken. Re-test. Only proceed without a lock when figma-bridge-doctor/scripts/figma-status.sh shows other_sessions_count=0, and flag it in your reply. That script is macOS only, and it tells this session's MCP server apart from the others through the agent's process tree (environment variable FIGMA_AGENT_PROCESS, default claude; see the script's header). Where it cannot run or cannot show other_sessions_count=0, do not write without a lock: report the script error to the user and stop.
Show full SKILL.md (1,013 more words)Show less
Narrow exception: disjoint pages

A lock held by someone else normally blocks the write. This exception applies only when BOTH are true:

  1. The holder is another live agent session.
  2. You PROVE that its writes and yours land on different pages. The proof has three parts: figma_get_status shows the plugin's currentPage on the holder's page, the task of the lock names the holder's subject, and every one of your targets is addressed by node-id on another page.

Who may override:

  • With the designer in the conversation: the designer decides. Ask ONE multiple-choice question (override now, recommended; wait for the lock; or the designer releases it if the other session has finished).
  • With no way to ask (autonomous run): you may override, under all of these conditions:
    • write by node-id only
    • NEVER call setCurrentPageAsync
    • at the end of the batch, run the rival-write audit of the figma-bridge-doctor skill (section "After reconnecting in a WRITE session: rival-write audit", full text in figma-bridge-doctor/references/rival-write-audit.md) on the section you wrote, and report the result
    • state the override in your reply so it stays in the transcript, including the sentence "I wrote under a lock override"

Same page, or no proof that the pages are disjoint, stays BLOCKED. This is NOT a new default of the gate. It codifies two field cases, and the designer can revoke it.

Output

Pass
text
PASS figma-preflight: all 8 checks clear. Proceeding to write.

- Connection: path A, Bridge connected (port 9223) | path B, official MCP (writes via use_figma)
- Target: <node-id> (<name>)
- Metadata: cached <Nm ago>
- Variables: <N> tokens loaded
- DS search: <N> components found
- Canon loaded: <ref list>
- States planned: <state list>
- File lock: held by <agent> task=<task> until <expires_at>
Fail
text
FAIL figma-preflight: <N> gap(s) before write can proceed:

1. <gap description> -> <fix action>
2. ...

Run the fixes, then re-invoke figma-preflight.

Override

The user can override with an explicit:

  • "skip preflight" (or the same request in the user's language)
  • "I confirm target is X, proceed"

State the override in your reply, in one line ("preflight skipped on request"), so it stays in the transcript.

Post-approval: write execution rules

After the preflight OK, BEFORE generating any JS for figma_execute (or use_figma on path B):

  1. Load the refs required by Check 5 (the single list lives there), plus figma-canon/references/naming-canon.md if there is a new layer.
  2. When the write finishes (or aborts): release the lock with python3 "${CLAUDE_SKILL_DIR}/scripts/figma_lock.py" release <fileKey> --agent <agent> --task <task>. Forgetting to release blocks future sessions until the TTL expires.
  3. Never send the known failing patterns: a sync figma.currentPage = X assignment, a missing await on an async call, figma.notify(), setPluginData, createConnector. The optional precheck hook (hooks/figma-canon-precheck.py at the root of the figma-maxxing repo, opt-in) flags these patterns. If it fires: read the message, fix it at the source, do NOT retry blindly.
  4. Check the ancestor chain for locked (field note, 2026-08). In one large bind sweep through the figma-console bridge, a handful of binds under a GROUP with locked: true did not take, with no error, while each node read locked: false. Figma's typings say locked does not affect plugin writes, and the cause is not established. The check is cheap: in a write that sweeps a tree, check the chain (for (let p=n; p; p=p.parent) if (p.locked) ...), not only the target, and rely on the read-back in rule 5 either way.
  5. Post-write verification reads the PROPERTY YOU CHANGED, never a proxy. In that same batch the read-back checked color and opacity and came back green on the nodes that were never written: color and opacity really had not changed, precisely because nothing happened. If you bound a variable, read boundVariables[prop][i]. If you created a node, read its id in the parent. An independent count AFTER the batch, compared against the expected number, is the only closure that counts.

Cross-screen flow

For a NEW SCREEN write (not an edit), after the per-screen checks, answer these before the write:

  1. Which flow the screen belongs to.
  2. Which CTA of which existing screen brings the user here: a real node-id, or a "predecessor to build" stated in your reply so it stays in the transcript. A screen with no entry is born unreachable: refuse it.
  3. Every interactive element on the new screen has a destination (node-id), a "plan to build" stated in your reply, or "out of scope" with a specific reason.
Audit mode

Read-only. Use it on requests such as "audit the flow", "is there an orphan screen?", "where does this button lead?".

Build the graph of the scope:

  • device-sized frames = nodes
  • reactions[] = wired edges
  • CTA text = implicit edges. For example "Filter" implies a Filter screen and "See all" implies a list screen. Match the CTA text in whatever language the file uses, ignoring case and diacritics.

Emit a punch list. Never mutate the canvas.

  • ORPHANS: a screen with no incoming edge (unreachable).
  • DEAD ENDS: a screen that has CTAs but zero outgoing wired edges.
  • DANGLING CTAs: an interactive element whose text implies a destination that is missing in the scope. Always quote the CTA text.
  • WIRED-BUT-BROKEN: a reaction that points to a deleted or missing node.
  • SEMANTIC MISMATCH: a wired reaction, inside the scope, whose target does not match the CTA text.
  • CYCLES: informational, not a bug.
Hard rules (paid for in production)
  • NEVER auto-create a missing screen: half of the "missing" ones are out of scope on purpose. Surface it, list the candidates, the human decides. After that, the build belongs to your project's own build skill or workflow, if any.
  • A wire that leads to a screen that does not match its CTA text is a SEMANTIC MISMATCH, not a "misroute". Check the project's product documentation (spec, flow map, handoff doc), if any, before you recommend a re-wire (field note, 2026-05: on one project a session reverted a wire based on a doc claim and the designer had to undo it).
  • A project's glossary of implicit destinations (product terms that imply a specific screen) lives in the project's repo, not here. Apply it only inside that project's file.
  • Back-navigation cycles are healthy. Do not report them as a problem.

Composes with

  • figma-canon: this gate reads the relevant refs as part of Check 5.
  • figma-console figma_execute (Desktop Bridge) and official use_figma: preflight runs BEFORE any Figma write.
  • figma-bridge-doctor: owns Bridge recovery when Check 0 fails on path A.
  • figma-orient: preflight uses the orient output as input for Checks 1 and 2.
  • figma-click-flow: the visual arrow overlay is a separate skill. The audit here only analyzes the graph in memory.

© hashgraph-online, MIT. 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 1 other file (scripts) in plugins/thiagoxikota/figma-maxxing/skills/figma-preflight of hashgraph-online/awesome-codex-plugins.

  • SKILL.md
  • scripts/figma_lock.py

Open the folder on GitHubat commit 9e7b281

Compare with similar skills

Figma Preflight 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.

Figma Preflight compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Figma Preflight this skillhashgraph-online/awesome-codex-plugins1.3k—~5.4kAutomated safety check: PassMIT
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Figma Code Connect Componentswarpdotdev/warp65k2 repos~4.2kAutomated safety check: PassAGPL-3.0
Figma Screen Generatorwarpdotdev/warp65k2 repos~5kAutomated safety check: PassAGPL-3.0
Refero Designreferodesign/refero_skill297—~5.3kAutomated safety check: PassMIT
Build Figmacursor/plugins10k—~961Automated safety check: PassNone

Similar skills

  • 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
  • Maps published Figma components to their code implementations with Code Connect, using the Figma MCP suggestion and mapping tools.

    65k GitHub starsUsed in 2 repos~4.2k 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
  • Refero Design

    referodesign/refero_skill

    Primary/default skill for UI design, product design, web design, landing pages, dashboards, product screens, redesigns, visual polish, frontend/CSS styling, design systems, components, responsive…

    297 GitHub stars~5.3k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • Build Figma

    cursor/plugins

    Official

    Guides an agent through turning a Figma node into production UI with the repo's own components, then checks the result visually before finishing.

    10k GitHub stars~961 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Wonder Blocks

    Khan/wonder-blocks

    Implements user interfaces using the Wonder Blocks (WB) design system — Khan Academy's React component library.

    163 GitHub stars~3.2k tokensUpdated today
    Frontend & DesignAuto-check passed

More from hashgraph-online/awesome-codex-plugins

All 714 skills in this repo
  • Anime Reaction Gif

    hashgraph-online/awesome-codex-plugins

    Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.

    1.3k GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.3k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Rust API Test Harness

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…

    1.3k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Art

    hashgraph-online/awesome-codex-plugins

    Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…

    1.3k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Calle

    hashgraph-online/awesome-codex-plugins

    Use CALL-E from Codex through the calle CLI. An agent skill from hashgraph-online/awesome-codex-plugins.

    1.3k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.3k GitHub stars~618 tokensUpdated today
    Auto-check passed

Questions about Figma Preflight

What does Figma Preflight do?

Mandatory read-only gate that runs before any write to a Figma file, through figmaexecute (figma-console MCP) or usefigma (official Figma MCP). Figma Preflight is an agent skill from hashgraph-online/awesome-codex-plugins. Mandatory read-only gate that runs before any write to a Figma file, through figmaexecute (figma-console MCP) or usefigma (official Figma MCP).

When should I use Figma Preflight?

Figma Preflight fits situations like: the user asks to create; instantiate anything in Figma; asks audit the flow; esse botão leva pra onde?.

How do I install Figma Preflight in Claude Code?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill figma-preflight -a claude-code`. Or copy the skill folder (plugins/thiagoxikota/figma-maxxing/skills/figma-preflight in hashgraph-online/awesome-codex-plugins) into .claude/skills/figma-preflight in your project. Claude Code loads it when a task matches its description.

How do I install Figma Preflight in Codex?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill figma-preflight -a codex`. Or copy the skill folder (plugins/thiagoxikota/figma-maxxing/skills/figma-preflight in hashgraph-online/awesome-codex-plugins) into .agents/skills/figma-preflight in your project. Codex loads it when a task matches its description.

Can I use Figma Preflight 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 hashgraph-online/awesome-codex-plugins --skill figma-preflight -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/figma-preflight, .gemini/skills/figma-preflight, .github/skills/figma-preflight and .opencode/skills/figma-preflight in your project.

What does Figma Preflight need to run?

Going by SKILL.md and its folder, Figma Preflight needs Python for the scripts in its folder and the command-line tools its instructions call (python3 and bash). Our summary lists: Python 3. Compatibility (from SKILL.md): Gate for writes through figma-console-mcp (figma_execute, Desktop Bridge plugin in Figma Desktop) or through the official Figma MCP server (use_figma, Full seat, not validated by this repo). The file lock script needs Python 3 (standard library only). Reads the figma-canon skill. The optional local evidence script of figma-bridge-doctor is macOS only..

Does Figma Preflight 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 Figma Preflight 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Figma Preflight use?

Figma Preflight is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Figma Preflight use?

About 5.4k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Figma Preflight?

Skills that share tags, products or a category with Figma Preflight: Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars), Figma Code Connect Components (warpdotdev/warp, 65k stars), Figma Screen Generator (warpdotdev/warp, 65k stars) and Refero Design (referodesign/refero_skill, 297 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Figma Preflight?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,255 GitHub stars. The repository holds 714 skills in this directory. The repository was last updated on October 9, 2026.

Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.