Figma
Read Figma design files, nodes, rendered images and comments via the Figma REST API. Use when the user mentions Figma, a figma.com file link, implementing a design as code, extracting design tokens / colors / spacing, or summarizing comments on a design.From its SKILL.md
npx -y skills add AceDataCloud/Skills --skill figmaAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
2.8 KB, 667 tokens by cl100k_base, as published. Nobody here has run it
Read Figma via curl + jq. The user's OAuth bearer token is in
$FIGMA_TOKEN; every call needs Authorization: Bearer $FIGMA_TOKEN. Base URL:
https://api.figma.com/v1.
Failures are {"status":<code>,"err":"..."} — show err verbatim. 403 means
the token lacks the scope or the file isn't shared with the user. 404 = bad
file key.
The file key is the figma.com/file/<KEY>/... or figma.com/design/<KEY>/...
segment of a pasted URL. A node id is in ?node-id=1-23 (Figma shows 1:23;
the API also accepts 1:23).
F="https://api.figma.com/v1"; AUTH="Authorization: Bearer $FIGMA_TOKEN"
# Who am I (account card)
curl -sS -H "$AUTH" "$F/me" | jq '{handle, email}'
# File document tree (name + top-level frames). Big files: prefer /nodes below.
curl -sS -H "$AUTH" "$F/files/FILE_KEY?depth=2" \
| jq '{name, pages: [.document.children[] | {name, frames: [.children[]?.name]}]}'
Read specific nodes & render images
KEY="FILE_KEY"
# Just the nodes you care about (faster than the whole file)
curl -sS -H "$AUTH" "$F/files/$KEY/nodes?ids=1:23,1:45" \
| jq '.nodes | to_entries[] | {id: .key, name: .value.document.name, type: .value.document.type}'
# Render nodes to images — returns temporary CDN URLs (this is the "see it" tool)
curl -sS -H "$AUTH" "$F/images/$KEY?ids=1:23&format=png&scale=2" \
| jq '.images' # { "1:23": "https://...png" }
For design-to-code, render the frame to PNG (to view) and read its node JSON (layout/fills/typography) to extract exact colors, spacing and text.
Comments & projects
curl -sS -H "$AUTH" "$F/files/FILE_KEY/comments" \
| jq '.comments[] | {user: .user.handle, at: .created_at, message}'
# Team projects → files (needs a team id from the Figma URL /team/<id>/...)
curl -sS -H "$AUTH" "$F/teams/TEAM_ID/projects" | jq '.projects'
Gotchas
- Node ids: Figma URLs use
1-23(dash); the API wants1:23(colon). Convert. /imagesURLs are temporary — download/use them promptly, don't store.depth=limits tree traversal; omit it only for small files or you'll pull megabytes of node JSON.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most images graphics skills give in 667 tokens
Counted across 341 of the 354 authors here whose files we hold, read 2026-09-06
- Generate images via gemini_generate_imagein 14 of 341, across 10 files
- Set the aspect ratio via set_aspect_ratioin 14 of 341, across 10 files
- Verify MCP image tools are available before generatingin 13 of 341, across 9 files
- Show estimated cost before generatingin 13 of 341, across 9 files
- Run the post-generation SEO checklistin 13 of 341, across 9 files
- Structure prompts as subject, setting, style, lighting, compositionin 10 of 341, across 5 files
- Infer the brand strategy before generatingin 9 of 341, across 5 files
- Use at most two logo concept methodsin 9 of 341, across 5 files
- Use one dominant palette with repeating accentsin 9 of 341, across 5 files
- Extract fileKey and nodeId from the Figma URLin 9 of 341
- Read product marketing context before asking questionsin 8 of 341, across 3 files
- Keep the logo simple, symbolic, and ownablein 8 of 341, across 4 files
Said here and by no other author read
- Read Figma via curl and jq
- Show the err field verbatim
- Prefer the nodes endpoint for big files
- Render frames to PNG to view designs
- Read node JSON to extract colors, spacing and text
- Download rendered images promptly
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.