Access Figma design files using native pi tools — read LLM-ready summaries, explanations, implementation context, screenshots, components, styles, variables, and design tokens.

MITAuto-check passedFrontend & Design

Install Figma

skills CLI
$ npx skills add emanuelcasco/pi-mono-extensions --skill figma -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install emanuelcasco/pi-mono-extensions figma --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/emanuelcasco/pi-mono-extensions.git skills-src && mkdir -p .claude/skills && cp -r skills-src/extensions/figma/skills/figma .claude/skills/figma && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
figma
GitHub stars
106
Token cost
~1.5k tokens
SKILL.md length
641 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Access Figma design files using native pi tools — read LLM-ready summaries, explanations, implementation context, screenshots, components, styles, variables, and design tokens.

  • Works in 9 steps: Use figma_configure_auth only when auth… → Use figma_parse_url for full Figma URLs. → If the exact target node is unclear, use… → …
  • Tasks that involve Design tokens
  • SKILL.md covers When to Use, Authentication, URL Parsing and Default Tool Workflow, plus 5 more sections
  • Reaches figma.com; needs FIGMA_TOKEN

What it does

Figma is an agent skill from emanuelcasco/pi-mono-extensions. 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.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Design tokens. It works with Figma. The repository describes itself as: Collection of pi-mono extensions. The licence is MIT.

When your agent uses it

  • Tasks that involve Design tokens

Example prompts

  • “/figma”

Requirements

  • A credential in FIGMA_TOKEN

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Use figma_configure_auth only when auth is missing, invalid, expired, or the user asks to update the token.
  2. Use figma_parse_url for full Figma URLs.
  3. If the exact target node is unclear, use figma_get_design_context plus figma_find_nodes_by_name or figma_find_nodes_by_text before raw…
  4. Use figma_render_nodes for screenshots and figma_extract_assets when icons, node renders, or image fills are needed for implementation.
  5. Use figma_explain_node or figma_get_node_summary for the target frame/component.
  6. Use enriched figma_get_implementation_context when coding from a design. Pass framework, styling, resolveTokens, and includeCodeSnippets…
  7. Use figma_find_code_connect_mapping only when the local repo may contain Code Connect mappings or Figma URL/node references.
  8. Use figma_get_component_implementation_hints for component-level implementation planning.
  9. Use figma_get_nodes only for raw debugging.

What it can do on your machine

Read from SKILL.md and the folder at commit e4e047a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • figma.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • FIGMA_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Figma loads about 1.5k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 641 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from emanuelcasco/pi-mono-extensions at commit e4e047a, republished under its MIT licence (© emanuelcasco). 641 words, ~1,548 tokens.

Download SKILL.mdSave it as .claude/skills/figma/SKILL.md (or your agent's skills folder).
name
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:

text
https://www.figma.com/design/ABC123def456/Project-Name?node-id=123-456
  • File key: ABC123def456
  • Node ID: 123-456 from the URL (figma_* tools also accept API format 123:456)

Use figma_parse_url when you need to extract these values from a full URL.

Default Tool Workflow

  1. Use figma_configure_auth only when auth is missing, invalid, expired, or the user asks to update the token.
  2. Use figma_parse_url for full Figma URLs.
  3. If the exact target node is unclear, use figma_get_design_context plus figma_find_nodes_by_name or figma_find_nodes_by_text before raw exploration.
  4. Use figma_render_nodes for screenshots and figma_extract_assets when icons, node renders, or image fills are needed for implementation.
    • Do not pass outputDir unless the user explicitly requests persistent files in a specific location. Let the extension use its OS temp directory default for generated images/assets.
  5. Use figma_explain_node or figma_get_node_summary for the target frame/component.
  6. Use enriched figma_get_implementation_context when coding from a design. Pass framework, styling, resolveTokens, and includeCodeSnippets when useful.
  7. Use figma_find_code_connect_mapping only when the local repo may contain Code Connect mappings or Figma URL/node references.
  8. Use figma_get_component_implementation_hints for component-level implementation planning.
  9. Use figma_get_nodes only 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.

Explaining a component
text
figma_parse_url
figma_render_nodes
figma_explain_node
Implementing a design
text
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
text
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
text
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.

Show full SKILL.md (256 more words)Show less
Debugging the extension or raw Figma data
text
figma_get_nodes

Processed Tools

  • figma_get_node_summary returns compact structured summaries: name, type, size, layout, spacing/padding, fills/strokes/effects, visible text, component properties, and immediate child hierarchy.
  • figma_extract_text returns visible text nodes only.
  • figma_explain_node returns human-readable Markdown for questions like “Explain this component.”
  • figma_find_nodes_by_name and figma_find_nodes_by_text search names/text with compact path-aware matches. Use them before raw file exploration.
  • figma_get_implementation_context returns 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_assets returns an asset manifest for SVG icons, node renders, and image fills.
  • figma_find_code_connect_mapping scans the local repo for Code Connect/Figma references.
  • figma_get_component_implementation_hints combines Figma context, variants, tokens, assets, accessibility, Code Connect matches, and optional starter snippets.

Processed tools default to shallow, safe fetches:

ts
{
  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_file
  • figma_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_summary with a deeper depth.
  • Inspect a specific child node by ID.
  • Enable includeComponentInternals=true for 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.

© emanuelcasco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in extensions/figma/skills/figma of emanuelcasco/pi-mono-extensions.

Open the folder on GitHubat commit e4e047a

Compare with similar skills

Figma next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Figma compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Figma this skillemanuelcasco/pi-mono-extensions106—~1.5kAutomated safety check: PassMIT
Figma Design System Builderwarpdotdev/warp65k2 repos~4.4kAutomated safety check: PassAGPL-3.0
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Figma Design to Codewarpdotdev/warp65k4 repos~2.9kAutomated safety check: PassAGPL-3.0
Figma Screen Generatorwarpdotdev/warp65k2 repos~5kAutomated safety check: PassAGPL-3.0
Extract DesignManavarya09/design-extract4.2k—~786Automated safety check: NotesMIT

Similar skills

  • Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.

    65k GitHub starsUsed in 2 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Figma Design to Code

    warpdotdev/warp

    Turns a Figma frame or component into production code that matches the design, using the Figma MCP server and the project's own design system.

    65k GitHub starsUsed in 4 repos~2.9k tokens
    Frontend & DesignAuto-check passed
  • Figma Screen Generator

    warpdotdev/warp

    Builds or updates full Figma screens from code or a description by reusing the file's published design system components, variables and styles.

    65k GitHub starsUsed in 2 repos~5k tokens
    Frontend & DesignAuto-check passed
  • Extract Design

    Manavarya09/design-extract

    Extract the full design language from any website URL. An agent skill from Manavarya09/design-extract.

    4.2k GitHub stars~786 tokensUpdated 9 days ago
    Frontend & DesignAuto-check: notes
  • Qt Figma Component Generation

    TheQtCompanyRnD/agent-skills

    Extract component metadata from a Figma design system and generate production-ready QML controls.

    466 GitHub stars~4.1k tokensUpdated yesterday
    Frontend & DesignAuto-check passed

More from emanuelcasco/pi-mono-extensions

  • Release

    emanuelcasco/pi-mono-extensions

    Release a new version of pi-extensions: bump individual package versions (independent mode), update CHANGELOGs and READMEs, create per-package git tags, publish a GitHub release, and publish…

    106 GitHub stars~2.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Linear

    emanuelcasco/pi-mono-extensions

    Access Linear project management data using native pi tools — issues, projects, teams, users, comments, file uploads, cycles, labels, workflow states, and documents.

    106 GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Web Search

    emanuelcasco/pi-mono-extensions

    Search the web and read page content using native pi tools — DuckDuckGo search results, web page fetching, and Mozilla Readability extraction.

    106 GitHub stars~513 tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Figma

What does Figma do?

Access Figma design files using native pi tools — read LLM-ready summaries, explanations, implementation context, screenshots, components, styles, variables, and design tokens. Figma is an agent skill from emanuelcasco/pi-mono-extensions. Access Figma design files using native pi tools — read LLM-ready summaries, explanations, implementation context, screenshots, components, styles, variables, and design tokens.

When should I use Figma?

Figma fits situations like: tasks that involve Design tokens.

How do I install Figma in Claude Code?

Run `npx skills add emanuelcasco/pi-mono-extensions --skill figma -a claude-code`. Or copy the skill folder (extensions/figma/skills/figma in emanuelcasco/pi-mono-extensions) into .claude/skills/figma in your project. Claude Code loads it when a task matches its description.

How do I install Figma in Codex?

Run `npx skills add emanuelcasco/pi-mono-extensions --skill figma -a codex`. Or copy the skill folder (extensions/figma/skills/figma in emanuelcasco/pi-mono-extensions) into .agents/skills/figma in your project. Codex loads it when a task matches its description.

Can I use Figma in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add emanuelcasco/pi-mono-extensions --skill figma -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/figma, .gemini/skills/figma, .github/skills/figma and .opencode/skills/figma in your project.

What does Figma need to run?

Going by SKILL.md and its folder, Figma needs credentials named FIGMA_TOKEN. Our summary lists: A credential in FIGMA_TOKEN.

Does Figma access the network?

SKILL.md names 1 domain. In commands or code: figma.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Figma safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Figma use?

Figma is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Figma use?

About 1.5k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Figma?

Skills that share tags, products or a category with Figma: Figma Design System Builder (warpdotdev/warp, 65k stars), Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars), Figma Design to Code (warpdotdev/warp, 65k stars) and Figma Screen Generator (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Figma?

emanuelcasco (a GitHub user) maintains it in emanuelcasco/pi-mono-extensions, which has 106 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on August 26, 2026.

Source: emanuelcasco/pi-mono-extensions on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.