{"id":"10551d89-c633-47bc-8573-b469a603f4f1","shortId":"cT4UbB","kind":"skill","title":"figma-automation","tagline":"Automate Figma tasks via Rube MCP (Composio): files, components, design tokens, comments, exports. Always search tools first for current schemas.","description":"# Figma Automation via Rube MCP\n\nAutomate Figma operations through Composio's Figma toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Figma connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `figma`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `figma`\n3. If connection is not ACTIVE, follow the returned auth link to complete Figma auth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Get File Data and Components\n\n**When to use**: User wants to inspect Figma design files or extract component information\n\n**Tool sequence**:\n1. `FIGMA_DISCOVER_FIGMA_RESOURCES` - Extract IDs from Figma URLs [Prerequisite]\n2. `FIGMA_GET_FILE_JSON` - Get file data (simplified by default) [Required]\n3. `FIGMA_GET_FILE_NODES` - Get specific node data [Optional]\n4. `FIGMA_GET_FILE_COMPONENTS` - List published components [Optional]\n5. `FIGMA_GET_FILE_COMPONENT_SETS` - List component sets [Optional]\n\n**Key parameters**:\n- `file_key`: File key from URL (e.g., 'abc123XYZ' from figma.com/design/abc123XYZ/...)\n- `ids`: Comma-separated node IDs (NOT an array)\n- `depth`: Tree traversal depth (2 for pages and top-level children)\n- `simplify`: True for AI-friendly format (70%+ size reduction)\n\n**Pitfalls**:\n- Only supports Design files; FigJam boards and Slides return 400 errors\n- `ids` must be a comma-separated string, not an array\n- Node IDs may be dash-formatted (1-541) in URLs but need colon format (1:541) for API\n- Broad ids/depth can trigger oversized payloads (413); narrow scope or reduce depth\n- Response data may be in `data_preview` instead of `data`\n\n### 2. Export and Render Images\n\n**When to use**: User wants to export design assets as images\n\n**Tool sequence**:\n1. `FIGMA_GET_FILE_JSON` - Find node IDs to export [Prerequisite]\n2. `FIGMA_RENDER_IMAGES_OF_FILE_NODES` - Render nodes as images [Required]\n3. `FIGMA_DOWNLOAD_FIGMA_IMAGES` - Download rendered images [Optional]\n4. `FIGMA_GET_IMAGE_FILLS` - Get image fill URLs [Optional]\n\n**Key parameters**:\n- `file_key`: File key\n- `ids`: Comma-separated node IDs to render\n- `format`: 'png', 'svg', 'jpg', or 'pdf'\n- `scale`: Scale factor (0.01-4.0) for PNG/JPG\n- `images`: Array of {node_id, file_name, format} for downloads\n\n**Pitfalls**:\n- Images return as node_id-to-URL map; some IDs may be null (failed renders)\n- URLs are temporary (valid ~30 days)\n- Images capped at 32 megapixels; larger requests auto-scaled down\n\n### 3. Extract Design Tokens\n\n**When to use**: User wants to extract design tokens for development\n\n**Tool sequence**:\n1. `FIGMA_EXTRACT_DESIGN_TOKENS` - Extract colors, typography, spacing [Required]\n2. `FIGMA_DESIGN_TOKENS_TO_TAILWIND` - Convert to Tailwind config [Optional]\n\n**Key parameters**:\n- `file_key`: File key\n- `include_local_styles`: Include local styles (default true)\n- `include_variables`: Include Figma variables\n- `tokens`: Full tokens object from extraction (for Tailwind conversion)\n\n**Pitfalls**:\n- Tailwind conversion requires the full tokens object including total_tokens and sources\n- Do not strip fields from the extraction response before passing to conversion\n\n### 4. Manage Comments and Versions\n\n**When to use**: User wants to view or add comments, or inspect version history\n\n**Tool sequence**:\n1. `FIGMA_GET_COMMENTS_IN_A_FILE` - List all file comments [Optional]\n2. `FIGMA_ADD_A_COMMENT_TO_A_FILE` - Add a comment [Optional]\n3. `FIGMA_GET_REACTIONS_FOR_A_COMMENT` - Get comment reactions [Optional]\n4. `FIGMA_GET_VERSIONS_OF_A_FILE` - Get version history [Optional]\n\n**Key parameters**:\n- `file_key`: File key\n- `as_md`: Return comments in Markdown format\n- `message`: Comment text\n- `comment_id`: Comment ID for reactions\n\n**Pitfalls**:\n- Comments can be positioned on specific nodes using client_meta\n- Reply comments cannot be nested (only one level of replies)\n\n### 5. Browse Projects and Teams\n\n**When to use**: User wants to list team projects or files\n\n**Tool sequence**:\n1. `FIGMA_GET_PROJECTS_IN_A_TEAM` - List team projects [Optional]\n2. `FIGMA_GET_FILES_IN_A_PROJECT` - List project files [Optional]\n3. `FIGMA_GET_TEAM_STYLES` - List team published styles [Optional]\n\n**Key parameters**:\n- `team_id`: Team ID from URL (figma.com/files/team/TEAM_ID/...)\n- `project_id`: Project ID\n\n**Pitfalls**:\n- Team ID cannot be obtained programmatically; extract from Figma URL\n- Only published styles/components are returned by team endpoints\n\n## Common Patterns\n\n### URL Parsing\n\nExtract IDs from Figma URLs:\n```\n1. Call FIGMA_DISCOVER_FIGMA_RESOURCES with figma_url\n2. Extract file_key, node_id, team_id from response\n3. Convert dash-format node IDs (1-541) to colon format (1:541)\n```\n\n### Node Traversal\n\n```\n1. Call FIGMA_GET_FILE_JSON with depth=2 for overview\n2. Identify target nodes from the response\n3. Call again with specific ids and higher depth for details\n```\n\n## Known Pitfalls\n\n**File Type Support**:\n- GET_FILE_JSON only supports Design files (figma.com/design/ or figma.com/file/)\n- FigJam boards (figma.com/board/) and Slides (figma.com/slides/) are NOT supported\n\n**Node ID Formats**:\n- URLs use dash format: `node-id=1-541`\n- API uses colon format: `1:541`\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Parse URL | FIGMA_DISCOVER_FIGMA_RESOURCES | figma_url |\n| Get file JSON | FIGMA_GET_FILE_JSON | file_key, ids, depth |\n| Get nodes | FIGMA_GET_FILE_NODES | file_key, ids |\n| Render images | FIGMA_RENDER_IMAGES_OF_FILE_NODES | file_key, ids, format |\n| Download images | FIGMA_DOWNLOAD_FIGMA_IMAGES | file_key, images |\n| Get component | FIGMA_GET_COMPONENT | file_key, node_id |\n| File components | FIGMA_GET_FILE_COMPONENTS | file_key |\n| Component sets | FIGMA_GET_FILE_COMPONENT_SETS | file_key |\n| Design tokens | FIGMA_EXTRACT_DESIGN_TOKENS | file_key |\n| Tokens to Tailwind | FIGMA_DESIGN_TOKENS_TO_TAILWIND | tokens |\n| File comments | FIGMA_GET_COMMENTS_IN_A_FILE | file_key |\n| Add comment | FIGMA_ADD_A_COMMENT_TO_A_FILE | file_key, message |\n| File versions | FIGMA_GET_VERSIONS_OF_A_FILE | file_key |\n| Team projects | FIGMA_GET_PROJECTS_IN_A_TEAM | team_id |\n| Project files | FIGMA_GET_FILES_IN_A_PROJECT | project_id |\n| Team styles | FIGMA_GET_TEAM_STYLES | team_id |\n| File styles | FIGMA_GET_FILE_STYLES | file_key |\n| Image fills | FIGMA_GET_IMAGE_FILLS | file_key |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["figma","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-figma-automation","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/figma-automation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34793 github stars · SKILL.md body (7,104 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T00:50:56.156Z","embedding":null,"createdAt":"2026-04-18T21:37:09.439Z","updatedAt":"2026-04-24T00:50:56.156Z","lastSeenAt":"2026-04-24T00:50:56.156Z","tsv":"'-4.0':412 '-541':295,780,860 '/board/)':840 '/design/':831 '/design/abc123xyz/...)':232 '/file/)':835 '/files/team/team_id/...)':720 '/mcp':78 '/slides/)':845 '0.01':411 '1':98,145,167,294,302,346,476,571,678,753,779,784,788,859,865 '2':110,178,246,328,357,486,583,689,762,796,799 '3':118,190,369,459,595,700,772,806 '30':446 '32':451 '4':133,200,378,550,606 '400':274 '413':312 '5':209,660 '541':303,785,866 '70':261 'abc123xyz':228 'action':1054 'activ':50,123,138 'add':75,92,563,585,591,976,979 'ai':258 'ai-friend':257 'alway':17,60 'api':88,305,861 'applic':1048 'array':241,286,416 'ask':1092 'asset':341 'auth':127,132 'auto':456 'auto-sc':455 'autom':3,4,25,29 'avail':49,103 'board':270,837 'boundari':1100 'broad':306 'brows':661 'call':61,111,754,789,807 'cannot':652,728 'cap':449 'children':253 'clarif':1094 'clear':1067 'client':85,648 'colon':300,782,863 'color':482 'comma':235,281,396 'comma-separ':234,280,395 'comment':15,552,564,574,581,587,593,601,603,626,631,633,635,640,651,967,970,977,981 'common':744 'complet':130 'compon':12,150,163,204,207,213,216,924,927,933,937,940,945 'composio':10,33 'config':495 'configur':86 'confirm':105,134 'connect':45,52,56,114,120,135 'convers':524,527,549 'convert':492,773 'core':143 'criteria':1103 'current':22,68 'dash':292,775,854 'dash-format':291,774 'data':148,185,198,319,323,327 'day':447 'default':188,509 'depth':242,245,317,795,814,892 'describ':1055,1071 'design':13,159,267,340,461,470,479,488,827,949,953,961 'detail':816 'develop':473 'discov':169,756,877 'download':371,374,424,914,917 'e.g':227 'endpoint':94,743 'environ':1083 'environment-specif':1082 'error':275 'execut':1050 'expert':1088 'export':16,329,339,355 'extract':162,172,460,469,478,481,521,544,732,748,763,952 'factor':410 'fail':440 'field':541 'figjam':269,836 'figma':2,5,24,30,35,51,59,117,131,158,168,170,175,179,191,201,210,347,358,370,372,379,477,487,514,572,584,596,607,679,690,701,734,751,755,757,760,790,876,878,880,885,895,904,916,918,925,934,942,951,960,968,978,990,1000,1010,1020,1028,1036 'figma-autom':1 'figma.com':231,719,830,834,839,844 'figma.com/board/)':838 'figma.com/design/':829 'figma.com/design/abc123xyz/...)':230 'figma.com/file/)':833 'figma.com/files/team/team_id/...)':718 'figma.com/slides/)':843 'file':11,147,160,181,184,193,203,212,221,223,268,349,362,390,392,420,499,501,577,580,590,612,619,621,675,692,698,764,792,819,823,828,883,887,889,897,899,908,910,920,928,932,936,938,944,947,955,966,973,974,984,985,988,995,996,1009,1012,1026,1030,1032,1040 'fill':382,385,1035,1039 'find':351 'first':20,65 'follow':124 'format':260,293,301,402,422,629,776,783,851,855,864,913 'friend':259 'full':517,530 'get':67,72,146,180,183,192,195,202,211,348,380,383,573,597,602,608,613,680,691,702,791,822,882,886,893,896,923,926,935,943,969,991,1001,1011,1021,1029,1037 'higher':813 'histori':568,615 'id':173,233,238,276,288,353,394,399,419,431,436,634,636,713,715,722,724,727,749,767,769,778,811,850,858,891,901,912,931,1007,1017,1025 'id-to-url':430 'identifi':800 'ids/depth':307 'imag':332,343,360,367,373,376,381,384,415,426,448,903,906,915,919,922,1034,1038 'includ':503,506,511,513,533 'inform':164 'input':1097 'inspect':157,566 'instead':325 'jpg':405 'json':182,350,793,824,884,888 'key':89,219,222,224,388,391,393,497,500,502,617,620,622,710,765,872,890,900,911,921,929,939,948,956,975,986,997,1033,1041 'known':817 'larger':453 'level':252,657 'limit':1059 'link':128 'list':205,215,578,671,685,696,705 'local':504,507 'manag':55,113,551 'map':434 'markdown':628 'match':1068 'may':289,320,437 'mcp':9,28,39,42,74,81,101 'md':624 'megapixel':452 'messag':630,987 'meta':649 'miss':1105 'must':43,277 'name':421 'narrow':313 'need':90,299 'nest':654 'node':194,197,237,287,352,363,365,398,418,429,646,766,777,786,802,849,857,894,898,909,930 'node-id':856 'null':439 'object':519,532 'obtain':730 'one':656 'oper':31 'option':199,208,218,377,387,496,582,594,605,616,688,699,709 'output':1077 'overs':310 'overview':798,1058 'page':248 'param':873 'paramet':220,389,498,618,711 'pars':747,874 'pass':547 'pattern':745 'payload':311 'pdf':407 'permiss':1098 'pitfal':264,425,525,639,725,818 'png':403 'png/jpg':414 'posit':643 'prerequisit':40,177,356 'preview':324 'programmat':731 'project':662,673,681,687,695,697,721,723,999,1002,1008,1015,1016 'publish':206,707,737 'quick':867 'reaction':598,604,638 'reduc':316 'reduct':263 'refer':868 'render':331,359,364,375,401,441,902,905 'repli':650,659 'request':454 'requir':189,368,485,528,1096 'resourc':171,758,879 'respond':109 'respons':318,545,771,805 'return':126,273,427,625,740 'review':1089 'rube':8,27,38,41,46,54,62,73,100,106,112 'rube.app':77 'rube.app/mcp':76 'run':140 'safeti':1099 'scale':408,409,457 'schema':23,70 'scope':314,1070 'search':18,47,63,107 'separ':236,282,397 'sequenc':166,345,475,570,677 'server':82 'set':214,217,941,946 'setup':71 'show':137 'simplifi':186,254 'size':262 'skill':1046,1062 'skill-figma-automation' 'slide':272,842 'slug':871 'sourc':537 'source-sickn33' 'space':484 'specif':196,645,810,1084 'status':136 'stop':1090 'string':283 'strip':540 'style':505,508,704,708,1019,1023,1027,1031 'styles/components':738 'substitut':1080 'success':1102 'support':266,821,826,848 'svg':404 'tailwind':491,494,523,526,959,964 'target':801 'task':6,869,1066 'team':664,672,684,686,703,706,712,714,726,742,768,998,1005,1006,1018,1022,1024 'temporari':444 'test':1086 'text':632 'token':14,462,471,480,489,516,518,531,535,950,954,957,962,965 'tool':19,48,64,69,108,165,344,474,569,676,870 'toolkit':36,58,116 'top':251 'top-level':250 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'total':534 'travers':244,787 'treat':1075 'tree':243 'trigger':309 'true':255,510 'type':820 'typographi':483 'url':176,226,297,386,433,442,717,735,746,752,761,852,875,881 'use':153,335,465,557,647,667,853,862,1044,1060 'user':154,336,466,558,668 'valid':445,1085 'variabl':512,515 'verifi':99 'version':554,567,609,614,989,992 'via':7,26,37,53 'view':561 'want':155,337,467,559,669 'work':97 'workflow':142,144,1052","prices":[{"id":"8637867d-a451-4f8e-83cd-483b89870cba","listingId":"10551d89-c633-47bc-8573-b469a603f4f1","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:37:09.439Z"}],"sources":[{"listingId":"10551d89-c633-47bc-8573-b469a603f4f1","source":"github","sourceId":"sickn33/antigravity-awesome-skills/figma-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/figma-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:37:09.439Z","lastSeenAt":"2026-04-24T00:50:56.156Z"}],"details":{"listingId":"10551d89-c633-47bc-8573-b469a603f4f1","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"figma-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34793,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T00:28:59Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"622b8bc428cd60aaf433008736f3f5c19c828997","skill_md_path":"skills/figma-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/figma-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"figma-automation","description":"Automate Figma tasks via Rube MCP (Composio): files, components, design tokens, comments, exports. Always search tools first for current schemas."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/figma-automation"},"updatedAt":"2026-04-24T00:50:56.156Z"}}