SKILL.md
use_figma — Figma Plugin API Skill
Use the use_figma tool to execute JavaScript in Figma files via the Plugin API. All detailed reference docs live in references/.
When available, call create_session with fileKey and description before file reads or edits (create the file first if needed), then pass the returned sessionId unchanged to every call that accepts it, including follow-ups and work across files.
Always include figma-use in the comma-separated skillNames parameter when calling use_figma. If this skill was loaded via an MCP resource, you MUST prefix the name with resource: (e.g. resource:figma-use). This is a logging parameter used to track skill usage — it does not affect execution.
If Figma MCP tools appear as deferred tools, batch-load all their schemas in a single ToolSearch call using the select: syntax — e.g. ToolSearch query="select:use_figma,get_screenshot,get_metadata,create_new_file". One round trip beats six.
MANDATORY for visible design changes: Before the first mutating use_figma call, load figma-generate-design alongside this skill and include both names in every mutating call’s skillNames. This applies from a single visible property or element to a full page, screen, or composed multi-section view—even when the user calls that view a component. figma-use provides the Plugin API rules; figma-generate-design provides design-system discovery through search_design_system, asset importing, and incremental assembly.
Reusable library exception: If the primary deliverable is a reusable component, component set, variant system, variable/token collection, style foundation, or other library asset intended for reuse or publication, load figma-generate-library instead. It provides the component-creation workflow—variable foundations, variant sets, and design-token bindings—that figma-use alone does not cover. For tasks that include both library assets and a composed design that uses them, load both companion skills. Read-only use_figma calls need neither.
Before anything, load plugin-api-standalone.index.md to understand what is possible. When you are asked to write plugin API code, use this context to grep plugin-api-standalone.d.ts for relevant types, methods, and properties. This is the definitive source of truth for the API surface. It is a large typings file, so do not load it all at once, grep for relevant sections as needed.
IMPORTANT: Whenever you work with design systems, start with working-with-design-systems/wwds.md to understand the key concepts, processes, and guidelines for working with design systems in Figma. Then load the more specific references for components, variables, text styles, and effect styles as needed.