CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

Quality

87%

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

92%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.

This is a high-quality operational skill: every rule is backed by concrete error messages, the code is executable, the multi-step workflow has explicit validation and error-recovery feedback loops, and detailed material is properly offloaded to a well-organized reference bundle. The only notable weakness is mild redundancy in the layout-sizing rules (12/12b/12c) and the inline selector-syntax documentation, which could be tightened or moved to a reference file.

DimensionReasoningScore

Conciseness

The body is dense and tool-specific with no filler or explanation of concepts Claude already knows — every rule carries a concrete consequence or exact error string ('Expected 'FIXED' | 'AUTO', received 'FILL'', 'Cannot write to node with unloaded font'). It is not a 5 because Rules 12/12b/12c repeat substantially the same sizing-enum material, Section 2 re-elaborates Rule 9, and Section 5's full selector-syntax table plus six examples is API surface that could be trimmed or moved to a reference file. Not a 3 because the over-explanation is minor relative to the volume of non-obvious, high-signal content.

4 / 5

Actionability

Fully executable, copy-paste-ready JavaScript throughout: query/set examples ('figma.currentPage.query('FRAME[name^=Card] TEXT').set({...})'), createAutoLayout scaffolds, worked inspection scripts, and the canonical font-load recipe, with exact error messages and specific fixes in the recovery table. This matches the anchor-5 example of executable code covering the common cases.

5 / 5

Workflow Clarity

Section 6 gives a numbered incremental workflow (inspect → skeleton → retry-safe batches → return IDs → validation evidence → fix before moving on) with a step-by-step validation table, Section 7 defines explicit error-recovery feedback loops (safeToRetryWithoutCanvasRead contract, re-discover on repeat failure), and Section 8 provides a pre-flight checklist — all three elements of the anchor-5 example are present. Not a 4 because validation checkpoints are explicit at every step, not merely 'most'.

5 / 5

Progressive Disclosure

The body is an operating contract with a well-signaled reference table (Section 10) giving load-conditions and coverage for each of the 12 real bundle files; bulk detail (gotchas.md, pattern files, the 403KB .d.ts) is correctly split out, and the .d.ts is explicitly grep-only rather than loaded. The working-with-design-systems drill-down (wwds.md → specific files) is clearly signaled as progressive loading, and all referenced paths and anchors in the body resolve to real files. Not a 4 because navigation is easy and content is appropriately split with only negligible inline API surface.

5 / 5

Total

19

/

20

Passed

Description

78%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 strong, explicit trigger guidance and a comprehensive list of concrete Figma actions, with minimal conflict risk. Its weaknesses are the second-person mandatory-invocation framing (roughly half the text is procedural bark rather than capability description) and the absence of an explicit statement of what the skill actually provides. Rewriting in third person and leading with the capability statement would lift it to top marks.

Suggestions

Rewrite the description in third person and lead with the capability, e.g., 'Executes JavaScript in Figma files via the Plugin API: creating/editing nodes, variables and tokens, components and variants, auto-layout, fills, and variable bindings.' This removes the second-person voice penalty and makes the 'what' explicit.

Trim the mandatory-invocation preamble ('MANDATORY prerequisite — you MUST invoke this skill BEFORE... NEVER call use_figma directly...') to one short clause; the repeated enforcement language pads the description without adding trigger value.

Replace internal jargon ('unique read action that requires JavaScript execution in the Figma file context') with user-natural phrasings like 'edit a Figma file', 'inspect a Figma design', or 'build components in Figma' to broaden natural trigger coverage.

DimensionReasoningScore

Specificity

Enumerates 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 rubric's voice penalty applies: 'you MUST invoke this skill' is second person rather than third person, reducing the score by 1. Not a 3 because the action list is far more comprehensive than 'names domain and 1-2 concrete actions'.

4 / 5

Completeness

The 'when' is explicit and concrete ('Trigger whenever the user wants to perform a write action or a unique read action...'), so the missing-trigger cap does not apply, but the 'what' is only implied through the trigger clause — the description states the skill is a mandatory prerequisite for use_figma without ever saying what it provides (e.g., Plugin API execution rules and patterns). Not a 5 because the 'what' is not explicitly stated as a capability; not a 3 because the trigger guidance is explicit and detailed.

4 / 5

Trigger Term Quality

Good natural keyword coverage ('create', 'edit', 'delete nodes', 'variables or tokens', 'components and variants', 'auto-layout', 'fills'), but phrases like 'unique read action that requires JavaScript execution in the Figma file context' are internal jargon rather than what a user would naturally say, and common synonyms are absent. Not a 5 because the coverage lacks natural variations a user would actually utter; not a 3 because most trigger terms are genuinely natural to the Figma domain.

4 / 5

Distinctiveness Conflict Risk

Clear niche bound to the use_figma tool and Figma Plugin API with distinct triggers ('JavaScript execution in the Figma file context', 'bind variables to properties'); minimal conflict risk with other skills. Not a 4 because the tool binding and API-specific actions make overlap with sibling design skills unlikely.

5 / 5

Total

17

/

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

Path

skills/figma-use/SKILL.md

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.