figma-pilot
Execute JavaScript code directly in Figma to automate design and component management.
Install
mkdir -p .claude/skills/figma-pilot && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10974" && unzip -o skill.zip -d .claude/skills/figma-pilot && rm skill.zipInstalls to .claude/skills/figma-pilot
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
REQUIRED reading before using figma_execute. Contains API syntax, parameter formats, and examples. READ rules/*.md files for correct usage.Key capabilities
- →Executes JavaScript in Figma
- →Queries and modifies design nodes
- →Creates components and variants
- →Checks accessibility and design tokens
How it works
It runs JavaScript code within the Figma environment, providing access to the full Figma API for batch design operations.
Inputs & outputs
When to use figma-pilot
- →Automating component creation
- →Modifying design elements in batch
- →Applying consistent design tokens
About this skill
When to use
ALWAYS read this skill BEFORE calling figma_execute! This skill contains the correct API syntax, parameter formats, and examples that you MUST follow. Failure to read this will result in syntax errors.
Use this skill whenever you are working with figma-pilot MCP tools to create or modify Figma designs.
Code Execution Mode
figma-pilot uses a code execution mode for maximum efficiency. Instead of 15+ individual tools, you use figma_execute to run JavaScript code with access to all Figma APIs.
Available Tools
| Tool | Description |
|---|---|
figma_status | Check connection to Figma plugin (call first) |
figma_execute | Execute JavaScript with all Figma APIs |
figma_get_api_docs | Get detailed API documentation |
Quick Example
// figma_execute
// Create a card and modify selection
await figma.create({
type: 'card',
name: 'Welcome Card',
children: [
{ type: 'text', content: 'Hello!', fontSize: 24 }
]
});
const { nodes } = await figma.query({ target: 'selection' });
for (const node of nodes) {
await figma.modify({ target: node.id, fill: '#0066FF' });
}
console.log(`Modified ${nodes.length} elements`);
Benefits
- 90%+ fewer tokens - 3 tools instead of 15+
- Batch operations - Modify many elements in one call
- Data filtering - Filter results before returning to context
- Complex workflows - Loops, conditionals, error handling
API Reference
Read individual rule files for detailed API documentation:
Getting Started
- rules/quick-start.md - Quick start guide and setup requirements
- rules/workflow.md - Recommended agent workflow and operator rules
Core APIs
- rules/status.md -
figma.status()- Check connection - rules/query.md -
figma.query()- Query elements by ID, name, or selection
Creating Elements
- rules/create.md -
figma.create()- Create elements (frames, text, shapes, semantic types) - rules/layout.md - Auto-layout configuration and patterns
Modifying Elements
- rules/modify.md -
figma.modify(),figma.delete(),figma.append()
Styling
- rules/effects.md - Shadows, blur, and visual effects
- rules/gradients.md - Gradient fills (linear, radial, angular)
- rules/corner-radius.md - Independent corner radius
- rules/strokes.md - Stroke styling (dash patterns, caps, alignment)
- rules/transforms.md - Rotation and blend modes
- rules/constraints.md - Responsive constraints and min/max sizes
Text
- rules/text.md - Text elements, wrapping, and sizing
- rules/fonts.md - Loading and using custom fonts
Components
- rules/components.md -
figma.listComponents(),figma.instantiate(),figma.toComponent(),figma.createVariants()
Accessibility
- rules/accessibility.md -
figma.accessibility()- WCAG compliance checking and auto-fixing
Design Tokens
- rules/tokens.md -
figma.createToken(),figma.bindToken(),figma.syncTokens()
Export
- rules/export.md -
figma.export()- Export as PNG, SVG, PDF, JPG
Common Patterns
- rules/patterns.md - Cards, navigation bars, page layouts
Reference
- rules/target-specifiers.md - How to target elements (ID, selection, name)
When not to use it
- →When the user does not have Figma access
- →When the task can be done manually more efficiently
Limitations
- →Requires Figma plugin connection
- →Requires JavaScript knowledge
How it compares
It allows for programmatic, batch-based design automation rather than manual UI interaction.
Compared to similar skills
figma-pilot side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| figma-pilot (this skill) | 0 | 6mo | No flags | Advanced |
| design-lab | 7 | 6mo | No flags | Intermediate |
| figma-use | 9 | 3mo | Review | Advanced |
| icon-lookup | 1 | 6mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
design-lab
0xdesign
Conduct design interviews, generate five distinct UI variations in a temporary design lab, collect feedback, and produce implementation plans. Use when the user wants to explore UI design options, redesign existing components, or create new UI with multiple approaches to compare.
figma-use
dannote
Control Figma via CLI — create shapes, frames, text, components, set styles, layout, variables, export images. Use when asked to create/modify Figma designs or automate design tasks.
icon-lookup
malob
Workaround for Claude Code filtering BMP PUA Unicode (U+E000-U+F8FF). Supplementary PUA Nerd Font icons like (U+F0000+, e.g. nf-md-github, nf-md-kubernetes, nf-md-battery) can be written directly. BMP PUA icons (Powerline, Font Awesome, Devicons) require placeholder syntax like {{ U+E0A0 }} or {{ nf-fa-star }} (without spaces), which hooks auto-convert. Invoke when reading or writing Starship configs, tmux themes, shell prompts, or statuslines.
screenshots
sickn33
Generate marketing screenshots of your app using Playwright. Use when the user wants to create screenshots for Product Hunt, social media, landing pages, or documentation.
layout-pcb
Dogmeat88
Lay out an imported EasyEDA PCB before routing using the EasyEDA MCP server. Use when planning functional zones, placing footprints, orienting connectors, defining the board outline, and validating routing readiness on an already imported PCB. Assumes the PCB already exists and the schematic import
visual-evidence
bamr87
**WORKFLOW SKILL** — The standard for proving a UI/behavioural change works: a regression test + before/after visual evidence, attached to the PR and surfaced in release notes. USE FOR: any change under _sass/ _includes/ _layouts/ assets/ (or any user-visible behaviour); after a bug fix that changed