Figma Design Skill
Comprehensive guide for Figma design workflows, plugin development, component systems, auto layout, prototyping, and design system management based on official Figma Plugin API documentation from Context7.
When to Use This Skill
Use this skill when working with:
- Figma Plugin Development: Building custom plugins, UI extensions, automation tools
- Design Systems: Creating and managing variables, styles, components, and libraries
- Component Architecture: Building reusable components, variants, and instances
- Auto Layout: Implementing responsive frames with constraints and spacing
- Prototyping: Creating interactive prototypes with reactions and flows
- Batch Operations: Automating repetitive design tasks across multiple nodes
- Export & Integration: Exporting assets in various formats (PNG, JPG, SVG)
- Data Management: Storing and retrieving plugin/shared data on nodes
- Collaboration: Managing version history, comments, and team workflows
Core Concepts
1. Figma Node Hierarchy
The Figma document structure is a tree of nodes:
Key Node Types:
FRAME: Container with auto-layout capabilitiesCOMPONENT: Reusable design element (master)INSTANCE: Copy of a componentTEXT: Editable text layerRECTANGLE,ELLIPSE,POLYGON,STAR,LINE: Basic shapesSECTION: Organizational container for framesGROUP: Non-layout container
2. Components and Instances
Components are master elements that can be instantiated multiple times:
Component Properties:
BOOLEAN: Toggle visibility or statesTEXT: Customizable text contentINSTANCE_SWAP: Swap nested componentsVARIANT: Different component variations
3. Auto Layout
Auto Layout creates responsive frames that adapt to content changes:
Core Properties:
layoutMode: 'HORIZONTAL', 'VERTICAL', or 'NONE'primaryAxisSizingMode: 'FIXED' or 'AUTO'counterAxisSizingMode: 'FIXED' or 'AUTO'paddingLeft,paddingRight,paddingTop,paddingBottomitemSpacing: Gap between childrenprimaryAxisAlignItems: Alignment on main axiscounterAxisAlignItems: Alignment on cross axis
Constraints for Children:
minWidth,maxWidth: Width boundariesminHeight,maxHeight: Height boundarieslayoutAlign: 'MIN', 'CENTER', 'MAX', 'STRETCH'layoutGrow: 0 (fixed) or 1 (fill container)
4. Constraints
Constraints control how nodes resize when their parent changes:
Constraint Types:
MIN: Pin to top/left edgeCENTER: Center in parentMAX: Pin to bottom/right edgeSTRETCH: Scale with parent (both edges)SCALE: Maintain proportional position and size
5. Variables and Design Tokens
Variables create dynamic design systems (Figma Design only):
Variable Types:
COLOR: RGB/RGBA valuesFLOAT: Numeric values (spacing, sizes)BOOLEAN: True/false flagsSTRING: Text values
6. Styles
Styles define reusable visual properties:
Prototyping
1. Reactions and Interactions
Reactions define interactive behavior in prototypes:
Trigger Types:
ON_CLICK: Click/tapON_HOVER: Mouse hoverON_PRESS: Touch pressON_DRAG: Drag interactionMOUSE_ENTER,MOUSE_LEAVE,MOUSE_UP,MOUSE_DOWNAFTER_TIMEOUT: Delayed trigger
Navigation Types:
NAVIGATE: Go to destinationSWAP: Swap overlayOVERLAY: Open as overlaySCROLL_TO: Scroll to positionCHANGE_TO: Change to state
2. Overlay Configuration
Control how frames appear as overlays:
3. Scrolling Frames
Configure frame scrolling behavior:
Plugin Development
1. Plugin Structure
Basic Plugin Files:
manifest.json:
2. Plugin Lifecycle
3. UI Communication
Send message from plugin to UI:
Receive messages in UI (ui.html):
4. Event Listeners
Monitor document and selection changes:
5. Data Storage
Plugin Data (private to your plugin):
Shared Plugin Data (accessible by namespace):
Client Storage (persistent settings):
Finding Nodes
1. Optimized Search with findAllWithCriteria
FASTEST method for large documents (hundreds of times faster):
2. Traditional Search Methods
Export and Image Handling
1. Export Nodes
2. Load Images
Text Handling
1. Text Basics
2. Rich Text Formatting
Resizing and Transforms
1. Resizing Methods
2. Transforms
Collaboration Features
1. Comments
While plugins can't create comments via API, they can:
- Navigate to frames with comments
- Read comment metadata via REST API
- Trigger notifications
2. Version History
3. Team Libraries
Best Practices from Context7
1. Performance Optimization
2. Font Loading
3. Error Handling
4. Memory Management
5. Type Safety
Common Workflows
1. Design System Setup
2. Component Library
3. Batch Export
4. Style Sync
Plugin UI Patterns
1. Theme-Aware UI
2. Loading States
FigJam-Specific Features
Advanced Techniques
1. Smart Component Swapping
2. Auto Layout Migration
3. Responsive Resize
Testing and Debugging
Resources
- Official Figma Plugin API: https://www.figma.com/plugin-docs/
- Context7 Library: /figma/plugin-typings (Trust Score: 9.8)
- Plugin Samples: https://github.com/figma/plugin-samples
- Community Forum: https://forum.figma.com/
- Widget API: https://www.figma.com/widget-docs/
- REST API: https://www.figma.com/developers/api
Summary
This skill covers:
- Component and instance management
- Auto layout and constraints
- Variables and design tokens
- Styles (paint, text, effect)
- Prototyping and interactions
- Plugin development patterns
- Node search and manipulation
- Export and image handling
- Performance optimization
- Best practices from Context7 research
Use this skill for building production-ready Figma plugins, automating design workflows, managing design systems, and creating scalable component libraries.

