figma
Access Figma design files using native pi tools — read LLM-ready summaries, explanations, implementation context, screenshots, components, styles, variables, and design tokens. Requires a Figma personal access token.
Install / Use
npx skills add emanuelcasco/pi-mono-extensionsInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AI & Machine LearningSupported Platforms
Skill content
View source on GitHubname: figma description: Access Figma design files using native pi tools — read LLM-ready summaries, explanations, implementation context, screenshots, components, styles, variables, and design tokens. Requires a Figma personal access token.
Figma Design Integration
Use the native figma_* tools to read Figma files and translate designs into code. Prefer processed, LLM-ready tools over raw Figma JSON.
When to Use
- User provides a Figma file URL and asks you to explain or implement a design.
- User asks about Figma colors, typography, spacing, components, variables, or layout.
- You need screenshots/assets for visual validation.
Authentication
The tools read the token from an in-memory override, FIGMA_TOKEN, or ~/.pi/agent/auth.json at .figma.token.
If auth is missing, invalid, or expired, do not ask the user to paste the token in chat. Use the native figma_configure_auth tool or ask the user to run /figma-auth --force. The prompt is masked and the token is stored by the extension without returning it to the model.
URL Parsing
Given:
https://www.figma.com/design/ABC123def456/Project-Name?node-id=123-456
- File key:
ABC123def456 - Node ID:
123-456from the URL (figma_*tools also accept API format123:456)
Use figma_parse_url when you need to extract these values from a full URL.
Default Tool Workflow
- Use
figma_configure_authonly when auth is missing, invalid, expired, or the user asks to update the token. - Use
figma_parse_urlfor full Figma URLs. - If the exact target node is unclear, use
figma_get_design_contextplusfigma_find_nodes_by_nameorfigma_find_nodes_by_textbefore raw exploration. - Use
figma_render_nodesfor screenshots andfigma_extract_assetswhen icons, node renders, or image fills are needed for implementation.- Do not pass
outputDirunless the user explicitly requests persistent files in a specific location. Let the extension use its OS temp directory default for generated images/assets.
- Do not pass
- Use
figma_explain_nodeorfigma_get_node_summaryfor the target frame/component. - Use enriched
figma_get_implementation_contextwhen coding from a design. Passframework,styling,resolveTokens, andincludeCodeSnippetswhen useful. - Use
figma_find_code_connect_mappingonly when the local repo may contain Code Connect mappings or Figma URL/node references. - Use
figma_get_component_implementation_hintsfor component-level implementation planning. - Use
figma_get_nodesonly for raw debugging.
Do not call figma_get_nodes by default. Prefer processed tools.
Prefer batch calls where supported: pass multiple node IDs to figma_render_nodes, figma_get_node_metadata, or raw figma_get_nodes instead of looping.
Recommended Workflows
Explaining a component
figma_parse_url
figma_render_nodes
figma_explain_node
Implementing a design
figma_parse_url
figma_find_nodes_by_name/text if the URL lacks an exact target node
figma_render_nodes
figma_get_implementation_context with framework/styling/token options when useful
figma_get_node_summary for specific subnodes if needed
Extracting assets
figma_extract_assets
Use this when visual assets are needed. Prefer the manifest's nodePath, suggestedName, hashes, and local paths over guessing layer-to-file mappings.
Finding local implementation mappings
figma_find_code_connect_mapping
figma_get_component_implementation_hints
Only use these when you are working in a local code repository where Code Connect or Figma URL/node references may exist.
Debugging the extension or raw Figma data
figma_get_nodes
Processed Tools
figma_get_node_summaryreturns compact structured summaries: name, type, size, layout, spacing/padding, fills/strokes/effects, visible text, component properties, and immediate child hierarchy.figma_extract_textreturns visible text nodes only.figma_explain_nodereturns human-readable Markdown for questions like “Explain this component.”figma_find_nodes_by_nameandfigma_find_nodes_by_textsearch names/text with compact path-aware matches. Use them before raw file exploration.figma_get_implementation_contextreturns coding-ready context: purpose, sections, fields/buttons, measurements, typography, colors, spacing, CSS layout/responsive hints, accessibility hints, design tokens, assets, framework hints, and hierarchy.figma_extract_assetsreturns an asset manifest for SVG icons, node renders, and image fills.figma_find_code_connect_mappingscans the local repo for Code Connect/Figma references.figma_get_component_implementation_hintscombines Figma context, variants, tokens, assets, accessibility, Code Connect matches, and optional starter snippets.
Processed tools default to shallow, safe fetches:
{
depth: 2,
includeHidden: false,
includeVectors: false,
includeComponentInternals: false,
framework?: "react" | "html" | "vue" | "angular" | "react-native",
styling?: "css" | "css-modules" | "styled-components" | "tailwind" | "inline",
resolveTokens?: true,
includeCodeSnippets?: false
}
Only increase depth (max 4) or enable internals/vectors for a specific child node when needed.
Raw Escape Hatches
figma_get_filefigma_get_nodes
Use these only when raw Figma JSON is explicitly needed or when debugging the extension. They may return very large responses and reduce answer quality.
Output Limits
Processed tools enforce compact defaults and may include metadata.truncated: true plus nextSteps, for example:
- Call
figma_get_node_summarywith a deeperdepth. - Inspect a specific child node by ID.
- Enable
includeComponentInternals=truefor a focused component instance.
Notes
- Figma API is rate-limited; batch node IDs where supported.
- Large responses may be truncated; narrow to a specific child node when needed.
- This integration is read-only and cannot modify Figma files.
- Live Figma selection is not implemented. True Dev Mode-style live selection requires a future local Figma plugin/bridge.
Related Skills
caveman
107.2k🪨 why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.
claude-mem
94.4kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Understand-Anything
83.6kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
73.4kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Security Score
Audited on Aug 26, 2026
