Help us improve
Share bugs, ideas, or general feedback.
From skills-for-figma
Author Figma Slides presentations — list/create/duplicate/reorder/delete slides, read the slide grid, add text and shapes to a slide, set slide background color, set or read slide transitions (dissolve, slide-from, push-from, smart-animate), focus a slide, and toggle skip. Use when the user wants to build or edit a Figma Slides deck. Triggers: 'create a slide', 'add a slide to the deck', 'reorder slides', 'set the slide background', 'add a transition between slides', 'add text/shape to slide 3', 'read what's on this slide', 'skip this slide in the presentation'. Figma Slides files only (figma.editorType === 'slides'). Requires the Figma Desktop app (Plugin API).
npx claudepluginhub southleft/skills-for-figma --plugin skills-for-figmaHow this skill is triggered — by the user, by Claude, or both
Slash command
/skills-for-figma:build-slides-figmaThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Build and edit Figma Slides presentations: manage the slide grid (list / create / duplicate / reorder
Measures whether skills, rules, and agent definitions are actually followed by auto-generating test scenarios at 3 strictness levels and reporting compliance rates with full tool call timelines.
Share bugs, ideas, or general feedback.
Build and edit Figma Slides presentations: manage the slide grid (list / create / duplicate / reorder
/ delete / focus / skip), add content (text, shapes, background color), and control transitions. Each
slide is a SLIDE node; the deck is a 2D grid (figma.getSlideGrid() → rows of slides).
use_figma rules — load the official figma-use skill first; it is the full Figma Plugin API reference. Essentials these scripts rely on: plain JS with top-level await + return (no IIFE, no figma.closePlugin(); console.log is not returned), inputs inlined as const at the top of each script, colors in 0–1 range, load fonts before any text op, await figma.getNodeByIdAsync(...), and atomic errors (a failed script applies nothing — read the error, fix, retry).return { editorType: figma.editorType }; — it must be 'slides'.scripts/snippet List slides). Slide IDs are what
every other op references.use_figma (skillNames: "build-slides-figma"), editing the inlined constants.add text to slide calls await figma.loadFontAsync({ family, style }) before setting .characters — never skip it. Default is Inter / Regular.figma.createSlide({ row, col }), or figma.createSlide() to append.style values: NONE, DISSOLVE, SLIDE_FROM_LEFT, SLIDE_FROM_RIGHT,
SLIDE_FROM_BOTTOM, SLIDE_FROM_TOP, PUSH_FROM_LEFT, PUSH_FROM_RIGHT, PUSH_FROM_BOTTOM,
PUSH_FROM_TOP, SMART_ANIMATE. Timing defaults to { type: 'ON_CLICK' }.Background rectangle inserted at index 0;
re-running updates the existing one instead of stacking.reorder takes a 2D array of slide IDs (rows × columns) and rebuilds the grid via
figma.setSlideGrid. Every ID must exist in the current grid or it throws.slide.isSkippedSlide (note: the property is isSkippedSlide, not skipped).