Figma Design System Builder
warpdotdev/warp
Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.
Access Figma design files using native pi tools — read LLM-ready summaries, explanations, implementation context, screenshots, components, styles, variables, and design tokens.
$ npx skills add emanuelcasco/pi-mono-extensions --skill figma -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install emanuelcasco/pi-mono-extensions figma --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "figma" agent skill from https://github.com/emanuelcasco/pi-mono-extensions/tree/main/extensions/figma/skills/figma into .claude/skills/figma/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/emanuelcasco/pi-mono-extensions/tree/main/extensions/figma/skills/figmaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add emanuelcasco/pi-mono-extensions --skill figma -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install emanuelcasco/pi-mono-extensions figma --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/emanuelcasco/pi-mono-extensions.git skills-src && mkdir -p .agents/skills && cp -r skills-src/extensions/figma/skills/figma .agents/skills/figma && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "figma" agent skill from https://github.com/emanuelcasco/pi-mono-extensions/tree/main/extensions/figma/skills/figma into .agents/skills/figma/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add emanuelcasco/pi-mono-extensions --skill figma -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install emanuelcasco/pi-mono-extensions figma --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/emanuelcasco/pi-mono-extensions.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/extensions/figma/skills/figma .cursor/skills/figma && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "figma" agent skill from https://github.com/emanuelcasco/pi-mono-extensions/tree/main/extensions/figma/skills/figma into .cursor/skills/figma/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/emanuelcasco/pi-mono-extensions.git --path extensions/figma/skills/figma--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add emanuelcasco/pi-mono-extensions --skill figma -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install emanuelcasco/pi-mono-extensions figma --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/emanuelcasco/pi-mono-extensions.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/extensions/figma/skills/figma .gemini/skills/figma && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "figma" agent skill from https://github.com/emanuelcasco/pi-mono-extensions/tree/main/extensions/figma/skills/figma into .gemini/skills/figma/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install emanuelcasco/pi-mono-extensions figmaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add emanuelcasco/pi-mono-extensions --skill figma -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/emanuelcasco/pi-mono-extensions.git skills-src && mkdir -p .github/skills && cp -r skills-src/extensions/figma/skills/figma .github/skills/figma && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "figma" agent skill from https://github.com/emanuelcasco/pi-mono-extensions/tree/main/extensions/figma/skills/figma into .github/skills/figma/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add emanuelcasco/pi-mono-extensions --skill figma -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install emanuelcasco/pi-mono-extensions figma --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/emanuelcasco/pi-mono-extensions.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/extensions/figma/skills/figma .opencode/skills/figma && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "figma" agent skill from https://github.com/emanuelcasco/pi-mono-extensions/tree/main/extensions/figma/skills/figma into .opencode/skills/figma/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "figma", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
figmaAccess 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. 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.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e4e047a. It shows what the files ask for, not the result of running them.
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.
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.
Hosts in commands or code, which the agent is likely to contact:
figma.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
FIGMA_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from emanuelcasco/pi-mono-extensions at commit e4e047a, republished under its MIT licence (© emanuelcasco). 641 words, ~1,548 tokens.
.claude/skills/figma/SKILL.md (or your agent's skills folder).Use the native figma_* tools to read Figma files and translate designs into code. Prefer processed, LLM-ready tools over raw Figma JSON.
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.
Given:
https://www.figma.com/design/ABC123def456/Project-Name?node-id=123-456ABC123def456123-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.
figma_configure_auth only when auth is missing, invalid, expired, or the user asks to update the token.figma_parse_url for full Figma URLs.figma_get_design_context plus figma_find_nodes_by_name or figma_find_nodes_by_text before raw exploration.figma_render_nodes for screenshots and figma_extract_assets when icons, node renders, or image fills are needed for implementation.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.figma_explain_node or figma_get_node_summary for the target frame/component.figma_get_implementation_context when coding from a design. Pass framework, styling, resolveTokens, and includeCodeSnippets when useful.figma_find_code_connect_mapping only when the local repo may contain Code Connect mappings or Figma URL/node references.figma_get_component_implementation_hints for component-level implementation planning.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.
figma_parse_url
figma_render_nodes
figma_explain_nodefigma_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 neededfigma_extract_assetsUse this when visual assets are needed. Prefer the manifest's nodePath, suggestedName, hashes, and local paths over guessing layer-to-file mappings.
figma_find_code_connect_mapping
figma_get_component_implementation_hintsOnly use these when you are working in a local code repository where Code Connect or Figma URL/node references may exist.
figma_get_nodesfigma_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:
{
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.
figma_get_filefigma_get_nodesUse these only when raw Figma JSON is explicitly needed or when debugging the extension. They may return very large responses and reduce answer quality.
Processed tools enforce compact defaults and may include metadata.truncated: true plus nextSteps, for example:
figma_get_node_summary with a deeper depth.includeComponentInternals=true for a focused component instance.© emanuelcasco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in extensions/figma/skills/figma of emanuelcasco/pi-mono-extensions.
Open the folder on GitHubat commit e4e047a
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Figma this skillemanuelcasco/pi-mono-extensions | 106 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Figma Design System Builderwarpdotdev/warp | 65k | 2 repos | ~4.4k | Automated safety check: Pass | AGPL-3.0 | |
| Figma use_figma Plugin API Ruleswarpdotdev/warp | 65k | 4 repos | ~4.4k | Automated safety check: Pass | AGPL-3.0 | |
| Figma Design to Codewarpdotdev/warp | 65k | 4 repos | ~2.9k | Automated safety check: Pass | AGPL-3.0 | |
| Figma Screen Generatorwarpdotdev/warp | 65k | 2 repos | ~5k | Automated safety check: Pass | AGPL-3.0 | |
| Extract DesignManavarya09/design-extract | 4.2k | — | ~786 | Automated safety check: Notes | MIT |
warpdotdev/warp
Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.
warpdotdev/warp
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.
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.
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.
Manavarya09/design-extract
Extract the full design language from any website URL. An agent skill from Manavarya09/design-extract.
TheQtCompanyRnD/agent-skills
Extract component metadata from a Figma design system and generate production-ready QML controls.
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…
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.
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.
Works with
Categories
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.
Figma fits situations like: tasks that involve Design tokens.
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.
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.
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.
Going by SKILL.md and its folder, Figma needs credentials named FIGMA_TOKEN. Our summary lists: A credential in FIGMA_TOKEN.
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.
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.
Figma is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
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.
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.
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.