Figma Apply Effects
Use this skill for Figma Effects. It replaces the outdated rule that Figma supports only four effect types. Current Figma Plugin typings include shadow, blur, noise, texture, and glass effect families, but MCP/client support can lag behind typings, so advanced effects are runtime-gated.
Modes
apply: add one or more effects to selected nodes.
remove: remove all effects or selected effect families.
style: apply an existing Effect Style.
bind: bind supported effect fields to variables.
audit: inspect current effects and compatibility.
recipe: translate visual language like glow, glassmorphism, soft elevation, grit, or texture into effect objects.
Required Workflow
- Confirm target node(s), visual intent, whether to replace or append effects, and privacy scope.
- Invoke
figma:figma-use before any use_figma call.
- Read the selected node metadata first:
effects, fills, style IDs, variable bindings, and current opacity.
- If the user asks for an existing Effect Style, search/select that style first and apply the style if available.
- If raw effects are needed, use references/effect-compatibility.md to choose the effect family.
- For
BACKGROUND_BLUR, check that the node has a visible fill with alpha below 1; otherwise the blur will be visually hidden.
- For glow, use a
DROP_SHADOW recipe: bright color, offset: { x: 0, y: 0 }, larger radius, and low-to-medium alpha.
- For variables, bind only supported fields. Shadow effects support
color, radius, spread, offsetX, and offsetY; blur effects support radius; noise, texture, and glass effects currently do not support variable binding in Figma plugin typings.
- Write the returned bound effect object back to the node's
effects array.
- Read metadata back and report exact effects, bindings, skipped fields, and visual caveats.
Effect Families
Guaranteed core families when the runtime exposes standard Figma effects:
DROP_SHADOW
INNER_SHADOW
LAYER_BLUR
BACKGROUND_BLUR
Extended families to use only after runtime/tool compatibility is confirmed:
NOISE
TEXTURE
GLASS
- Progressive blur variants inside blur effects.
Safety And Evidence
- Do not claim an effect was applied until readback shows
node.effects or the applied style ID changed.
- Do not overwrite existing effects unless the user asked to replace them.
- Do not claim variable binding for unsupported extended effect families.
- If MCP cannot express an advanced effect, report a manual Figma step or fall back to a core-effect approximation.
Validation And Eval
- Verify readback:
node.effects, style ID, and bound variables where available.
- Confirm that
BACKGROUND_BLUR has a translucent fill path or report why the effect may not be visible.
- Use
evals/evals.json to test glow append, glass blur radius binding, and unsupported extended-effect variable binding.
Output Shape
Use assets/effects-report-template.md.
Resources
- Read references/effect-compatibility.md for effect fields and binding support.
- Read
$CODEX_SKILLS_DIR/senior-figma-orchestrator/references/figma-mcp-compatibility.md when current MCP capability is uncertain.
1---2name: figma-apply-effects3description: Create, apply, remove, audit, and bind Figma Effects through MCP or Plugin API-compatible workflows. Use this skill when the user asks for shadows, inner shadows, layer blur, background blur, glow, glassmorphism, noise, texture, glass effects, progressive blur, effect styles, or effect variables/tokens on selected Figma nodes, while handling current Figma effect compatibility, runtime support, variable binding limits, and readback evidence.4---56# Figma Apply Effects78Use this skill for Figma Effects. It replaces the outdated rule that Figma supports only four effect types. Current Figma Plugin typings include shadow, blur, noise, texture, and glass effect families, but MCP/client support can lag behind typings, so advanced effects are runtime-gated.910## Modes1112- `apply`: add one or more effects to selected nodes.13- `remove`: remove all effects or selected effect families.14- `style`: apply an existing Effect Style.15- `bind`: bind supported effect fields to variables.16- `audit`: inspect current effects and compatibility.17- `recipe`: translate visual language like glow, glassmorphism, soft elevation, grit, or texture into effect objects.1819## Required Workflow20211. Confirm target node(s), visual intent, whether to replace or append effects, and privacy scope.222. Invoke `figma:figma-use` before any `use_figma` call.233. Read the selected node metadata first: `effects`, `fills`, style IDs, variable bindings, and current opacity.244. If the user asks for an existing Effect Style, search/select that style first and apply the style if available.255. If raw effects are needed, use [references/effect-compatibility.md](references/effect-compatibility.md) to choose the effect family.266. For `BACKGROUND_BLUR`, check that the node has a visible fill with alpha below `1`; otherwise the blur will be visually hidden.277. For glow, use a `DROP_SHADOW` recipe: bright color, `offset: { x: 0, y: 0 }`, larger radius, and low-to-medium alpha.288. For variables, bind only supported fields. Shadow effects support `color`, `radius`, `spread`, `offsetX`, and `offsetY`; blur effects support `radius`; noise, texture, and glass effects currently do not support variable binding in Figma plugin typings.299. Write the returned bound effect object back to the node's `effects` array.3010. Read metadata back and report exact effects, bindings, skipped fields, and visual caveats.3132## Effect Families3334Guaranteed core families when the runtime exposes standard Figma effects:3536- `DROP_SHADOW`37- `INNER_SHADOW`38- `LAYER_BLUR`39- `BACKGROUND_BLUR`4041Extended families to use only after runtime/tool compatibility is confirmed:4243- `NOISE`44- `TEXTURE`45- `GLASS`46- Progressive blur variants inside blur effects.4748## Safety And Evidence4950- Do not claim an effect was applied until readback shows `node.effects` or the applied style ID changed.51- Do not overwrite existing effects unless the user asked to replace them.52- Do not claim variable binding for unsupported extended effect families.53- If MCP cannot express an advanced effect, report a manual Figma step or fall back to a core-effect approximation.5455## Validation And Eval5657- Verify readback: `node.effects`, style ID, and bound variables where available.58- Confirm that `BACKGROUND_BLUR` has a translucent fill path or report why the effect may not be visible.59- Use `evals/evals.json` to test glow append, glass blur radius binding, and unsupported extended-effect variable binding.6061## Output Shape6263Use [assets/effects-report-template.md](assets/effects-report-template.md).6465## Resources6667- Read [references/effect-compatibility.md](references/effect-compatibility.md) for effect fields and binding support.68- Read `$CODEX_SKILLS_DIR/senior-figma-orchestrator/references/figma-mcp-compatibility.md` when current MCP capability is uncertain.