Agent skill · figma

figma-shaders

**MANDATORY prerequisite** — load this skill before calling `create_shader` or `update_shader`. Use when the user asks to create, author, change, fix, or iterate on a shader effect, shader fill, custom effect, custom fill, or procedural shader in Figma.

What it needs

About 3k tokens when loaded.

What this skill does

Create and update Figma shaders Load this skill before every createshader or updateshader call. It covers account-library shader authoring through the Figma MCP server. Reading or applying an existing shader does not require this skill. Shaders have two kinds: effect samples and transforms the rendered layer beneath it. Use it for blur, distortion, glow, color grading, pixelation, halftone, or other post-processing. fill generates pixels without an input raster. Use it for gradients, patterns, noise, textures, and procedural backgrounds. Do not silently switch kinds during an update. The kind passed to updateshader must match the existing shader. Create workflow 1. Decide whether the request is an effect or fill. Ask only when the visual intent does not resolve the distinction. 2. Resolve planKey. Reuse one supplied by the user; otherwise call whoami. Use the sole eligible plan automatically, or ask the user to choose when several materially different plans are available. 3. Call createshader once with a concise name, description, selected kind, and planKey. This creates a starter scaffold, not the requested final shader. 4. Call getshader with the returned id, then read every source URI. If the client cannot read MCP resources, call getshader with includeSource: true instead. This establishes the runtime imports and the scaffold's fixed metadata contract. 5. Author the complete replacement main.ts for the requested result. 6. Call updateshader with the returned id, the same kind, files: [{ path: "main.ts", content: "..." }], and a specific commitMessage. Use metadata when changing the name, description, or animation capabilities. Set metadata.isAnimated: true when the source reads time-related frame inputs and metadata.usesMouse: true when it reads frame.mousePosition. Never stop after createshader: the starter scaffold is only a structural starting point. Update workflow 1. Identify the shader with listshaders, then call getshader. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills figma/figma-shaders

View the source on GitHub

Browse the @skills marketplace