Figma use_figma Plugin API Rules
warpdotdev/warp
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.
Audit Figma variable collections: tier mapping, naming, alias chains, modes, orphans; can fix in place with Figma Console MCP.
$ npx skills add murphytrueman/design-system-ops --skill figma-variable-audit -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install murphytrueman/design-system-ops figma-variable-audit --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/figma-variable-audit .claude/skills/figma-variable-audit && rm -rf skills-srcUse ~/.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/
Install the "figma-variable-audit" agent skill from https://github.com/murphytrueman/design-system-ops/tree/main/skills/figma-variable-audit into .claude/skills/figma-variable-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma-variable-audit", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/murphytrueman/design-system-ops/tree/main/skills/figma-variable-auditType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add murphytrueman/design-system-ops --skill figma-variable-audit -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install murphytrueman/design-system-ops figma-variable-audit --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/figma-variable-audit .agents/skills/figma-variable-audit && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "figma-variable-audit" agent skill from https://github.com/murphytrueman/design-system-ops/tree/main/skills/figma-variable-audit into .agents/skills/figma-variable-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma-variable-audit", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add murphytrueman/design-system-ops --skill figma-variable-audit -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install murphytrueman/design-system-ops figma-variable-audit --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/figma-variable-audit .cursor/skills/figma-variable-audit && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "figma-variable-audit" agent skill from https://github.com/murphytrueman/design-system-ops/tree/main/skills/figma-variable-audit into .cursor/skills/figma-variable-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma-variable-audit", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/murphytrueman/design-system-ops.git --path skills/figma-variable-audit--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add murphytrueman/design-system-ops --skill figma-variable-audit -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install murphytrueman/design-system-ops figma-variable-audit --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/figma-variable-audit .gemini/skills/figma-variable-audit && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "figma-variable-audit" agent skill from https://github.com/murphytrueman/design-system-ops/tree/main/skills/figma-variable-audit into .gemini/skills/figma-variable-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma-variable-audit", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install murphytrueman/design-system-ops figma-variable-auditInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add murphytrueman/design-system-ops --skill figma-variable-audit -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/figma-variable-audit .github/skills/figma-variable-audit && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "figma-variable-audit" agent skill from https://github.com/murphytrueman/design-system-ops/tree/main/skills/figma-variable-audit into .github/skills/figma-variable-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma-variable-audit", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add murphytrueman/design-system-ops --skill figma-variable-audit -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install murphytrueman/design-system-ops figma-variable-audit --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/figma-variable-audit .opencode/skills/figma-variable-audit && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "figma-variable-audit" agent skill from https://github.com/murphytrueman/design-system-ops/tree/main/skills/figma-variable-audit into .opencode/skills/figma-variable-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma-variable-audit", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
figma-variable-auditAudit Figma variable collections: tier mapping, naming, alias chains, modes, orphans; can fix in place with Figma Console MCP.
Figma Variable Audit is an agent skill from murphytrueman/design-system-ops. Audit Figma variable collections: tier mapping, naming, alias chains, modes, orphans; can fix in place with Figma Console MCP. Triggers: audit my Figma variables, review variable collections, Figma variable health. For token files in code use token-audit.
Its SKILL.md is about 5.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Design tokens. It works with Figma and Model Context Protocol. The repository describes itself as: Claude Code skills for the work that keeps a design system alive. The licence is MIT.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f167898. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteGrepGlobBash(cat:*)Bash(find:*)Bash(head:*)Bash(ls:*)From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
figma.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Figma Variable Audit loads about 5.8k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 3,043 words of instructions outside code blocks.
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.
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.
The full file from murphytrueman/design-system-ops at commit f167898, republished under its MIT licence (© murphytrueman). 3,043 words, ~5,807 tokens.
.claude/skills/figma-variable-audit/SKILL.md (or your agent's skills folder).A skill for auditing Figma variable collections against three-tier token architecture principles. Produces a structured report with severity-rated findings and a prioritised remediation list. For teams whose source of truth lives in Figma variables rather than code.
Confirm that every path in this skill's frontmatter references: exists relative to this SKILL.md. If any is missing, stop: the install is incomplete, usually because a flattening installer (for example npx skills install) dropped the repo-root knowledge-notes/ directory. Tell the user to reinstall by a method in 1-INSTALL.md and run verify-install.sh from the install root. Proceed without the references only if the user explicitly says to, and then say in the output that it was produced without the pack's reference material.
This skill applies the three-tier token architecture model to Figma variables: primitives encode raw values, semantic variables encode intent, and component-tier variables map intent to specific UI contexts. Figma-native teams treat variables as their token source of truth — this audit reads Figma directly and validates the same structural dimensions as the code-based token-audit: naming conventions, tier separation, alias chains, mode coverage, orphaned variables, and DTCG readiness.
The audit is not about enforcing a particular naming convention. It's about identifying where the variable structure is working against the teams using it.
If .ds-ops-config.yml exists, follow the configuration-and-recurring knowledge note (../../knowledge-notes/configuration-and-recurring.md) for loading, integration fallbacks and recurring runs. This skill reads:
severity.* — finding severity overridesintegrations.figma — Figma file key, default branch for mode selectionintegrations.code_tokens — code token source for the Step 6 cross-referencerecurring.* — the previous variable audit, for trend comparisonThis skill needs to read whole variable collections. Before proceeding, check which Figma access is available by attempting a lightweight call (such as figma_get_status or listing available Figma tools). Two limits decide what's possible:
get_variable_defs returns only the variables a selected node uses. It can show a sample, not run a collection-wide audit. If it's the only Figma connection, say the audit would be partial and offer the alternatives below.A full audit needs the Figma Console MCP (Desktop Bridge plugin), which reads every collection through the Plugin API.
If the Console MCP is not available:
token-audit skill instead, which audits token files in the codebase without needing FigmaIf the Console MCP is available, proceed to Step 1.
Ask the user for a Figma file URL, file key, or node ID. Acceptable inputs:
https://figma.com/design/abc123/Design%20System)abc123)123:456)If .ds-ops-config.yml specifies integrations.figma.file_key, use it automatically without asking.
Pull Figma data. figma_get_variables returns a ~2K-token summary by default and auto-summarises any full response over about 25K tokens, so a one-call read of a real library audits a truncated view. Read it in pieces:
figma_get_variables with format: "summary" to get the collections, their modes and variable counts. This is the audit's inventory.figma_get_variables with format: "filtered", collection: "<name>", resolveAliases: true, verbosity: "standard", pageSize: 100, and page from 1 upwards until a page comes back with fewer than 100 variables. Keep the variable ids: findings and Step 10 fixes need them. If a response says it was summarised, halve pageSize and re-read that page.enrich: true, include_usage: true and include_dependencies: true; without those flags the data has no consumer information and orphan claims are guesses.figma_get_styles for colour, text, effect and grid styles, which are sometimes used instead of or alongside variables.Component-tier collections are identified by name and alias direction in Step 2, not by reading components. Request confirmation before reading. Once confirmed, connect and pull the data, and record under Scope how many pages each collection took and whether any response was summarised.
Identify which variable collections map to which tiers:
Primitive tier — raw values, no semantic meaning. Examples: Primitives, Colors, Spacing, Font Sizes, Raw Colors
Semantic tier — intent-driven references to primitives. Examples: Semantic Colors, Theme, Intent Colors, Tokens
Component tier — scoped to a specific component context. Examples: Button, Card, Form Input, Navigation
For each collection:
Misc, Exports, Legacy)Produce a brief tier map:
Collection → Tier:
- Primitives (142 variables) → Primitive
- Semantic (67 variables) → Semantic
- Button (18 variables) → Component
- Card (12 variables) → Component
Mixed: System (54 variables) → contains both primitives and semantic
Unmapped: Legacy (8 variables) → no clear tierIf any collection is unmapped or mixed, flag this as a finding.
Figma groups variables with / — a variable named color/action/primary appears as primary inside the color → action groups. Expect / as the path separator; it maps to . in code token names. For each variable name in each collection, check:
Hierarchical naming — do names follow a path-like convention (category/role/variant/state)?
color/action/primary, spacing/component/gap/smcolorPrimary, primary_color, button_bg_default (flat names, no groups)Intent-based naming at semantic tier — do semantic names describe purpose, not appearance?
color/semantic/blue (describes colour, not intent)color/action/primary (describes role)Reserved terms — apply the naming rules in the token-architecture note, which token-audit uses for code tokens, so the two audits agree: colour names at the semantic tier are always flagged; a size term is flagged only when it is the whole role (color/large), not when it names a scale step (spacing/component/gap/sm above is a PASS); default and base are fine as a level or state segment beside a role
Naming consistency — are casing, separators, and phrase ordering consistent across collections?
/ groups vs dots or hyphens used as separators, segment order (role/variant/state vs variant/role/state)Ambiguity checks — flag names that could mean multiple things:
normal, alt, variant, misc, other, or default/base standing alone as the entire roleTrace the reference structure of every variable:
Correct chain direction — do component variables reference semantic variables (not primitives directly)?
button/bg/default (Button collection) aliases blue/500 (Primitives collection)button/bg/default (Button collection) aliases color/action/primary (Semantic collection)Semantic references — do semantic variables reference primitives?
color/primary (Semantic) aliases color/other (Semantic) — a semantic-to-semantic hop adds a layer without adding meaningcolor/primary (Semantic) aliases blue/500 (Primitives)Upward references — are there any primitives or semantics referencing component-tier variables?
Chain length — flag chains longer than 3 hops (component → semantic → primitive is 2 hops; 3 is tolerable; more than 3 usually means unnecessary abstraction layers)
Broken chains — are there any aliases pointing to non-existent variables?
Produce a chain summary for at least one complete chain per tier:
Chain example: button/background/default (Button)
button/background/default → color/action/primary (Semantic, 1 hop)
→ blue/500 (Primitives, 2 hops)
→ #0066CC (resolved value)
Status: ✅ PASS (correct direction, 2 hops)For each collection, list all modes and check coverage:
Mode definition — do modes match what the collection varies by?
Light, Dark, High Contrast)Desktop, Tablet, Mobile, Compact) are legitimateiOS, Android modes on a colour collection — platform differences belong in the transform layer, not in modesUnthemed values — Figma gives every variable a value in every mode as soon as the mode is added (copied from the default), so "missing values" rarely exist. Check instead for semantic and component variables whose value in a non-default mode is identical to the default mode — for colour and shadow variables in a theme collection, that usually means the variable was never themed.
Mode consistency — are all variables updated together when a mode changes, or are some stale?
Produce a mode coverage summary (figures illustrative):
Values identical to the default mode (Light):
Dark High Contrast
Semantic 2 5 (e.g. color/feedback/pending: #F5A623 in all modes)
Button 0 1 (button/border/focus)This step is the single owner of the Figma-versus-code comparison; token-audit points here rather than running its own. If .ds-ops-config.yml specifies integrations.code_tokens, or a token-audit report has already listed the code token source, pull the code tokens and compare:
Name alignment — do Figma variable names match code token names?
/, ., - and _ as the same separator, drop prefixes like $ and --, and compare case-insensitively. color/action/primary, $color-action-primary and --color-action-primary are the same nameValue alignment — do resolved Figma values match code token values?
color/action/primary: #0066CC vs Code #0064CCCoverage gaps — variables existing in Figma but not in code (and vice versa)
If no code tokens are found, document that and skip this step. Note in the output: "Code token cross-reference skipped — no code token source configured."
Orphaned variables — variables with no consumers in this file, from the Step 1 enriched read
include_usage)Duplicate values — multiple variables resolving to the same value
blue/500: #0066CC and navy/base: #0066CC (both Primitives)Style overlap — variables that duplicate style definitions
If the team is considering or has declared DTCG migration, run these checks:
Type declarations — DTCG 2025.10 tokens need a resolvable type. Figma variables carry a resolvedType (COLOR, FLOAT, STRING, BOOLEAN) and scopes (e.g. CORNER_RADIUS, GAP, FONT_SIZE), so check:
resolvedType plus scopes? COLOR → color; FLOAT scoped to GAP, WIDTH_HEIGHT or CORNER_RADIUS → dimension; FLOAT scoped to FONT_WEIGHT → fontWeightALL_SCOPES — they can't be typed without guessingComposite types — Figma doesn't have native composite types (typography, shadow, border). Check:
Resolver export — in a DTCG resolver each Figma mode becomes a context under a modifier (a Theme collection with Light and Dark modes exports as a theme modifier with light and dark contexts). Contexts inherit whatever they don't redefine, so the unthemed values from Step 5 export as inherited values, not errors; the only question is whether they should be themed, which Step 5 already answers. Mode names carry no spec restriction; they become context keys, so pick the casing the code side uses.
Migration effort estimate:
Open with a headline sentence that tells the reader the overall state and where to focus. Example: "Your variable structure is sound, but 9 component variables skip the semantic tier and 5 semantic colours were never themed for Dark."
Structure the report as follows:
Summary
One paragraph. What is the overall state of the Figma variable architecture? What is the most urgent problem? (One sentence for critical findings.)
Tier structure
Findings
List each finding with:
figma_get_variables) so a Step 10 fix or a later run can find it after a renameExample:
FVA-02 | 🟠 High | Naming | Primitive tier contains semantic-like names.
Evidence: color/action/primary, color/feedback/success (Primitives collection)
Remediation: Move intent-based colours to the Semantic collection. Rename primitives: color/blue/500, color/green/600Remediation priority
Group findings into three tiers:
Mode coverage analysis (if modes exist)
Show coverage matrix and gaps.
DTCG readiness (if applicable)
Structural changes needed for clean DTCG export. Effort estimate and recommended migration sequence.
Scope
End with the closing note below.
For files with fewer than 50 variables:
If the Figma Console MCP from Southleft is connected (check for figma_rename_variable, figma_update_variable, and figma_add_mode tool availability), offer to fix findings directly in Figma after presenting the audit report. This turns the audit from a report into a remediation session.
What can be fixed in place:
figma_rename_variable to rename variables that violate conventions. Rename preserves all values, modes, and alias references inside Figma. It does not update anything outside Figma: exported code token names, Code Connect mappings and any docs that quote the old name all break. Before renaming a variable that Step 6 matched to a code token, say so and get the user to confirm the code side will be renamed too (a token-migration run), or skip it.figma_add_mode to add modes that should exist but don't (e.g. a collection has Light but not Dark).figma_create_variable to create semantic-tier variables that the audit identified as gaps.figma_update_variable to correct values in specific modes.What should NOT be fixed automatically:
Workflow:
When only the official Figma MCP is connected: the audit can't run collection-wide (see Step 0), so there's no full findings list to fix from. Present what the selection-scoped read showed, say it's partial, and recommend the Figma Console MCP from Southleft for both the full audit and in-place fixes.
End the report with:
A note on context: This audit compares Figma variables against structural best practices — it does not see why variables were structured the way they are. Some findings may flag deliberate choices. If any finding describes an intentional decision, let me know — I'll calibrate future audits to your team's conventions. The goal is to surface problems, not to second-guess decisions you've already made.
© murphytrueman, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/figma-variable-audit of murphytrueman/design-system-ops.
Open the folder on GitHubat commit f167898
Figma Variable Audit 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Figma Variable Audit this skillmurphytrueman/design-system-ops | 201 | — | ~5.8k | Automated safety check: Pass | MIT | |
| Figma use_figma Plugin API Ruleswarpdotdev/warp | 65k | 4 repos | ~4.4k | Automated safety check: Pass | AGPL-3.0 | |
| Figma Design to Codewarpdotdev/warp | 65k | 4 repos | ~2.9k | Automated safety check: Pass | AGPL-3.0 | |
| Figma Screen Generatorwarpdotdev/warp | 65k | 2 repos | ~5k | Automated safety check: Pass | AGPL-3.0 | |
| Figma Codegenawdr74100/figwright | 977 | — | ~4.2k | Automated safety check: Pass | MIT | |
| Igniteui Wc Customize Component ThemeIgniteUI/igniteui-webcomponents | 170 | — | ~4.3k | Automated safety check: Pass | MIT |
warpdotdev/warp
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.
warpdotdev/warp
Turns a Figma frame or component into production code that matches the design, using the Figma MCP server and the project's own design system.
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.
awdr74100/figwright
Generate framework-aware code from a Figma design. An agent skill from awdr74100/figwright.
IgniteUI/igniteui-webcomponents
Theme and style Ignite UI Web Components (and igniteui-react) apps using CSS custom properties, optional Sass, and the igniteui-theming MCP server.
asgeirtj/system_prompts_leaks
Inspects Figma designs through the figma CLI and Figma's MCP server to read variants, spacing, tokens and layouts and to extract assets for implementation.
murphytrueman/design-system-ops
Write the AGENTS.md that tells coding agents how to use this design system: where things live, sourced rules, how to check work, what not to do; Claude, Cursor or Copilot pointers on request.
murphytrueman/design-system-ops
Write a six-section prose description (purpose, props, anti-patterns, composition, accessibility, examples) for a Figma component's description field so LLMs read it via MCP.
murphytrueman/design-system-ops
Write release notes, a migration guide and a team announcement for a design system change that is already decided, scaled to its impact.
murphytrueman/design-system-ops
Generate machine-readable index files in .ai/index/ (component inventory, uses/usedBy graph, stats) for AI agents.
murphytrueman/design-system-ops
Generate tested jscodeshift/postcss codemods for design system migrations: token renames, prop renames or removals, import paths, component swaps.
murphytrueman/design-system-ops
Audit prop APIs across a component library: naming consistency, boolean/default patterns, type coverage, exported types, breaking changes between versions.
Works with
Categories
Audit Figma variable collections: tier mapping, naming, alias chains, modes, orphans; can fix in place with Figma Console MCP. Figma Variable Audit is an agent skill from murphytrueman/design-system-ops. Audit Figma variable collections: tier mapping, naming, alias chains, modes, orphans; can fix in place with Figma Console MCP.
Figma Variable Audit fits situations like: tasks that involve Design tokens.
Run `npx skills add murphytrueman/design-system-ops --skill figma-variable-audit -a claude-code`. Or copy the skill folder (skills/figma-variable-audit in murphytrueman/design-system-ops) into .claude/skills/figma-variable-audit in your project. Claude Code loads it when a task matches its description.
Run `npx skills add murphytrueman/design-system-ops --skill figma-variable-audit -a codex`. Or copy the skill folder (skills/figma-variable-audit in murphytrueman/design-system-ops) into .agents/skills/figma-variable-audit in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add murphytrueman/design-system-ops --skill figma-variable-audit -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-variable-audit, .gemini/skills/figma-variable-audit, .github/skills/figma-variable-audit and .opencode/skills/figma-variable-audit in your project.
Going by SKILL.md and its folder, Figma Variable Audit needs the command-line tools its instructions call (npx). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Write, Grep, Glob, Bash(cat:*), Bash(find:*), Bash(head:*), Bash(ls:*).
SKILL.md names 1 domain. In commands or code: figma.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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.
Figma Variable Audit is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.8k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Figma Variable Audit: Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars), Figma Design to Code (warpdotdev/warp, 65k stars), Figma Screen Generator (warpdotdev/warp, 65k stars) and Figma Codegen (awdr74100/figwright, 977 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
murphytrueman (a GitHub user) maintains it in murphytrueman/design-system-ops, which has 201 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on September 24, 2026.
Source: murphytrueman/design-system-ops on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.