Agent skill

Figma Core Workflow B

by jeremylongshore in jeremylongshore/tons-of-skills-marketplace

Export images, icons, and assets from Figma files via the REST API.

MITAuto-check passedBackend & APIs

Install Figma Core Workflow B

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill figma-core-workflow-b -a claude-code

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

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace figma-core-workflow-b --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/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/figma-core-workflow-b .claude/skills/figma-core-workflow-b && 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-core-workflow-b
GitHub stars
2.8k
Token cost
~1.7k tokens
SKILL.md length
207 words
Files
7 (incl. references)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

Export images, icons, and assets from Figma files via the REST API.

  • Works in 4 steps: Render Nodes as Images → Download Exported Images → Export All Icons from a Frame → …
  • Building an asset pipeline
  • SKILL.md covers Overview, Prerequisites, Instructions and Output, plus 4 more sections
  • Calls curl and jq; reaches api.figma.com; needs FIGMA_FILE_KEY and FILE_KEY

What it does

Figma Core Workflow B is an agent skill from jeremylongshore/tons-of-skills-marketplace. Export images, icons, and assets from Figma files via the REST API. Use when building an asset pipeline, exporting icons as SVG/PNG, or rendering frames to images for documentation or previews. Trigger with phrases like "figma export", "figma images", "export figma icons", "figma assets", "figma render".

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `references/download-exported-images.md`, `references/errors.md` and `references/examples.md`). Compatibility notes: Designed for Claude Code

It sits in Backend & APIs, covering Game assets and audio, REST APIs and Icons and illustration. It works with Figma. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.

When your agent uses it

  • Building an asset pipeline
  • Exporting icons as SVG/PNG
  • Rendering frames to images for documentation
  • With phrases like figma export

Example prompts

  • “figma export”
  • “figma images”
  • “export figma icons”
  • “/figma-core-workflow-b”

Requirements

  • A credential in FIGMA_FILE_KEY
  • A credential in FILE_KEY
  • Compatibility (from SKILL.md): Designed for Claude Code
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash(npm:*), Bash(curl:*), Grep

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Render Nodes as Images
  2. Download Exported Images
  3. Export All Icons from a Frame
  4. Named Export with Component Metadata

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash(npm:*)
    • Bash(curl:*)
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • jq

    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:

    • api.figma.com

    Also links to:

    • developers.figma.com
    • github.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_FILE_KEY
    • FILE_KEY

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

  • Compatibility

    Designed for Claude Code

    From compatibility in the SKILL.md frontmatter.

Context cost

Figma Core Workflow B loads about 1.7k tokens when it runs, and up to ~3.4k if it reads all its reference files. Until then it costs about 82 tokens; SKILL.md has 207 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~82
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.4k

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 jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 207 words, ~1,665 tokens.

Download SKILL.mdSave it as .claude/skills/figma-core-workflow-b/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
figma-core-workflow-b
description
Export images, icons, and assets from Figma files via the REST API. Use when building an asset pipeline, exporting icons as SVG/PNG, or rendering frames to images for documentation or previews. Trigger with phrases like "figma export", "figma images", "export figma icons", "figma assets", "figma render".
allowed-tools
Read, Write, Edit, Bash(npm:*), Bash(curl:*), Grep
compatibility
Designed for Claude Code
version
1.6.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
saas, figma

Figma Core Workflow B -- Asset Export

Overview

Export images, icons, and assets from Figma files using the REST API. Render specific nodes as PNG, SVG, JPG, or PDF. Build automated asset pipelines for icons, illustrations, and component previews.

Prerequisites

  • Completed figma-install-auth setup
  • Node IDs of the frames/components to export (from figma-hello-world)
  • FIGMA_PAT and FIGMA_FILE_KEY env vars set

Instructions

Step 1: Render Nodes as Images
typescript
const PAT = process.env.FIGMA_PAT!;
const FILE_KEY = process.env.FIGMA_FILE_KEY!;

// GET /v1/images/:file_key?ids=X,Y&format=png&scale=2
// Supported formats: png, svg, jpg, pdf
// Scale: 0.01 to 4 (SVG always exports at 1x)
// Max image size: 32 megapixels (larger images are auto-scaled down)
async function exportImages(
  nodeIds: string[],
  format: 'png' | 'svg' | 'jpg' | 'pdf' = 'png',
  scale = 2
): Promise<Record<string, string | null>> {
  const params = new URLSearchParams({
    ids: nodeIds.join(','),
    format,
    scale: String(format === 'svg' ? 1 : scale), // SVG is always 1x
  });

  const res = await fetch(
    `https://api.figma.com/v1/images/${FILE_KEY}?${params}`,
    { headers: { 'X-Figma-Token': PAT } }
  );

  if (!res.ok) throw new Error(`Image export failed: ${res.status}`);
  const data = await res.json();

  // data.images: { "nodeId": "https://..." | null }
  // null means the node failed to render (invisible, 0% opacity, or invalid ID)
  // URLs expire after 30 days
  return data.images;
}
Step 2: Download Exported Images
typescript
import { writeFileSync, mkdirSync } from 'fs';
import { join } from 'path';

async function downloadAssets(
  nodeIds: string[],
  outputDir: string,
  format: 'png' | 'svg' = 'svg'
) {
  mkdirSync(outputDir, { recursive: true });

  const imageUrls = await exportImages(nodeIds, format);
  const results: { nodeId: string; path: string; success: boolean }[] = [];

  for (const [nodeId, url] of Object.entries(imageUrls)) {
    if (!url) {
      console.warn(`Node ${nodeId}: render returned null (invisible or invalid)`);
      results.push({ nodeId, path: '', success: false });
      continue;
    }

    const res = await fetch(url);
    const buffer = Buffer.from(await res.arrayBuffer());
    const filename = `${nodeId.replace(':', '-')}.${format}`;
    const filepath = join(outputDir, filename);
    writeFileSync(filepath, buffer);
    results.push({ nodeId, path: filepath, success: true });
  }

  return results;
}
Step 3: Export All Icons from a Frame
typescript
// Find all COMPONENT children in an "Icons" frame, then export each as SVG
async function exportIconsFromFrame(frameNodeId: string) {
  // Fetch the frame and its children
  const res = await fetch(
    `https://api.figma.com/v1/files/${FILE_KEY}/nodes?ids=${frameNodeId}`,
    { headers: { 'X-Figma-Token': PAT } }
  );
  const data = await res.json();
  const frame = data.nodes[frameNodeId]?.document;

  if (!frame?.children) throw new Error('Frame has no children');

  // Collect component node IDs
  const iconIds = frame.children
    .filter((n: any) => n.type === 'COMPONENT' || n.type === 'INSTANCE')
    .map((n: any) => n.id);

  console.log(`Found ${iconIds.length} icons to export`);

  // Export as SVG (batch -- up to 100 IDs per request)
  const batchSize = 100;
  for (let i = 0; i < iconIds.length; i += batchSize) {
    const batch = iconIds.slice(i, i + batchSize);
    await downloadAssets(batch, './assets/icons', 'svg');
  }
}
Step 4: Named Export with Component Metadata
typescript
// Use component metadata for better filenames
async function exportNamedIcons(frameNodeId: string) {
  const fileRes = await fetch(
    `https://api.figma.com/v1/files/${FILE_KEY}/nodes?ids=${frameNodeId}`,
    { headers: { 'X-Figma-Token': PAT } }
  );
  const fileData = await fileRes.json();
  const frame = fileData.nodes[frameNodeId].document;

  // Build nodeId -> name map
  const nameMap = new Map<string, string>();
  for (const child of frame.children ?? []) {
    const safeName = child.name
      .toLowerCase()
      .replace(/[^a-z0-9]+/g, '-')
      .replace(/^-|-$/g, '');
    nameMap.set(child.id, safeName);
  }

  // Export
  const nodeIds = Array.from(nameMap.keys());
  const imageUrls = await exportImages(nodeIds, 'svg');

  mkdirSync('./assets/icons', { recursive: true });
  for (const [nodeId, url] of Object.entries(imageUrls)) {
    if (!url) continue;
    const name = nameMap.get(nodeId) ?? nodeId.replace(':', '-');
    const res = await fetch(url);
    const svg = await res.text();
    writeFileSync(`./assets/icons/${name}.svg`, svg);
    console.log(`Exported: ${name}.svg`);
  }
}

Output

  • Images rendered from Figma nodes at specified format and scale
  • Downloaded assets saved to local filesystem
  • Icon library exported as named SVG files
  • Batch processing for large component sets

Error Handling

ErrorCauseSolution
null in images mapNode is invisible or has 0% opacityMake node visible in Figma
400 Bad RequestInvalid node ID formatUse pageId:nodeId format (e.g., 0:1)
429 Rate LimitedImages endpoint is Tier 1Batch requests, honor Retry-After
Image URL expiredURLs expire after 30 daysRe-export; do not cache URLs long-term
SVG has scale > 1SVG ignores scale paramSVG always exports at 1x

Examples

Quick Export via curl
bash
# Export a single node as PNG at 2x
curl -s -H "X-Figma-Token: ${FIGMA_PAT}" \
  "https://api.figma.com/v1/images/${FIGMA_FILE_KEY}?ids=0:1&format=png&scale=2" \
  | jq -r '.images["0:1"]'
# Returns a temporary URL to the rendered image

Resources

Next Steps

For common errors, see figma-common-errors.

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

Files

SKILL.md and 6 other files (references) in skills/.curated/figma-core-workflow-b of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • references/download-exported-images.md
  • references/errors.md
  • references/examples.md
  • references/export-all-icons-from-a-frame.md
  • references/named-export-with-component-metadata.md
  • references/render-nodes-as-images.md

Open the folder on GitHubat commit cfae287

Compare with similar skills

Figma Core Workflow B 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 Core Workflow B compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Figma Core Workflow B this skilljeremylongshore/tons-of-skills-marketplace2.8k—~1.7kAutomated safety check: PassMIT
Io Figmagridaco/grida2.7k—~2.2kAutomated safety check: NotesApache-2.0
Figma Explorebitovi/ai-enablement-prompts121—~1.1kAutomated safety check: NotesMIT
Figma Comment Fix Loophashgraph-online/awesome-codex-plugins1.3k—~4.8kAutomated safety check: PassMIT
Poly Pizza APIjasonkneen/tiny-world-builder1.6k—~1.9kAutomated safety check: PassAGPL-3.0
Figma To StaticLeoYeAI/openclaw-master-skills2.2k—~7.1kAutomated safety check: PassMIT

Similar skills

  • Io Figma

    gridaco/grida

    Guides work on the Figma I/O package (@grida/io-figma, packages/grida-canvas-io-figma/).

    2.7k GitHub stars~2.2k tokensUpdated yesterday
    Backend & APIsAuto-check: notes
  • Figma Explore

    bitovi/ai-enablement-prompts

    Explore a Figma file to discover all pages, components, and component sets using the Figma REST API.

    121 GitHub stars~1.1k tokensUpdated 1 mo ago
    Backend & APIsAuto-check: notes
  • Figma Comment Fix Loop

    hashgraph-online/awesome-codex-plugins

    Comment-to-fix pipeline for Figma. An agent skill from hashgraph-online/awesome-codex-plugins.

    1.3k GitHub stars~4.8k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Poly Pizza API

    jasonkneen/tiny-world-builder

    A skill your agent uses whenever an LLM agent needs to search, browse, or download 3D models from Poly Pizza (poly.pizza) using their REST API.

    1.6k GitHub stars~1.9k tokensUpdated today
    Game DevelopmentAuto-check passed
  • Figma To Static

    LeoYeAI/openclaw-master-skills

    Convert Figma design files to pixel-level mobile-first static HTML/CSS pages.

    2.2k GitHub stars~7.1k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check passed
  • Sleek Design Mobile Apps

    sleekdotdesign/agent-skills

    Design mobile app screens with Sleek, edit Sleek projects, and implement their designs in React Native or HTML.

    584 GitHub stars~2.1k tokensUpdated 5 days ago
    MobileAuto-check passed

More from jeremylongshore/tons-of-skills-marketplace

All 3,342 skills in this repo
  • Performing Security Code Review

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.

    2.8k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check: notes
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Context Loader

    jeremylongshore/tons-of-skills-marketplace

    Execute proactive auto-loading: automatically detects and loads agents.md files.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Aggregating Performance Metrics

    jeremylongshore/tons-of-skills-marketplace

    Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.

    2.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Analyzing Capacity Planning

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.

    2.8k GitHub stars~947 tokensUpdated today
    Auto-check passed
  • Analyzing Database Indexes

    jeremylongshore/tons-of-skills-marketplace

    Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2k tokensUpdated today
    Auto-check passed

Works with

Questions about Figma Core Workflow B

What does Figma Core Workflow B do?

Export images, icons, and assets from Figma files via the REST API. Figma Core Workflow B is an agent skill from jeremylongshore/tons-of-skills-marketplace. Export images, icons, and assets from Figma files via the REST API.

When should I use Figma Core Workflow B?

Figma Core Workflow B fits situations like: building an asset pipeline; exporting icons as SVG/PNG; rendering frames to images for documentation; with phrases like figma export.

How do I install Figma Core Workflow B in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill figma-core-workflow-b -a claude-code`. Or copy the skill folder (skills/.curated/figma-core-workflow-b in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/figma-core-workflow-b in your project. Claude Code loads it when a task matches its description.

How do I install Figma Core Workflow B in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill figma-core-workflow-b -a codex`. Or copy the skill folder (skills/.curated/figma-core-workflow-b in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/figma-core-workflow-b in your project. Codex loads it when a task matches its description.

Can I use Figma Core Workflow B 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 jeremylongshore/tons-of-skills-marketplace --skill figma-core-workflow-b -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-core-workflow-b, .gemini/skills/figma-core-workflow-b, .github/skills/figma-core-workflow-b and .opencode/skills/figma-core-workflow-b in your project.

What does Figma Core Workflow B need to run?

Going by SKILL.md and its folder, Figma Core Workflow B needs the command-line tools its instructions call (curl and jq) and credentials named FIGMA_FILE_KEY and FILE_KEY. Our summary lists: A credential in FIGMA_FILE_KEY; A credential in FILE_KEY. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(npm:*), Bash(curl:*), Grep. Compatibility (from SKILL.md): Designed for Claude Code.

Does Figma Core Workflow B access the network?

SKILL.md names 3 domains. In commands or code: api.figma.com; the agent is likely to contact it when it follows the instructions. As links in the text: developers.figma.com and github.com. This is read from the text; nothing was executed.

Is Figma Core Workflow B 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 Core Workflow B use?

Figma Core Workflow B is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Figma Core Workflow B use?

About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.

What are the alternatives to Figma Core Workflow B?

Skills that share tags, products or a category with Figma Core Workflow B: Io Figma (gridaco/grida, 2.7k stars), Figma Explore (bitovi/ai-enablement-prompts, 121 stars), Figma Comment Fix Loop (hashgraph-online/awesome-codex-plugins, 1.3k stars) and Poly Pizza API (jasonkneen/tiny-world-builder, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Figma Core Workflow B?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.

Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.