{"id":19457,"date":"2026-09-28T15:00:18","date_gmt":"2026-09-28T09:30:18","guid":{"rendered":"https:\/\/procreator.design\/blog\/?p=19457"},"modified":"2026-09-28T18:15:47","modified_gmt":"2026-09-28T12:45:47","slug":"how-to-use-figma-mcp","status":"publish","type":"post","link":"https:\/\/procreator.design\/blog\/how-to-use-figma-mcp\/","title":{"rendered":"How to Use Figma MCP With Design Systems and Skills"},"content":{"rendered":"<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;,&quot;fw&quot;:&quot;none&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-doc-id=\"5057927000008039001\" data-doc-type=\"writer\">Connecting an AI agent to Figma feels like progress. It is also the easiest part.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;,&quot;fw&quot;:&quot;none&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">The real test starts when the agent has to work inside a design system without inventing components, hardcoding values, or ignoring rules the team already follows. If you are figuring out how to use Figma MCP, the useful question is not simply whether the connection works. It is whether the agent receives enough context to make a reliable next move.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">This article covers that working layer: setup, design-system context, Skills, Code Connect, failure points, and the decisions people should still own when AI moves from reading designs to acting on them.<\/p>\n<h2 class=\"zw-paragraph heading2\" data-header=\"2\" data-margin-bottom=\"14.94pt\" data-margin-top=\"14.94pt\" data-hd-info=\"2\" data-line-height=\"1.2\">TL;DR<span data-range-char-type=\"start\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_ir6muzn5i9pb&quot;,&quot;name&quot;:&quot;_Tocqf38kt0uwh52&quot;}\" data-bookmark-id=\"toc_ir6muzn5i9pb\">\u00a0<\/span><span data-range-char-type=\"end\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_ir6muzn5i9pb&quot;,&quot;name&quot;:&quot;_Tocqf38kt0uwh52&quot;}\" data-bookmark-id=\"toc_ir6muzn5i9pb\">\u00a0<\/span><\/h2>\n<ul data-list-id=\"33687303\" data-list-format=\"{&quot;level0&quot;:{&quot;type&quot;:6,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;0.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level1&quot;:{&quot;type&quot;:7,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;1in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level2&quot;:{&quot;type&quot;:8,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;1.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level3&quot;:{&quot;type&quot;:6,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;2in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level4&quot;:{&quot;type&quot;:7,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;2.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level5&quot;:{&quot;type&quot;:8,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;3in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level6&quot;:{&quot;type&quot;:6,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;3.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level7&quot;:{&quot;type&quot;:7,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;4in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level8&quot;:{&quot;type&quot;:8,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;4.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}}}\" data-spl-bullet-format=\"{}\">\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"33687303\" data-list-info=\"{&quot;id&quot;:&quot;33687303&quot;,&quot;l&quot;:0}\">Figma MCP gives agents structured design context, but the quality of the output still depends on the design system behind it.<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"33687303\" data-list-info=\"{&quot;id&quot;:&quot;33687303&quot;,&quot;l&quot;:0}\">Components, semantic variables, states, usage rules, and code mappings matter more once an agent starts acting on the system.<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"33687303\" data-list-info=\"{&quot;id&quot;:&quot;33687303&quot;,&quot;l&quot;:0}\">Skills turn repeatable team conventions into instructions an agent can follow across tasks.<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"33687303\" data-list-info=\"{&quot;id&quot;:&quot;33687303&quot;,&quot;l&quot;:0}\">Code Connect reduces implementation guesswork by linking Figma components to the code engineering already uses.<\/p>\n<\/li>\n<\/ul>\n<h2 class=\"zw-paragraph heading2\" data-header=\"2\" data-textformat=\"{}\" data-margin-bottom=\"14.94pt\" data-margin-top=\"14.94pt\" data-hd-info=\"2\" data-line-height=\"1.2\">How to Use Figma MCP?<\/h2>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">The practical way to start is to connect Figma&#8217;s remote MCP server to a supported AI client and test one bounded task before expanding the scope.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Figma recommends the remote server for most users because it connects to Figma&#8217;s hosted endpoint and provides the broadest feature set. The <a href=\"https:\/\/developers.figma.com\/docs\/figma-mcp-server\/\" target=\"_blank\" rel=\"noopener\">Figma MCP server documentation<\/a> explains how the server can provide design context such as components, variables, layouts, and selected frames to supported AI clients.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">A useful first workflow is intentionally small:<\/p>\n<ol data-list-id=\"73073882\" data-list-format=\"{&quot;level0&quot;:{&quot;type&quot;:0,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0000.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;0.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level1&quot;:{&quot;type&quot;:4,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0001.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;1in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level2&quot;:{&quot;type&quot;:2,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0002.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;1.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level3&quot;:{&quot;type&quot;:0,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0003.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;2in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level4&quot;:{&quot;type&quot;:4,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0004.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;2.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level5&quot;:{&quot;type&quot;:2,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0005.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;3in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level6&quot;:{&quot;type&quot;:0,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0006.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;3.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level7&quot;:{&quot;type&quot;:4,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0007.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;4in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level8&quot;:{&quot;type&quot;:2,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\b.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;4.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}}}\" data-spl-bullet-format=\"{}\">\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"73073882\" data-list-info=\"{&quot;id&quot;:&quot;73073882&quot;,&quot;l&quot;:0}\">Connect a supported AI client to the remote MCP server.<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"73073882\" data-list-info=\"{&quot;id&quot;:&quot;73073882&quot;,&quot;l&quot;:0}\">Give the agent one frame or a clearly bounded selection.<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"73073882\" data-list-info=\"{&quot;id&quot;:&quot;73073882&quot;,&quot;l&quot;:0}\">Retrieve the design context before generating or modifying anything.<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"73073882\" data-list-info=\"{&quot;id&quot;:&quot;73073882&quot;,&quot;l&quot;:0}\">Require reuse of existing components and variables.<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"73073882\" data-list-info=\"{&quot;id&quot;:&quot;73073882&quot;,&quot;l&quot;:0}\">Review the result before turning that workflow into a repeatable Skill.<\/p>\n<\/li>\n<\/ol>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;,&quot;fw&quot;:&quot;none&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">That is how to use Figma MCP without confusing connectivity with readiness.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Starting small matters because the first question is not \u201cCan the agent build the screen?\u201d It is \u201cCan the agent recognize and reuse the decisions the team has already made?\u201d<\/p>\n<h2 class=\"zw-paragraph heading2\" data-header=\"2\" data-margin-bottom=\"14.94pt\" data-margin-top=\"14.94pt\" data-hd-info=\"2\" data-line-height=\"1.2\">How to Use Figma MCP With a Design System<span data-range-char-type=\"start\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_hj4x1f7wx6qm&quot;,&quot;name&quot;:&quot;_Tocg5xa57sxelpd&quot;}\" data-bookmark-id=\"toc_hj4x1f7wx6qm\">\u00a0<\/span><span data-range-char-type=\"end\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_hj4x1f7wx6qm&quot;,&quot;name&quot;:&quot;_Tocg5xa57sxelpd&quot;}\" data-bookmark-id=\"toc_hj4x1f7wx6qm\">\u00a0<\/span><\/h2>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Use Figma MCP with a design system by making the system explicit enough for an agent to retrieve instead of infer.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Designers constantly make small judgments that rarely appear in a component name. Two buttons may look almost identical while carrying different intents. A designer can infer the difference from context. An agent needs that distinction represented somewhere it can access.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Figma recommends reusable components, variables, semantic naming, Auto Layout, annotations, and Code Connect when teams want stronger MCP-assisted output. Its guidance on <a href=\"https:\/\/developers.figma.com\/docs\/figma-mcp-server\/structure-figma-file\/\" target=\"_blank\" rel=\"noopener\">structuring Figma files for MCP<\/a> reinforces the same point: the quality of the context depends heavily on how the file and system are structured.<\/p>\n<table style=\"height: 266px;\" border=\"#fff\" width=\"1999\" cellspacing=\"0\">\n<tbody>\n<tr>\n<th style=\"text-align: center;\">Layer<\/th>\n<th style=\"text-align: center;\">What the agent needs<\/th>\n<th style=\"text-align: center;\">What breaks when it is missing<\/th>\n<\/tr>\n<tr>\n<td style=\"text-align: left; padding: 5px;\">Components<\/td>\n<td style=\"text-align: left; padding: 5px;\">Approved building blocks and variants<\/td>\n<td style=\"text-align: left; padding: 5px;\">The agent recreates UI that already exists<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; padding: 5px;\">Variables<\/td>\n<td style=\"text-align: left; padding: 5px;\">Semantic color, spacing, type, radius, and modes<\/td>\n<td style=\"text-align: left; padding: 5px;\">Raw values replace system tokens<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; padding: 5px;\">States<\/td>\n<td style=\"text-align: left; padding: 5px;\">Loading, error, empty, disabled, and responsive behavior<\/td>\n<td style=\"text-align: left; padding: 5px;\">The output only handles the happy path<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; padding: 5px;\">Usage rules<\/td>\n<td style=\"text-align: left; padding: 5px;\">Guidance on when one pattern fits better<\/td>\n<td style=\"text-align: left; padding: 5px;\">A valid component appears in the wrong context<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; padding: 5px;\">Code mapping<\/td>\n<td style=\"text-align: left; padding: 5px;\">A connection to the production implementation<\/td>\n<td style=\"text-align: left; padding: 5px;\">The agent guesses how the component should be built<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">At ProCreator, this is where we would separate visual consistency from system clarity. A design system can look perfectly consistent to a designer while still leaving too much implicit for an agent.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">That is why design-to-code with Figma MCP is not really a screenshot problem. A screen can look correct while still using the wrong token, state, component, or implementation pattern.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">The same principle applies across <a href=\"https:\/\/procreator.design\/blog\/top-ai-product-design-tools-teams-must-know\/\" target=\"_blank\" rel=\"noopener\">AI product design tools<\/a>: adding more tooling does not automatically give an agent better product context.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">If the underlying system needs restructuring first, <a href=\"https:\/\/procreator.design\/services\/design-system\" target=\"_blank\" rel=\"noopener\">design system services<\/a> can address the component, token, governance, and implementation foundations before more automation gets added.<\/p>\n<h2 class=\"zw-paragraph heading2\" data-header=\"2\" data-margin-bottom=\"14.94pt\" data-margin-top=\"14.94pt\" data-hd-info=\"2\" data-line-height=\"1.2\">What Context Does Figma MCP Actually Give an Agent?<span data-range-char-type=\"start\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_kjbiza3ddwsq&quot;,&quot;name&quot;:&quot;_Toc3xa78ta5fkq8&quot;}\" data-bookmark-id=\"toc_kjbiza3ddwsq\">\u00a0<\/span><span data-range-char-type=\"end\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_kjbiza3ddwsq&quot;,&quot;name&quot;:&quot;_Toc3xa78ta5fkq8&quot;}\" data-bookmark-id=\"toc_kjbiza3ddwsq\">\u00a0<\/span><\/h2>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Figma MCP gives an agent structured design context, but access does not equal understanding.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">The server can tell an agent what components exist, which variables are applied, how a frame is structured, and where certain design elements live.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">But a component can be available without being appropriate.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Take three valid patterns: a modal, a drawer, and a full-page flow. An agent may retrieve all three. That still does not explain which one belongs in a destructive, multi-step account action.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">At ProCreator, we find it useful to separate retrieval context from decision context.<\/p>\n<p data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-19460\" src=\"https:\/\/i0.wp.com\/procreator.design\/blog\/wp-content\/uploads\/2026\/09\/01-retrival-context-vs-decision-contect.png?resize=668%2C445&#038;ssl=1\" alt=\"retrival context vs decision contect\" width=\"668\" height=\"445\" srcset=\"https:\/\/i0.wp.com\/procreator.design\/blog\/wp-content\/uploads\/2026\/09\/01-retrival-context-vs-decision-contect.png?w=668&amp;ssl=1 668w, https:\/\/i0.wp.com\/procreator.design\/blog\/wp-content\/uploads\/2026\/09\/01-retrival-context-vs-decision-contect.png?resize=400%2C266&amp;ssl=1 400w\" sizes=\"auto, (max-width: 668px) 100vw, 668px\" \/><\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Retrieval context tells the agent what the system contains.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Decision context explains when those pieces belong, what exceptions matter, and when the choice should come back to a person.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">That distinction changes how to use Figma MCP beyond basic implementation. Teams should not assume that exposing more components automatically gives the agent better product judgment.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Sometimes the missing information is not another token or annotation. It is a product rule that nobody has written down yet.<\/p>\n<h2 class=\"zw-paragraph heading2\" data-header=\"2\" data-margin-bottom=\"14.94pt\" data-margin-top=\"14.94pt\" data-hd-info=\"2\" data-line-height=\"1.2\">What Do Skills Add to Figma MCP?<span data-range-char-type=\"start\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_7afdbjnbyrk1&quot;,&quot;name&quot;:&quot;_Toc2g1xp3httby6&quot;}\" data-bookmark-id=\"toc_7afdbjnbyrk1\">\u00a0<\/span><span data-range-char-type=\"end\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_7afdbjnbyrk1&quot;,&quot;name&quot;:&quot;_Toc2g1xp3httby6&quot;}\" data-bookmark-id=\"toc_7afdbjnbyrk1\">\u00a0<\/span><\/h2>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Skills add repeatable procedures to the context and tools that MCP already exposes.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Instead of asking an agent to \u201cfollow our design system\u201d every time, a Skill can define what that actually means.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Figma&#8217;s guidance on <a href=\"https:\/\/developers.figma.com\/docs\/figma-mcp-server\/create-skills\/\" target=\"_blank\" rel=\"noopener\">creating Skills for Figma MCP<\/a> explains how reusable instructions can guide agents through tasks such as searching libraries, applying variables and modes, using real components, following Auto Layout conventions, validating output, and handling missing patterns.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">A useful design-system Skill might require the agent to:<\/p>\n<ul data-list-id=\"16676193\" data-list-format=\"{&quot;level0&quot;:{&quot;type&quot;:6,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;0.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level1&quot;:{&quot;type&quot;:7,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;1in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level2&quot;:{&quot;type&quot;:8,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;1.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level3&quot;:{&quot;type&quot;:6,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;2in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level4&quot;:{&quot;type&quot;:7,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;2.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level5&quot;:{&quot;type&quot;:8,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;3in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level6&quot;:{&quot;type&quot;:6,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;3.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level7&quot;:{&quot;type&quot;:7,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;4in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level8&quot;:{&quot;type&quot;:8,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;4.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}}}\" data-spl-bullet-format=\"{}\">\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"16676193\" data-list-info=\"{&quot;id&quot;:&quot;16676193&quot;,&quot;l&quot;:0}\">search approved libraries before creating anything new;<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"16676193\" data-list-info=\"{&quot;id&quot;:&quot;16676193&quot;,&quot;l&quot;:0}\">bind colors, spacing, and typography to semantic variables;<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"16676193\" data-list-info=\"{&quot;id&quot;:&quot;16676193&quot;,&quot;l&quot;:0}\">preserve existing property and variant conventions;<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"16676193\" data-list-info=\"{&quot;id&quot;:&quot;16676193&quot;,&quot;l&quot;:0}\">check loading, error, disabled, empty, and responsive states;<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"16676193\" data-list-info=\"{&quot;id&quot;:&quot;16676193&quot;,&quot;l&quot;:0}\">flag a missing pattern instead of quietly inventing one.<\/p>\n<\/li>\n<\/ul>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Decagon shows what this can look like in practice. Figma reported in its 2026 case study that Decagon&#8217;s engineering team moved design-system components into Storybook and created a Skill that tells coding agents to use the exact components. Another Skill helps designers add new components while keeping Figma and code aligned.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">This is where Figma MCP skills become more useful than another detailed prompt.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">A prompt handles the current request. A Skill can encode part of the team&#8217;s operating method.<\/p>\n<p data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-19461\" src=\"https:\/\/i0.wp.com\/procreator.design\/blog\/wp-content\/uploads\/2026\/09\/02-prompt-vs-skill.png?resize=668%2C445&#038;ssl=1\" alt=\"prompt vs skill\" width=\"668\" height=\"445\" srcset=\"https:\/\/i0.wp.com\/procreator.design\/blog\/wp-content\/uploads\/2026\/09\/02-prompt-vs-skill.png?w=668&amp;ssl=1 668w, https:\/\/i0.wp.com\/procreator.design\/blog\/wp-content\/uploads\/2026\/09\/02-prompt-vs-skill.png?resize=400%2C266&amp;ssl=1 400w\" sizes=\"auto, (max-width: 668px) 100vw, 668px\" \/><\/p>\n<h2 class=\"zw-paragraph heading2\" data-header=\"2\" data-margin-bottom=\"14.94pt\" data-margin-top=\"14.94pt\" data-hd-info=\"2\" data-line-height=\"1.2\">Where Does Code Connect Fit?<span data-range-char-type=\"start\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_gxrgunt25vew&quot;,&quot;name&quot;:&quot;_Toc0lqxagc1fkjj&quot;}\" data-bookmark-id=\"toc_gxrgunt25vew\">\u00a0<\/span><span data-range-char-type=\"end\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_gxrgunt25vew&quot;,&quot;name&quot;:&quot;_Toc0lqxagc1fkjj&quot;}\" data-bookmark-id=\"toc_gxrgunt25vew\">\u00a0<\/span><\/h2>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Code Connect gives an agent a stronger bridge between what exists in Figma and what engineering actually ships.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Without that bridge, an agent can correctly identify Button\/Primary\/Large and still generate the wrong import, prop structure, or implementation pattern.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Figma Code Connect reduces that gap by associating design-system components with their production counterparts.<\/p>\n<p data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-19462\" src=\"https:\/\/i0.wp.com\/procreator.design\/blog\/wp-content\/uploads\/2026\/09\/03-Design-to-production.png?resize=668%2C445&#038;ssl=1\" alt=\"Design to production\" width=\"668\" height=\"445\" srcset=\"https:\/\/i0.wp.com\/procreator.design\/blog\/wp-content\/uploads\/2026\/09\/03-Design-to-production.png?w=668&amp;ssl=1 668w, https:\/\/i0.wp.com\/procreator.design\/blog\/wp-content\/uploads\/2026\/09\/03-Design-to-production.png?resize=400%2C266&amp;ssl=1 400w\" sizes=\"auto, (max-width: 668px) 100vw, 668px\" \/><\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Coinbase&#8217;s Design System team tested this with coding agents. In Figma&#8217;s <a href=\"https:\/\/www.figma.com\/blog\/how-coinbase-used-code-connect-to-shrink-token-costs\/\" target=\"_blank\" rel=\"nofollow noopener\">Coinbase Code Connect case study<\/a>, three evaluation runs showed an average 11.5% reduction in token use, 22.3% reduction in implementation time, and 22.5% reduction in cost, alongside stronger design-system adherence.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">That distinction matters.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Skills shape how the agent should work.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Code Connect improves what implementation context the agent has available while working.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Neither removes the need for a well-structured design system. They make the decisions already encoded in that system easier for an agent to reuse.<\/p>\n<h2 class=\"zw-paragraph heading2\" data-header=\"2\" data-margin-bottom=\"14.94pt\" data-margin-top=\"14.94pt\" data-hd-info=\"2\" data-line-height=\"1.2\">What Makes a Design System Ready for Figma MCP?<span data-range-char-type=\"start\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_0nrqrxgv861v&quot;,&quot;name&quot;:&quot;_Toc6d3nhv9unnxz&quot;}\" data-bookmark-id=\"toc_0nrqrxgv861v\">\u00a0<\/span><span data-range-char-type=\"end\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_0nrqrxgv861v&quot;,&quot;name&quot;:&quot;_Toc6d3nhv9unnxz&quot;}\" data-bookmark-id=\"toc_0nrqrxgv861v\">\u00a0<\/span><\/h2>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">A design system is ready for Figma MCP when important decisions are represented in a form software can retrieve, follow, or explicitly escalate.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">For our design-system work at ProCreator, we would think about agent readiness across five layers:<\/p>\n<ol data-list-id=\"44267731\" data-list-format=\"{&quot;level0&quot;:{&quot;type&quot;:0,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0000.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;0.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level1&quot;:{&quot;type&quot;:4,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0001.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;1in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level2&quot;:{&quot;type&quot;:2,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0002.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;1.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level3&quot;:{&quot;type&quot;:0,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0003.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;2in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level4&quot;:{&quot;type&quot;:4,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0004.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;2.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level5&quot;:{&quot;type&quot;:2,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0005.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;3in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level6&quot;:{&quot;type&quot;:0,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0006.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;3.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level7&quot;:{&quot;type&quot;:4,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\u0007.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;4in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level8&quot;:{&quot;type&quot;:2,&quot;startsWith&quot;:1,&quot;c&quot;:&quot;\\b.&quot;,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;4.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}}}\" data-spl-bullet-format=\"{}\">\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"44267731\" data-list-info=\"{&quot;id&quot;:&quot;44267731&quot;,&quot;l&quot;:0}\">Access: Can the agent retrieve the correct components, variables, and layouts?<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"44267731\" data-list-info=\"{&quot;id&quot;:&quot;44267731&quot;,&quot;l&quot;:0}\">Meaning: Do names, tokens, variants, and states explain what those elements represent?<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"44267731\" data-list-info=\"{&quot;id&quot;:&quot;44267731&quot;,&quot;l&quot;:0}\">Decision: Are usage rules, exclusions, and important exceptions explicit?<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"44267731\" data-list-info=\"{&quot;id&quot;:&quot;44267731&quot;,&quot;l&quot;:0}\">Execution: Can the agent connect the design choice to the right production implementation?<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"44267731\" data-list-info=\"{&quot;id&quot;:&quot;44267731&quot;,&quot;l&quot;:0}\">Validation: Does the workflow check whether the result actually followed the system?<\/p>\n<\/li>\n<\/ol>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">The third layer is where many systems become fragile.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">A modal can be documented perfectly and still lack any explanation of when a modal is the wrong interaction. Five card variants can be technically valid while the product team knows only one belongs in a high-risk state.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">This is why how to use Figma MCP eventually becomes a governance question.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">The more work an agent owns, the more the design system has to communicate not only what is available, but why a choice belongs.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">That is also where the role of the design system starts changing. It is no longer only a shared library for designers and engineers. It becomes part of the context an agent uses to act.<\/p>\n<h2 class=\"zw-paragraph heading2\" data-header=\"2\" data-margin-bottom=\"14.94pt\" data-margin-top=\"14.94pt\" data-hd-info=\"2\" data-line-height=\"1.2\">Where Do Figma MCP Workflows Fail?<span data-range-char-type=\"start\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_oz4z3y8j9ze7&quot;,&quot;name&quot;:&quot;_Tocm3cpl3uecbqn&quot;}\" data-bookmark-id=\"toc_oz4z3y8j9ze7\">\u00a0<\/span><span data-range-char-type=\"end\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_oz4z3y8j9ze7&quot;,&quot;name&quot;:&quot;_Tocm3cpl3uecbqn&quot;}\" data-bookmark-id=\"toc_oz4z3y8j9ze7\">\u00a0<\/span><\/h2>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Figma MCP workflows fail when the system gives an agent incomplete, stale, or contradictory context.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">One pattern we would watch closely at ProCreator is \u201clooks right, works wrong.\u201d<\/p>\n<p data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-19463\" src=\"https:\/\/i0.wp.com\/procreator.design\/blog\/wp-content\/uploads\/2026\/09\/04-A-visually-correct-interface-with-broken-token-and-component-connections-underneath-showing-hidden-system-failure.png?resize=668%2C445&#038;ssl=1\" alt=\"A visually correct interface with broken token and component connections underneath, showing hidden system failure\" width=\"668\" height=\"445\" srcset=\"https:\/\/i0.wp.com\/procreator.design\/blog\/wp-content\/uploads\/2026\/09\/04-A-visually-correct-interface-with-broken-token-and-component-connections-underneath-showing-hidden-system-failure.png?w=668&amp;ssl=1 668w, https:\/\/i0.wp.com\/procreator.design\/blog\/wp-content\/uploads\/2026\/09\/04-A-visually-correct-interface-with-broken-token-and-component-connections-underneath-showing-hidden-system-failure.png?resize=400%2C266&amp;ssl=1 400w\" sizes=\"auto, (max-width: 668px) 100vw, 668px\" \/><\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">An agent can reproduce a screen convincingly while bypassing semantic tokens, selecting the wrong component variant, ignoring a required state, or generating code that does not match the team&#8217;s implementation model.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Common failure modes include:<\/p>\n<ul data-list-id=\"71025396\" data-list-format=\"{&quot;level0&quot;:{&quot;type&quot;:6,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;0.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level1&quot;:{&quot;type&quot;:7,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;1in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level2&quot;:{&quot;type&quot;:8,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;1.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level3&quot;:{&quot;type&quot;:6,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;2in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level4&quot;:{&quot;type&quot;:7,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;2.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level5&quot;:{&quot;type&quot;:8,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;3in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level6&quot;:{&quot;type&quot;:6,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;3.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level7&quot;:{&quot;type&quot;:7,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;4in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}},&quot;level8&quot;:{&quot;type&quot;:8,&quot;startsWith&quot;:1,&quot;paraFormat&quot;:{&quot;ml&quot;:&quot;4.5in&quot;,&quot;ti&quot;:&quot;-0.25in&quot;,&quot;textFormat&quot;:{}}}}\" data-spl-bullet-format=\"{}\">\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"71025396\" data-list-info=\"{&quot;id&quot;:&quot;71025396&quot;,&quot;l&quot;:0}\">Detached components: several candidates exist, and the agent cannot tell which one is canonical.<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"71025396\" data-list-info=\"{&quot;id&quot;:&quot;71025396&quot;,&quot;l&quot;:0}\">Raw values: the output looks close but bypasses semantic variables and theme logic.<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"71025396\" data-list-info=\"{&quot;id&quot;:&quot;71025396&quot;,&quot;l&quot;:0}\">Missing states: the default works while error, loading, permission, or responsive behavior remains undefined.<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"71025396\" data-list-info=\"{&quot;id&quot;:&quot;71025396&quot;,&quot;l&quot;:0}\">Stale mappings: the design system points to code assumptions engineering has already changed.<\/p>\n<\/li>\n<li>\n<p class=\"zw-list zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"0pt\" data-hd-info=\"0\" data-line-height=\"1.2\" data-list-id=\"71025396\" data-list-info=\"{&quot;id&quot;:&quot;71025396&quot;,&quot;l&quot;:0}\">Undocumented exceptions: several patterns appear valid, but the team knows one should not be used for that workflow.<\/p>\n<\/li>\n<\/ul>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">The agent does not create all of these problems.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Often, it exposes ambiguity that was already present but manageable because designers and engineers had learned the unwritten rules.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">That is useful information. It shows the team which parts of the system still depend on institutional memory.<\/p>\n<h2 class=\"zw-paragraph heading2\" data-header=\"2\" data-margin-bottom=\"14.94pt\" data-margin-top=\"14.94pt\" data-hd-info=\"2\" data-line-height=\"1.2\">What Should Humans Still Review?<span data-range-char-type=\"start\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_8irtxzwefcgz&quot;,&quot;name&quot;:&quot;_Toccl3r2flknrc5&quot;}\" data-bookmark-id=\"toc_8irtxzwefcgz\">\u00a0<\/span><span data-range-char-type=\"end\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_8irtxzwefcgz&quot;,&quot;name&quot;:&quot;_Toccl3r2flknrc5&quot;}\" data-bookmark-id=\"toc_8irtxzwefcgz\">\u00a0<\/span><\/h2>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Our view is that teams should automate known decisions before they automate judgment.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">If a rule can be made explicit through a component, variable, Code Connect mapping, Skill, or validation check, encode it.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">If the choice still depends on product intent, accessibility judgment, risk, an unfamiliar exception, or a genuinely new pattern, keep a person in the loop.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">This does not mean every agent action needs manual approval. It means teams should distinguish repeatable execution from unresolved judgment.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Those boundaries become easier to define when teams establish clear <a href=\"https:\/\/procreator.design\/blog\/ai-patterns-for-designing-smarter-ai-agents\/\" target=\"_blank\" rel=\"noopener\">UX patterns for AI agents<\/a> around approval, transparency, recovery, and autonomy.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">At ProCreator, the question we would ask is not \u201cHow much can the agent own?\u201d<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">It is:<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Which decisions are mature enough to encode, and which still need product judgment?<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">That is a much more useful boundary.<\/p>\n<h2 class=\"zw-paragraph heading2\" data-header=\"2\" data-margin-bottom=\"14.94pt\" data-margin-top=\"14.94pt\" data-hd-info=\"2\" data-line-height=\"1.2\">The Connection Is Only the Beginning<span data-range-char-type=\"start\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_kvvmzpwwkcsg&quot;,&quot;name&quot;:&quot;_Toc7kk6dmrrsfia&quot;}\" data-bookmark-id=\"toc_kvvmzpwwkcsg\">\u00a0<\/span><span data-range-char-type=\"end\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_kvvmzpwwkcsg&quot;,&quot;name&quot;:&quot;_Toc7kk6dmrrsfia&quot;}\" data-bookmark-id=\"toc_kvvmzpwwkcsg\">\u00a0<\/span><\/h2>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Knowing how to use Figma MCP is not the same as making it useful inside a real product organization.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">For us at ProCreator, the more interesting question is not how much AI can do inside Figma. It is how much of the design system has been made explicit enough for AI to use correctly.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">That changes the work. Teams stop asking agents to infer design intent from screenshots and start building systems that can communicate more of their own rules.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Clean the component model. Make token meaning explicit. Keep mappings current. Turn recurring rules into Skills. Decide which choices still require judgment.<\/p>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\">Access makes an agent faster. Context makes it useful. Judgment makes the system trustworthy.<\/p>\n<p class=\"zw-paragraph heading2\" data-header=\"2\" data-textformat=\"{&quot;type&quot;:&quot;text&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;va&quot;:&quot;baseline&quot;}\" data-margin-bottom=\"14.94pt\" data-margin-top=\"14.94pt\" data-hd-info=\"2\" data-line-height=\"1.2\">If your design system needs that foundation before AI workflows scale around it, <a href=\"https:\/\/procreator.design\/contact-us\/start-project-primary\" target=\"_blank\" rel=\"noopener\">start a project with ProCreator<\/a> to identify the design-system, implementation, and governance gaps first.<\/p>\n<h3 class=\"zw-paragraph heading2\" data-header=\"2\" data-margin-bottom=\"14.94pt\" data-margin-top=\"14.94pt\" data-hd-info=\"2\" data-line-height=\"1.2\">FAQ<span data-range-char-type=\"start\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_u40nqwfa2ic4&quot;,&quot;name&quot;:&quot;_Tocbh7c9rjvw22x&quot;}\" data-bookmark-id=\"toc_u40nqwfa2ic4\">\u00a0<\/span><span data-range-char-type=\"end\" data-bookmark-info=\"{&quot;type&quot;:&quot;bookmark&quot;,&quot;id&quot;:&quot;toc_u40nqwfa2ic4&quot;,&quot;name&quot;:&quot;_Tocbh7c9rjvw22x&quot;}\" data-bookmark-id=\"toc_u40nqwfa2ic4\">\u00a0<\/span><\/h3>\n<p class=\"zw-paragraph heading0\" data-header=\"0\" data-textformat=\"{&quot;size&quot;:&quot;12.00&quot;,&quot;fgc&quot;:&quot;rgb(0, 0, 0)&quot;,&quot;type&quot;:&quot;text&quot;}\" data-margin-bottom=\"12pt\" data-margin-top=\"12pt\" data-hd-info=\"0\" data-line-height=\"1.2\"><style>#sp-ea-19465 .spcollapsing { height: 0; overflow: hidden; transition-property: height;transition-duration: 300ms;}#sp-ea-19465.sp-easy-accordion>.sp-ea-single {margin-bottom: 10px; border: 1px solid #e2e2e2; }#sp-ea-19465.sp-easy-accordion>.sp-ea-single>.ea-header a {color: #444;}#sp-ea-19465.sp-easy-accordion>.sp-ea-single>.sp-collapse>.ea-body {background: #fff; color: #444;}#sp-ea-19465.sp-easy-accordion>.sp-ea-single {background: #eee;}#sp-ea-19465.sp-easy-accordion>.sp-ea-single>.ea-header a .ea-expand-icon { float: left; color: #444;font-size: 16px;}<\/style><div id=\"sp_easy_accordion-1790590376\"><div id=\"sp-ea-19465\" class=\"sp-ea-one sp-easy-accordion\" data-ea-active=\"ea-click\" data-ea-mode=\"vertical\" data-preloader=\"\" data-scroll-active-item=\"\" data-offset-to-scroll=\"0\"><div class=\"ea-card ea-expand sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-194650\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse194650\" aria-controls=\"collapse194650\" href=\"#\" aria-expanded=\"true\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-minus\"><\/i> What is Figma MCP and what does it actually do?<\/a><\/h3><div class=\"sp-collapse spcollapse collapsed show\" id=\"collapse194650\" data-parent=\"#sp-ea-19465\" role=\"region\" aria-labelledby=\"ea-header-194650\"> <div class=\"ea-body\"><p><span data-doc-id=\"5057927000008039001\" data-doc-type=\"writer\">Figma MCP connects supported AI clients to structured Figma context such as components, variables, layouts, and selected frames. It helps agents work from actual design information rather than screenshots alone. The AI client still interprets that context and decides how to use it in the target workflow or codebase.<\/span><\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-194651\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse194651\" aria-controls=\"collapse194651\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> How to use Figma MCP with an existing design system?<\/a><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse194651\" data-parent=\"#sp-ea-19465\" role=\"region\" aria-labelledby=\"ea-header-194651\"> <div class=\"ea-body\"><p>Start with one bounded screen or component. Retrieve its design context, require reuse of approved components and variables, connect production components where relevant, then validate the result against design-system rules. Once the workflow works consistently, move repeated instructions into a Skill so the agent does not depend on fresh prompts.<\/p><h3><\/h3><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-194652\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse194652\" aria-controls=\"collapse194652\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> Do you need Figma Code Connect to use Figma MCP?<\/a><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse194652\" data-parent=\"#sp-ea-19465\" role=\"region\" aria-labelledby=\"ea-header-194652\"> <div class=\"ea-body\"><p>No. Figma MCP can work without Code Connect, but Code Connect becomes useful when the agent needs to map Figma components to the real production components engineers already use. It reduces guesswork around imports, props, and implementation patterns, especially in mature design systems with established front-end libraries.<\/p><h3><\/h3><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-194653\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse194653\" aria-controls=\"collapse194653\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> What do Skills add to Figma MCP?<\/a><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse194653\" data-parent=\"#sp-ea-19465\" role=\"region\" aria-labelledby=\"ea-header-194653\"> <div class=\"ea-body\"><p>Skills turn repeatable working rules into reusable instructions for the agent. They can define which libraries to search, which variables to use, how to handle states, when to reuse existing components, and what to do when the design system has no clear answer. That makes workflows more consistent across tasks.<\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-194654\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse194654\" aria-controls=\"collapse194654\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> What makes a design system ready for Figma MCP?<\/a><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse194654\" data-parent=\"#sp-ea-19465\" role=\"region\" aria-labelledby=\"ea-header-194654\"> <div class=\"ea-body\"><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><p>A design system becomes more useful to Figma MCP when components, variables, states, usage rules, and code mappings are explicit. At ProCreator, we would also look for clear decision and validation rules. An agent should know not only what exists, but when a pattern fits and when human review is still needed.<\/p><\/div><\/div><\/div><\/div><\/div><div><div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div><div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Connecting an AI agent to Figma feels like progress. It is also the easiest part. The real test starts when the agent has to work inside a design system without inventing components, hardcoding values, or ignoring rules the team already follows. If you are figuring out how to use Figma MCP, the useful question is [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":19468,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[63],"tags":[],"class_list":["post-19457","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-and-innovation"],"_links":{"self":[{"href":"https:\/\/procreator.design\/blog\/wp-json\/wp\/v2\/posts\/19457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/procreator.design\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/procreator.design\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/procreator.design\/blog\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/procreator.design\/blog\/wp-json\/wp\/v2\/comments?post=19457"}],"version-history":[{"count":6,"href":"https:\/\/procreator.design\/blog\/wp-json\/wp\/v2\/posts\/19457\/revisions"}],"predecessor-version":[{"id":19469,"href":"https:\/\/procreator.design\/blog\/wp-json\/wp\/v2\/posts\/19457\/revisions\/19469"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/procreator.design\/blog\/wp-json\/wp\/v2\/media\/19468"}],"wp:attachment":[{"href":"https:\/\/procreator.design\/blog\/wp-json\/wp\/v2\/media?parent=19457"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/procreator.design\/blog\/wp-json\/wp\/v2\/categories?post=19457"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/procreator.design\/blog\/wp-json\/wp\/v2\/tags?post=19457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}