CtrlK
BlogDocsLog inGet started
Tessl Logo

figma-use

**MANDATORY prerequisite** — you MUST invoke this skill BEFORE every `use_figma` tool call. NEVER call `use_figma` directly without loading this skill first. Skipping it causes common, hard-to-debug failures. Trigger whenever the user wants to perform a write action or a unique read action that requires JavaScript execution in the Figma file context — e.g. create/edit/delete nodes, set up variables or tokens, build components and variants, modify auto-layout or fills, bind variables to properties, or inspect file structure programmatically.

67

Quality

81%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An unusually dense, high-signal skill body: every rule encodes a non-obvious environment constraint (missing figma.create* methods, auto-flush behavior, screenshot budgets, forbidden tools) and is backed by executable patterns and a verified reference bundle with worked recipes. The only real costs are mild redundancy across sections and API surface detail inlined in the overview that the bundle's own reference files already cover.

DimensionReasoningScore

Conciseness

Nearly every line is environment-specific and non-inferable ('$fig.auto-flushes at script end', 'GROUP has no fills/strokes/cornerRadius', 'up to 5 .screenshot() calls per tool call'), with no filler explaining concepts Claude already knows — better than anchor 3. It is not 5 because of repeated content: the hex helper appears twice (pattern block and Critical Rule 6), Critical Rule 9 duplicates the 'Node property gotchas' children list, and the 'componentKey from search_design_system' import point is restated three times.

4 / 5

Actionability

Copy-paste-ready, complete code for every common operation — the autoLayout-with-children builder, $fig.query().set() updates, instance creation with props, gradient stops, the hex helper, page switching — plus the 'full surface' API listing. All cited reference files (fig-builder.md, critical-rules-deep.md, variable-patterns.md, plugin-api-standalone.d.ts, etc.) exist in the bundle, matching anchor 5's 'fully executable, covers the common cases'.

5 / 5

Workflow Clarity

Multi-step processes are explicitly sequenced with validation checkpoints and error-recovery feedback loops: incremental placeholder+replace building with .screenshot() verification per step, the two-call variant-discovery pattern (inspect componentPropertyDefinitions, then instantiate), rehydrating variable handles across calls, and the 3-call bulk-mutation budget ending in 'FINAL REPORT... STOP'. Rule 12/15 ('unexpected error is server-side — change approach'; '3 retries → switch approach') close the retry loop, so the batch-operation cap does not apply.

5 / 5

Progressive Disclosure

The body points to a real, verified 14-file reference bundle one level deep, each entry labeled with its content ('WRONG/RIGHT examples, full node-type pitfall list', 'grep, don't read whole'), and a dedicated References section — matching anchor 4's 'good structure, references mostly clear'. It is not 5 because the '$fig create + mutate API (full surface)' section and parts of 'Node property gotchas' inline API-detail content that fig-builder.md and plugin-api-standalone.index.md already exist to carry, making the main file longer than a clean overview.

4 / 5

Total

18

/

20

Passed

Description

75%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description has excellent trigger specificity and a concrete, comprehensive action list, but front-loads ~60% of its length with second-person mandate text ('MANDATORY prerequisite... you MUST... NEVER...') that describes invocation policy rather than capability, and never explicitly states what the skill does. The trigger clause is explicit and effective.

Suggestions

Lead with a third-person statement of what the skill does (e.g. 'Executes JavaScript in Figma files via the Figma Plugin API to create/edit/delete nodes, set up variables and tokens, build components and variants, modify auto-layout and fills') and demote the MANDATORY/NEVER mandate language to a single short clause, since the rubric penalizes second-person voice.

Add a few natural trigger synonyms users actually say — 'design', 'colors', 'text styles', 'icons', 'design system' — to broaden keyword coverage beyond the current node/variable/component vocabulary.

Trim 'Skipping it causes common, hard-to-debug failures' — it is motivational padding that consumes description budget without adding capability or trigger information.

DimensionReasoningScore

Specificity

The e.g. list names multiple concrete actions — 'create/edit/delete nodes, set up variables or tokens, build components and variants, modify auto-layout or fills, bind variables to properties, or inspect file structure programmatically' — which is anchor-5 coverage, but the description is written in second person ('you MUST invoke this skill', 'NEVER call use_figma directly'), invoking the rubric's -1 specificity penalty. It is not a 3 because the action list is comprehensive, not merely 1-2 actions.

4 / 5

Completeness

The 'when' is explicit and specific ('Trigger whenever the user wants to perform a write action or a unique read action that requires JavaScript execution in the Figma file context'), so the anchor-3 cap for missing trigger guidance does not apply. The 'what' is only conveyed indirectly through the e.g. list and the phrase 'requires JavaScript execution in the Figma file context' — the description never states in its own words what the skill does (execute JavaScript in Figma files via the Plugin API), which keeps it at 4 rather than 5.

4 / 5

Trigger Term Quality

Strong natural terms tied to the domain — 'nodes', 'variables or tokens', 'components and variants', 'auto-layout', 'fills', 'bind variables', 'inspect file structure' — matching what users asking for Figma edits would say. It falls short of anchor 5 because common synonyms like 'design', 'colors', 'styles', 'text styles', or 'icons' are absent, leaving a few natural entry phrases uncovered.

4 / 5

Distinctiveness Conflict Risk

Triggers are tightly bound to the `use_figma` tool and Figma-specific vocabulary ('Figma file context', 'auto-layout', 'components and variants'), giving a clear niche well above anchor 3. It is not 5 because phrases like 'build components and variants' overlap with sibling skills this body references (figma-generate-library, figma-generate-design), so a natural-language request could route here when a companion skill is the better first load.

4 / 5

Total

16

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 1 deeper-than-1-level, 4 suspicious

Warning

referenced_paths_exist

Referenced path issues: 1 deeper-than-1-level

Warning

Total

14

/

16

Passed

Repository
figma/mcp-server-guide
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.