<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Design System Guide]]></title><description><![CDATA[Get weekly insights, tools, and templates to help you build and scale design systems.]]></description><link>https://learn.thedesignsystem.guide</link><image><url>https://substackcdn.com/image/fetch/$s_!D_hv!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png</url><title>The Design System Guide</title><link>https://learn.thedesignsystem.guide</link></image><generator>Substack</generator><lastBuildDate>Sat, 01 Aug 2026 21:06:59 GMT</lastBuildDate><atom:link href="https://learn.thedesignsystem.guide/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Romina]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[romina@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[romina@substack.com]]></itunes:email><itunes:name><![CDATA[Romina Kavcic]]></itunes:name></itunes:owner><itunes:author><![CDATA[Romina Kavcic]]></itunes:author><googleplay:owner><![CDATA[romina@substack.com]]></googleplay:owner><googleplay:email><![CDATA[romina@substack.com]]></googleplay:email><googleplay:author><![CDATA[Romina Kavcic]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[50 design token files, one problem: your agents can't read the meaning]]></title><description><![CDATA[Plus the Agentic Design Platform launch ***]]></description><link>https://learn.thedesignsystem.guide/p/50-design-token-files-one-problem</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/50-design-token-files-one-problem</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 19 Jun 2026 14:15:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9EBo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9EBo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9EBo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png 424w, https://substackcdn.com/image/fetch/$s_!9EBo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png 848w, https://substackcdn.com/image/fetch/$s_!9EBo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png 1272w, https://substackcdn.com/image/fetch/$s_!9EBo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9EBo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1386735,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200413433?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9EBo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png 424w, https://substackcdn.com/image/fetch/$s_!9EBo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png 848w, https://substackcdn.com/image/fetch/$s_!9EBo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png 1272w, https://substackcdn.com/image/fetch/$s_!9EBo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24b82ad8-247c-4dfe-9f9f-c3cbd04ab453_2184x1455.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>I have to start this email with amazing news. Almost two weeks ago, I launched the </span><strong><span>Agentic Design Community + Guide.</span></strong><span> &#129395;&#10024;I rolled it out in batches to everyone on the waiting list. Thank you to everyone who has already sent feedback. </span></p><p><strong><span>What is inside:</span></strong><br><span>* 87 guides on token pipelines, Figma MCP, Claude Code, and component audits (growing weekly)</span><br><span>* 33 production prompts</span><br><span>* 9 suggested learning paths, including a beginner setup that takes you from zero to a working AI workflow</span><br><span>* 26 templates and checklists</span><br><span>* A directory of 158 real design systems, from Netflix to Porsche</span><br><span>* 40 honest tool comparisons, no affiliate links</span><br><span>* Free tools like the Style Explorer and Trust Levels Playground</span><br><span>* Live sessions</span><br><span>* Free, helpful tools</span><br><span>* and so on </span><br><br><span>It updates weekly. &#127744;</span><br></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://aidesign.guide/&quot;,&quot;text&quot;:&quot;Join for free here&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://aidesign.guide/"><span>Join for free here</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AOWo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef238d8d-5ab3-48c7-8d04-d0b7f43207aa_2958x1658.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AOWo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef238d8d-5ab3-48c7-8d04-d0b7f43207aa_2958x1658.png 424w, https://substackcdn.com/image/fetch/$s_!AOWo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef238d8d-5ab3-48c7-8d04-d0b7f43207aa_2958x1658.png 848w, https://substackcdn.com/image/fetch/$s_!AOWo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef238d8d-5ab3-48c7-8d04-d0b7f43207aa_2958x1658.png 1272w, https://substackcdn.com/image/fetch/$s_!AOWo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef238d8d-5ab3-48c7-8d04-d0b7f43207aa_2958x1658.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AOWo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef238d8d-5ab3-48c7-8d04-d0b7f43207aa_2958x1658.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef238d8d-5ab3-48c7-8d04-d0b7f43207aa_2958x1658.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:683331,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200413433?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef238d8d-5ab3-48c7-8d04-d0b7f43207aa_2958x1658.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AOWo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef238d8d-5ab3-48c7-8d04-d0b7f43207aa_2958x1658.png 424w, https://substackcdn.com/image/fetch/$s_!AOWo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef238d8d-5ab3-48c7-8d04-d0b7f43207aa_2958x1658.png 848w, https://substackcdn.com/image/fetch/$s_!AOWo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef238d8d-5ab3-48c7-8d04-d0b7f43207aa_2958x1658.png 1272w, https://substackcdn.com/image/fetch/$s_!AOWo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef238d8d-5ab3-48c7-8d04-d0b7f43207aa_2958x1658.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p>And now to design tokens. </p><p>I thought design tokens would be the easiest design system data for AI agents to use.</p><p>They are already structured, they already live in JSON, and they already move between Figma and code. So I read the token files of 50 design systems to see how ready they really were.</p><p>I found two things I had not expected. They are far more different from each other than I assumed, and most of them tell an agent <strong>what a value is without telling it what the value means.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!miu0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98649780-5722-46c1-a750-3ac93161fcf9_1440x640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!miu0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98649780-5722-46c1-a750-3ac93161fcf9_1440x640.png 424w, https://substackcdn.com/image/fetch/$s_!miu0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98649780-5722-46c1-a750-3ac93161fcf9_1440x640.png 848w, https://substackcdn.com/image/fetch/$s_!miu0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98649780-5722-46c1-a750-3ac93161fcf9_1440x640.png 1272w, https://substackcdn.com/image/fetch/$s_!miu0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98649780-5722-46c1-a750-3ac93161fcf9_1440x640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!miu0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98649780-5722-46c1-a750-3ac93161fcf9_1440x640.png" width="1440" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98649780-5722-46c1-a750-3ac93161fcf9_1440x640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:47432,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200413433?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98649780-5722-46c1-a750-3ac93161fcf9_1440x640.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!miu0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98649780-5722-46c1-a750-3ac93161fcf9_1440x640.png 424w, https://substackcdn.com/image/fetch/$s_!miu0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98649780-5722-46c1-a750-3ac93161fcf9_1440x640.png 848w, https://substackcdn.com/image/fetch/$s_!miu0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98649780-5722-46c1-a750-3ac93161fcf9_1440x640.png 1272w, https://substackcdn.com/image/fetch/$s_!miu0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98649780-5722-46c1-a750-3ac93161fcf9_1440x640.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Okay, why this difference matters? A token file can be perfectly valid for a build pipeline and still be thin context for an AI agent. The pipeline needs to turn <code>color.red.500</code> into a usable value. The agent needs to know whether that red is for danger text, destructive buttons, error borders, alert backgrounds, brand moments, charts, or something that should never be used directly. Those are different jobs.</p><h2>Readable is not the same as usable</h2><p>Design system teams have spent years making tokens machine-readable. That was the right step. Agent-ready data just asks for something on top of it. It asks:</p><ul><li><p>What does this token mean?</p></li><li><p>When should it be used?</p></li><li><p>When should it not be used?</p></li><li><p>Is it deprecated?</p></li><li><p>Which component or state depends on it?</p></li><li><p>Which decision created it?</p></li><li><p>Which platform does it map to?</p></li></ul><p>Without that layer, the agent can still read the file. It just has to guess.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_U3b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc298cd-8e7d-442c-a5b1-6c706aa349da_1440x860.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_U3b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc298cd-8e7d-442c-a5b1-6c706aa349da_1440x860.png 424w, https://substackcdn.com/image/fetch/$s_!_U3b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc298cd-8e7d-442c-a5b1-6c706aa349da_1440x860.png 848w, https://substackcdn.com/image/fetch/$s_!_U3b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc298cd-8e7d-442c-a5b1-6c706aa349da_1440x860.png 1272w, https://substackcdn.com/image/fetch/$s_!_U3b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc298cd-8e7d-442c-a5b1-6c706aa349da_1440x860.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_U3b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc298cd-8e7d-442c-a5b1-6c706aa349da_1440x860.png" width="1440" height="860" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fc298cd-8e7d-442c-a5b1-6c706aa349da_1440x860.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:860,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:69601,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200413433?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc298cd-8e7d-442c-a5b1-6c706aa349da_1440x860.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_U3b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc298cd-8e7d-442c-a5b1-6c706aa349da_1440x860.png 424w, https://substackcdn.com/image/fetch/$s_!_U3b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc298cd-8e7d-442c-a5b1-6c706aa349da_1440x860.png 848w, https://substackcdn.com/image/fetch/$s_!_U3b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc298cd-8e7d-442c-a5b1-6c706aa349da_1440x860.png 1272w, https://substackcdn.com/image/fetch/$s_!_U3b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc298cd-8e7d-442c-a5b1-6c706aa349da_1440x860.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Say an agent needs a danger color. It finds <code>red.500</code>. Nothing in the file says that red means danger, so it might reach for the same red on a disabled button or a decorative chart. The file gave it a value, not a reason.</p><p>These files were built to compile, and they compile beautifully. Explaining themselves to an agent is a newer job, and most were designed before that job existed.</p><h2>How I looked at this</h2><p>I read the public token files of 50 design systems and then used AI to compare the real source an agent would load, not the polished documentation. </p><p>For every system I gathered the same four things:</p><ul><li><p>Where the tokens live, and in what format.</p></li><li><p>How many tokens there are, by category: color, typography, spacing.</p></li><li><p>How the tokens are named.</p></li><li><p>What meaning the file carries.</p></li></ul><p>The same data for all fifty, so the comparison is fair. I counted from the raw files: where a system ships every shade in code, I counted every shade, and where a system keeps spacing in a build script, I went and counted that too.</p><div class="callout-block" data-callout="true"><p>The full dataset, every system with its format, location, counts, and meaning layer, is published at <strong><a href="https://www.aidesign.guide/token-audit">aidesign.guide/token-audit</a>. </strong></p></div><h2>Where the tokens actually live</h2><p>The first thing I learned is that there is <strong>no standard place</strong>, and no standard format. I found at least eight formats in active use:</p><ul><li><p>DTCG JSON (Primer, GitLab, Backpack, NL Design System)</p></li><li><p>Style Dictionary JSON (Workday, PatternFly, Gestalt, Orbit, Pharos)</p></li><li><p>Theo YAML (Salesforce, Twilio, Nord)</p></li><li><p>Plain JSON (Suomi.fi)</p></li><li><p>TypeScript objects (Carbon, Polaris, Fluent, Ant, Chakra, Base Web, Cloudscape, Mantine, Elastic, Braid, Grommet, Forma 36, Theme UI, Australian GOLD)</p></li><li><p>CSS custom properties (Radix, Open Props, Vibe, Shoelace, Decathlon Vitamin)</p></li><li><p>SCSS maps (Material, Liferay Clay, Bootstrap, Foundation, Bulma, Vanilla, GOV.UK, Semi, parts of USWDS)</p></li><li><p>LESS or CSS variables compiled from it (Stack Overflow Stacks, TDesign, Arco)</p></li></ul><p>Some live where you would not expect. Adobe moved Spectrum&#8217;s tokens to a repo called <code>spectrum-design-data</code>, Shopify keeps the Polaris tokens inside <code>polaris-react</code>, and GitLab ships its tokens inside the <code>@gitlab/ui</code> package.</p><p>Knowing where the tokens live is the kind of thing you would tell a new teammate on day one. An agent needs the same pointer. Here is the map.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!alxS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a14389-80d3-4335-b579-0aaadc4417d7_1840x2928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!alxS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a14389-80d3-4335-b579-0aaadc4417d7_1840x2928.png 424w, https://substackcdn.com/image/fetch/$s_!alxS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a14389-80d3-4335-b579-0aaadc4417d7_1840x2928.png 848w, https://substackcdn.com/image/fetch/$s_!alxS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a14389-80d3-4335-b579-0aaadc4417d7_1840x2928.png 1272w, https://substackcdn.com/image/fetch/$s_!alxS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a14389-80d3-4335-b579-0aaadc4417d7_1840x2928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!alxS!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a14389-80d3-4335-b579-0aaadc4417d7_1840x2928.png" width="1200" height="1909.6153846153845" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80a14389-80d3-4335-b579-0aaadc4417d7_1840x2928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:2317,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:763166,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200413433?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a14389-80d3-4335-b579-0aaadc4417d7_1840x2928.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!alxS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a14389-80d3-4335-b579-0aaadc4417d7_1840x2928.png 424w, https://substackcdn.com/image/fetch/$s_!alxS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a14389-80d3-4335-b579-0aaadc4417d7_1840x2928.png 848w, https://substackcdn.com/image/fetch/$s_!alxS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a14389-80d3-4335-b579-0aaadc4417d7_1840x2928.png 1272w, https://substackcdn.com/image/fetch/$s_!alxS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a14389-80d3-4335-b579-0aaadc4417d7_1840x2928.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>How big is a design token system</h2><p>There is no standard size either. But before the numbers, the lens that makes them mean something: every count in this section measures the same thing. How many decisions the system makes for you, versus how many it leaves to you. A small scale is an opinion. A large scale is a palette. Neither is wrong, but each one changes what a consumer of the system, human or agent, has to figure out alone.</p><p>Take spacing, the simplest scale.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SC__!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84f322c-4128-4f90-8fbc-af3e1cc6ab05_1440x1208.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SC__!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84f322c-4128-4f90-8fbc-af3e1cc6ab05_1440x1208.png 424w, https://substackcdn.com/image/fetch/$s_!SC__!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84f322c-4128-4f90-8fbc-af3e1cc6ab05_1440x1208.png 848w, https://substackcdn.com/image/fetch/$s_!SC__!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84f322c-4128-4f90-8fbc-af3e1cc6ab05_1440x1208.png 1272w, https://substackcdn.com/image/fetch/$s_!SC__!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84f322c-4128-4f90-8fbc-af3e1cc6ab05_1440x1208.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SC__!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84f322c-4128-4f90-8fbc-af3e1cc6ab05_1440x1208.png" width="1440" height="1208" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c84f322c-4128-4f90-8fbc-af3e1cc6ab05_1440x1208.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1208,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:125487,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200413433?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84f322c-4128-4f90-8fbc-af3e1cc6ab05_1440x1208.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SC__!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84f322c-4128-4f90-8fbc-af3e1cc6ab05_1440x1208.png 424w, https://substackcdn.com/image/fetch/$s_!SC__!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84f322c-4128-4f90-8fbc-af3e1cc6ab05_1440x1208.png 848w, https://substackcdn.com/image/fetch/$s_!SC__!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84f322c-4128-4f90-8fbc-af3e1cc6ab05_1440x1208.png 1272w, https://substackcdn.com/image/fetch/$s_!SC__!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84f322c-4128-4f90-8fbc-af3e1cc6ab05_1440x1208.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The median is about 12 steps, and most systems land between 8 and 15. Mantine ships 5, Open Props ships 74.</p><p>Read those two extremes through the delegation lens. <strong>Mantine&#8217;s </strong>5 steps mean a designer, a developer, or an agent picking spacing has five options and will be consistent almost by accident. <strong>Open Props&#8217; </strong>74 steps mean every gap on every screen is an open decision, and an agent facing 74 unlabeled options is a drift generator. Every step past what you can name and explain is a choice somebody will eventually get wrong. The field&#8217;s median of 12 is a usable benchmark: count your spacing tokens, see where you sit, and ask how many of them you could write a usage rule for.</p><p><strong>Material Design</strong> is the strangest case. The M3 spec defines a full spacing scale, 18 tokens from <code>md.sys.spacing.0</code> to <code>md.sys.spacing.900</code>, right there on the documentation site. But material-web, the shipped code an agent would actually load, carries none of them: its token folder has sys files for color, elevation, motion, shape, state, and typescale, and no spacing file. The scale exists on paper. In the file, it does not. Which is this post&#8217;s whole argument in one system.</p><p>Material is not the only one. A whole class of systems does the same, especially component libraries. Tailwind, MUI, Tamagui, Element Plus, Naive UI, and PrimeVue all treat spacing as a base unit times a multiplier, or tie it to component sizes, rather than a list of named steps. It is a common and reasonable pattern. It just is not something an agent can read off the file as tokens.</p><p><strong>Now typography. </strong>The median system ships about 25 typography tokens, and the range is enormous.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YuTI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee9b5c6-f398-40f5-946b-51429cb4d408_1440x1208.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YuTI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee9b5c6-f398-40f5-946b-51429cb4d408_1440x1208.png 424w, https://substackcdn.com/image/fetch/$s_!YuTI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee9b5c6-f398-40f5-946b-51429cb4d408_1440x1208.png 848w, https://substackcdn.com/image/fetch/$s_!YuTI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee9b5c6-f398-40f5-946b-51429cb4d408_1440x1208.png 1272w, https://substackcdn.com/image/fetch/$s_!YuTI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee9b5c6-f398-40f5-946b-51429cb4d408_1440x1208.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YuTI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee9b5c6-f398-40f5-946b-51429cb4d408_1440x1208.png" width="1440" height="1208" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8ee9b5c6-f398-40f5-946b-51429cb4d408_1440x1208.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1208,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134628,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200413433?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee9b5c6-f398-40f5-946b-51429cb4d408_1440x1208.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YuTI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee9b5c6-f398-40f5-946b-51429cb4d408_1440x1208.png 424w, https://substackcdn.com/image/fetch/$s_!YuTI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee9b5c6-f398-40f5-946b-51429cb4d408_1440x1208.png 848w, https://substackcdn.com/image/fetch/$s_!YuTI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee9b5c6-f398-40f5-946b-51429cb4d408_1440x1208.png 1272w, https://substackcdn.com/image/fetch/$s_!YuTI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee9b5c6-f398-40f5-946b-51429cb4d408_1440x1208.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Backpack </strong>ships 10, and none of them are font sizes. Its sizes live in compiled code rather than the token file.</p><p><strong>Adobe Spectrum</strong> ships 312. It splits every type role into size, weight, line height, family, and script, with separate sets for CJK and serif.</p><p><strong>The Guardian </strong>ships 100, a named preset for nearly every combination of family, weight, style, and size, built from only 12 underlying sizes. The NL Design System ships 113, most of them scoped to a single component.</p><p>This is the delegation lens again, sharpest in typography: presets are pre-made decisions, atoms are homework. <strong>The Guardian</strong> pre-decided every valid combination, so nobody, human or agent, can compose an invalid one; the count is high because the decisions are already made. Spectrum ships the atoms and trusts you to combine them well; the count is high because the decisions are still open. Same number, opposite meaning, which is why the count only makes sense once you ask what it delegates.</p><p>Neither approach is wrong. A <strong>312-token</strong> system and an 11-token system are answering different questions.</p><p>So &#8220;a design token system&#8221; can mean 10 tokens or 312 for the same job.</p><p><strong>Color is the least comparable number </strong>(for me)<strong>,</strong> because some systems publish every shade and some publish only the few they use. Theme UI&#8217;s starter preset ships 5 and expects you to add your own. Fluent and Radix run past 600.</p><p>The number that matters is the semantic layer, the named roles an agent actually reasons over. There, the range is just as wide. Nord exposes 57. Polaris exposes 226. PatternFly exposes 342. Atlassian exposes 391. And it is the same lens one more time: the semantic count is roughly how many UI decisions the system has pre-made and named. That, not the size of the primitive ramp, is the number to compare.</p><h2>Everyone names the same thing differently</h2><p>Here is a semantic background color, named eight ways.</p><ul><li><p><strong>Workday: </strong><code>surface.default</code></p></li><li><p><strong>Twilio: </strong><code>color-background-strong</code></p></li><li><p><strong>Polaris: </strong><code>color-bg-fill-critical-hover</code></p></li><li><p><strong>Fluent: </strong><code>colorNeutralForeground1</code></p></li><li><p><strong>GitLab:</strong> <code>action.primary.background.default</code></p></li><li><p><strong>PatternFly:</strong> <code>global.background.color.primary.default</code></p></li><li><p><strong>Cloudscape: </strong><code>colorBackgroundButtonPrimaryActive</code></p></li><li><p><strong>Spectrum: </strong><code>accent-background-color-default</code></p></li></ul><p></p><p><strong>Here is the primitive, the color blue</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g2Yd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F452fb044-25a8-4145-8afb-3f71a60e0bdf_1440x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g2Yd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F452fb044-25a8-4145-8afb-3f71a60e0bdf_1440x1120.png 424w, https://substackcdn.com/image/fetch/$s_!g2Yd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F452fb044-25a8-4145-8afb-3f71a60e0bdf_1440x1120.png 848w, https://substackcdn.com/image/fetch/$s_!g2Yd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F452fb044-25a8-4145-8afb-3f71a60e0bdf_1440x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!g2Yd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F452fb044-25a8-4145-8afb-3f71a60e0bdf_1440x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g2Yd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F452fb044-25a8-4145-8afb-3f71a60e0bdf_1440x1120.png" width="1440" height="1120" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/452fb044-25a8-4145-8afb-3f71a60e0bdf_1440x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1120,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:94222,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200413433?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F452fb044-25a8-4145-8afb-3f71a60e0bdf_1440x1120.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!g2Yd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F452fb044-25a8-4145-8afb-3f71a60e0bdf_1440x1120.png 424w, https://substackcdn.com/image/fetch/$s_!g2Yd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F452fb044-25a8-4145-8afb-3f71a60e0bdf_1440x1120.png 848w, https://substackcdn.com/image/fetch/$s_!g2Yd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F452fb044-25a8-4145-8afb-3f71a60e0bdf_1440x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!g2Yd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F452fb044-25a8-4145-8afb-3f71a60e0bdf_1440x1120.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p>Chakra: <code>blue.500</code></p></li><li><p>Mantine: <code>blue[6]</code></p></li><li><p>Radix: <code>--blue-9</code></p></li><li><p>Open Props: <code>--blue-7</code></p></li><li><p>Carbon: <code>blue50</code></p></li><li><p>Primer: <code>base.color.blue.5</code></p></li><li><p>Spectrum: <code>blue-500</code></p></li><li><p>Salesforce: <code>SCIENCE_BLUE</code></p></li></ul><p>To see how deep the differences go, put ten systems side by side. These are real tokens from the raw files, and no two share a grammar:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!klNn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95526e5f-6cb0-4800-b89d-8fa86e4487b8_1440x1300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!klNn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95526e5f-6cb0-4800-b89d-8fa86e4487b8_1440x1300.png 424w, https://substackcdn.com/image/fetch/$s_!klNn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95526e5f-6cb0-4800-b89d-8fa86e4487b8_1440x1300.png 848w, https://substackcdn.com/image/fetch/$s_!klNn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95526e5f-6cb0-4800-b89d-8fa86e4487b8_1440x1300.png 1272w, https://substackcdn.com/image/fetch/$s_!klNn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95526e5f-6cb0-4800-b89d-8fa86e4487b8_1440x1300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!klNn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95526e5f-6cb0-4800-b89d-8fa86e4487b8_1440x1300.png" width="1440" height="1300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95526e5f-6cb0-4800-b89d-8fa86e4487b8_1440x1300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1300,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:297832,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200413433?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95526e5f-6cb0-4800-b89d-8fa86e4487b8_1440x1300.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!klNn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95526e5f-6cb0-4800-b89d-8fa86e4487b8_1440x1300.png 424w, https://substackcdn.com/image/fetch/$s_!klNn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95526e5f-6cb0-4800-b89d-8fa86e4487b8_1440x1300.png 848w, https://substackcdn.com/image/fetch/$s_!klNn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95526e5f-6cb0-4800-b89d-8fa86e4487b8_1440x1300.png 1272w, https://substackcdn.com/image/fetch/$s_!klNn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95526e5f-6cb0-4800-b89d-8fa86e4487b8_1440x1300.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Read the right column top to bottom and the problem becomes obvious: even the <em>order of information</em> disagrees. Some put the property first, some the role, and Mantine puts the role <em>before</em> the category. Cloudscape packs five facts into one name; Carbon&#8217;s <code>layer01</code> packs two. Workday&#8217;s <code>surface.default</code> and PatternFly&#8217;s <code>global.background.color.primary.default</code> describe nearly the same thing at a 5x length difference.</p><p>An agent that learned one of these conventions knows nothing about the next. There is no shared grammar across systems. The token name is the first thing an agent reads, and it means something different to everyone.</p><div class="callout-block" data-callout="true"><p>Remember my design tokens naming playground?<strong><a href="https://thedesignsystem.guide/design-tokens-naming-playbook"> (check it here) </a></strong></p></div><p>And here is the part that actually bites: your agent has already seen all ten of these grammars. They are in its training data, everyone. So it does not arrive at your codebase ignorant; it arrives with ten conflicting priors, and when it has to invent a token name, it blends them. That is why AI-suggested tokens come out looking plausible while matching nobody&#8217;s convention, including yours: a dotted path here, a kebab role there, a camelCase state glued on the end.</p><p>The fix costs one line. Declare your grammar where the agent will read it, in the token file or your conventions doc: &#8220;our tokens are <code>category-role-state</code>, kebab-case, semantic names only.&#8221; An agent can follow your grammar perfectly once you state it. What it cannot do is guess which of the ten you meant.</p><h2>Meaning is the youngest layer</h2><p>The files are stored differently, sized differently, and named differently. An agent can adapt to all of that. The one thing it cannot infer is the part most files leave out: what each token means.</p><p>I looked for three kinds of meaning across the fifty:</p><ul><li><p>A written description of the token: about 15 of 50.</p></li><li><p>A deprecation field an agent can read: about 10 of 50.</p></li><li><p>An explicit do-not-use rule: 1 of 50.</p></li></ul><p>One.</p><p><strong>That one is GitHub Primer.</strong> Its token file carries a field built for agents.</p><pre><code><code>muted: {
  $value: '{base.color.neutral.9}',
  $type: 'color',
  $description: 'Muted text for secondary content and less important information',
  $extensions: {
    'org.primer.llm': {
      usage: ['muted-text', 'secondary-text', 'helper-text', 'placeholder'],
      rules: 'Use for secondary text like timestamps, metadata, and helper text. Do NOT use for primary content.',
    },
  },
},</code></code></pre><p><strong>That is more than a color value. It is a <mark data-color="#cfe2f3" style="background-color: rgb(207, 226, 243); color: rgb(0, 0, 0);">value, plus a job</mark>, plus a note on when to skip it.</strong></p><p>A few systems are close behind. Workday records the old names each token used to carry, so an agent can migrate old code instead of guessing. Atlassian and GitLab attach a description and a deprecation flag to each token. Cloudscape keeps a parallel metadata file with usage notes and governance flags. The NL Design System, the Dutch government&#8217;s, ships clean DTCG with a description and a deprecation field on its tokens, the closest in spirit to Primer.</p><p><strong>Most files look like this:</strong></p><pre><code><code>export const gray = {
  gray1:  "#fcfcfc",
  gray9:  "#8d8d8d",
  gray11: "#646464",
  gray12: "#202020",
};</code></code></pre><p>The names hint at intent. The file itself stays quiet on role, usage, or what to avoid. An agent reading it gets a number and infers the rest.</p><p>This is not a gap in anyone&#8217;s work. For many systems the meaning does exist. It just lives in the documentation site, the build pipeline, or the naming convention, rather than the token file an agent loads first.</p><p>So meaning is the youngest layer. A few teams have started writing it into the file. Most have not yet, because the need is new.</p><p>The next phase of design tokens is not only transformation. It is labeling. That is what turns a readable token file into one an agent can reason with.</p><h2>I tested the guess</h2><p>Saying &#8220;the agent has to guess&#8221; is a claim, so I tested it.</p><p>I built a small fictional token file, ten colors, the kind of bare file most of the fifty look like. It contains one trap that real products have all the time: two reds. <code>crimson500</code> is the brand accent. <code>red600</code> is the system danger color. Nothing in the bare file says which is which.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mmB0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ce8a8c-371d-4489-955f-c7cf1a4e3c20_1440x628.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mmB0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ce8a8c-371d-4489-955f-c7cf1a4e3c20_1440x628.png 424w, https://substackcdn.com/image/fetch/$s_!mmB0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ce8a8c-371d-4489-955f-c7cf1a4e3c20_1440x628.png 848w, https://substackcdn.com/image/fetch/$s_!mmB0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ce8a8c-371d-4489-955f-c7cf1a4e3c20_1440x628.png 1272w, https://substackcdn.com/image/fetch/$s_!mmB0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ce8a8c-371d-4489-955f-c7cf1a4e3c20_1440x628.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mmB0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ce8a8c-371d-4489-955f-c7cf1a4e3c20_1440x628.png" width="1440" height="628" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3ce8a8c-371d-4489-955f-c7cf1a4e3c20_1440x628.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:72181,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200413433?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ce8a8c-371d-4489-955f-c7cf1a4e3c20_1440x628.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mmB0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ce8a8c-371d-4489-955f-c7cf1a4e3c20_1440x628.png 424w, https://substackcdn.com/image/fetch/$s_!mmB0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ce8a8c-371d-4489-955f-c7cf1a4e3c20_1440x628.png 848w, https://substackcdn.com/image/fetch/$s_!mmB0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ce8a8c-371d-4489-955f-c7cf1a4e3c20_1440x628.png 1272w, https://substackcdn.com/image/fetch/$s_!mmB0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ce8a8c-371d-4489-955f-c7cf1a4e3c20_1440x628.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Then I gave the file to an AI agent with one task: style a destructive &#8220;Delete account&#8221; button and an inline error alert, using only tokens from the file. I ran it three times on the bare file, and twice on the same file with one change: each token carried a DTCG <code>$description</code> saying what it is for, including &#8220;<em>Do NOT use for system feedback or destructive actions&#8221;</em> on the brand crimson.</p><p>The bare file, three runs:</p><ul><li><p>Run one put the brand crimson on the delete button.</p></li><li><p>Run two picked the danger red for the button, but a different text color than the others.</p></li><li><p>Run three put the brand crimson on the delete button again.</p></li></ul><p>Two out of three runs painted the most destructive action in the product with the marketing color, and no two runs agreed on the full answer. The agent was not being careless. <code>crimson500</code> is a perfectly reasonable guess for &#8220;destructive&#8221; if all you have is the name and the hex. The file gave it a value, not a reason.</p><p>The labeled file, two runs: identical answers, both correct, and both reasonings quoted the descriptions back to me. &#8220;red600 is explicitly designated for destructive actions.&#8221; No guessing, because there was nothing left to guess.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zF0w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fb4f31-f0b2-4f83-a48c-762f73eca28a_1440x880.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zF0w!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fb4f31-f0b2-4f83-a48c-762f73eca28a_1440x880.png 424w, https://substackcdn.com/image/fetch/$s_!zF0w!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fb4f31-f0b2-4f83-a48c-762f73eca28a_1440x880.png 848w, https://substackcdn.com/image/fetch/$s_!zF0w!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fb4f31-f0b2-4f83-a48c-762f73eca28a_1440x880.png 1272w, https://substackcdn.com/image/fetch/$s_!zF0w!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fb4f31-f0b2-4f83-a48c-762f73eca28a_1440x880.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zF0w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fb4f31-f0b2-4f83-a48c-762f73eca28a_1440x880.png" width="1440" height="880" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5fb4f31-f0b2-4f83-a48c-762f73eca28a_1440x880.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:880,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:90755,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200413433?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fb4f31-f0b2-4f83-a48c-762f73eca28a_1440x880.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zF0w!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fb4f31-f0b2-4f83-a48c-762f73eca28a_1440x880.png 424w, https://substackcdn.com/image/fetch/$s_!zF0w!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fb4f31-f0b2-4f83-a48c-762f73eca28a_1440x880.png 848w, https://substackcdn.com/image/fetch/$s_!zF0w!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fb4f31-f0b2-4f83-a48c-762f73eca28a_1440x880.png 1272w, https://substackcdn.com/image/fetch/$s_!zF0w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fb4f31-f0b2-4f83-a48c-762f73eca28a_1440x880.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It is one small experiment with a planted trap, not a benchmark, so take it as an illustration rather than proof. But the trap is not artificial. If your brand color and your danger color live anywhere near each other, an agent reading your bare token file is flipping this same coin right now.</p><h2>Is your token file agent-ready? </h2><p>Open your actual token source, the file an agent would load, not your docs site, and answer these:</p><ol><li><p><strong>Does any token carry a written description in the file itself?</strong> Not in Figma, not on the docs site. In the file. </p></li><li><p><strong>Is there a machine-readable deprecation field?</strong> If a token is on its way out, can a parser tell, or is that knowledge in someone&#8217;s head? </p></li><li><p><strong>Does any token say when NOT to use it?</strong> The do-not rule is what stops the crimson-on-delete-button mistake. </p></li><li><p><strong>Could an agent tell your brand color from your danger color using only the file?</strong> If both are named by hue and number, it cannot.</p></li><li><p><strong>If a teammate asked &#8220;which token for an error border?&#8221;, does the answer exist anywhere a machine can read?</strong></p><p></p></li></ol><h2>What you can try this week</h2><p>If you want your tokens to work better with agents, you do not need to relabel everything. Start with ten high-use tokens, the ones an agent is most likely to misread:</p><ul><li><p>primary action color</p></li><li><p>danger color</p></li><li><p>disabled state</p></li><li><p>focus ring</p></li><li><p>form spacing</p></li><li><p>card surface</p></li><li><p>border radius</p></li><li><p>elevation</p></li><li><p>body text</p></li><li><p>page background</p></li></ul><p>For each one, add:</p><ul><li><p>role</p></li><li><p>usage</p></li><li><p>anti-usage</p></li><li><p>state</p></li><li><p>component relationship</p></li><li><p>deprecated status</p></li><li><p>decision link if one exists</p></li></ul><p>Here is what that looks like on one ordinary token. Before, the way most of the fifty files look:</p><pre><code><code>{
  "red600": { "$value": "#d62b1f", "$type": "color" }
}</code></code></pre><p>After, using nothing but the DTCG fields that already exist plus one extensions block:</p><pre><code><code>{
  "red600": {
    "$value": "#d62b1f",
    "$type": "color",
    "$description": "System danger. Destructive action backgrounds, error text, error borders.",
    "$deprecated": false,
    "$extensions": {
      "com.yourcompany.usage": {
        "role": "danger",
        "use": ["destructive-buttons", "error-text", "error-borders"],
        "doNotUse": "Decorative elements, charts, brand moments. Use crimson500 for brand.",
        "components": ["Button[variant=danger]", "Alert[type=error]", "Input[invalid]"],
        "decision": "ADR-014"
      }
    }
  }
}</code></code></pre><p>Copy that block, rename the extension namespace to your org, and you have the template. Two things make this cheaper than it looks. <code>$description</code> and <code>$deprecated</code> are already part of the DTCG spec, so you are not inventing a format, and your build pipeline will ignore the extra fields without any changes. You are not migrating anything. You are annotating what is already there.</p><p>And while you are in the file, add the one line from the naming section: declare your grammar. </p><p>That is enough to start. The goal is to give the agent a little less to guess. In my labeling experiment above, the difference between guessing and knowing was exactly one <code>$description</code> field per token.</p><p>As you can see, your token file is not only a source of truth, but is a memory layer for your agents.</p><p>Enjoy exploring &#128588;</p><div><hr></div><div class="callout-block" data-callout="true"><p>All counts were taken from the public token sources below, read at the file level, not the documentation. The full dataset at <a href="https://www.aidesign.guide/token-audit">aidesign.guide/token-audit</a>.</p></div><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Code prototypes are fast. Feedback on them is not by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;TJ&quot;,&quot;id&quot;:185349443,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f5d9149-d097-4830-9ac3-54a14c5e13a7_3750x3750.jpeg&quot;,&quot;uuid&quot;:&quot;4d0338ea-c152-48b2-95c3-f8b895eddd70&quot;}" data-component-name="MentionToDOM"></span> Pitre</strong></p><p><strong>&#128279; <a href="https://open.substack.com/pub/southleft/p/code-prototypes-are-fast-feedback?r=qugd&amp;utm_campaign=post&amp;utm_medium=web">Link</a></strong></p><p></p><p><strong>Pixel art tool where every pixel is code, not raster by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Pablo Stanley&quot;,&quot;id&quot;:13846660,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/44048a05-76d3-48f5-9462-654fc420b826_1200x1200.png&quot;,&quot;uuid&quot;:&quot;1a477da1-084f-4cc9-a6fd-0cf880e9f1b7&quot;}" data-component-name="MentionToDOM"></span> </p><p><strong>&#128279; <a href="https://newt.sh/">Link</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Design Systems That Document AI]]></title><description><![CDATA[26 design systems to learn from]]></description><link>https://learn.thedesignsystem.guide/p/design-systems-that-document-ai</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/design-systems-that-document-ai</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Mon, 01 Jun 2026 15:03:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BIlw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BIlw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BIlw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png 424w, https://substackcdn.com/image/fetch/$s_!BIlw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png 848w, https://substackcdn.com/image/fetch/$s_!BIlw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png 1272w, https://substackcdn.com/image/fetch/$s_!BIlw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BIlw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:699681,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200116858?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BIlw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png 424w, https://substackcdn.com/image/fetch/$s_!BIlw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png 848w, https://substackcdn.com/image/fetch/$s_!BIlw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png 1272w, https://substackcdn.com/image/fetch/$s_!BIlw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23904bb7-97d6-4cab-9265-d7bc956726e2_2184x1455.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I spent a week reading every public design system I could find that documents AI. Out of 156 systems in my dataset, 26 now address it in some form: an AI label, a chat pattern, an explainability framework, or a set of ethics rules. That is up from the handful you would have found a year ago, and it is climbing fast.</p><p>The interesting part is not the count. It is that the teams doing this well have never coordinated, and yet they keep arriving at the same four rules. IBM, AWS, GitLab, Red Hat, SAP, Workday, Apple. Different companies, different industries, different component libraries, and a similar rulebook. That convergence is the most useful signal in the dataset, because it tells you <strong>which AI guidelines are becoming conventions and which are still one company&#8217;s experiment.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vfkb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f6b11ce-0efc-47df-a061-b70d314a004a_2268x2700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vfkb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f6b11ce-0efc-47df-a061-b70d314a004a_2268x2700.png 424w, https://substackcdn.com/image/fetch/$s_!vfkb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f6b11ce-0efc-47df-a061-b70d314a004a_2268x2700.png 848w, https://substackcdn.com/image/fetch/$s_!vfkb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f6b11ce-0efc-47df-a061-b70d314a004a_2268x2700.png 1272w, https://substackcdn.com/image/fetch/$s_!vfkb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f6b11ce-0efc-47df-a061-b70d314a004a_2268x2700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vfkb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f6b11ce-0efc-47df-a061-b70d314a004a_2268x2700.png" width="1456" height="1733" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f6b11ce-0efc-47df-a061-b70d314a004a_2268x2700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1733,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6603974,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200116858?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f6b11ce-0efc-47df-a061-b70d314a004a_2268x2700.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vfkb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f6b11ce-0efc-47df-a061-b70d314a004a_2268x2700.png 424w, https://substackcdn.com/image/fetch/$s_!vfkb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f6b11ce-0efc-47df-a061-b70d314a004a_2268x2700.png 848w, https://substackcdn.com/image/fetch/$s_!vfkb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f6b11ce-0efc-47df-a061-b70d314a004a_2268x2700.png 1272w, https://substackcdn.com/image/fetch/$s_!vfkb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f6b11ce-0efc-47df-a061-b70d314a004a_2268x2700.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>What AI readiness actually means</h2><p>For this piece, AI readiness means how well a public design system helps teams design, explain, govern, and scale AI-powered experiences. It measures the published system, not the company behind it. <strong>Apple</strong> shipped Apple Intelligence long before its guidelines documented generative AI.</p><h2>The AI-readiness maturity model</h2><p><strong>Level 0: No visible AI layer</strong></p><p>No public AI guidance at all. 130 of the 156 systems sit here, which leaves every product team to work AI out alone.</p><p><strong>Level 1: AI as decoration</strong></p><p><strong>Shopify Polaris</strong> marks AI with a &#8220;Magic&#8221; color role and tokens like <code>--p-color-bg-surface-magic</code>. You get a recognizable signal and nothing about behavior. Mark only, and the ceiling is a purple badge.</p><p><strong>Level 2: AI as a component</strong></p><p><strong>IBM Carbon</strong> ships an AI label that opens an explainability popover, reused across 13 components. Teams stop rebuilding the badge and the chat panel. A component library still cannot say when AI should act, when it should wait, or when a human takes over.</p><p><strong>Level 3: AI as an interaction pattern</strong></p><p><strong>Atlassian</strong> publishes interaction guidelines for how AI should suggest, respond, and hand off inside a workflow. Designers and PMs get the behavioral decisions, not just the UI. The risk is patterns that float free of governance, metrics, or code.</p><p><strong>Level 4: AI as governance layer</strong></p><p><strong>Microsoft Fluent 2</strong> turns governance into enforcement: a Responsible AI rubric with letter grades and automatic fails, plus a page that governs the AI&#8217;s own tone and guardrails. The payoff is accountability. The catch is governance that never connects back to a reusable pattern.</p><p><strong>Level 5: AI as system infrastructure</strong></p><p><strong>Microsoft Fluent</strong> is the only strong public signal here: a named &#8220;Copilot UI Kits&#8221; tier of AI components across Web, iOS, and Android, aligned to code. A kit that extends the core beats any principles page. Almost no one reaches this rung, because everything past that one table stays private.</p><h3>Reading the ladder</h3><p>The jump that matters is 2 to 3, the line between a system that styles AI and one that helps you design how it behaves. That is the model. Now the scores, because the ranking is not the one you would guess.</p><h2>The scorecard</h2><p>I scored the systems that document AI on five dimensions, twenty points each: how they <strong>mark AI,</strong> whether they ship <strong>reusable AI components</strong>, whether they document <strong>how AI behaves</strong>, <strong>whether they govern it</strong>, and whether they <strong>wire it into infrastructure</strong>.</p><p>It measures the depth of public documentation, not the quality of the company&#8217;s actual AI.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!blFJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3168039b-bc0f-4744-8fd9-911fe957f6d8_1040x680.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!blFJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3168039b-bc0f-4744-8fd9-911fe957f6d8_1040x680.png 424w, https://substackcdn.com/image/fetch/$s_!blFJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3168039b-bc0f-4744-8fd9-911fe957f6d8_1040x680.png 848w, https://substackcdn.com/image/fetch/$s_!blFJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3168039b-bc0f-4744-8fd9-911fe957f6d8_1040x680.png 1272w, https://substackcdn.com/image/fetch/$s_!blFJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3168039b-bc0f-4744-8fd9-911fe957f6d8_1040x680.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!blFJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3168039b-bc0f-4744-8fd9-911fe957f6d8_1040x680.png" width="1040" height="680" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3168039b-bc0f-4744-8fd9-911fe957f6d8_1040x680.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:680,&quot;width&quot;:1040,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:69857,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/200116858?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3168039b-bc0f-4744-8fd9-911fe957f6d8_1040x680.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!blFJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3168039b-bc0f-4744-8fd9-911fe957f6d8_1040x680.png 424w, https://substackcdn.com/image/fetch/$s_!blFJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3168039b-bc0f-4744-8fd9-911fe957f6d8_1040x680.png 848w, https://substackcdn.com/image/fetch/$s_!blFJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3168039b-bc0f-4744-8fd9-911fe957f6d8_1040x680.png 1272w, https://substackcdn.com/image/fetch/$s_!blFJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3168039b-bc0f-4744-8fd9-911fe957f6d8_1040x680.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>ServiceNow</strong> ships a full &#8220;Designing for AI&#8221; section, an &#8220;Identifying AI content&#8221; page, a ten-question value gate that opens with &#8220;Is AI really needed to solve the problem,&#8221; and a downloadable responsible-AI handbook. <strong>Red Hat PatternFly</strong> ships an actual npm ChatBot library with AI-labeled messages, citation tiles, feedback forms, streaming, and conversation-history error states. Quiet, enterprise, unglamorous, and ahead of everyone.</p><p>The household names sit low, for an honest reason. <strong>Apple</strong> has the best responsible-AI writing in the set and zero reusable components, because <strong>Apple</strong> ships frameworks, not a public component library, so it scores 43. <strong>Shopify</strong> has the cleanest AI marking tokens anywhere and almost no behavioral guidance, so it scores 31. High brand, low documented depth.</p><p><strong>SAP</strong> did the work, then took it <em>offline.</em> It built a full AI and Joule design practice and published a lot of it openly, but those pages now return errors after a guidelines refresh. That is why it is not in the top 10: the thinking is not gone, the public just cannot read it anymore.</p><p>&#128680; One honest limit before the rules. </p><p>This measures <strong>public documentation,</strong> and public is not the same as capable. A low score means a team has not exposed its AI thinking to the outside world, not that the thinking does not exist. <strong>Carbon&#8217;s</strong> deeper AI guidance sits behind &#8220;IBMers only&#8221; links. <strong>Atlassian</strong> gates its AI Figma libraries to Atlassians. <strong>Apple</strong> shipped Apple Intelligence across its platforms for a year before its public guidelines documented generative AI. The AI work inside these companies is almost certainly larger than what their design systems publish. What I am scoring is the generosity and discipline shown in the open, which is the only part another team can learn from.</p><p>Whatever level a system reaches, the ones worth copying share four rules. They are what good looks like from Level 2 up, and they are drawn from reading all 26 side by side.</p><div><hr></div><h2>Rule 1: Mark it, every time</h2><p>The user must always know when content came from a model.</p><p><strong>IBM&#8217;s Carbon for AI</strong> is the most developed example. <strong>IBM</strong> built an entire extension of <strong>Carbon</strong> whose core is the AI label, an interactive marker that sits inside any element containing AI-generated content. The label is also the doorway to an explanation, which I will come back to.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JBUp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec056dd-2ec6-4566-a4b9-1e3635a4de4f_1152x1152.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JBUp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec056dd-2ec6-4566-a4b9-1e3635a4de4f_1152x1152.png 424w, https://substackcdn.com/image/fetch/$s_!JBUp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec056dd-2ec6-4566-a4b9-1e3635a4de4f_1152x1152.png 848w, https://substackcdn.com/image/fetch/$s_!JBUp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec056dd-2ec6-4566-a4b9-1e3635a4de4f_1152x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!JBUp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec056dd-2ec6-4566-a4b9-1e3635a4de4f_1152x1152.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JBUp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec056dd-2ec6-4566-a4b9-1e3635a4de4f_1152x1152.png" width="1152" height="1152" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ec056dd-2ec6-4566-a4b9-1e3635a4de4f_1152x1152.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1152,&quot;width&quot;:1152,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Carbon's AI label shown inside form inputs, marking which fields were generated by AI&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Carbon's AI label shown inside form inputs, marking which fields were generated by AI" title="Carbon's AI label shown inside form inputs, marking which fields were generated by AI" srcset="https://substackcdn.com/image/fetch/$s_!JBUp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec056dd-2ec6-4566-a4b9-1e3635a4de4f_1152x1152.png 424w, https://substackcdn.com/image/fetch/$s_!JBUp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec056dd-2ec6-4566-a4b9-1e3635a4de4f_1152x1152.png 848w, https://substackcdn.com/image/fetch/$s_!JBUp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec056dd-2ec6-4566-a4b9-1e3635a4de4f_1152x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!JBUp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec056dd-2ec6-4566-a4b9-1e3635a4de4f_1152x1152.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The rule <strong>Carbon</strong> writes is a restriction, and that is what makes it a real guideline:</p><blockquote><p>&#8220;Don&#8217;t use the Carbon for AI styling as decoration. While these new styling elements are enticing, they are strictly intended to identify any instances of AI being used in an experience.&#8221;</p></blockquote><p><strong>AWS Cloudscape</strong> reaches the same place from a different angle. Its generative AI output label is a small &#8220;Generated by AI&#8221; tag with a sparkle icon, and the guidance reserves that icon with unusual strictness:</p><blockquote><p>&#8220;Sparkle icon should not be used in any other labels other than generative AI output. Don&#8217;t use this label for outputs produced by other forms of AI that are not generative.&#8221;</p></blockquote><p><strong>Cloudscape</strong> even tells you not to over-mark: in a list where every item is AI-generated, label the group once, so users are informed without being overwhelmed. </p><p><strong>GitLab Pajamas</strong> writes the same rule as ready-to-paste copy. Flag AI content with a &#8220;Generated by AI&#8221; or &#8220;Summarized by AI&#8221; disclaimer, and pair it with a verification nudge: &#8220;Content generated by AI should be seen as a starting point and verified before use,&#8221; or where space is tight, simply &#8220;Verify before use.&#8221; </p><p><strong>Workday Canvas</strong> turns marking into infrastructure, shipping an AI badge, an AI button, and dedicated AI color tokens so the mark is consistent by default.</p><p>The shared rule: AI content is always labeled, the label is consistent, and the styling is reserved for AI alone.</p><div><hr></div><h2>Rule 2: Explain it, in layers</h2><p>Marking tells the user that AI was involved. Explaining tells them why, and the leaders agree it should arrive in layers, not all at once.</p><p>The clearest live example is <strong>IBM Carbon</strong>. Its explainability popover attaches to the AI label: a quick summary first, with the option to dig into more detail only if the user asks. The principle underneath is What, Why, How. Show the decision on the surface, the reasoning one level down, and the data and process for the people who need to audit it, with depth scaled to the stakes. A low-risk suggestion shows the &#8220;what&#8221; and stops. A decision with regulatory weight exposes the &#8220;how&#8221; with a traceable trail. </p><p><strong>Cloudscape</strong> applies the same idea to actions rather than content, showing each step the AI takes and a plain-language description of the impact before anything happens.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k0SV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58c0c718-f5ef-4665-9428-c7faa23d7c95_1152x864.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k0SV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58c0c718-f5ef-4665-9428-c7faa23d7c95_1152x864.png 424w, https://substackcdn.com/image/fetch/$s_!k0SV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58c0c718-f5ef-4665-9428-c7faa23d7c95_1152x864.png 848w, https://substackcdn.com/image/fetch/$s_!k0SV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58c0c718-f5ef-4665-9428-c7faa23d7c95_1152x864.png 1272w, https://substackcdn.com/image/fetch/$s_!k0SV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58c0c718-f5ef-4665-9428-c7faa23d7c95_1152x864.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k0SV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58c0c718-f5ef-4665-9428-c7faa23d7c95_1152x864.png" width="1152" height="864" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58c0c718-f5ef-4665-9428-c7faa23d7c95_1152x864.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:864,&quot;width&quot;:1152,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Carbon's explainability popover, opened from the AI label, showing a layered explanation of what the AI produced&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Carbon's explainability popover, opened from the AI label, showing a layered explanation of what the AI produced" title="Carbon's explainability popover, opened from the AI label, showing a layered explanation of what the AI produced" srcset="https://substackcdn.com/image/fetch/$s_!k0SV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58c0c718-f5ef-4665-9428-c7faa23d7c95_1152x864.png 424w, https://substackcdn.com/image/fetch/$s_!k0SV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58c0c718-f5ef-4665-9428-c7faa23d7c95_1152x864.png 848w, https://substackcdn.com/image/fetch/$s_!k0SV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58c0c718-f5ef-4665-9428-c7faa23d7c95_1152x864.png 1272w, https://substackcdn.com/image/fetch/$s_!k0SV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58c0c718-f5ef-4665-9428-c7faa23d7c95_1152x864.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>SAP Fiori</strong> once had the cleanest version of this, a well-regarded &#8220;Explainable AI&#8221; page built on those What, Why, How layers. Then <strong>SAP</strong> pulled it. As of this writing the page reads &#8220;This page has been deprecated and is no longer available,&#8221; part of an AI guidelines refresh. It is a sharp reminder that AI documentation is so young that even good work gets deprecated mid-flight, which is the strongest argument for treating these guidelines as living infrastructure rather than a one-time publish.</p><p>None of the live examples dumps model internals to the user. They reveal on demand, scaled to how much the decision matters.</p><div><hr></div><h2>Rule 3: Keep the human in control</h2><p>This is the rule with the most agreement and the best detail, because it is where AI UX differs most from ordinary UX.</p><p><strong>GitLab</strong> states the principle directly:</p><blockquote><p>&#8220;Design AI to be <strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">collaborative</mark></strong>, not autonomous. AI should suggest and assist while users remain in control. Respect human judgment by ensuring AI acknowledges uncertainty and defers to user expertise when appropriate.&#8221;</p></blockquote><p><strong>Carbon</strong> expresses the same idea as a component behavior. When an input holds AI-generated content and the user edits it, the field drops its AI styling and becomes ordinary. A &#8220;revert to AI&#8221; control lets the user bring the original suggestion back. The rule &#8220;the human can always override, and the override is reversible&#8221; is written into how the component works, so a team cannot forget to honor it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SWC_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb907f390-f8f8-4125-9251-e46b2da741f5_1152x648.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SWC_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb907f390-f8f8-4125-9251-e46b2da741f5_1152x648.png 424w, https://substackcdn.com/image/fetch/$s_!SWC_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb907f390-f8f8-4125-9251-e46b2da741f5_1152x648.png 848w, https://substackcdn.com/image/fetch/$s_!SWC_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb907f390-f8f8-4125-9251-e46b2da741f5_1152x648.png 1272w, https://substackcdn.com/image/fetch/$s_!SWC_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb907f390-f8f8-4125-9251-e46b2da741f5_1152x648.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SWC_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb907f390-f8f8-4125-9251-e46b2da741f5_1152x648.png" width="1152" height="648" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b907f390-f8f8-4125-9251-e46b2da741f5_1152x648.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:648,&quot;width&quot;:1152,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A Carbon input showing the revert-to-AI state after a user edits an AI suggestion&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A Carbon input showing the revert-to-AI state after a user edits an AI suggestion" title="A Carbon input showing the revert-to-AI state after a user edits an AI suggestion" srcset="https://substackcdn.com/image/fetch/$s_!SWC_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb907f390-f8f8-4125-9251-e46b2da741f5_1152x648.png 424w, https://substackcdn.com/image/fetch/$s_!SWC_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb907f390-f8f8-4125-9251-e46b2da741f5_1152x648.png 848w, https://substackcdn.com/image/fetch/$s_!SWC_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb907f390-f8f8-4125-9251-e46b2da741f5_1152x648.png 1272w, https://substackcdn.com/image/fetch/$s_!SWC_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb907f390-f8f8-4125-9251-e46b2da741f5_1152x648.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>AWS Cloudscape</strong> goes furthest, with a full pattern for actions an AI takes on your behalf. It defines authorization levels tied to risk, a human-in-the-loop sequence, and a rule about permanence.</p><blockquote><p>&#8220;Don&#8217;t execute changes that have serious, irreversible, or cascading consequences without explicit user authorization.&#8221;</p></blockquote><p><strong>Cloudscape&#8217;s</strong> flow is worth copying outright: the AI states the action and its impact, lists the exact resources affected, asks for simple authorization on low-risk changes and additional confirmation on destructive ones, then confirms what changed and offers a way to reverse it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LR-O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd92e002-d1b2-4677-a988-f81de3af3e83_650x584.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LR-O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd92e002-d1b2-4677-a988-f81de3af3e83_650x584.png 424w, https://substackcdn.com/image/fetch/$s_!LR-O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd92e002-d1b2-4677-a988-f81de3af3e83_650x584.png 848w, https://substackcdn.com/image/fetch/$s_!LR-O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd92e002-d1b2-4677-a988-f81de3af3e83_650x584.png 1272w, https://substackcdn.com/image/fetch/$s_!LR-O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd92e002-d1b2-4677-a988-f81de3af3e83_650x584.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LR-O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd92e002-d1b2-4677-a988-f81de3af3e83_650x584.png" width="650" height="584" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd92e002-d1b2-4677-a988-f81de3af3e83_650x584.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:584,&quot;width&quot;:650,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Cloudscape's authorization dialog: the AI describes the change, lists affected resources, and asks for confirmation before acting&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Cloudscape's authorization dialog: the AI describes the change, lists affected resources, and asks for confirmation before acting" title="Cloudscape's authorization dialog: the AI describes the change, lists affected resources, and asks for confirmation before acting" srcset="https://substackcdn.com/image/fetch/$s_!LR-O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd92e002-d1b2-4677-a988-f81de3af3e83_650x584.png 424w, https://substackcdn.com/image/fetch/$s_!LR-O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd92e002-d1b2-4677-a988-f81de3af3e83_650x584.png 848w, https://substackcdn.com/image/fetch/$s_!LR-O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd92e002-d1b2-4677-a988-f81de3af3e83_650x584.png 1272w, https://substackcdn.com/image/fetch/$s_!LR-O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd92e002-d1b2-4677-a988-f81de3af3e83_650x584.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Three companies, one rule. The human decides, the human can undo, and the riskier the action, the more explicit the consent.</p><h2>Rule 4: Design for the moment it is wrong</h2><p>The weakest section in most teams&#8217; thinking is the strongest signal of a mature guideline. The good ones plan for failure on purpose.</p><p><strong>PatternFly</strong> gives the rule its own heading, &#8220;Be prepared for something to go wrong,&#8221; and states it plainly:</p><blockquote><p>&#8220;When AI fails, be explicit about errors and let users regain control as they want. Provide easy access to human support.&#8221;</p></blockquote><p><strong>GitLab</strong> formalizes this into a risk assessment. Before building, weigh the probability of an error against its impact, where impact compares cost and benefit. An agent explaining a feature is low risk. A flow that opens merge requests with security fixes is high risk, and high-risk actions require opt-in and a review step before execution. <strong>GitLab</strong> also writes the fallback rule: when confidence is low, &#8220;make sure there is a path forward that does not rely on AI.&#8221; <strong>Cloudscape</strong> designs the failed-action state in detail, showing which step broke, why, and the specific steps to recover.</p><p>Failure handling is where you can tell the difference between a real guideline and a press release. A press release talks about what the AI can do. A guideline tells you what happens when it does the wrong thing.</p><div><hr></div><h2>The differences </h2><p>Every company invents its own visual language for AI (which makes sense, since it connected with the branding). <strong>Carbon</strong> uses light, glow, and gradients as a metaphor for illumination. <strong>Cloudscape</strong> uses a sparkle icon. <strong>GitLab</strong> uses a custom &#8220;tanuki AI&#8221; illustration. <strong>Workday</strong> uses an AI badge with its own tokens. Each is internally consistent and externally incompatible. A person who uses four products in a day gets four different signals for the same concept, &#8220;this came from AI.&#8221; The field agreed that AI must be marked. It has not agreed on what the mark looks like, and until that settles, the transparency only works one product at a time.</p><p>There is a quieter disagreement too, about whether to build the feature at all. <strong>PatternFly</strong> opens its guidelines with a value gate: do not add AI &#8220;simply because it is new, trendy, or fun.&#8221; <strong>GitLab</strong> says the same, telling designers to ask &#8220;How might we help users?&#8221; instead of &#8220;Can we use AI to?&#8221; <strong>Apple</strong>, in the Generative AI section it added to its Human Interface Guidelines in 2025, writes it most plainly: &#8220;Generative AI is a powerful tool, but it&#8217;s not the right solution for every situation.&#8221; When <strong>IBM</strong>, <strong>GitLab</strong>, <strong>Red Hat</strong>, and <strong>Apple</strong> independently tell you that the first AI guideline is permission to not use AI, that is worth listening to. The gate is the most underused guideline in the set, and the one I would adopt first.</p><div><hr></div><h2>What to learn from</h2><p>I would not say copy, because what is public is only a slice of what each team knows, and a pattern lifted without its context tends to break. Learn the move and the reasoning behind it. Five worth studying.</p><ul><li><p><strong>Carbon&#8217;s</strong> tokenized AI identity. AI color and style tokens live inside the existing themes, and the AI label component doubles as the trigger for a layered explainability popover. The lesson: make marking AI a variant toggle, not bespoke styling, so it stays consistent by default.</p></li><li><p><strong>Fluent&#8217;s</strong> responsible-AI scorecard. A pass or fail rubric with letter grades and automatic-fail conditions. The lesson: turn governance into a shippability gate, so an AI feature cannot go out without meeting transparency and user-control criteria.</p></li><li><p><strong>Atlassian&#8217;s</strong> workflow-level patterns. AI framed as behavior, with a standing &#8220;Uses AI. Verify results&#8221; footer carried by the component. The lesson: bake verification into the pattern rather than leaving it to each team to remember.</p></li><li><p><strong>Cloudscape&#8217;s</strong> user-authorized actions. Actions classified by risk, then gated. The lesson: a simple confirmation for reversible changes, explicit authorization for destructive ones, and a way back wherever possible.</p></li><li><p><strong>Shopify&#8217;s</strong> AI signaling reads as a floor and not a ceiling. The Magic tokens are the cleanest marking system in the set. The lesson is the reservation rule, mark only genuine AI, and the warning is not to mistake marking for the whole job.</p></li></ul><div><hr></div><h2>What to avoid</h2><ul><li><p>Treating AI as a color palette. A purple badge is marking, not design.</p></li><li><p>Shipping sparkle icons with no behavioral rules behind them.</p></li><li><p>Documenting chat but not its failure states.</p></li><li><p>Documenting generation but not review.</p></li><li><p>Documenting AI presence but not user control.</p></li><li><p>Documenting principles but not reusable patterns.</p></li><li><p>Keeping the AI guidelines in their own silo, cut off from the rest of the system.</p></li></ul><div><hr></div><h2>What is missing from almost every design system</h2><p>I could not find solid public guidance for:</p><ul><li><p>confidence and uncertainty</p></li><li><p>source attribution</p></li><li><p>hallucination recovery</p></li><li><p>user correction loops</p></li><li><p>escalation to a human reviewer</p></li><li><p>AI memory and personalization controls</p></li><li><p>proactive-behavior boundaries</p></li><li><p>agent permissions</p></li><li><p>multi-agent workflows</p></li><li><p>validation of AI-generated UI</p></li><li><p>product analytics for AI interactions</p></li><li><p>design-system observability</p></li></ul><p>Some of this almost certainly exists inside these companies, in internal guidelines and gated libraries, but it is not published, so no one outside can learn from it yet. The first team to document them well in the open will set the next standard, the way <strong>Carbon</strong> set it for the AI label.</p><h2>What a good AI pattern actually documents</h2><p>Most AI &#8220;patterns&#8221; are a single sentence.<strong> A real one answers fifteen questions: </strong>user intent, trigger, input, output, system behavior, user controls, feedback mechanism, error state, confidence and uncertainty handling, explainability, accessibility, data and privacy implications, examples, anti-patterns, and implementation notes.</p><p>The whole gap is visible in one comparison.</p><p>A weak pattern says:</p><blockquote><p>Use this badge when AI is involved.</p></blockquote><p>A strong pattern says:</p><blockquote><p>Use this pattern when AI generates content the user must review before publishing. The user must be able to inspect, edit, accept, reject, regenerate, and report low-quality output. The system should show what was generated, what source or context was used, and what happens after acceptance.</p></blockquote><p>That difference, between marking AI and designing it, is the whole article. The 26 systems that document AI mostly live in the first sentence. The few that live in the second, <strong>Carbon</strong>, <strong>Cloudscape</strong>, <strong>Atlassian</strong>, <strong>Fluent</strong>, are the ones worth studying.</p><h2>Why this matters</h2><p>The component is no longer the hard part. Anyone can ship an AI chat panel or a glowing suggestion field this week. The hard part is the same as it has always been in design systems: writing down when to use it, how to mark it, who stays in control, and what happens when it fails, so the next person who builds with your system does the right thing without asking.</p><p>That is the entire job of a usage guideline, and AI did not change it. AI only raised the cost of skipping it. An unlabeled component that quietly does the wrong thing is a bug. An unlabeled AI component that quietly does the wrong thing, with no explanation and no way back, is a breach of trust. </p><p>Enjoy exploring &#128588;</p><div><hr></div><p>&#128279; <a href="https://carbondesignsystem.com/guidelines/carbon-for-ai/">IBM Carbon Design System</a>, &#8220;Carbon for AI.&#8221; AI label, explainability popover, revert-to-AI, reserved styling. </p><p>&#128279; <a href="https://cloudscape.design/gen-ai/">AWS Cloudscape</a>, &#8220;Generative AI output label&#8221; and &#8220;User authorized actions.&#8221; Reserved sparkle icon, human-in-the-loop authorization, action permanence. </p><p>&#128279; <a href="https://design.gitlab.com/patterns/ai-human-interaction">GitLab Pajamas</a>, &#8220;AI-human interaction.&#8221; Collaborative not autonomous, risk assessment, &#8220;Verify before use,&#8221; graceful failure. </p><p>&#128279; <a href="https://www.patternfly.org/patternfly-ai/ai-guidelines/">Red Hat PatternFly</a>, &#8220;AI guidelines.&#8221; Value gate, transparency, failure handling. </p><p>&#128279; <a href="https://experience.sap.com/fiori-design-web/explainable-ai/">SAP Fiori</a>, &#8220;Explainable AI&#8221; (the What / Why / How layers, now deprecated as of guideline v1.130 and showing a deprecation notice). </p><p>&#128279; <a href="https://horizon.servicenow.com/">ServiceNow</a>, &#8220;Designing for AI&#8221; and &#8220;Identifying AI content&#8221; (top scorer, governance + marking). </p><p>&#128279; <a href="https://www.patternfly.org/patternfly-ai/ai-guidelines/">Red Hat PatternFly ChatBot</a>, the @patternfly/chatbot React library. </p><p>&#128279; <a href="https://developer.apple.com/design/human-interface-guidelines/generative-ai">Apple Human Interface Guidelines</a>, &#8220;Generative AI&#8221; (added June 2025). Transparency, keep people in control, the value gate, hallucination handling. </p><p>&#128279; <a href="https://polaris.shopify.com/design/colors/palettes-and-roles">Shopify Polaris</a>, &#8220;Magic&#8221; color role and tokens (Level 1 example). </p><p>&#128279; <a href="https://atlassian.design/patterns/ai-interaction-guidelines">Atlassian Design System</a>, &#8220;AI interaction guidelines&#8221; and &#8220;Rovo and AI&#8221; patterns (Level 3 example). </p><p>&#128279; <a href="https://fluent2.microsoft.design/responsible-AI">Microsoft Fluent 2</a>, &#8220;Responsible AI&#8221; and &#8220;Content engineering&#8221; (Level 4 example). </p><p>&#128279; <a href="https://fluent2.microsoft.design/get-started/design">Microsoft Fluent 2</a>, &#8220;Copilot UI Kits&#8221; tier, &#8220;Start designing&#8221; (Level 5 example). </p><p>&#128279; <a href="https://canvas.workday.com/">Workday Canvas</a>, &#8220;AI Elements.&#8221; AI tokens, AI badge and button, AI color roles. </p><p>&#128279; <a href="https://soul.emplifi.io/">Emplifi Soul Design System</a>, &#8220;AI guidelines.&#8221; Eight AI interaction patterns. </p><p>&#128279; <a href="https://www.microsoft.com/en-us/haxtoolkit/ai-guidelines/">Microsoft HAX Toolkit.</a> 18 evidence-based guidelines for human and AI interaction. </p><p>&#128279; <a href="https://pair.withgoogle.com/guidebook">Google PAIR, &#8220;People + AI Guidebook.</a>&#8221; A foundational reference several of the systems above cite. </p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Don&#8217;t build components for the sake of components</strong> by Marianne R&#248;svik</p><p>The frontend world loves new tools. New frameworks, new libraries, new ways to wrap what is essentially just HTML, CSS and a bit of JavaScript.</p><p>Right now, Web Components are getting a lot of attention for good reason. But we need to be careful not to fall into a classic trap: using a technology because we can, not because we should.</p><p><strong>&#128279; <a href="https://www.linkedin.com/pulse/dont-build-components-sake-marianne-r%C3%B8svik-ipeie/">Link</a></strong></p>]]></content:encoded></item><item><title><![CDATA[The Design System Advantage Is Memory]]></title><description><![CDATA[How to find the design system memory your AI agent is missing]]></description><link>https://learn.thedesignsystem.guide/p/the-design-system-advantage-is-memory</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/the-design-system-advantage-is-memory</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Mon, 25 May 2026 12:48:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wGEa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wGEa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wGEa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png 424w, https://substackcdn.com/image/fetch/$s_!wGEa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png 848w, https://substackcdn.com/image/fetch/$s_!wGEa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png 1272w, https://substackcdn.com/image/fetch/$s_!wGEa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wGEa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:553790,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/197844078?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wGEa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png 424w, https://substackcdn.com/image/fetch/$s_!wGEa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png 848w, https://substackcdn.com/image/fetch/$s_!wGEa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png 1272w, https://substackcdn.com/image/fetch/$s_!wGEa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7be489b7-f4e9-4e09-949b-edc10f9f8c35_2184x1455.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When I connected 105 MCP tools to my design system, I thought it was AI-ready. It wasn&#8217;t.</p><p>The tools could read the surface: tokens, docs, components, Figma. But they did not know why a pattern had been rejected, because that memory lived across Slack, ADRs, and Figma comments. I had given the agent access. I had not given it memory.</p><p><strong>This is why I think memory is the design system advantage.</strong></p><p>The shift is simple: stop asking whether your agent needs more tools. Ask whether it can find the decisions your team has already made. The advantage is the memory your company has and whether your agent can use it, not the model, the number of tools, or the clever prompt.</p><p>Companies are already feeling the <strong>AI ROI </strong>problem. They have bought the tools. They have run the demos. They have a dozen teams asking agents to write code, summarize research, generate flows, review tickets, and clean up docs.</p><p>But the hard part is whether <strong>the agent has enough trusted context</strong> to do useful work without constant correction.</p><p>Some companies have too much data. Thousands of docs, tickets, meetings, comments, specs, research notes, and decision threads. The agent can technically read them, but it has no idea what matters.</p><p>Some companies have not enough usable data. The important decisions exist, but only as memory, buried Slack threads, or comments in files nobody will open again.</p><p>Both create the same failure.</p><p>You end up babysitting the agent. You correct the same wrong assumption three times. You explain the same component history again. You remind it that the team deprecated that pattern last quarter. You paste the context that should already be known.</p><p>If you do not want to babysit your agents, you have to be smart with your data.</p><h2>Bad context is expensive</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xd2i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fbf323-3dbe-420f-9749-eee641a69153_2655x356.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xd2i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fbf323-3dbe-420f-9749-eee641a69153_2655x356.png 424w, https://substackcdn.com/image/fetch/$s_!Xd2i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fbf323-3dbe-420f-9749-eee641a69153_2655x356.png 848w, https://substackcdn.com/image/fetch/$s_!Xd2i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fbf323-3dbe-420f-9749-eee641a69153_2655x356.png 1272w, https://substackcdn.com/image/fetch/$s_!Xd2i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fbf323-3dbe-420f-9749-eee641a69153_2655x356.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xd2i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fbf323-3dbe-420f-9749-eee641a69153_2655x356.png" width="1456" height="195" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77fbf323-3dbe-420f-9749-eee641a69153_2655x356.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:195,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:635484,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/197844078?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fbf323-3dbe-420f-9749-eee641a69153_2655x356.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Xd2i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fbf323-3dbe-420f-9749-eee641a69153_2655x356.png 424w, https://substackcdn.com/image/fetch/$s_!Xd2i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fbf323-3dbe-420f-9749-eee641a69153_2655x356.png 848w, https://substackcdn.com/image/fetch/$s_!Xd2i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fbf323-3dbe-420f-9749-eee641a69153_2655x356.png 1272w, https://substackcdn.com/image/fetch/$s_!Xd2i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fbf323-3dbe-420f-9749-eee641a69153_2655x356.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Every wrong answer has a cost. Every retry has a cost. Every agent loop that reads the wrong files, summarizes the wrong docs, or repeats a rejected pattern burns tokens before it burns trust.</p><p><strong>The Verge </strong>reported that <strong>Microsoft</strong> is winding down most internal Claude Code usage in its Experiences + Devices group by the end of June and moving engineers toward GitHub Copilot CLI. The decision was framed as platform convergence, but The Verge also reported that financial pressure was part of the move.</p><p><strong>Uber</strong> hit the same wall from a different direction. Its CTO Praveen Neppalli Naga told The Information:</p><blockquote><p>I&#8217;m back to the drawing board, because the budget I thought I would need is <strong>blown away already.</strong></p></blockquote><p><strong>Axios </strong>reported an even cleaner version of the problem from inside Nvidia. Bryan Catanzaro, Nvidia&#8217;s vice president of applied deep learning, said:</p><blockquote><p>For my team, the cost of compute is far beyond the costs of the employees.</p></blockquote><p>Gartner&#8217;s forecast makes the pattern more obvious. Token prices may fall by more than 90 percent by 2030, but <strong>agentic systems can require 5 to 30 times more tokens per task than a standard chatbot. </strong>Lower unit cost does not save you if the workflow burns through much more context.</p><p><strong>METR&#8217;s </strong>time-horizon work explains why this gets more important as models improve. In its original March 2025 analysis, METR estimated that the length of tasks frontier agents can complete with 50 percent reliability had been roughly doubling every seven months.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kWIN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb95e90-b3f6-4572-87fb-9213dc14f4ba_1173x553.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kWIN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb95e90-b3f6-4572-87fb-9213dc14f4ba_1173x553.png 424w, https://substackcdn.com/image/fetch/$s_!kWIN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb95e90-b3f6-4572-87fb-9213dc14f4ba_1173x553.png 848w, https://substackcdn.com/image/fetch/$s_!kWIN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb95e90-b3f6-4572-87fb-9213dc14f4ba_1173x553.png 1272w, https://substackcdn.com/image/fetch/$s_!kWIN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb95e90-b3f6-4572-87fb-9213dc14f4ba_1173x553.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kWIN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb95e90-b3f6-4572-87fb-9213dc14f4ba_1173x553.png" width="1173" height="553" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/deb95e90-b3f6-4572-87fb-9213dc14f4ba_1173x553.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:553,&quot;width&quot;:1173,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:90132,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/197844078?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb95e90-b3f6-4572-87fb-9213dc14f4ba_1173x553.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kWIN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb95e90-b3f6-4572-87fb-9213dc14f4ba_1173x553.png 424w, https://substackcdn.com/image/fetch/$s_!kWIN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb95e90-b3f6-4572-87fb-9213dc14f4ba_1173x553.png 848w, https://substackcdn.com/image/fetch/$s_!kWIN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb95e90-b3f6-4572-87fb-9213dc14f4ba_1173x553.png 1272w, https://substackcdn.com/image/fetch/$s_!kWIN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb95e90-b3f6-4572-87fb-9213dc14f4ba_1173x553.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h6>https://metr.org/time-horizons/</h6><p></p><p>This does not mean agents are faster than humans. METR defines the time horizon as the length of task measured by how long a human expert would take, not how long the AI spends running. The point for design systems is simpler: <strong>as agents take on longer tasks, they need more context, more tool calls, and more chances to retrieve the wrong memory.</strong></p><p>So context quality matters.</p><p>If the agent has to rediscover the same decision in every session, you pay for that rediscovery every time. If it asks the wrong person, reads the wrong file, or misses the support ticket that explains the pattern, you pay again. If a designer, engineer, PM, researcher, accessibility specialist, or support lead holds part of the answer but their knowledge is not in the corpus, the agent works with a partial map.</p><p><strong>Partial context creates expensive confidence. </strong>The goal is not to feed the agent everything. The goal is to make the right team memory retrievable before the agent starts acting.</p><h2>The visible 10 percent and the invisible 90</h2><p>Open your design system right now. The agent-readable surface is bigger than you think.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_6-4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37eea6a4-4c0c-440a-a97a-ea2f388aab64_1070x484.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_6-4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37eea6a4-4c0c-440a-a97a-ea2f388aab64_1070x484.png 424w, https://substackcdn.com/image/fetch/$s_!_6-4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37eea6a4-4c0c-440a-a97a-ea2f388aab64_1070x484.png 848w, https://substackcdn.com/image/fetch/$s_!_6-4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37eea6a4-4c0c-440a-a97a-ea2f388aab64_1070x484.png 1272w, https://substackcdn.com/image/fetch/$s_!_6-4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37eea6a4-4c0c-440a-a97a-ea2f388aab64_1070x484.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_6-4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37eea6a4-4c0c-440a-a97a-ea2f388aab64_1070x484.png" width="1070" height="484" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37eea6a4-4c0c-440a-a97a-ea2f388aab64_1070x484.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:484,&quot;width&quot;:1070,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:46234,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/197844078?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37eea6a4-4c0c-440a-a97a-ea2f388aab64_1070x484.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_6-4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37eea6a4-4c0c-440a-a97a-ea2f388aab64_1070x484.png 424w, https://substackcdn.com/image/fetch/$s_!_6-4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37eea6a4-4c0c-440a-a97a-ea2f388aab64_1070x484.png 848w, https://substackcdn.com/image/fetch/$s_!_6-4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37eea6a4-4c0c-440a-a97a-ea2f388aab64_1070x484.png 1272w, https://substackcdn.com/image/fetch/$s_!_6-4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37eea6a4-4c0c-440a-a97a-ea2f388aab64_1070x484.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The right column is the moat. Anyone can fork your token JSON. Nobody can fork why you made the decisions inside it.</p><p>This is the part I was ignoring. I had built tooling against the left column and assumed that was enough.</p><h2>The moat does not exist on day one</h2><p>The important part is not just data. It is data that improves over time.</p><p>Design systems have two phases, and the data flywheel works differently in each.</p><h3>0 to 1: founding phase</h3><p>The job is to make it work and prove it matters. Scrappy. A handful of high-impact components. Naming conventions still fluid. Adoption inside one team. The job is to ship the system, not to feed an agent. The data you generate is mostly throwaway, things like &#8220;the team tried X, it broke, then tried Y.&#8221; That is fine.</p><h3>1 to 100: scaling phase</h3><p>Make it last and make it scale. Solidified architecture. Rules over examples. Multiple brands, platforms, markets. Now you have:</p><ul><li><p>Three years of token renames with reasons attached</p></li><li><p>A dozen deprecated components and the threads explaining why</p></li><li><p>Governance trade-offs and the conversations that produced them</p></li><li><p>Drift reports across surfaces and brands</p></li><li><p>Critique notes that surface the same blind spots over and over</p></li><li><p>Performance reviews of the design system team itself</p></li></ul><p>This is the data most 1 to 100 design system teams already have. Almost none of them feed it to their agents. Most 1 to 100 teams already have this memory. They just have not made it retrievable.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bSQk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1b4a40-e50a-4d28-9d90-a8dabf76afd0_1200x434.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bSQk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1b4a40-e50a-4d28-9d90-a8dabf76afd0_1200x434.png 424w, https://substackcdn.com/image/fetch/$s_!bSQk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1b4a40-e50a-4d28-9d90-a8dabf76afd0_1200x434.png 848w, https://substackcdn.com/image/fetch/$s_!bSQk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1b4a40-e50a-4d28-9d90-a8dabf76afd0_1200x434.png 1272w, https://substackcdn.com/image/fetch/$s_!bSQk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1b4a40-e50a-4d28-9d90-a8dabf76afd0_1200x434.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bSQk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1b4a40-e50a-4d28-9d90-a8dabf76afd0_1200x434.png" width="1200" height="434" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e1b4a40-e50a-4d28-9d90-a8dabf76afd0_1200x434.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:434,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:127011,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/197844078?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1b4a40-e50a-4d28-9d90-a8dabf76afd0_1200x434.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bSQk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1b4a40-e50a-4d28-9d90-a8dabf76afd0_1200x434.png 424w, https://substackcdn.com/image/fetch/$s_!bSQk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1b4a40-e50a-4d28-9d90-a8dabf76afd0_1200x434.png 848w, https://substackcdn.com/image/fetch/$s_!bSQk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1b4a40-e50a-4d28-9d90-a8dabf76afd0_1200x434.png 1272w, https://substackcdn.com/image/fetch/$s_!bSQk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1b4a40-e50a-4d28-9d90-a8dabf76afd0_1200x434.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>A pile of files is not enough</h2><p>The naive fix is &#8220;dump everything into a folder, point Claude at it, hope.&#8221; I tried it. It does not work well enough.</p><p>The agent can read individual files. It cannot reason across them. Ask &#8220;what changed about Alert this year and why?&#8221; and you get a polite shrug, because the answer lives across a Figma comment, a Slack thread, a closed PR, and an ADR that nobody linked together.</p><p><strong>QMD </strong>tests whether the pile has signal. The graph is what you build once you know it does.</p><p><strong><a href="https://github.com/tobi/qmd">QMD is a local search tool by Tobi Lutke</a> </strong>that lets an agent search your own folders with keyword search, vector search, and reranking.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MIT1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3370df7a-7fc7-4b6f-84d7-8c73fb328156_879x501.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MIT1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3370df7a-7fc7-4b6f-84d7-8c73fb328156_879x501.png 424w, https://substackcdn.com/image/fetch/$s_!MIT1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3370df7a-7fc7-4b6f-84d7-8c73fb328156_879x501.png 848w, https://substackcdn.com/image/fetch/$s_!MIT1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3370df7a-7fc7-4b6f-84d7-8c73fb328156_879x501.png 1272w, https://substackcdn.com/image/fetch/$s_!MIT1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3370df7a-7fc7-4b6f-84d7-8c73fb328156_879x501.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MIT1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3370df7a-7fc7-4b6f-84d7-8c73fb328156_879x501.png" width="879" height="501" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3370df7a-7fc7-4b6f-84d7-8c73fb328156_879x501.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:501,&quot;width&quot;:879,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107132,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/197844078?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3370df7a-7fc7-4b6f-84d7-8c73fb328156_879x501.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MIT1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3370df7a-7fc7-4b6f-84d7-8c73fb328156_879x501.png 424w, https://substackcdn.com/image/fetch/$s_!MIT1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3370df7a-7fc7-4b6f-84d7-8c73fb328156_879x501.png 848w, https://substackcdn.com/image/fetch/$s_!MIT1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3370df7a-7fc7-4b6f-84d7-8c73fb328156_879x501.png 1272w, https://substackcdn.com/image/fetch/$s_!MIT1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3370df7a-7fc7-4b6f-84d7-8c73fb328156_879x501.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It is the <strong>lightweight version I used first.</strong> It does not turn your design system into a graph. It gives you a local hybrid index over your files, which is enough to start testing whether your corpus has signal.</p><p>The mature design system version is a graph. Tokens connect to components. Components connect to decisions. Decisions connect to outcomes. Outcomes connect back to tokens. The agent walks the graph instead of grepping the pile.</p><p>For a design system, the graph nodes are bigger than files. They are token, component, pattern, decision, owner, surface, brand. The edges are uses, supersedes, depends on, was decided by, drifted from.</p><p>This is what I rebuilt Tidy around. Every component knows its variants, its tokens, its owner, its decision history, its drift score. The agent queries the graph and knows, instead of crawling Figma and guessing.</p><h2>How I tested QMD on my own files</h2><p>I wanted to know if this actually works on my data, not just in theory.</p><p>So I installed QMD on a Tuesday and pointed it at six folders:</p><ul><li><p>Tidy decisions</p></li><li><p>Client design system specs</p></li><li><p>My Substack drafts</p></li><li><p>Customer research</p></li><li><p>IDS talk material</p></li><li><p>Granola meeting transcripts</p></li></ul><p>It embedded 1,511 of my documents locally in about 5 minutes.</p><p>That part matters. I did not want a huge knowledge management project. I wanted the smallest test that could tell me whether my own corpus was useful. It combines keyword search, vector search, and reranking, then returns the files most likely to help the agent answer the prompt. It works because it is a better first pass than asking the agent to crawl a random folder and hope.</p><p>The setup was simple:</p><ol><li><p>Pick a folder with real signal.</p></li><li><p>Add it as a QMD collection.</p></li><li><p>Embed it locally.</p></li><li><p>Query it before the agent answers.</p></li><li><p>Inject the top results as context.</p></li></ol><p>That pattern helps a design system because the system&#8217;s value lives across decisions, specs, critiques, and usage history.</p><p><strong>It also helps a product.</strong></p><p>A product team has the same problem in a different shape. The answer to &#8220;why does checkout work this way?&#8221; may live across research notes, support tickets, experiment docs, pricing decisions, analytics writeups, and a half-forgotten launch memo. If the agent only sees the current UI, it will confidently suggest the thing the team already tried.</p><p>The goal is not to make the agent read everything, but to make it retrieve the right context before it starts acting.</p><p>Then I ran three queries that map to real design system work.</p><p><strong>Query 1: &#8220;why did I choose certain naming conventions for tokens&#8221;</strong></p><p><strong>Query 2: &#8220;what have I written about agentic design system governance&#8221;</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nJtC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147a70d-1b04-4d2c-ac58-94a65e251745_837x561.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nJtC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147a70d-1b04-4d2c-ac58-94a65e251745_837x561.png 424w, https://substackcdn.com/image/fetch/$s_!nJtC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147a70d-1b04-4d2c-ac58-94a65e251745_837x561.png 848w, https://substackcdn.com/image/fetch/$s_!nJtC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147a70d-1b04-4d2c-ac58-94a65e251745_837x561.png 1272w, https://substackcdn.com/image/fetch/$s_!nJtC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147a70d-1b04-4d2c-ac58-94a65e251745_837x561.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nJtC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147a70d-1b04-4d2c-ac58-94a65e251745_837x561.png" width="837" height="561" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9147a70d-1b04-4d2c-ac58-94a65e251745_837x561.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:561,&quot;width&quot;:837,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:130059,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/197844078?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147a70d-1b04-4d2c-ac58-94a65e251745_837x561.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nJtC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147a70d-1b04-4d2c-ac58-94a65e251745_837x561.png 424w, https://substackcdn.com/image/fetch/$s_!nJtC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147a70d-1b04-4d2c-ac58-94a65e251745_837x561.png 848w, https://substackcdn.com/image/fetch/$s_!nJtC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147a70d-1b04-4d2c-ac58-94a65e251745_837x561.png 1272w, https://substackcdn.com/image/fetch/$s_!nJtC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147a70d-1b04-4d2c-ac58-94a65e251745_837x561.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The hybrid pipeline (BM25 + vector + LLM rerank) connected &#8220;agentic governance&#8221; to &#8220;shared practice with developing consciousness.&#8221; It pulled a file I had categorized in my head as &#8220;philosophy&#8221; back into the bucket of &#8220;things I have written about how agents should behave.&#8221;</p><p>This is where QMD earned its keep on this corpus. Pure keyword search would never have surfaced that file. <strong>Hybrid retrieval did.</strong></p><p>Good data not only makes agents more accurate, it changes what you have to repeat.</p><h2>The agent layer is the smallest part</h2><p>This is the order most teams have backwards. They start with the agent. They should start with the data.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dpuu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7413e1af-c809-4fd8-ad73-5bfa93613e5d_1200x466.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dpuu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7413e1af-c809-4fd8-ad73-5bfa93613e5d_1200x466.png 424w, https://substackcdn.com/image/fetch/$s_!dpuu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7413e1af-c809-4fd8-ad73-5bfa93613e5d_1200x466.png 848w, https://substackcdn.com/image/fetch/$s_!dpuu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7413e1af-c809-4fd8-ad73-5bfa93613e5d_1200x466.png 1272w, https://substackcdn.com/image/fetch/$s_!dpuu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7413e1af-c809-4fd8-ad73-5bfa93613e5d_1200x466.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dpuu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7413e1af-c809-4fd8-ad73-5bfa93613e5d_1200x466.png" width="1200" height="466" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7413e1af-c809-4fd8-ad73-5bfa93613e5d_1200x466.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:466,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:81098,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/197844078?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7413e1af-c809-4fd8-ad73-5bfa93613e5d_1200x466.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dpuu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7413e1af-c809-4fd8-ad73-5bfa93613e5d_1200x466.png 424w, https://substackcdn.com/image/fetch/$s_!dpuu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7413e1af-c809-4fd8-ad73-5bfa93613e5d_1200x466.png 848w, https://substackcdn.com/image/fetch/$s_!dpuu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7413e1af-c809-4fd8-ad73-5bfa93613e5d_1200x466.png 1272w, https://substackcdn.com/image/fetch/$s_!dpuu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7413e1af-c809-4fd8-ad73-5bfa93613e5d_1200x466.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are three layers, and they have to come in order.</p><ol><li><p>Your data sits at the bottom. Tokens, decisions, drift, critiques, ADRs, and deprecation history. Everything in the invisible column from the table above.</p></li><li><p>Your structure sits on top of the data. A graph or hybrid index that lets an agent reason across it, not just search it.</p></li><li><p>Your agent sits on top of the structure. It is the smallest layer, mostly orchestration on top of the first two.</p></li></ol><p>Skip layer one, and the agent generates plausible nonsense. Skip layer two and the agent finds a file but cannot connect it to anything. Nail one and two and the agent layer is almost trivial. You can swap models freely.</p><p>This is also why &#8220;the team will switch to a better model later&#8221; is the wrong worry. Models get cheaper and more capable on someone else&#8217;s roadmap. Your data does not show up on its own.</p><h2>What to do this week</h2><p>If you are in the 1 to 100 phase and want to start, this is the smallest useful version.</p><ol><li><p>Pick one folder that already has a good signal. ADRs, design critique notes, component specs, research summaries, or support tickets.</p></li><li><p>Install and index it with <strong><a href="https://github.com/tobi/qmd">QMD</a></strong>: <code>npm install -g @tobilu/qmd</code>, add the folder as a collection, then run <code>qmd embed</code>.</p></li></ol><pre><code><code>npm install -g @tobilu/qmd
qmd collection add ~/design-system/decisions --name decisions
qmd embed</code></code></pre><ol start="3"><li><p>Run five real questions against it, using questions your team actually asks instead of demo questions.</p></li><li><p>Look at the misses. A miss means one of two things: the document is missing, or the document exists but the language is too vague to retrieve.</p></li><li><p>Write the missing decisions down. Start with the ones you are tired of explaining.</p></li><li><p>Add retrieval to the agent. Call <code>qmd query</code> directly through your agent&#8217;s shell tool, or add a pre-prompt hook that injects the top results as context.</p></li></ol><p>You will know it is working when the agent stops asking you obvious things and starts reminding you of decisions you forgot you made.</p><div><hr></div><p>Start with the invisible column. Decisions, critiques, drift, rejections. Make one folder searchable and ask real questions.</p><p>QMD is only the first step. It tells you whether your corpus has signal.</p><p>Next week, I want to go one layer deeper: data labeling. Once you know which memories matter, the next question is how to label them so agents can use them reliably.</p><p>The design system is no longer the deliverable. It is the dataset.</p><p>What part of your invisible column would you wire in first? Let me know below &#128522;</p><p></p><p>Enjoy exploring &#128588;</p><p>Romina</p><div><hr></div><p><strong>Explore on your own</strong></p><p>&#128279; <a href="https://github.com/tobi/qmd">QMD by Tobi L&#252;tke (GitHub)</a>. Local hybrid search exposed as MCP.</p><p>&#128279; <a href="https://gamgee.ai/blogs/tobi-lutke-qmd-local-semantic-search/">Why Tobi L&#252;tke built QMD (Gamgee)</a>. Background on the tool&#8217;s reasoning.</p><p>&#128279; <a href="https://www.youtube.com/watch?v=KzqpK1uCczw">How to Build for AI Agents and a Claude Code Second Brain in 25 Min, Peter Yang</a>. Useful context on using QMD with Claude Code.</p><p>&#128279; <a href="https://www.theverge.com/tech/930447/microsoft-claude-code-discontinued-notepad">Microsoft starts canceling Claude Code licenses, The Verge</a>. Reporting on Microsoft moving engineers from Claude Code to Copilot CLI.</p><p>&#128279; <a href="https://www.techmeme.com/260414/p46#a260414p46">Uber CTO AI budget coverage, Techmeme / The Information</a>. Summary of reporting on Uber&#8217;s AI coding budget overrun.</p><p>&#128279; <a href="https://www.axios.com/2026/04/26/ai-cost-human-workers">AI can cost more than human workers now, Axios</a>. Source for Bryan Catanzaro&#8217;s compute-cost quote.</p><p>&#128279; <a href="https://www.gartner.com/en/newsroom/press-releases/2026-03-25-gartner-predicts-that-by-2030-performing-inference-on-an-llm-with-1-trillion-parameters-will-cost-genai-providers-over-90-percent-less-than-in-2025">Gartner inference cost forecast</a>. Forecast on token cost decline and higher agentic token demand.</p><p>&#128279; <a href="https://www.pymnts.com/artificial-intelligence-2/2026/goldman-sachs-predicts-ai-agents-will-increase-tech-cash-flow/">Goldman Sachs token demand coverage, PYMNTS</a>. Reporting on Goldman Sachs&#8217; forecast for agentic AI token consumption.</p><p>&#128279; <a href="https://metr.org/blog/2026-1-29-time-horizon-1-1/">Time Horizon 1.1, METR</a>. Source for the updated task-completion time horizon data.</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Figma Variables for Complex Multi-Brand Systems</strong> by Veronica Campana</p><p>Standard tutorials about variables often fall short when it comes to the technical intricacies of enterprise design systems. Drawing from my work building the <strong>Index Design System</strong> for <strong><a href="https://www.dowjones.com/">Dow Jones</a></strong>, this article details the layered variable architecture we developed to manage high-level complexity without sacrificing the designer experience.</p><p><strong>&#128279; <a href="https://medium.com/@campanaveronica1/figma-variables-for-complex-multi-brand-systems-618845ac7ae6">Link</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Agentic Design System - From Chatbot to Orchestration]]></title><description><![CDATA[Why agents need contracts, not just components.]]></description><link>https://learn.thedesignsystem.guide/p/agentic-design-system-from-chatbot</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/agentic-design-system-from-chatbot</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sun, 10 May 2026 07:43:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MCS3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MCS3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MCS3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png 424w, https://substackcdn.com/image/fetch/$s_!MCS3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png 848w, https://substackcdn.com/image/fetch/$s_!MCS3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png 1272w, https://substackcdn.com/image/fetch/$s_!MCS3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MCS3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:562254,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/196313960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MCS3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png 424w, https://substackcdn.com/image/fetch/$s_!MCS3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png 848w, https://substackcdn.com/image/fetch/$s_!MCS3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png 1272w, https://substackcdn.com/image/fetch/$s_!MCS3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3cca961-0bd9-4aa9-95ab-c4a92ef5b549_2184x1455.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Quick note before we dive in. My <strong>Agentic Design Course </strong>is almoooost ready. The &#8220;it has to be amazing&#8221; brain took over, and I kept adding before launch. A few testers are inside it now. It&#8217;s coming in the end of May. &#128525; </p><div><hr></div><p>Most design system teams are preparing for the wrong AI future.</p><p>They are asking:</p><blockquote><p>&#8220;How do we use AI to generate components faster?&#8221;</p></blockquote><p>But the better question is:</p><blockquote><p><strong>&#8220;Can AI understand why this component exists, when to use it, and when not to?&#8221;</strong></p></blockquote><p>That is the real shift.</p><p>The next generation of design systems will not be judged by how many components they have. They will be judged by how well agents can read them, reason with them, and safely act on them.</p><p>In other words, your design system is no longer just for humans. <strong>It is becoming infrastructure for agents.</strong></p><p><a href="https://www.gartner.com/en/newsroom/press-releases/2025-08-26-gartner-predicts-40-percent-of-enterprise-apps-will-feature-task-specific-ai-agents-by-2026-up-from-less-than-5-percent-in-2025">Gartner predicts</a> that 40% of enterprise apps will embed task-specific AI agents by the end of 2026, up from less than 5% in 2025. Gartner also warns about &#8220;agentwashing,&#8221; where ordinary assistants are marketed as agents even when they cannot operate independently.</p><p>That distinction matters.</p><p>Microsoft is already <a href="https://microsoft.design/articles/designs-for-the-frontier-future/">redesigning Fluent</a> around adaptive interfaces that respond to user intent and move from passive UI toward more dynamic systems.</p><p>Meanwhile, many design system teams are still treating AI like a chatbot. Ask a question &#8594; get an answer  &#8594; move on. That is not the future.</p><p>The future is orchestration.</p><div><hr></div><h2>From chatbot to orchestration</h2><p>A chatbot answers. An agent acts. A system of agents coordinates work across tools, files, workflows, and approval gates. That is the shift design system teams need to understand.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QXMW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0258038b-c738-4f92-a415-d484aba1a59b_1600x658.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QXMW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0258038b-c738-4f92-a415-d484aba1a59b_1600x658.png 424w, https://substackcdn.com/image/fetch/$s_!QXMW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0258038b-c738-4f92-a415-d484aba1a59b_1600x658.png 848w, https://substackcdn.com/image/fetch/$s_!QXMW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0258038b-c738-4f92-a415-d484aba1a59b_1600x658.png 1272w, https://substackcdn.com/image/fetch/$s_!QXMW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0258038b-c738-4f92-a415-d484aba1a59b_1600x658.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QXMW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0258038b-c738-4f92-a415-d484aba1a59b_1600x658.png" width="728" height="299.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0258038b-c738-4f92-a415-d484aba1a59b_1600x658.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:599,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:50184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/196313960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0258038b-c738-4f92-a415-d484aba1a59b_1600x658.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QXMW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0258038b-c738-4f92-a415-d484aba1a59b_1600x658.png 424w, https://substackcdn.com/image/fetch/$s_!QXMW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0258038b-c738-4f92-a415-d484aba1a59b_1600x658.png 848w, https://substackcdn.com/image/fetch/$s_!QXMW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0258038b-c738-4f92-a415-d484aba1a59b_1600x658.png 1272w, https://substackcdn.com/image/fetch/$s_!QXMW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0258038b-c738-4f92-a415-d484aba1a59b_1600x658.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FtYW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28795734-4523-41f3-8f04-2f2fd7c4bd15_2400x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FtYW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28795734-4523-41f3-8f04-2f2fd7c4bd15_2400x941.png 424w, https://substackcdn.com/image/fetch/$s_!FtYW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28795734-4523-41f3-8f04-2f2fd7c4bd15_2400x941.png 848w, https://substackcdn.com/image/fetch/$s_!FtYW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28795734-4523-41f3-8f04-2f2fd7c4bd15_2400x941.png 1272w, https://substackcdn.com/image/fetch/$s_!FtYW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28795734-4523-41f3-8f04-2f2fd7c4bd15_2400x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FtYW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28795734-4523-41f3-8f04-2f2fd7c4bd15_2400x941.png" width="1456" height="571" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28795734-4523-41f3-8f04-2f2fd7c4bd15_2400x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:571,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:105700,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/196313960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28795734-4523-41f3-8f04-2f2fd7c4bd15_2400x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FtYW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28795734-4523-41f3-8f04-2f2fd7c4bd15_2400x941.png 424w, https://substackcdn.com/image/fetch/$s_!FtYW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28795734-4523-41f3-8f04-2f2fd7c4bd15_2400x941.png 848w, https://substackcdn.com/image/fetch/$s_!FtYW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28795734-4523-41f3-8f04-2f2fd7c4bd15_2400x941.png 1272w, https://substackcdn.com/image/fetch/$s_!FtYW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28795734-4523-41f3-8f04-2f2fd7c4bd15_2400x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>AI in design systems is not just:</strong></p><ul><li><p>&#8220;Write documentation for this component.&#8221;</p></li><li><p>&#8220;Generate a React card.&#8221;</p></li><li><p>&#8220;Summarize our token structure.&#8221;</p></li><li><p>&#8220;Create a Figma variant.&#8221;</p><p></p></li></ul><p>The bigger change happens when<strong> agents can read your design system</strong>, <strong>understand </strong>its rules, <strong>propose </strong>changes,<strong> validate </strong>those changes, and <strong>escalate</strong> risky decisions to humans. That is where the design system stops being a passive library and starts becoming operational infrastructure: not a chatbot, an orchestration layer.</p><p><strong>So, what is an agentic design system?</strong></p><p>An <strong>agentic design system</strong> is a system where AI agents can read, interpret, and apply design decisions with human oversight. Not just generate code from prompts. Not just summarize documentation. Not just create random UI.</p><p>A real agentic design system gives agents enough structure to understand:</p><ul><li><p>what exists,</p></li><li><p>why it exists,</p></li><li><p>when to use it,</p></li><li><p>when not to use it,</p></li><li><p>what rules must be followed,</p></li><li><p>what changes are safe,</p></li><li><p>what changes require approval.</p></li></ul><p>The difference looks like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g1aw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76285f6b-d9aa-4e2d-8218-591f1b19a3e7_1600x827.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g1aw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76285f6b-d9aa-4e2d-8218-591f1b19a3e7_1600x827.png 424w, https://substackcdn.com/image/fetch/$s_!g1aw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76285f6b-d9aa-4e2d-8218-591f1b19a3e7_1600x827.png 848w, https://substackcdn.com/image/fetch/$s_!g1aw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76285f6b-d9aa-4e2d-8218-591f1b19a3e7_1600x827.png 1272w, https://substackcdn.com/image/fetch/$s_!g1aw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76285f6b-d9aa-4e2d-8218-591f1b19a3e7_1600x827.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g1aw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76285f6b-d9aa-4e2d-8218-591f1b19a3e7_1600x827.png" width="1456" height="753" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76285f6b-d9aa-4e2d-8218-591f1b19a3e7_1600x827.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:753,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66772,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/196313960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76285f6b-d9aa-4e2d-8218-591f1b19a3e7_1600x827.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!g1aw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76285f6b-d9aa-4e2d-8218-591f1b19a3e7_1600x827.png 424w, https://substackcdn.com/image/fetch/$s_!g1aw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76285f6b-d9aa-4e2d-8218-591f1b19a3e7_1600x827.png 848w, https://substackcdn.com/image/fetch/$s_!g1aw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76285f6b-d9aa-4e2d-8218-591f1b19a3e7_1600x827.png 1272w, https://substackcdn.com/image/fetch/$s_!g1aw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76285f6b-d9aa-4e2d-8218-591f1b19a3e7_1600x827.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The shift is not from &#8220;human design&#8221; to &#8220;AI design.&#8221; That framing is too shallow. The real shift is from &#8220;Here is a button&#8221; to &#8220;Here are the rules, intent, constraints, accessibility requirements, and usage conditions for this action pattern.&#8221; The button does not magically know what to do. The system does.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2A-r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F802ccec8-c19d-4bb2-85da-5dd7f0317784_1600x688.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2A-r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F802ccec8-c19d-4bb2-85da-5dd7f0317784_1600x688.png 424w, https://substackcdn.com/image/fetch/$s_!2A-r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F802ccec8-c19d-4bb2-85da-5dd7f0317784_1600x688.png 848w, https://substackcdn.com/image/fetch/$s_!2A-r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F802ccec8-c19d-4bb2-85da-5dd7f0317784_1600x688.png 1272w, https://substackcdn.com/image/fetch/$s_!2A-r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F802ccec8-c19d-4bb2-85da-5dd7f0317784_1600x688.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2A-r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F802ccec8-c19d-4bb2-85da-5dd7f0317784_1600x688.png" width="1456" height="626" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/802ccec8-c19d-4bb2-85da-5dd7f0317784_1600x688.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:626,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97572,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/196313960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F802ccec8-c19d-4bb2-85da-5dd7f0317784_1600x688.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2A-r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F802ccec8-c19d-4bb2-85da-5dd7f0317784_1600x688.png 424w, https://substackcdn.com/image/fetch/$s_!2A-r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F802ccec8-c19d-4bb2-85da-5dd7f0317784_1600x688.png 848w, https://substackcdn.com/image/fetch/$s_!2A-r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F802ccec8-c19d-4bb2-85da-5dd7f0317784_1600x688.png 1272w, https://substackcdn.com/image/fetch/$s_!2A-r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F802ccec8-c19d-4bb2-85da-5dd7f0317784_1600x688.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Components become contracts</h2><p>This is the most important mental model.</p><p>In traditional design systems, a component is something you import.</p><p>In an agentic design system, a component becomes a contract between design, code, product intent, accessibility, and behavior.</p><p>A button is no longer just:</p><pre><code><code>&lt;Button variant="primary"&gt;Submit&lt;/Button&gt;</code></code></pre><p>It also carries rules:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wc2R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facf29b50-9e59-4f9a-bffb-295cc3f63f11_1322x1709.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wc2R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facf29b50-9e59-4f9a-bffb-295cc3f63f11_1322x1709.png 424w, https://substackcdn.com/image/fetch/$s_!Wc2R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facf29b50-9e59-4f9a-bffb-295cc3f63f11_1322x1709.png 848w, https://substackcdn.com/image/fetch/$s_!Wc2R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facf29b50-9e59-4f9a-bffb-295cc3f63f11_1322x1709.png 1272w, https://substackcdn.com/image/fetch/$s_!Wc2R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facf29b50-9e59-4f9a-bffb-295cc3f63f11_1322x1709.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wc2R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facf29b50-9e59-4f9a-bffb-295cc3f63f11_1322x1709.png" width="588" height="760.1301059001513" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/acf29b50-9e59-4f9a-bffb-295cc3f63f11_1322x1709.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1709,&quot;width&quot;:1322,&quot;resizeWidth&quot;:588,&quot;bytes&quot;:111136,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/196313960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facf29b50-9e59-4f9a-bffb-295cc3f63f11_1322x1709.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wc2R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facf29b50-9e59-4f9a-bffb-295cc3f63f11_1322x1709.png 424w, https://substackcdn.com/image/fetch/$s_!Wc2R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facf29b50-9e59-4f9a-bffb-295cc3f63f11_1322x1709.png 848w, https://substackcdn.com/image/fetch/$s_!Wc2R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facf29b50-9e59-4f9a-bffb-295cc3f63f11_1322x1709.png 1272w, https://substackcdn.com/image/fetch/$s_!Wc2R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facf29b50-9e59-4f9a-bffb-295cc3f63f11_1322x1709.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p>Use primary buttons for the main action in a flow.</p></li><li><p>Do not use destructive styling without a confirmation pattern.</p></li><li><p>Maintain a minimum contrast ratio.</p></li><li><p>Preserve keyboard navigation.</p></li><li><p>Use loading states for asynchronous actions.</p></li><li><p>Use platform-appropriate interaction patterns.</p></li><li><p>Escalate if the requested variant does not exist.</p></li><li><p>Do not create one-off styling without checking token availability.</p></li></ul><p>This is what agents need. The better the contract, the safer the agent.</p><p></p><h2>What exists today</h2><p>You do not have to imagine the entire future. The building blocks are already here.</p><p>They are not perfect. They are not fully autonomous. But they are enough to start preparing your design system for agents.</p><h3>1. Figma MCP gives AI access to design context</h3><p>Figma introduced its <a href="https://www.figma.com/blog/introducing-figma-mcp-server/">Model Context Protocol server</a> in 2025. This is a major shift because it allows AI tools to access structured design context directly from Figma.</p><p>The <a href="https://help.figma.com/hc/en-us/articles/32132100833559-Guide-to-the-Figma-MCP-server">Figma MCP Server Guide</a> explains how teams can connect supported AI clients to Figma so that models can read design context, including components, variables, styles, layouts, and implementation details.</p><p>This matters because design systems have always struggled with translation. Design lives in Figma. Code lives in GitHub or GitLab. Documentation lives somewhere else. Usage data lives in analytics. Decisions live in people&#8217;s heads. MCP is one way to reduce the copy-paste layer between these worlds. It gives AI tools a bridge into the design source of truth.</p><p>That does not mean agents can safely redesign your system on their own. It means they can finally see more of the system. </p><p>This also explains why the dedicated design-to-code category, like <a href="https://www.animaapp.com/">Anima</a>, <a href="https://www.locofy.ai/">Locofy</a>, <a href="https://www.builder.io/">Builder.io</a>, and <a href="https://v0.dev/">v0</a>, is being absorbed. Each of those tools tried to translate Figma frames into React using its own heuristics. With <strong>MCP,</strong> a general-purpose agent like Claude Code, Cursor, or Codex <strong>can do the same job</strong> and also read your codebase, your tokens, and your existing components in one pass. The bridge is no longer a separate tool. It is whatever agent is already in your workflow.</p><p>The interesting question is no longer &#8220;which design-to-code tool wins.&#8221; It is whether your design system gives any agent enough context to generate code that survives review. That depends on you, not the tool.</p><h3>2. Quality automation is already part of the agentic foundation</h3><p>Many teams already have pieces of agentic infrastructure without calling it that.</p><p>For example:</p><ul><li><p>automated accessibility checks with <a href="https://github.com/dequelabs/axe-core">axe-core</a> and <a href="https://playwright.dev/">Playwright</a>,</p></li><li><p>visual regression testing with <a href="https://www.chromatic.com/">Chromatic</a> or <a href="https://percy.io/">Percy</a>,</p></li><li><p>token validation with stylelint rules,</p></li><li><p>component usage checks in code,</p></li><li><p>Storybook-based documentation and testing,</p></li><li><p>CI pipelines that block broken changes.</p></li></ul><p>These tools are not agents on their own, but they are the guardrails agents need. Without validation, AI just makes output faster. With validation, AI can start working inside a system. That is the difference.</p><h3>3. Agents are already entering engineering workflows</h3><p>Spotify is a useful example, even if it is not a design system case study. In <a href="https://engineering.atspotify.com/2025/11/spotifys-background-coding-agent-part-1">Spotify&#8217;s background coding agent writeup</a>, the team describes how internal agents help with engineering workflows, migrations, and large-scale maintenance work.</p><p>The lesson for design system teams is not &#8220;copy Spotify.&#8221;</p><p>The lesson is this:</p><blockquote><p><strong>Background agents make the most sense when the work is repetitive, rule-based, measurable, and reviewable.</strong></p></blockquote><p>That describes a lot of design system work: token migrations, component cleanup, documentation updates, accessibility checks, usage audits, deprecated prop detection, design-code drift. These are not glamorous tasks, but they are exactly the kind of tasks agents are good at.</p><div><hr></div><h2>What is emerging now</h2><p>The next phase is not full autonomy, it is governed autonomy. Agents propose, humans approve, systems validate, changes are traceable. This is where design systems become much more interesting.</p><p>The point is <strong>not full delegation.</strong> It is delegating just enough that the system moves faster without losing oversight.</p><h3>A designer agent watches Figma for drift</h3><ul><li><p>components missing descriptions,</p></li><li><p>variants that do not follow naming conventions,</p></li><li><p>detached instances,</p></li><li><p>local styles that should use variables,</p></li><li><p>inconsistent spacing,</p></li><li><p>missing accessibility annotations,</p></li><li><p>components that have grown too many variants.</p></li></ul><p>The agent should not automatically redesign everything. It should produce a report, suggest fixes, and escalate risky changes.</p><h3>A developer agent catches token misuse in code</h3><ul><li><p>hard-coded colors,</p></li><li><p>incorrect token usage,</p></li><li><p>custom components duplicating system components,</p></li><li><p>deprecated props,</p></li><li><p>inconsistent imports,</p></li><li><p>missing tests,</p></li><li><p>components that do not match Figma specifications.</p></li></ul><p>Again, the value is not blind automation. The value is reducing the invisible drift between design and implementation.</p><h3>A documentation agent stops your docs from rotting</h3><ul><li><p>component usage guidelines,</p></li><li><p>variant tables,</p></li><li><p>accessibility notes,</p></li><li><p>examples,</p></li><li><p>changelogs,</p></li><li><p>migration guides,</p></li><li><p>design token references.</p></li></ul><p>This is one of the easiest places to start because the risk is relatively low.</p><h3>A QA agent runs the boring checks before merge</h3><ul><li><p>accessibility tests,</p></li><li><p>visual regression tests,</p></li><li><p>keyboard interaction tests,</p></li><li><p>responsive behavior checks,</p></li><li><p>token compliance,</p></li><li><p>browser compatibility,</p></li><li><p>Storybook build validation.</p></li></ul><p>This is where agentic systems become practical, because it can run boring checks consistently and tell the team where attention is needed.</p><h3>Orchestration is what makes it agentic, not chatbot</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N5qS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb96876f-1abc-44df-9235-2ae77b57ac74_2400x635.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N5qS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb96876f-1abc-44df-9235-2ae77b57ac74_2400x635.png 424w, https://substackcdn.com/image/fetch/$s_!N5qS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb96876f-1abc-44df-9235-2ae77b57ac74_2400x635.png 848w, https://substackcdn.com/image/fetch/$s_!N5qS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb96876f-1abc-44df-9235-2ae77b57ac74_2400x635.png 1272w, https://substackcdn.com/image/fetch/$s_!N5qS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb96876f-1abc-44df-9235-2ae77b57ac74_2400x635.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N5qS!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb96876f-1abc-44df-9235-2ae77b57ac74_2400x635.png" width="1200" height="317.3076923076923" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db96876f-1abc-44df-9235-2ae77b57ac74_2400x635.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:385,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:100029,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/196313960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb96876f-1abc-44df-9235-2ae77b57ac74_2400x635.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!N5qS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb96876f-1abc-44df-9235-2ae77b57ac74_2400x635.png 424w, https://substackcdn.com/image/fetch/$s_!N5qS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb96876f-1abc-44df-9235-2ae77b57ac74_2400x635.png 848w, https://substackcdn.com/image/fetch/$s_!N5qS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb96876f-1abc-44df-9235-2ae77b57ac74_2400x635.png 1272w, https://substackcdn.com/image/fetch/$s_!N5qS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb96876f-1abc-44df-9235-2ae77b57ac74_2400x635.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>The orchestrator is the most important part.</p><p><strong>It coordinates the agents and decides:</strong></p><ul><li><p>which changes are safe to automate,</p></li><li><p>which changes need review,</p></li><li><p>who should approve what,</p></li><li><p>which tests must pass,</p></li><li><p>when to create a pull request,</p></li><li><p>when to roll back,</p></li><li><p>when to escalate.</p></li></ul><p>You give structured autonomy inside clear boundaries.</p><div><hr></div><h2>What may come next</h2><p>By 2027 and 2028, design systems may operate very differently.</p><p>But this future will not arrive evenly. </p><p>Some teams will still be manually updating component docs.</p><p>Others will have agents monitoring usage, generating PRs, and surfacing design system drift before it becomes expensive.</p><p>The difference will not be prompts. It will be<strong> structure.</strong></p><h3>Tokens carry intent, not just values</h3><p>Most tokens today are still treated as values.</p><pre><code><code>{
  "color.primary": "#3B82F6",
  "spacing.md": "16px"
}</code></code></pre><p>That is useful for consistency. But it is not enough for agents. Agents need to understand intent.</p><p><strong><a href="https://polaris-react.shopify.com/design/colors/color-tokens">Shopify Polaris</a> </strong>already shows the direction with semantic tokens that communicate purpose through naming and usage. The next step is richer metadata that agents can read directly.</p><p>For example:</p><pre><code><code>{
  "color.action.primary": {
    "value": "#3B82F6",
    "intent": "primary action",
    "useFor": [
      "main action in a flow",
      "confirmation action",
      "high-priority CTA"
    ],
    "avoidFor": [
      "decorative backgrounds",
      "low-priority actions",
      "destructive actions without confirmation"
    ],
    "accessibility": {
      "minimumContrast": "4.5:1",
      "requiresTextContrastCheck": true
    }
  },
  "spacing.component.md": {
    "value": "16px",
    "intent": "standard internal component spacing",
    "useFor": [
      "default card padding",
      "form field grouping",
      "standard layout rhythm"
    ],
    "responsiveRules": {
      "compact": "spacing.component.sm",
      "comfortable": "spacing.component.lg"
    }
  }
}</code></code></pre><p>This does not require science fiction. It requires better structure. Your tokens become more than reusable values; they become decision support.</p><p></p><h3>Documentation becomes an executable context</h3><p>Most documentation is written for humans. That will still matter. But agentic design systems also need documentation that machines can interpret.</p><p>That means documenting:</p><ul><li><p>intent,</p></li><li><p>constraints,</p></li><li><p>examples,</p></li><li><p>anti-patterns,</p></li><li><p>dependencies,</p></li><li><p>accessibility requirements,</p></li><li><p>edge cases,</p></li><li><p>migration paths,</p></li><li><p>ownership,</p></li><li><p>approval rules.</p></li></ul><p>This is where many design systems are weak. They explain how something looks, but they do not explain how decisions should be made. Agents need decision logic, and that logic has to live somewhere.</p><h3>Runtime adaptation becomes possible, but risky</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8nqX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cfcff7-b270-4356-b94a-de843e9dc9c2_2400x1058.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8nqX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cfcff7-b270-4356-b94a-de843e9dc9c2_2400x1058.png 424w, https://substackcdn.com/image/fetch/$s_!8nqX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cfcff7-b270-4356-b94a-de843e9dc9c2_2400x1058.png 848w, https://substackcdn.com/image/fetch/$s_!8nqX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cfcff7-b270-4356-b94a-de843e9dc9c2_2400x1058.png 1272w, https://substackcdn.com/image/fetch/$s_!8nqX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cfcff7-b270-4356-b94a-de843e9dc9c2_2400x1058.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8nqX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cfcff7-b270-4356-b94a-de843e9dc9c2_2400x1058.png" width="1456" height="642" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85cfcff7-b270-4356-b94a-de843e9dc9c2_2400x1058.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:642,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:209501,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/196313960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cfcff7-b270-4356-b94a-de843e9dc9c2_2400x1058.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8nqX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cfcff7-b270-4356-b94a-de843e9dc9c2_2400x1058.png 424w, https://substackcdn.com/image/fetch/$s_!8nqX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cfcff7-b270-4356-b94a-de843e9dc9c2_2400x1058.png 848w, https://substackcdn.com/image/fetch/$s_!8nqX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cfcff7-b270-4356-b94a-de843e9dc9c2_2400x1058.png 1272w, https://substackcdn.com/image/fetch/$s_!8nqX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cfcff7-b270-4356-b94a-de843e9dc9c2_2400x1058.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The most exciting future is also the easiest one to overhype. Components may adapt at runtime based on context.</p><p>For example:</p><pre><code><code>&lt;Button
  intent="primary-action"
  adaptsTo={["platform", "inputMode", "contrastPreference", "locale"]}
&gt;
  Submit
&lt;/Button&gt;</code></code></pre><p>This kind of adaptation is reasonable.</p><p>A component can respond to:</p><ul><li><p>viewport,</p></li><li><p>platform,</p></li><li><p>input method,</p></li><li><p>language,</p></li><li><p>motion preference,</p></li><li><p>contrast preference,</p></li><li><p>density preference,</p></li><li><p>accessibility settings.</p></li></ul><p>That is helpful, but some forms of adaptation are much more sensitive. For example:</p><ul><li><p>adapting based on user hesitation, emotional state, conversion probability, inferred confidence, behavioral vulnerability.</p></li></ul><p>That is where teams need governance.</p><p>The question is not only:</p><blockquote><p>&#8220;Can the system adapt?&#8221;</p></blockquote><p>The better question is:</p><blockquote><p><strong>&#8220;Should it adapt, who benefits, and how do we prevent harm?&#8221;</strong></p></blockquote><p></p><p>Agentic design systems will need more than tokens and components. They will need ethics, permissions, audit trails, and product principles. Otherwise, adaptive UI becomes manipulation with better tooling.</p><div><hr></div><h2>What can go wrong</h2><ul><li><p>Agents can optimize locally while breaking the broader product experience.</p></li><li><p>A developer agent might clean up code but break design intent.</p></li><li><p>A documentation agent might confidently describe a component incorrectly.</p></li><li><p>A designer agent might suggest consistency where the product actually needs difference.</p></li><li><p>Without governance, agents can create drift faster than humans can notice it.</p></li></ul><p><strong>Design debt at machine speed</strong></p><p>AI does not magically fix weak systems; it amplifies them. If your components are poorly named, your tokens are inconsistent, and your docs are outdated, agents will inherit that mess. Bad metadata creates bad output faster.</p><p><strong>False confidence</strong></p><p>AI-generated documentation often sounds correct even when it is wrong, and that is dangerous. Design system documentation is not just content, it is instruction. If agents and teams rely on incorrect guidance, the damage spreads quickly.</p><p><strong>UX manipulation</strong></p><p>Runtime adaptation can improve usability. It can also cross a line. If the system changes UI based on inferred hesitation, conversion likelihood, or emotional state, teams need clear product and ethics review. Not every adaptive pattern is user-centered. Some are just business pressure wearing a nice interface.</p><p><strong>Governance gaps</strong></p><p>Agentic systems need:</p><ul><li><p>approval rules,</p></li><li><p>audit logs,</p></li><li><p>rollback mechanisms,</p></li><li><p>permission levels,</p></li><li><p>test gates,</p></li><li><p>ownership models,</p></li><li><p>escalation paths.</p></li></ul><p>Without these, &#8220;agentic&#8221; becomes another word for &#8220;uncontrolled.&#8221;</p><p><strong>The goal is not to make agents autonomous everywhere.</strong> The goal is to decide where autonomy is safe, useful, and measurable.</p><div><hr></div><h3>Figma becomes a control surface</h3><p>Figma is moving from a visual design tool toward a design system control surface.</p><p>That could include:</p><ul><li><p>managing component libraries,</p></li><li><p>defining variables and modes,</p></li><li><p>adding semantic metadata,</p></li><li><p>previewing generated UI,</p></li><li><p>reviewing agent-proposed changes,</p></li><li><p>connecting design context to code tools,</p></li><li><p>helping humans understand what agents are doing.</p></li></ul><p>Figma is not the entire agentic system, but it can become one of the most important human interfaces into that system.</p><h3>Visual judgment still matters</h3><p>AI can generate layouts. That does not mean it understands taste, brand, timing, emotion, or product strategy. Designers still make the decisions that require judgment:</p><ul><li><p>what should feel premium,</p></li><li><p>what should feel calm,</p></li><li><p>what should feel urgent,</p></li><li><p>where consistency helps,</p></li><li><p>where consistency hurts,</p></li><li><p>when to follow the system,</p></li><li><p>when to evolve the system.</p></li></ul><p>The more AI generates, the more valuable human judgment becomes, not less.</p><h3>Designers move from making variations to defining intent</h3><p>Designers will spend less time manually producing every variation. They will spend more time defining:</p><ul><li><p>intent,</p></li><li><p>behavior,</p></li><li><p>constraints,</p></li><li><p>examples,</p></li><li><p>quality bars,</p></li><li><p>governance rules,</p></li><li><p>evaluation criteria,</p></li><li><p>approval models.</p></li></ul><p>The designer becomes less of a component factory and more of a system architect.</p><div><hr></div><h2>Why structure beats prompts</h2><p>The companies that win will be the ones that prepare their design systems for machine interpretation. That means they will:</p><h3>1. Structure components for AI consumption</h3><p>They will document not only what a component is, but how it should be used.</p><p>They will define: intent, variants, anatomy, accessibility, dependencies, anti-patterns, product examples, implementation rules.</p><h3>2. Add intent to tokens</h3><p>They will move beyond raw values and primitive naming.</p><pre><code><code>{
  "color.action.primary": {
    "value": "#3B82F6",
    "intent": "primary action",
    "useFor": ["main CTA", "confirmation"],
    "avoidFor": ["decoration", "destructive actions"]
  }
}</code></code></pre><p>Agents need meaning. Semantic structure gives them that meaning.</p><h3>3. Build feedback loops</h3><p>They will connect design system decisions to real product usage.</p><p>For example:</p><ul><li><p>Which components are used most?</p></li><li><p>Which components are duplicated?</p></li><li><p>Which tokens are overridden?</p></li><li><p>Which variants are missing?</p></li><li><p>Which patterns create accessibility issues?</p></li><li><p>Which docs are most visited?</p></li><li><p>Which components create the most support questions?</p></li></ul><p>This is where design systems become measurable, not just maintained. Improved.</p><h3>4. Use agents for boring, high-value work</h3><p>The first useful agents will not be magical design partners. They will be boring, and that is good. They will: detect drift, update docs, open migration PRs, flag accessibility issues, find token misuse, summarize component usage, generate changelogs, and suggest cleanup tasks.</p><p>Boring is where trust starts.</p><div><hr></div><h2>What to do this week</h2><p><strong>1. Turn one component into a contract</strong></p><p>Pick your most-used component. Write a one-page contract with five sections: intent, variants, rules, accessibility, anti-patterns. A markdown file is enough. Start with one component. Not fifty.</p><p><strong>2. Add intent metadata to five tokens</strong></p><p>Pick your five most-used semantic tokens. For each, add what it is for, what it is not for, and the accessibility requirement. JSON, README, or doc page. Whatever you already have.</p><div><hr></div><p>Tools change. Structure compounds.</p><p>Agents are leverage. Leverage applied to a weak system breaks it faster. Leverage applied to a readable system builds compounding advantage.</p><p>The prompt is not the moat. <strong>The structure is. </strong></p><p></p><p>Enjoy experimenting. &#128588;</p><p>Romina</p><div><hr></div><p><strong>Mentioned links</strong></p><p><a href="https://www.gartner.com/en/newsroom/press-releases/2025-08-26-gartner-predicts-40-percent-of-enterprise-apps-will-feature-task-specific-ai-agents-by-2026-up-from-less-than-5-percent-in-2025">Gartner: 40% of Enterprise Apps Will Feature AI Agents by 2026</a></p><p><a href="https://microsoft.design/articles/designs-for-the-frontier-future/">Microsoft Design: Designs for the Frontier Future</a></p><p><a href="https://www.figma.com/blog/introducing-figma-mcp-server/">Figma: Introducing Figma MCP Server</a></p><p><a href="https://help.figma.com/hc/en-us/articles/32132100833559-Guide-to-the-Figma-MCP-server">Figma Help: Guide to the Figma MCP Server</a></p><p><a href="https://www.figma.com/resource-library/what-is-mcp/">Figma: What is Model Context Protocol?</a></p><p><a href="https://polaris-react.shopify.com/design/colors/color-tokens">Shopify Polaris: Color Tokens</a></p><p><a href="https://engineering.atspotify.com/2025/11/spotifys-background-coding-agent-part-1">Spotify Engineering: Spotify&#8217;s Background Coding Agent</a></p><p><a href="https://carbondesignsystem.com/elements/color/tokens/">IBM Carbon: Color Tokens</a></p><p><a href="https://github.com/carbon-design-system/stylelint-plugin-carbon-tokens">IBM Carbon: stylelint-plugin-carbon-tokens</a></p><p><a href="https://www.animaapp.com/">Anima</a></p><p><a href="https://www.locofy.ai/">Locofy</a></p><p><a href="https://www.builder.io/">Builder.io</a></p><p><a href="https://v0.dev/">v0 by Vercel</a></p><p><a href="https://www.chromatic.com/">Chromatic Visual Testing</a></p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P-6W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9789fd59-7fc8-4541-a2fa-168c990b3596_3024x1644.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P-6W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9789fd59-7fc8-4541-a2fa-168c990b3596_3024x1644.png 424w, https://substackcdn.com/image/fetch/$s_!P-6W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9789fd59-7fc8-4541-a2fa-168c990b3596_3024x1644.png 848w, https://substackcdn.com/image/fetch/$s_!P-6W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9789fd59-7fc8-4541-a2fa-168c990b3596_3024x1644.png 1272w, https://substackcdn.com/image/fetch/$s_!P-6W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9789fd59-7fc8-4541-a2fa-168c990b3596_3024x1644.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P-6W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9789fd59-7fc8-4541-a2fa-168c990b3596_3024x1644.png" width="1456" height="792" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9789fd59-7fc8-4541-a2fa-168c990b3596_3024x1644.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:792,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2677031,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/196313960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9789fd59-7fc8-4541-a2fa-168c990b3596_3024x1644.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!P-6W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9789fd59-7fc8-4541-a2fa-168c990b3596_3024x1644.png 424w, https://substackcdn.com/image/fetch/$s_!P-6W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9789fd59-7fc8-4541-a2fa-168c990b3596_3024x1644.png 848w, https://substackcdn.com/image/fetch/$s_!P-6W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9789fd59-7fc8-4541-a2fa-168c990b3596_3024x1644.png 1272w, https://substackcdn.com/image/fetch/$s_!P-6W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9789fd59-7fc8-4541-a2fa-168c990b3596_3024x1644.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Design System Report 2026 &#128279; <a href="https://report.zeroheight.com/">Download the report </a></strong></p><p>If you want a baseline for what "normal" looks like, read <strong><a href="https://zeroheight.com/">Zeroheight's State of Design Systems report</a>.</strong> 147 companies surveyed. It is the only annual data I trust on how teams actually work, not how they say they work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Re9W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c560eee-76ba-453a-864d-6c6c1087811e_2574x1322.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Re9W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c560eee-76ba-453a-864d-6c6c1087811e_2574x1322.png 424w, https://substackcdn.com/image/fetch/$s_!Re9W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c560eee-76ba-453a-864d-6c6c1087811e_2574x1322.png 848w, https://substackcdn.com/image/fetch/$s_!Re9W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c560eee-76ba-453a-864d-6c6c1087811e_2574x1322.png 1272w, https://substackcdn.com/image/fetch/$s_!Re9W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c560eee-76ba-453a-864d-6c6c1087811e_2574x1322.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Re9W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c560eee-76ba-453a-864d-6c6c1087811e_2574x1322.png" width="1456" height="748" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c560eee-76ba-453a-864d-6c6c1087811e_2574x1322.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:748,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4438540,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/196313960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c560eee-76ba-453a-864d-6c6c1087811e_2574x1322.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Re9W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c560eee-76ba-453a-864d-6c6c1087811e_2574x1322.png 424w, https://substackcdn.com/image/fetch/$s_!Re9W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c560eee-76ba-453a-864d-6c6c1087811e_2574x1322.png 848w, https://substackcdn.com/image/fetch/$s_!Re9W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c560eee-76ba-453a-864d-6c6c1087811e_2574x1322.png 1272w, https://substackcdn.com/image/fetch/$s_!Re9W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c560eee-76ba-453a-864d-6c6c1087811e_2574x1322.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Four AI launches in one week: which ones deserve a place in your stack?]]></title><description><![CDATA[Claude Design, Opus 4.7, GPT 5.5 and Image 2.0]]></description><link>https://learn.thedesignsystem.guide/p/four-ai-launches-in-one-week-which</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/four-ai-launches-in-one-week-which</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sun, 26 Apr 2026 08:46:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HgcO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HgcO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HgcO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!HgcO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!HgcO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!HgcO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HgcO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:212820,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/195027941?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HgcO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!HgcO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!HgcO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!HgcO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd27343-c210-4927-9ea7-134c6bb5d54b_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Wow, what a week of AI releases! First Claude Design and Opus 4.7, then Image 2 and GPT 5.5 model. I have been using and comparing all of them since launch.</p><p>Anthropic is building the AI-native version of the entire knowledge-worker stack. Claude <strong>Code</strong> for engineering. Claude<strong> Cowork </strong>for the rest of your job. Claude<strong> Design </strong>for anything visual. Opus 4.7 underneath all of it. </p><p><strong>OpenAI</strong> shipped the response in the same week. <strong>GPT 5.5 </strong>for reasoning and long agentic work, easy to talk to, and detailed when the answer lands. <strong>ChatGPT Images 2.0 </strong>for generating images. I feel like everything is possible. I&#8217;m impressed.</p><p>Let&#8217;s start with Anthropic.</p><div><hr></div><h2>Opus 4.7: the model underneath</h2><p>Whenever a new model comes out, I run the same tasks to see what has improved. With this model, I can say that at the start, the model felt faster than 4.6. But 2 days ago, Anthropic admitted that Opus 4.6 was made slower in March.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/ClaudeDevs/status/2047371123185287223?s=20&quot;,&quot;full_text&quot;:&quot;Over the past month, some of you reported Claude Code's quality had slipped. We investigated, and published a post-mortem on the three issues we found.\n\nAll are fixed in v2.1.116+ and we&#8217;ve reset usage limits for all subscribers.&quot;,&quot;username&quot;:&quot;ClaudeDevs&quot;,&quot;name&quot;:&quot;ClaudeDevs&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2044472418815893504/xf14RxM8_normal.png&quot;,&quot;date&quot;:&quot;2026-04-23T17:44:48.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:1696,&quot;retweet_count&quot;:2316,&quot;like_count&quot;:33769,&quot;impression_count&quot;:4639448,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/yklnss/status/2047375765252329594?s=20&quot;,&quot;full_text&quot;:&quot;<span class=\&quot;tweet-fake-link\&quot;>@ClaudeDevs</span> &quot;,&quot;username&quot;:&quot;yklnss&quot;,&quot;name&quot;:&quot;Ostap Kolinets&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2046282560360329216/k43ZqQQ3_normal.jpg&quot;,&quot;date&quot;:&quot;2026-04-23T18:03:15.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/HGm9Zv3bIAACOEv.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/0IYj2Bt8tn&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:16,&quot;retweet_count&quot;:117,&quot;like_count&quot;:4537,&quot;impression_count&quot;:137096,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>(jokes aside&#8230;)</p><p>After a few days of testing, Opus 4.7 is the first Claude release I cannot call a major upgrade. On design work specifically, it treats each screen as a fresh problem. Ask it to extend an existing pattern, and it forgets the pattern exists two steps later. It does not connect things.</p><p>The individual design suggestions are often better than what 4.6 gave me. But then again, not repeatable without additional instructions. I can run the same prompt twice on 4.7 and get two different directions, neither of which builds on the last. 4.6 was less ambitious per shot, but I could compound it. 4.7 needs more guidance, in every single prompt, to stay on track.</p><p>In practice it means you have to tell 4.7 exactly what you need, where it needs to connect in the existing system, and what the goal is. No shortcuts. No &#8220;you know what I mean.&#8221; Every prompt has to carry its own context.</p><p>Which is, conveniently, the argument I have been making for months in <a href="https://learn.thedesignsystem.guide/p/why-your-design-system-is-the-most">code is cheap, understanding is not </a>and <a href="https://learn.thedesignsystem.guide/p/the-self-healing-design-system">The Self-Healing Design System</a>. AI agents get better the more structured context you feed them. 4.7 just turned that from a suggestion into a requirement. If your design system is not yet machine-readable, with tokens, component definitions, and written decisions the model can actually parse, 4.7 will feel punishing. If it is, 4.7 is the first model that actually rewards the investment.</p><ul><li><p><strong>Coding wins</strong> across every Anthropic benchmark (CursorBench, Rakuten-SWE-Bench, their internal 93-task eval, Databricks OfficeQA Pro).</p></li><li><p><strong>A reasoning regression</strong> on NYT Connections: 94.7% down to 41.0%. A 53-point drop is not a rounding error.</p></li><li><p><strong>Stricter instruction-following.</strong> Per Anthropic&#8217;s migration guide: &#8220;4.7 takes the instructions literally and will not silently generalize.&#8221;</p></li><li><p><strong>Price stays flat</strong> at $5 per million input tokens and $25 per million output tokens.</p></li><li><p><strong>Effective cost is slightly up</strong> because the new tokenizer consumes 1.0 to 1.35 times more tokens per input.</p><p></p></li></ul><p>Plus, two new features &#8594;</p><ul><li><p><strong>Adaptive thinking</strong> replaces fixed thinking budgets. Set <code>thinking: {type: 'adaptive'}</code> and the model picks depth per sub-task.</p></li><li><p><strong>Extra high effort (</strong><code>xhigh</code><strong>)</strong> is a new tier between high and max. Many of the &#8220;Opus 4.7 is slow&#8221; complaints come from people reflexively maxing out effort. xhigh is usually the right answer.</p></li></ul><p>My working rule. If you are on Pro and you are not doing engineering-grade work, default to Opus 4.6 for chat, Opus 4.7 only where reasoning depth pays for itself. For design-system work, Opus 4.7 is worth it, but only if you write precise prompts and use plan mode before execution. The best combo right now is Opus 4.7 for planning and then using GPT 5.5. (More about this below).</p><div><hr></div><h2>Claude Design: where your design system actually goes next</h2><p><strong><a href="http://claude.ai/design">Claude Design</a></strong>, launched April 17, 2026, as a research preview. Anthropic&#8217;s own case studies claim that the final project is done with way fewer prompts.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qP-I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f765786-7aa5-4470-a5fc-1c4ca4ac92f4_1956x1211.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qP-I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f765786-7aa5-4470-a5fc-1c4ca4ac92f4_1956x1211.png 424w, https://substackcdn.com/image/fetch/$s_!qP-I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f765786-7aa5-4470-a5fc-1c4ca4ac92f4_1956x1211.png 848w, https://substackcdn.com/image/fetch/$s_!qP-I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f765786-7aa5-4470-a5fc-1c4ca4ac92f4_1956x1211.png 1272w, https://substackcdn.com/image/fetch/$s_!qP-I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f765786-7aa5-4470-a5fc-1c4ca4ac92f4_1956x1211.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qP-I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f765786-7aa5-4470-a5fc-1c4ca4ac92f4_1956x1211.png" width="1456" height="901" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f765786-7aa5-4470-a5fc-1c4ca4ac92f4_1956x1211.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:901,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:163983,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/195027941?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f765786-7aa5-4470-a5fc-1c4ca4ac92f4_1956x1211.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qP-I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f765786-7aa5-4470-a5fc-1c4ca4ac92f4_1956x1211.png 424w, https://substackcdn.com/image/fetch/$s_!qP-I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f765786-7aa5-4470-a5fc-1c4ca4ac92f4_1956x1211.png 848w, https://substackcdn.com/image/fetch/$s_!qP-I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f765786-7aa5-4470-a5fc-1c4ca4ac92f4_1956x1211.png 1272w, https://substackcdn.com/image/fetch/$s_!qP-I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f765786-7aa5-4470-a5fc-1c4ca4ac92f4_1956x1211.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Figma&#8217;s valuation dropped</strong> around $730M (4.26%) on the day Claude Design launched. Anthropic&#8217;s CPO resigned from Figma&#8217;s board three days before the announcement. </p><p>It is by far the easiest tool to pick up if you are new to AI. It is also a research preview with real gaps. </p><p>Here is what it actually does.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tY-J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e878b10-952b-4fed-8da7-b6045c71e459_1134x987.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tY-J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e878b10-952b-4fed-8da7-b6045c71e459_1134x987.png 424w, https://substackcdn.com/image/fetch/$s_!tY-J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e878b10-952b-4fed-8da7-b6045c71e459_1134x987.png 848w, https://substackcdn.com/image/fetch/$s_!tY-J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e878b10-952b-4fed-8da7-b6045c71e459_1134x987.png 1272w, https://substackcdn.com/image/fetch/$s_!tY-J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e878b10-952b-4fed-8da7-b6045c71e459_1134x987.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tY-J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e878b10-952b-4fed-8da7-b6045c71e459_1134x987.png" width="1134" height="987" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e878b10-952b-4fed-8da7-b6045c71e459_1134x987.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:987,&quot;width&quot;:1134,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:121327,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/195027941?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e878b10-952b-4fed-8da7-b6045c71e459_1134x987.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tY-J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e878b10-952b-4fed-8da7-b6045c71e459_1134x987.png 424w, https://substackcdn.com/image/fetch/$s_!tY-J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e878b10-952b-4fed-8da7-b6045c71e459_1134x987.png 848w, https://substackcdn.com/image/fetch/$s_!tY-J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e878b10-952b-4fed-8da7-b6045c71e459_1134x987.png 1272w, https://substackcdn.com/image/fetch/$s_!tY-J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e878b10-952b-4fed-8da7-b6045c71e459_1134x987.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>The interface.</strong> </h3><p><strong>Four starting templates: </strong>Prototype, Pitch Deck, From Template, and Design System. </p><p><strong>Six inputs:</strong> images, text, codebase links, document uploads, web captures, saved design systems. </p><p><strong>Four refinement tools:</strong> inline comments on elements, direct text editing, tweak sliders (colors, spacing, typography), and global design changes via chat. Export to PDF, PPTX, HTML, and Claude Code. (Export to Canva is listed on the page. It does not yet work.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9O53!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe446443c-81bb-41ca-a271-57a78107d4bc_1719x1208.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9O53!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe446443c-81bb-41ca-a271-57a78107d4bc_1719x1208.png 424w, https://substackcdn.com/image/fetch/$s_!9O53!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe446443c-81bb-41ca-a271-57a78107d4bc_1719x1208.png 848w, https://substackcdn.com/image/fetch/$s_!9O53!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe446443c-81bb-41ca-a271-57a78107d4bc_1719x1208.png 1272w, https://substackcdn.com/image/fetch/$s_!9O53!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe446443c-81bb-41ca-a271-57a78107d4bc_1719x1208.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9O53!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe446443c-81bb-41ca-a271-57a78107d4bc_1719x1208.png" width="1456" height="1023" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e446443c-81bb-41ca-a271-57a78107d4bc_1719x1208.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1023,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:543707,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/195027941?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe446443c-81bb-41ca-a271-57a78107d4bc_1719x1208.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9O53!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe446443c-81bb-41ca-a271-57a78107d4bc_1719x1208.png 424w, https://substackcdn.com/image/fetch/$s_!9O53!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe446443c-81bb-41ca-a271-57a78107d4bc_1719x1208.png 848w, https://substackcdn.com/image/fetch/$s_!9O53!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe446443c-81bb-41ca-a271-57a78107d4bc_1719x1208.png 1272w, https://substackcdn.com/image/fetch/$s_!9O53!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe446443c-81bb-41ca-a271-57a78107d4bc_1719x1208.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>The workflow that matters to most.</strong> </p><p>Upload your <strong>design system,</strong> either as a Figma file, a GitHub repo, or a DESIGN.md file. <strong>Claude Design </strong>generates new work that respects your tokens. There is already a free repository at getdesign.md with DESIGN.md files for brands like Mastercard, Airbnb, and Ferrari. That tells you where this is heading.</p><p>I fed it our UI kit. It took around 10 minutes and burned a lot of tokens. The output was different from what I got piping Figma through MCP into Claude Code which surprised me. You see a preview of the interactive components immediately, and they are somewhat real. I would put them at around 70% Figma to code parity. </p><p><strong>Compared to Figma Make</strong>, the gap is not subtle. Claude Design is faster, the range of outputs is wider, and the starting options are way more useful (also compared to Lovable, v0, &#8230;.).</p><p>Figma Make runs on Sonnet 4.5. Claude Design runs on Opus 4.7, with vision at 2,576 pixels and 3.75 megapixels, roughly three times the resolution of previous Claude models. The tool Figma is paying Anthropic to host is running on the slower, lower-vision model. The tool Anthropic ships directly is on the flagship. </p><p>Figma Make gives you a handful of layout variations inside the Figma canvas. Claude Design generates interactive pages, animated videos, pitch decks, mobile apps, and a first-draft design system in the same few minutes, and exports to HTML, PDF, or PPTX, or hands off directly to Claude Code. </p><p>If you are using Claude Code and have set up the skills, MCPs, then going to Claude Design feels like going back a few steps when you want to make prototypes. </p><p><strong>Use cases, ranked by how much I trust them today:</strong></p><ol><li><p><strong>Prototypes.</strong> If you are new to AI, it will be easy to start and get </p></li><li><p><strong>Landing pages.</strong> Give it a reference URL and a tone. &#8220;Recreate this product page, but make it tongue-in-cheek&#8221; gets you 80% of the way there in four minutes.</p></li><li><p><strong>Pitch decks.</strong> Use Claude (chat) to iterate the copy first. Paste the copy into Claude Design and ask for a deck or animated video. </p></li><li><p><strong>Mobile app mockups.</strong> Claude Design takes screenshots of its own output and fixes overlapping text on its own.</p><p></p></li></ol><p><strong>My complaint list:</strong></p><ul><li><p><strong>Token cost is brutal.</strong> A mobile app with a full design system can burn a Pro plan&#8217;s daily quota in a single prompt. </p></li><li><p><strong>Output quality is inconsistent.</strong> Abstract illustrations are hit or miss. Expect to regenerate.</p></li><li><p><strong>No Figma-level granular control.</strong> You can tweak palettes, fonts and layout, but you cannot move a single element five pixels without prompting (which takes more time and tokens).</p></li><li><p><strong>Export to Canva is listed but broken.</strong></p></li></ul><div><hr></div><p>Now let&#8217;s go to OpenAI releases.</p><h3>ChatGPT Image 2.0</h3><p>My observations:</p><ul><li><p>Visualizations are waaaay better than before;</p></li><li><p>It understands styles and can replicate them in a better way</p></li><li><p>Endless possibilities in doing styles (Anime, 90s video games, amateur photos&#8230; practically anything) </p></li></ul><p><strong>Some examples I did: </strong></p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;e96e1b3a-088a-4d3c-bb5c-7a5e5c6c8afd&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">Create an illustrated, playful map of Sardinia with sport activities</code></pre></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vkzO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b63251-fa0a-441d-9b42-47389103de87_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vkzO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b63251-fa0a-441d-9b42-47389103de87_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!vkzO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b63251-fa0a-441d-9b42-47389103de87_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!vkzO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b63251-fa0a-441d-9b42-47389103de87_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!vkzO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b63251-fa0a-441d-9b42-47389103de87_1024x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vkzO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b63251-fa0a-441d-9b42-47389103de87_1024x1536.png" width="1024" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88b63251-fa0a-441d-9b42-47389103de87_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3321897,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/195027941?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b63251-fa0a-441d-9b42-47389103de87_1024x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vkzO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b63251-fa0a-441d-9b42-47389103de87_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!vkzO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b63251-fa0a-441d-9b42-47389103de87_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!vkzO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b63251-fa0a-441d-9b42-47389103de87_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!vkzO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b63251-fa0a-441d-9b42-47389103de87_1024x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c2Uk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0f33bb-845d-45fd-88a1-901475736053_1444x1089.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c2Uk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0f33bb-845d-45fd-88a1-901475736053_1444x1089.png 424w, https://substackcdn.com/image/fetch/$s_!c2Uk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0f33bb-845d-45fd-88a1-901475736053_1444x1089.png 848w, https://substackcdn.com/image/fetch/$s_!c2Uk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0f33bb-845d-45fd-88a1-901475736053_1444x1089.png 1272w, https://substackcdn.com/image/fetch/$s_!c2Uk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0f33bb-845d-45fd-88a1-901475736053_1444x1089.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c2Uk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0f33bb-845d-45fd-88a1-901475736053_1444x1089.png" width="1444" height="1089" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c0f33bb-845d-45fd-88a1-901475736053_1444x1089.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1089,&quot;width&quot;:1444,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2675688,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/195027941?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0f33bb-845d-45fd-88a1-901475736053_1444x1089.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!c2Uk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0f33bb-845d-45fd-88a1-901475736053_1444x1089.png 424w, https://substackcdn.com/image/fetch/$s_!c2Uk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0f33bb-845d-45fd-88a1-901475736053_1444x1089.png 848w, https://substackcdn.com/image/fetch/$s_!c2Uk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0f33bb-845d-45fd-88a1-901475736053_1444x1089.png 1272w, https://substackcdn.com/image/fetch/$s_!c2Uk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0f33bb-845d-45fd-88a1-901475736053_1444x1089.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;f3b99b41-0c79-4773-b506-370a2db77adc&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">Amateur photograph of a family portrait, on the beach in Italy, amateur composition, candid</code></pre></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wKvo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40b29a86-5612-458d-a628-999e471c0c14_1448x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wKvo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40b29a86-5612-458d-a628-999e471c0c14_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!wKvo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40b29a86-5612-458d-a628-999e471c0c14_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!wKvo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40b29a86-5612-458d-a628-999e471c0c14_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!wKvo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40b29a86-5612-458d-a628-999e471c0c14_1448x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wKvo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40b29a86-5612-458d-a628-999e471c0c14_1448x1086.png" width="1448" height="1086" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/40b29a86-5612-458d-a628-999e471c0c14_1448x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1086,&quot;width&quot;:1448,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2314254,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/195027941?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40b29a86-5612-458d-a628-999e471c0c14_1448x1086.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wKvo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40b29a86-5612-458d-a628-999e471c0c14_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!wKvo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40b29a86-5612-458d-a628-999e471c0c14_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!wKvo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40b29a86-5612-458d-a628-999e471c0c14_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!wKvo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40b29a86-5612-458d-a628-999e471c0c14_1448x1086.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;bf3b6963-954d-4de5-a0b7-ae2b1555211f&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">Design a full-page modern website homepage for a crochet courses platform.

Style: cozy, warm, soft, playful, handmade aesthetic. Feminine but not childish. Inspired by Scandinavian + Japanese calm design mixed with craft culture. Clean but emotional.

Visual direction:

Soft pastel color palette (peach, cream, sage green, dusty blue, warm beige)
Subtle paper texture background
Hand-drawn floral illustrations, small birds, yarn icons, hearts
Rounded cards, soft shadows, organic shapes
Slightly imperfect, handmade feeling (not too polished)
Editorial composition with strong hierarchy

Tone:

Warm, inviting, supportive
Focus on creativity, calmness, and joy
Feels like a safe, cozy space

Avoid:

Corporate SaaS look
Sharp edges or harsh colors
Overly trendy AI/glossy aesthetics</code></pre></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Rne!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0137c63-c93f-4819-812e-cf938e643de2_941x1672.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Rne!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0137c63-c93f-4819-812e-cf938e643de2_941x1672.png 424w, https://substackcdn.com/image/fetch/$s_!4Rne!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0137c63-c93f-4819-812e-cf938e643de2_941x1672.png 848w, https://substackcdn.com/image/fetch/$s_!4Rne!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0137c63-c93f-4819-812e-cf938e643de2_941x1672.png 1272w, https://substackcdn.com/image/fetch/$s_!4Rne!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0137c63-c93f-4819-812e-cf938e643de2_941x1672.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Rne!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0137c63-c93f-4819-812e-cf938e643de2_941x1672.png" width="941" height="1672" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0137c63-c93f-4819-812e-cf938e643de2_941x1672.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1672,&quot;width&quot;:941,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2316742,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/195027941?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0137c63-c93f-4819-812e-cf938e643de2_941x1672.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4Rne!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0137c63-c93f-4819-812e-cf938e643de2_941x1672.png 424w, https://substackcdn.com/image/fetch/$s_!4Rne!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0137c63-c93f-4819-812e-cf938e643de2_941x1672.png 848w, https://substackcdn.com/image/fetch/$s_!4Rne!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0137c63-c93f-4819-812e-cf938e643de2_941x1672.png 1272w, https://substackcdn.com/image/fetch/$s_!4Rne!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0137c63-c93f-4819-812e-cf938e643de2_941x1672.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/fMinZhou/status/2047214663721681288?s=20&quot;,&quot;full_text&quot;:&quot;GPT Image 2 is insanely good...I generated a 360&#176; equirectangular panorama in Happycapy with just a skill + prompt.  \n\nStep 1: Select the generate-image skill  \n\nStep 2: Enter a prompt like: &#8220;Use a frontend 360 viewer to display an equirectangular image of [&#8230;] using the &quot;,&quot;username&quot;:&quot;fMinZhou&quot;,&quot;name&quot;:&quot;Min Zhou&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2001938622401183744/vEPFQZe0_normal.jpg&quot;,&quot;date&quot;:&quot;2026-04-23T07:23:05.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://substackcdn.com/image/upload/w_1028,c_limit,q_auto:best/l_twitter_play_button_rvaygk,w_88/zisumyyid9yb1ydx3pmv&quot;,&quot;link_url&quot;:&quot;https://t.co/0ktJg7F97O&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:65,&quot;retweet_count&quot;:475,&quot;like_count&quot;:4355,&quot;impression_count&quot;:321654,&quot;expanded_url&quot;:null,&quot;video_url&quot;:&quot;https://video.twimg.com/amplify_video/2047213896185110528/vid/avc1/1394x720/GuMlqwQOE5EbQP7c.mp4&quot;,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p></p><h3>GPT 5.5</h3><p>OpenAI shipped GPT 5.5 a few days later, and it is the first model of theirs I would put next to Opus 4.7 without flinching.</p><p>5.5 is a steep change in coding, and it is easy to talk to. That combination is rare. It is slower than Opus in response time. When the response does land, it is more detailed and more structured. Architecture overviews are better. It can work longer without interrupting to ask what you meant.</p><p>It is also a better writer than previous OpenAI models. And it does not just execute the task I gave it. It starts suggesting what might be smart to add or change next. That shift, from &#8220;assistant that replies&#8221; to &#8220;agent that nudges,&#8221; is the real story with 5.5.</p><p><strong>Where 5.5 pulled the most weight this week:</strong></p><ul><li><p><strong>Agentic knowledge work.</strong> This is the first OpenAI model that manages to be both a stellar senior engineer and a tool you can point at a spreadsheet, a research doc, or a rough brief. Crazy fast. Amazing inside the Codex desktop app.</p></li><li><p><strong>Long-running tasks.</strong> Opus 4.7 still needs hand-holding every few steps on big jobs. 5.5 runs further on its own. During the testing week, much of my team switched from Claude Code to Codex on GPT 5.5 for exactly this reason.</p></li><li><p><strong>Writing drafts that do not read like model output.</strong> The writing regression I keep hitting on 4.7 is not there on 5.5.</p></li></ul><p><strong>Where Opus 4.7 still wins:</strong></p><ul><li><p><strong>Plan quality.</strong> Opus 4.7&#8217;s plans have sharper insight and better attention to detail. If the quality of the plan decides the quality of the build, Opus is still my pick. </p></li><li><p><strong>Front-end and full-stack product work.</strong> 5.5 gets close. Opus is still a step ahead.</p></li><li><p><strong>Vibe coding without a plan.</strong> 5.5 is a great vibe coder with a plan. Without one, it is worse than Opus.</p></li></ul><p><strong>The working split.</strong> Opus 4.7 for the plan and for design-heavy front-end work. GPT 5.5 inside Codex for long agentic runs, research reading, and writing drafts. I switch between them inside the same task now, which is a strange feeling after two years of running almost exclusively on Claude.</p><p>For design-system work specifically, the pairing I am settling into is: plan in Claude with Opus 4.7, execute long audits and front-end build in Codex with 5.5, back to Claude for the doc generation.</p><p><strong>Image 2 inside Codex.</strong> </p><p>The pairing I did not expect. Image 2 running inside Codex reads a whole database quickly, and connects to plugins without the usual setup tax. For anything that spans a DB and a handful of integrated tools, this is already the fastest setup I have used this week. I am still figuring out what it means for design-system work specifically, but it is the combination I keep reaching for.</p><p>Then I tried and used my <strong><a href="https://tokens-game.vercel.app/">Token Hunter game</a></strong> and applied Image 2 capabilities in Codex.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CNv_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F653d01d8-ef0e-4402-b5cf-f660c19ef25b_1656x906.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CNv_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F653d01d8-ef0e-4402-b5cf-f660c19ef25b_1656x906.png 424w, https://substackcdn.com/image/fetch/$s_!CNv_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F653d01d8-ef0e-4402-b5cf-f660c19ef25b_1656x906.png 848w, https://substackcdn.com/image/fetch/$s_!CNv_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F653d01d8-ef0e-4402-b5cf-f660c19ef25b_1656x906.png 1272w, https://substackcdn.com/image/fetch/$s_!CNv_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F653d01d8-ef0e-4402-b5cf-f660c19ef25b_1656x906.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CNv_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F653d01d8-ef0e-4402-b5cf-f660c19ef25b_1656x906.png" width="1456" height="797" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/653d01d8-ef0e-4402-b5cf-f660c19ef25b_1656x906.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:797,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:211094,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/195027941?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F653d01d8-ef0e-4402-b5cf-f660c19ef25b_1656x906.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CNv_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F653d01d8-ef0e-4402-b5cf-f660c19ef25b_1656x906.png 424w, https://substackcdn.com/image/fetch/$s_!CNv_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F653d01d8-ef0e-4402-b5cf-f660c19ef25b_1656x906.png 848w, https://substackcdn.com/image/fetch/$s_!CNv_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F653d01d8-ef0e-4402-b5cf-f660c19ef25b_1656x906.png 1272w, https://substackcdn.com/image/fetch/$s_!CNv_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F653d01d8-ef0e-4402-b5cf-f660c19ef25b_1656x906.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jji4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c2ee13-dd88-4af8-ac78-ee031433c3ef_3024x1660.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jji4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c2ee13-dd88-4af8-ac78-ee031433c3ef_3024x1660.png 424w, https://substackcdn.com/image/fetch/$s_!jji4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c2ee13-dd88-4af8-ac78-ee031433c3ef_3024x1660.png 848w, https://substackcdn.com/image/fetch/$s_!jji4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c2ee13-dd88-4af8-ac78-ee031433c3ef_3024x1660.png 1272w, https://substackcdn.com/image/fetch/$s_!jji4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c2ee13-dd88-4af8-ac78-ee031433c3ef_3024x1660.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jji4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c2ee13-dd88-4af8-ac78-ee031433c3ef_3024x1660.png" width="1456" height="799" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17c2ee13-dd88-4af8-ac78-ee031433c3ef_3024x1660.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:799,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5864418,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/195027941?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c2ee13-dd88-4af8-ac78-ee031433c3ef_3024x1660.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jji4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c2ee13-dd88-4af8-ac78-ee031433c3ef_3024x1660.png 424w, https://substackcdn.com/image/fetch/$s_!jji4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c2ee13-dd88-4af8-ac78-ee031433c3ef_3024x1660.png 848w, https://substackcdn.com/image/fetch/$s_!jji4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c2ee13-dd88-4af8-ac78-ee031433c3ef_3024x1660.png 1272w, https://substackcdn.com/image/fetch/$s_!jji4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c2ee13-dd88-4af8-ac78-ee031433c3ef_3024x1660.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>80/20 rule</h2><p>The same phrase kept coming up in every video and every blog post I read this week. The 90/10 rule. AI generates 90% of the artifact in minutes. The last 10% is a human making colors, copy, and hierarchy choices.</p><p>I would say it is closer to 80/20. And the 20 that is still on me is not just polish. It is foundations, tokens., components, strategy, written design decisions, knowledge graph. </p><p>That is the real shift. Not &#8220;AI replaces designers.&#8221; Not &#8220;Figma is dead.&#8221; Just: <strong>your design system moved one layer up. <a href="https://learn.thedesignsystem.guide/p/why-your-design-system-is-the-most">It is your infrastructure. </a></strong></p><p>Happy experimenting, and let me know how it goes. &#128588;</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>OpenBridge design system (Lit-based web components) OPEN-SOURCED. </strong></p><p>His Royal Highness Crown Prince Haakon and Prince Sverre Magnus of Norway officially launched a comprehensive, open-source code library for the maritime industry.<br><br><strong>Kjetil Nordby</strong> : "By offering ready-to-use code, we are making it significantly cheaper and easier to adopt the standard for user-friendly, safety-critical design."<br><br>Kjetil Nordby and his team at the Oslo School of Architecture and Design spent eight years building it. 40+ industry, academic, and public partners. <br><br>Now you can easily create user-friendly OpenBridge 6.1 user interfaces for maritime and other industrial workplaces.</p><p>&#128279; <strong><a href="https://github.com/Ocean-Industries-Concept-Lab/openbridge-webcomponents">GitHub</a></strong><br>&#128279; <strong><a href="https://openbridge-jip-storybook.web.app/?path=/docs/introduction-introduction--docs">Storybook</a></strong><br>&#128279; <strong><a href="https://www.figma.com/community/file/1468161149546275705">Figma file </a></strong><br>&#128279;<strong> <a href="https://www.openbridge.no/">Official site</a></strong></p>]]></content:encoded></item><item><title><![CDATA[What I Learned from Analyzing 158 Design Systems]]></title><description><![CDATA[What gets built first, what gets skipped, and what it costs you.]]></description><link>https://learn.thedesignsystem.guide/p/i-analyzed-158-design-systems-heres</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/i-analyzed-158-design-systems-heres</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sun, 12 Apr 2026 05:58:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Xkrk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xkrk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xkrk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!Xkrk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!Xkrk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!Xkrk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xkrk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:226928,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Xkrk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!Xkrk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!Xkrk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!Xkrk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I spent a few years collecting public design systems into my Airtable. I tracked what each system actually ships: tokens, GitHub repos. I have now used AI and gathered valuable insights. </p><p>The finding that surprised me most: almost no design system ships all the &#8220;layers&#8221;. They all make trade-offs. And the trade-offs follow a pattern.</p><div><hr></div><h2>The seven layers of a design system</h2><p>A design system can serve its users in seven ways. I checked which of these layers each system makes publicly available:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!120l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!120l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 424w, https://substackcdn.com/image/fetch/$s_!120l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 848w, https://substackcdn.com/image/fetch/$s_!120l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 1272w, https://substackcdn.com/image/fetch/$s_!120l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!120l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png" width="780" height="751" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:751,&quot;width&quot;:780,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56999,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!120l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 424w, https://substackcdn.com/image/fetch/$s_!120l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 848w, https://substackcdn.com/image/fetch/$s_!120l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 1272w, https://substackcdn.com/image/fetch/$s_!120l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>What this tells you </h3><p>This measures <strong>how many layers a system makes available</strong>, not how good any layer is. It also only measures what&#8217;s <strong>public</strong>. Some systems have excellent internal Figma libraries, Storybooks, and docs that score low here because the outside world can&#8217;t see them. I&#8217;m not scoring quality. I&#8217;m mapping coverage.</p><h3>A note on the dataset</h3><p>The <strong>158 systems</strong> were collected from public sources: documentation sites, GitHub repositories, Figma community files, npm registries, and design system directories. Each entry was manually verified against its live URL. Some systems required deeper digging than others.</p><div><hr></div><h2>What the data shows</h2><p>89% have code examples. That&#8217;s the first layer teams build. But after that, each subsequent layer drops off sharply. Only 37% add usage guidelines. Only 21% document accessibility. Only 13% include content guidelines.</p><p>Three systems scored a perfect 7: <strong>Polaris</strong> (Shopify), <strong>Paste</strong> (Twilio), and <strong>eBay Playbook</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rHRz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rHRz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 424w, https://substackcdn.com/image/fetch/$s_!rHRz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 848w, https://substackcdn.com/image/fetch/$s_!rHRz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 1272w, https://substackcdn.com/image/fetch/$s_!rHRz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rHRz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png" width="1000" height="139" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:139,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:20308,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rHRz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 424w, https://substackcdn.com/image/fetch/$s_!rHRz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 848w, https://substackcdn.com/image/fetch/$s_!rHRz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 1272w, https://substackcdn.com/image/fetch/$s_!rHRz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h2>The leaderboard</h2><p>Look at the top. Shopify. Twilio. Workday. Microsoft. Salesforce. These are companies with dedicated design infrastructure teams and years of investment. The gap between them and the average is not small. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s8Mk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s8Mk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 424w, https://substackcdn.com/image/fetch/$s_!s8Mk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 848w, https://substackcdn.com/image/fetch/$s_!s8Mk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 1272w, https://substackcdn.com/image/fetch/$s_!s8Mk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s8Mk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png" width="724.65625" height="1548.952734375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:2736,&quot;width&quot;:1280,&quot;resizeWidth&quot;:724.65625,&quot;bytes&quot;:229877,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!s8Mk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 424w, https://substackcdn.com/image/fetch/$s_!s8Mk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 848w, https://substackcdn.com/image/fetch/$s_!s8Mk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 1272w, https://substackcdn.com/image/fetch/$s_!s8Mk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Accessibility is still a lower priority</h2><p>Only 34 systems explicitly mention accessibility. That&#8217;s 21%.</p><p>4 systems have accessibility <em>issues</em> flagged. Meaning someone noted problems.</p><p>Some of these systems probably have accessible components under the hood. They just don&#8217;t document it or surface it as a priority. But if you don&#8217;t talk about it, your adopters won&#8217;t prioritize it either.</p><div><hr></div><h2>The tech landscape</h2><p>React dominates. But the picture is more interesting than &#8220;React won.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C5jy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C5jy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 424w, https://substackcdn.com/image/fetch/$s_!C5jy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 848w, https://substackcdn.com/image/fetch/$s_!C5jy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 1272w, https://substackcdn.com/image/fetch/$s_!C5jy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C5jy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png" width="1456" height="1372" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1372,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107591,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C5jy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 424w, https://substackcdn.com/image/fetch/$s_!C5jy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 848w, https://substackcdn.com/image/fetch/$s_!C5jy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 1272w, https://substackcdn.com/image/fetch/$s_!C5jy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>React is the default.</strong> More than half of all systems use it. No surprise.</p><p><strong>Web Components are the quiet second wave.</strong> These are not startups experimenting. These are large organizations making a deliberate bet on framework-agnostic components.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0WJS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0WJS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 424w, https://substackcdn.com/image/fetch/$s_!0WJS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 848w, https://substackcdn.com/image/fetch/$s_!0WJS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 1272w, https://substackcdn.com/image/fetch/$s_!0WJS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0WJS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png" width="1456" height="1733" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1733,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:564711,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0WJS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 424w, https://substackcdn.com/image/fetch/$s_!0WJS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 848w, https://substackcdn.com/image/fetch/$s_!0WJS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 1272w, https://substackcdn.com/image/fetch/$s_!0WJS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Tailwind is the new entrant.</strong> 8 systems: shadcn/ui, daisyUI, Flowbite, Tremor, HeroUI, Nessie, Nuxt UI, Park UI. All relatively new. All growing fast. The utility-first, copy-paste model is rewriting the distribution rules.</p><p><strong>15 systems support 3+ technologies.</strong> Carbon (IBM) leads with 6: React, Vanilla JS, Angular, Vue, Svelte, Web Components. That&#8217;s not a design system. That&#8217;s a platform.</p><div><hr></div><h2>The Tailwind gap</h2><p>This one surprised me.</p><p>There are 8 Tailwind-based design systems in the dataset: shadcn/ui, daisyUI, Flowbite, Tremor, HeroUI, Nessie, Nuxt UI, Park UI. They are some of the <strong>fastest-growing</strong> projects in the ecosystem. <strong>shadcn/ui alone has 112K GitHub stars.</strong></p><p>But across all 8 systems, not a single one documents accessibility. Not one includes content guidelines. </p><p>This isn&#8217;t a criticism of Tailwind. It&#8217;s a pattern about what happens when the distribution model is &#8220;copy this code.&#8221; The copy-paste philosophy solves the adoption problem brilliantly. But it skips the layers that make a design system more than a component starter kit. When you own the code, nobody is responsible for documenting when to use it, how to make it accessible, or how to write the words inside it.</p><p>The question is whether these systems will fill in those layers as they mature. Or whether the &#8220;you own it, you document it&#8221; model means those layers never get built centrally.</p><div><hr></div><h2>Tone of voice</h2><p>Only 21 systems out of 158 include content guidelines. 13%.</p><p>But look at <em>which</em> 20. Sainsbury&#8217;s. Polaris (Shopify). Atlassian. Lightning (Salesforce). NHS Digital. Pharos (JSTOR). Bolt. Workday Canvas. Paste (Twilio).</p><p>These are retail, fintech, healthcare, government, and enterprise SaaS. Industries where getting the words wrong has consequences. An error message that says the wrong thing in a banking app isn&#8217;t just bad UX. It&#8217;s a <strong>compliance risk. </strong>A healthcare system that uses inconsistent terminology isn&#8217;t just confusing. <strong>It&#8217;s dangerous.</strong></p><p>The systems that ship tone of voice aren&#8217;t doing it because they&#8217;re more thorough than everyone else. They&#8217;re doing it because their industry demands it. Content guidelines aren&#8217;t a &#8220;nice to have&#8221; when regulators read your interfaces.</p><p><strong>But compliance isn&#8217;t the only reason.</strong> When 10 teams use your Button component and each writes different label text, different error messages, different confirmation dialogs, your product speaks in 10 different voices. Content guidelines aren&#8217;t a legal checkbox. They&#8217;re how you keep the experience consistent at scale. Without them, your design system controls how things look but not what they say. That&#8217;s half a system.</p><div><hr></div><h2>The documentation gap</h2><p>89% of systems have code examples. </p><p>But only 37% tell you <em>when</em> to use a component. Only 21% tell you how to make it accessible. Only 13% tell you how to write the content inside it.</p><p>33 systems have code examples but no usage guidelines and no accessibility documentation. They show you <em>how</em> to implement a button. They don&#8217;t tell you <em>which</em> button to use, <em>when</em>, or <em>why</em>.</p><p>A design system without usage guidelines is a component library. A component library without accessibility documentation is a liability.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!caaH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!caaH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 424w, https://substackcdn.com/image/fetch/$s_!caaH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 848w, https://substackcdn.com/image/fetch/$s_!caaH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!caaH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!caaH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png" width="1456" height="956" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:956,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77941,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!caaH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 424w, https://substackcdn.com/image/fetch/$s_!caaH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 848w, https://substackcdn.com/image/fetch/$s_!caaH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!caaH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>How many components do the top systems actually ship?</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;2cde9d36-0b13-4ad7-9f33-a1defb810e7b&quot;,&quot;duration&quot;:null}"></div><p>This one gets misunderstood constantly. People equate &#8220;big design system&#8221; with &#8220;lots of components.&#8221; The data says otherwise.</p><p>The range is massive. </p><p>More components is <strong>not </strong>better. More components is more to maintain, more to document, more to keep accessible. The systems that score highest aren&#8217;t the ones with the most components. They&#8217;re the ones that document the components they have.</p><div><hr></div><h2>How many design tokens power these systems?</h2><p>I counted CSS custom properties and documented tokens across the top systems. Some counts are verified from the source code. Others are estimates from documentation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3WaF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3WaF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 424w, https://substackcdn.com/image/fetch/$s_!3WaF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 848w, https://substackcdn.com/image/fetch/$s_!3WaF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 1272w, https://substackcdn.com/image/fetch/$s_!3WaF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3WaF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png" width="1456" height="1594" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1594,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134414,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3WaF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 424w, https://substackcdn.com/image/fetch/$s_!3WaF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 848w, https://substackcdn.com/image/fetch/$s_!3WaF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 1272w, https://substackcdn.com/image/fetch/$s_!3WaF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>The popularity contest nobody asked for</h2><p><strong>npm downloads</strong> measure one thing: who gets <code>npm install</code>ed. Open community libraries naturally dominate here. Enterprise and internal systems are consumed behind firewalls, not through public registries.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9F2s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9F2s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 424w, https://substackcdn.com/image/fetch/$s_!9F2s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 848w, https://substackcdn.com/image/fetch/$s_!9F2s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 1272w, https://substackcdn.com/image/fetch/$s_!9F2s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9F2s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png" width="1456" height="1525" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1525,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107541,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9F2s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 424w, https://substackcdn.com/image/fetch/$s_!9F2s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 848w, https://substackcdn.com/image/fetch/$s_!9F2s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 1272w, https://substackcdn.com/image/fetch/$s_!9F2s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Stars don&#8217;t mean what you think</h2><p>I almost didn&#8217;t include this chart. But the myth of &#8220;more stars = better system&#8221; needs data thrown at it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F3iS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F3iS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 424w, https://substackcdn.com/image/fetch/$s_!F3iS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 848w, https://substackcdn.com/image/fetch/$s_!F3iS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!F3iS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F3iS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png" width="1456" height="1019" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1019,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74812,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!F3iS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 424w, https://substackcdn.com/image/fetch/$s_!F3iS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 848w, https://substackcdn.com/image/fetch/$s_!F3iS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!F3iS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>The architecture fingerprint</h2><p>I divided each system&#8217;s token count by its component count. The ratio tells you something fundamental about design philosophy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gj4V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gj4V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 424w, https://substackcdn.com/image/fetch/$s_!gj4V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 848w, https://substackcdn.com/image/fetch/$s_!gj4V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!gj4V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gj4V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png" width="780" height="1184" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1184,&quot;width&quot;:780,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:92219,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gj4V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 424w, https://substackcdn.com/image/fetch/$s_!gj4V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 848w, https://substackcdn.com/image/fetch/$s_!gj4V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!gj4V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p>I&#8217;ve thrown a lot of numbers at you. Here&#8217;s what they change about how I&#8217;d build a design system today.</p><ol><li><p><strong>Write usage guidelines before building more components.</strong> </p></li><li><p><strong>Add accessibility documentation now.</strong></p></li><li><p><strong>Add Storybook before another component.</strong></p></li><li><p><strong>Ship decision logic, not just components.</strong> </p></li><li><p><strong>Content guidelines are required if you&#8217;re regulated.</strong> </p></li><li><p><strong>Fund it like an infrastructure.</strong></p></li></ol><div><hr></div><h2>Why this matters more than it used to</h2><p>I&#8217;ve spent the past year building agentic design systems. AI agents that audit tokens, compose patterns, generate documentation, and open pull requests. I wrote about the architecture in Parts 1, 2 and 3 of that series.</p><p>But here&#8217;s the thing I keep running into: <strong>agents can only work with what&#8217;s documented. </strong>An AI agent can&#8217;t use a component that has no usage guidelines. It can&#8217;t check accessibility if accessibility isn&#8217;t described. It can&#8217;t compose a pattern from a system that only ships code and a landing page.</p><p>Everyone is talking about AI agents for design systems. This data shows that many systems aren&#8217;t ready for a human to use properly, let alone a machine.</p><p>Fix the layers first. The agents will follow. &#128588;</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>MemPalace / </strong>Free, local AI memory system that stores your entire chat history and makes it searchable across sessions. 96.6% recall, no cloud, works with Claude/Cursor/ChatGPT</p><p>&#128279; <strong><a href="http://github.com/milla-jovovich/mempalace">Link</a></strong></p><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b66f0c1a-e295-4248-af79-326cf80c0c08&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why your design system is the most important asset in the AI era&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-03-29T09:18:46.507Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!mqJ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/why-your-design-system-is-the-most&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:192390627,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:40,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p>]]></content:encoded></item><item><title><![CDATA[The Self-Healing Design System]]></title><description><![CDATA[Agentic Design Systems, part 3]]></description><link>https://learn.thedesignsystem.guide/p/the-self-healing-design-system</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/the-self-healing-design-system</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sat, 04 Apr 2026 09:40:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!N4qr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N4qr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N4qr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 424w, https://substackcdn.com/image/fetch/$s_!N4qr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 848w, https://substackcdn.com/image/fetch/$s_!N4qr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 1272w, https://substackcdn.com/image/fetch/$s_!N4qr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N4qr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:736859,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193053173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!N4qr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 424w, https://substackcdn.com/image/fetch/$s_!N4qr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 848w, https://substackcdn.com/image/fetch/$s_!N4qr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 1272w, https://substackcdn.com/image/fetch/$s_!N4qr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b66f0c1a-e295-4248-af79-326cf80c0c08&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why your design system is the most important asset in the AI era&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-03-29T09:18:46.507Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!mqJ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/why-your-design-system-is-the-most&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:192390627,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:40,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>In Part 1 and 2, I made the case that design systems are the semantic layer that makes AI-assisted design possible. The understanding, not the code, is the asset.</p><p>Now let&#8217;s talk about the machinery AND the judgment calls. The architecture, the self-healing loop, what AI genuinely cannot do, and three phases you can start this week.</p><div><hr></div><h2>The architecture</h2><p>This is the architecture I&#8217;ve built over the past year.</p><p>At the center: <strong>Claude Code</strong> as the orchestration layer. Connected via MCP to <strong>Figma</strong> (through my Tidy plugin), to <strong>GitHub</strong>, to <strong>Storybook</strong>, to <strong>PostHog</strong> (analytics) , to <strong><a href="https://go.granola.ai/romina-kavcic">Granola</a></strong> (meeting notes), to <strong>Sentry</strong> for error monitoring, to the <strong>documentation layer</strong>, and to the <strong>Observatory</strong> dashboard.</p><p><strong>&#128075; A note on tooling: </strong></p><p>Claude Code is not the only option here. Because everything connects through MCP, the orchestration layer is swappable. I&#8217;ve tested Cursor, Codex, and other AI coding tools in this setup. <strong>I also run the same exercises </strong>across new models whenever they come out (Gemini, GPT 5.2 through 5.4, Llama, Mistral) to benchmark how they handle token naming, component composition, and system-level reasoning. Claude Code consistently delivered the best results for design system work, particularly in reasoning about component relationships and token semantics. But the architecture doesn&#8217;t lock you in. If a better tool shows up tomorrow, you swap the center, and everything else stays the same. That&#8217;s the point of building on a protocol, not a product.</p><p>The loop is:</p><ol><li><p><strong>Watch.</strong> Detect drift in tokens, components, and docs.</p></li><li><p><strong>Analyze.</strong> Score severity, prioritize fixes.</p></li><li><p><strong>Execute.</strong> Generate PRs, update docs, sync tokens.</p></li><li><p><strong>Observe.</strong> Verify results and loop back.</p></li></ol><p>But here&#8217;s the thing. This architecture only works because the <strong>foundation is solid. </strong>Without clean token naming, without component descriptions, without intent documentation, the agent has nothing meaningful to work with. </p><p></p>
      <p>
          <a href="https://learn.thedesignsystem.guide/p/the-self-healing-design-system">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Why your design system is the most important asset in the AI era]]></title><description><![CDATA[Agentic Design Systems, part 2]]></description><link>https://learn.thedesignsystem.guide/p/why-your-design-system-is-the-most</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/why-your-design-system-is-the-most</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sun, 29 Mar 2026 09:18:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mqJ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mqJ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mqJ1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!mqJ1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!mqJ1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!mqJ1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mqJ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:321289,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/192390627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mqJ1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!mqJ1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!mqJ1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!mqJ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p>This year I gave a talk at the Into Design Systems conference called <strong>Agentic Design Systems</strong>. The response genuinely caught me off guard. Thank you to everyone who showed up, stayed engaged, and sent those messages. It means more than you know.</p><p>A year ago, I already presented at IDS and talked about context-aware design systems. A vision. Something we could see coming but couldn&#8217;t quite build yet.</p><p>This year, I came back with tools, numbers, and failures. Real ones.</p><p>This series covers everything from that talk. Not as a transcript, but as something you can actually use. If you&#8217;re building a design system today, or thinking about what AI means for your system, this is for you.</p><p>Let&#8217;s start with the shift that changes everything.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!33eO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!33eO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 424w, https://substackcdn.com/image/fetch/$s_!33eO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 848w, https://substackcdn.com/image/fetch/$s_!33eO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 1272w, https://substackcdn.com/image/fetch/$s_!33eO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!33eO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png" width="1456" height="887" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:887,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:672740,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/192390627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!33eO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 424w, https://substackcdn.com/image/fetch/$s_!33eO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 848w, https://substackcdn.com/image/fetch/$s_!33eO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 1272w, https://substackcdn.com/image/fetch/$s_!33eO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Your design system is infrastructure</h2><p>Before anything else, I need to set one thing straight.</p><p>A design system is not a side project. It is not a nice-to-have. <strong>It is infrastructure.</strong> The same way your CI/CD pipeline is infrastructure. The same way your database is infrastructure.</p><p>And right now, in 2026, design systems are more important than they have ever been. Every product team is shipping faster than ever. AI is generating code at scale. And the only thing standing between your product and total inconsistency is the system that governs it.</p><p>Design systems reduce rework. They enforce brand. They catch accessibility issues before your users do. If you still need to justify your design system to leadership, frame it as infrastructure. Because that&#8217;s what it is.</p><blockquote><p><strong>The design system is the API that allows AI to build your product safely.</strong></p></blockquote><p>That&#8217;s not a metaphor. That&#8217;s literally what&#8217;s happening.</p><div><hr></div><h2>The numbers that should wake you up</h2><p>Let me set the scene with what happened in the 12 months between IDS 2025 and IDS 2026:</p><ul><li><p><strong>28+ frontier models</strong> released by 6 major labs in under 10 months</p></li><li><p><strong>$226 billion</strong> invested in AI. Nearly 2x the year before.</p></li><li><p><strong>84%</strong> of developers now use AI tools daily</p></li><li><p><strong>41%</strong> of all new code written in 2025 was AI-generated</p></li></ul><p>Claude Code hit a <strong>billion</strong> dollars in revenue in under 12 months. The MCP ecosystem went from 100K to 8 million downloads. <strong>Gartner says 40% of enterprise apps will embed AI agents by end of this year.</strong></p><p>This is the environment your design system lives in. Code is being generated faster than anyone can review it.</p><p>And that changes everything about how we think about governance.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SfL-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SfL-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 424w, https://substackcdn.com/image/fetch/$s_!SfL-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 848w, https://substackcdn.com/image/fetch/$s_!SfL-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 1272w, https://substackcdn.com/image/fetch/$s_!SfL-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SfL-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png" width="1456" height="721" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:721,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:105876,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/192390627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SfL-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 424w, https://substackcdn.com/image/fetch/$s_!SfL-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 848w, https://substackcdn.com/image/fetch/$s_!SfL-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 1272w, https://substackcdn.com/image/fetch/$s_!SfL-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>The economics have flipped</h2><p>When code is cheap and understanding it is expensive, architecture must optimize for the impermanence of code.</p><p>We all know by now that developers using AI agents ship faster. Studies show a 39% productivity increase. But the interesting part is where the gain comes from. It's not that people write more code. <strong>The work shifts from syntactic to semantic.</strong> From "how do I write this" to "what should this do and why."</p><p><strong>That&#8217;s exactly the shift design systems need to make.</strong></p><p>A developer can generate a button component in 30 seconds with AI. But that button won&#8217;t know it should use your danger token inside an alert. It won&#8217;t know it should be secondary inside a card. It won&#8217;t respect your spacing scale.</p><p>The code is free. The understanding is the expensive part.</p><p>And that understanding? <strong>That&#8217;s what your design system encodes.</strong> Your tokens, your naming conventions, your component intent, your usage guidelines. That&#8217;s the real asset.</p><p>So when people ask me &#8220;will AI replace design systems?&#8221; I tell them: <strong>AI makes design systems more critical than ever.</strong> Because AI generates code. Design systems generate understanding.</p><h2>How an agent actually works</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!80WC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!80WC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 424w, https://substackcdn.com/image/fetch/$s_!80WC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 848w, https://substackcdn.com/image/fetch/$s_!80WC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 1272w, https://substackcdn.com/image/fetch/$s_!80WC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!80WC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png" width="1456" height="595" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:595,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:301714,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/192390627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!80WC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 424w, https://substackcdn.com/image/fetch/$s_!80WC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 848w, https://substackcdn.com/image/fetch/$s_!80WC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 1272w, https://substackcdn.com/image/fetch/$s_!80WC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Let me make this concrete. One story runs through the entire talk: <strong>a team needs a destructive confirmation dialog.</strong></p><p>A developer says: &#8220;I need a confirmation dialog for deleting a workspace.&#8221;</p><p>Watch what happens when an agent handles this:</p><ol><li><p><strong>Reading context.</strong> It pulls in your component index, your token structure, your usage guidelines.</p></li><li><p><strong>Thinking.</strong> It knows Dialog exists. It knows Button has a <code>destructive</code> variant. It knows Alert has a <code>warning</code> slot.</p></li><li><p><strong>Planning.</strong> Dialog + Alert + two Buttons. Destructive primary, secondary cancel. <code>color.bg.danger</code> for the action, not <code>color.bg.primary</code>.</p></li><li><p><strong>Acting.</strong> It assembles the pattern, applies the right tokens, and generates the code.</p></li></ol><p>What makes it agentic is three things: <strong>autonomy, tool use, and feedback loops.</strong> It doesn&#8217;t just answer a question. It takes action, observes the result, and adjusts.</p><p>But here&#8217;s the key: <strong>none of this works unless the agent has something to read.</strong> The components need to be described. The tokens need intent. The patterns need reasoning.</p><p>That&#8217;s what the rest of this series is about.</p><div><hr></div><h2>Intent changes everything</h2><p>The flow looks like this:</p><p><strong>Intent</strong> (natural language) -&gt; <strong>Context</strong> (extracted dimensions) -&gt; <strong>System output</strong> (specific guidance)</p><p>&#8220;I need a confirmation dialog for deleting a workspace&#8221; is the intent.</p><p>The system extracts five dimensions from that: component type, action severity, user flow, token scope, platform. These are the lenses the agent looks through.</p><p>The output isn&#8217;t a vague suggestion. It&#8217;s specific: Dialog + Alert + 2 Buttons. <code>color.bg.danger</code> token mapping. &#8220;Always pair with cancel&#8221; rule. A link to the Dialog component in Figma. A suggested composition template.</p><p>The agent doesn&#8217;t guess. It reads your system&#8217;s rules through these context layers.</p><p><strong>This only works if those rules exist.</strong></p><div><hr></div><h2>MCP: USB for AI</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zawM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zawM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 424w, https://substackcdn.com/image/fetch/$s_!zawM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 848w, https://substackcdn.com/image/fetch/$s_!zawM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 1272w, https://substackcdn.com/image/fetch/$s_!zawM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zawM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png" width="1456" height="703" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:703,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107635,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/192390627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zawM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 424w, https://substackcdn.com/image/fetch/$s_!zawM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 848w, https://substackcdn.com/image/fetch/$s_!zawM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 1272w, https://substackcdn.com/image/fetch/$s_!zawM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For any of this to work, the agent needs to connect to your tools. That&#8217;s where MCP comes in.</p><p><strong>Model Context Protocol</strong> is a standard way for AI agents to connect to external tools. Think of it as USB for AI. Instead of building custom integrations for every tool, you expose your tools as MCP servers and any AI agent can use them.</p><p>My most used MCPs: Figma, GitHub, Storybook, Chromatic, Granola, Notion, Jira, Stylelint, Linear, Mintlify. Each one gives the agent a different slice of context.</p><h3>CLI vs MCP: you need both</h3><p>A practical question I get a lot: do I need MCP for everything?</p><p>No. CLI and MCP serve different purposes.</p><p><strong>CLI is for speed.</strong> Direct command execution. Simple setup. No servers, no schemas. Fast experimentation. Designers can start immediately with local tools. Less context overhead, fewer reasoning loops. Great for single-tool workflows, like tasks happening entirely inside Figma.</p><p><strong>Here&#8217;s what CLI looks like in practice. </strong></p><p>I built a <code>token</code> command that resolves Figma token values straight from the terminal:</p><pre><code><code>$ token color.bg.danger
&#8594; #DC2626 (alias: primitives/red-600)</code></code></pre><p><strong>Or composing a full UI pattern with one shell script:</strong></p><pre><code><code>$ ./patterns/run-pattern.sh destructive-confirmation
&#8594; Creating frame in Figma...
&#8594; Dialog + Alert + Button(destructive) + Button(secondary)
&#8594; Tokens bound: color.bg.danger, color.text.on-danger
&#8594; Done. Check your Figma canvas.</code></code></pre><p>No MCP server running. No schema negotiation. Just a direct HTTP call to a Figma plugin that exposes a local API, and the pattern appears on your canvas (will share more in part 3). You can read token values, compose patterns, and run audits without any agent infrastructure. That&#8217;s the power of CLI: you go from zero to useful in minutes.</p><p><strong>MCP is for scale.</strong> When the agent needs to <strong>orchestrate multiple tools.</strong> Connect Figma, GitHub, Storybook, docs, CI in one flow. The agent understands structured design data: components, tokens, variants. Changes propagate end-to-end from design to code to docs. It enables autonomous agents that detect, analyze, plan, and fix. Standardized protocol that runs in CI pipelines. Scales across teams.</p><p><strong>Where MCP shines </strong>is when the <strong>agent needs to connect the dots across tools.</strong> &#8220;A token changed in Figma. Which components use it? Which pages are affected? What&#8217;s the traffic on those pages? Should I open a PR?&#8221; That&#8217;s four different data sources (Figma, GitHub, PostHog, the knowledge graph) orchestrated in one flow. CLI can&#8217;t do that. MCP can.</p><p><strong>CLI for speed. MCP for scale. The best systems use both.</strong> We used both in our setup: Tidy&#8217;s HTTP API for CLI-speed pattern composition, with MCP&#8217;s structured component and token data for the orchestration layer.</p><div><hr></div><h2>The three layers that make components machine-readable</h2><p>This is where most design systems fall short. I see teams with a component library and tokens, but the agent can&#8217;t do anything useful with them because they&#8217;re missing layers.</p><p>There are three layers an agent needs:</p><h3>Layer 1: The Index</h3><p><strong>What exists, what uses what, what depends on what.</strong></p><p>The agent knows Dialog exists. It knows Button has 4 variants. It knows Alert connects to both. This is the relationship map.</p><p>Without the index, the agent is blind.</p><h3>Layer 2: Metadata</h3><p><strong>This is the how and why. </strong></p><p>The component description for Button says: &#8220;use the destructive variant for irreversible actions, always paired with a cancel option.&#8221;</p><p>That single sentence is what told the agent to add a secondary cancel button. Without metadata, the agent knows components exist but not when to use them.</p><h3>Layer 3: Reasoning</h3><p><strong>The selection logic. </strong></p><p>For a confirmation dialog, compose Dialog + Alert + two Buttons. For a login form, compose Input + Input + Button.</p><p>This is the playbook. Without reasoning, the agent assembles random parts.</p><p><strong>Most design systems today have some of layer one, very little of layer two, and almost none of layer three.</strong> That&#8217;s the gap we need to close.</p><p>And closing it is not a year-long project. Writing 554 component descriptions took me one session with AI. </p><h2>Context makes the same component behave differently</h2><p>Here&#8217;s what context-aware means in practice.</p><p>Same component: <strong>Button.</strong> Three different contexts:</p><ul><li><p><strong>In an alert:</strong> use <code>bg-danger</code>. Intent: destructive action. Always pair with a cancel button.</p></li><li><p><strong>In a card:</strong> use <code>bg-neutral</code>. Intent: secondary action. Don&#8217;t compete with page-level CTAs.</p></li><li><p><strong>In the nav:</strong> use <code>bg-brand</code>. Intent: conversion action. One per nav bar maximum.</p></li></ul><p>Same Accordion component. FAQ gets question-phrased headers (&#8221;How do I reset my password?&#8221;). Settings gets noun-phrased headers (&#8221;Notification settings&#8221;).</p><p>The agent writes different docs for each because it knows WHERE the component lives, not just what it is.</p><p>But here&#8217;s what nobody tells you: <strong>if the agent knows where a component lives, it can infer most of this automatically.</strong></p><p>Take Accordion. The agent sees it in FAQ, in Settings, and in Checkout. Same component. Three different contexts. Now it can write three different sets of documentation without anyone asking.</p><p>It figured that out by looking at 34 instances across 6 products. It can generate do/don&#8217;t examples. It can prioritize: a component on homepage and checkout is more critical than one only in admin.</p><p>The agent doesn&#8217;t just know the component spec. It knows the business context. And you get this for free if you map which pages represent which products.</p><div><hr></div><h2>Plant seeds, not trees</h2><p>I showed two videos in the talk. </p><p>First one: <strong>seeds. </strong>You plant them. You water them. You wait. <strong>Growth is slow but it&#8217;s real.</strong></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;58924964-98ae-4aee-b6fb-cbb207a86d6a&quot;,&quot;duration&quot;:null}"></div><p>Second one: <strong>trees.</strong> You buy them fully grown and drop them into your garden. <strong>Looks impressive on day one.</strong></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;1401fa01-6e40-4d71-af07-147dffc1c071&quot;,&quot;duration&quot;:null}"></div><p>Every team I talk to wants the tree. They want the fully autonomous agent that fixes everything. But that&#8217;s not how this works.</p><p><strong>You have to plant seeds. You have to build the foundation first:</strong> the naming conventions, the token structure, the component descriptions, knowledge graph. Then the automation grows on top of it.</p><p><strong>Without structure, AI amplifies noise at scale.</strong> With structure, it amplifies understanding.</p><div><hr></div><h2>What this means for you</h2><p>If you take one thing from this part of the series, let it be this:</p><p><strong>The asset is not just the code. The asset is the understanding.</strong></p><p>Your design system&#8217;s value isn&#8217;t in the React components or the Figma library. It&#8217;s in the naming conventions, the token intent, the component metadata, the usage reasoning, your knowledge graph. That&#8217;s what AI reads. That&#8217;s what makes the difference between a generic button and a button that belongs in your product.</p><p>Start there. </p><p>The rest of the series shows you how.</p><div><hr></div><p><strong>Next up: Part 3: The Self-Healing Design System</strong> where I&#8217;ll show the architecture, the MCP connections, the knowledge graph, and the self-healing loop that catches problems before they ship.</p><p></p><p>Stay tuned,<br>Romina</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Granola</strong></p><p>If you want to make an extra step when setting up an agentic design system, connect meeting notes to Claude via MCP and start using Granola. &#128293;<br>I use <strong>Granola</strong> and as additional data layer.<br><br>Granola is an AI notepad that transcribes your calls in the background. <br><br>NO MEETING BOTS. <br>No weird "AI assistant has joined the call."<br><br>You take notes as you normally would, and <strong><a href="https://go.granola.ai/romina-kavcic">Granola</a></strong> automatically turns them into structured summaries, action items, and next steps. It works on both Mac and Windows. <br><br>But here's where it gets powerful.<br><br>Granola supports MCP (Model Context Protocol). <br>That means your meeting notes flow straight into Claude or ChatGPT as searchable, queryable context. &#129327;<br><br>Instead of digging through old notes, I ask:<br><br>* "What did we decide about the component API last Tuesday?"<br>* "Pull all action items from client calls this month."<br>* "Summarize feedback from our last three design reviews."<br><br>5 seconds, boom, done. &#9989;<br><br>My workflow:<br><br>&#8618;&#65039; Meeting happens. I add quick notes. Granola transcribes in the background.<br>&#8618;&#65039; Meeting ends. Summary, action items, and next steps are ready instantly.<br>&#8618;&#65039; Recipes (pre-made prompts) help me write follow-ups or prep for the next call.<br>&#8618;&#65039; Zapier pushes action items to Linear, Jira, wherever work lives.<br>&#8618;&#65039; MCP connects it all to Claude. Every past conversation becomes a context I can query.<br><br>Try it and thank me later &#9786;&#65039; <strong><a href="https://go.granola.ai/romina-kavcic">I've got a link to a free month </a></strong></p><div><hr></div><p><strong>Recommended read &#8594; UX + AI </strong>written by<strong> </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Ileana&quot;,&quot;id&quot;:48566145,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/675d4668-f540-4240-bd26-d0c0600e02a7_1200x1200.jpeg&quot;,&quot;uuid&quot;:&quot;f9ea2581-7aa9-4f03-ba13-6b2297992033&quot;}" data-component-name="MentionToDOM"></span> &#10024;</p><p>This is a space for curious minds who care about how we design, build, and think about digital products in a world shaped by AI. Really recommend you follow Ileana and learn something new every week. </p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:187398456,&quot;url&quot;:&quot;https://ileanamarcut.substack.com/p/product-manager-designer-skills-overlap&quot;,&quot;publication_id&quot;:5103992,&quot;embedding_publication_id&quot;:null,&quot;publication_name&quot;:&quot;UX + AI&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!5nJF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a082fbf-6344-4bdd-919d-be9670ab4d24_400x400.png&quot;,&quot;title&quot;:&quot;Product in the Age of AI: When Product Manager and Designer Skills Start to Overlap&quot;,&quot;truncated_body_text&quot;:&quot;Over the last two years, the rise of AI has reshaped the design world.&quot;,&quot;date&quot;:&quot;2026-02-12T11:10:52.182Z&quot;,&quot;like_count&quot;:66,&quot;comment_count&quot;:28,&quot;bylines&quot;:[{&quot;id&quot;:48566145,&quot;name&quot;:&quot;Ileana&quot;,&quot;handle&quot;:&quot;ileanamarcut&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/675d4668-f540-4240-bd26-d0c0600e02a7_1200x1200.jpeg&quot;,&quot;bio&quot;:&quot;Product Strategist, UX Designer, Founder at Creative Glue Lab. Clarity and insights on how to build and design with and for AI.&quot;,&quot;profile_set_up_at&quot;:&quot;2025-05-22T16:56:55.125Z&quot;,&quot;reader_installed_at&quot;:&quot;2025-05-29T17:42:10.226Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:5206541,&quot;user_id&quot;:48566145,&quot;publication_id&quot;:5103992,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:5103992,&quot;name&quot;:&quot;UX + AI&quot;,&quot;subdomain&quot;:&quot;ileanamarcut&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Build better experiences in a world shaped by AI.\nPractical insights at the intersection of UX, AI, and Product Strategy.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a082fbf-6344-4bdd-919d-be9670ab4d24_400x400.png&quot;,&quot;author_id&quot;:48566145,&quot;primary_user_id&quot;:48566145,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2025-05-23T09:59:50.455Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Ileana Marcut&quot;,&quot;founding_plan_name&quot;:&quot;Build Better&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;magaziney&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:null}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:1,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;subscriber&quot;,&quot;tier&quot;:1,&quot;accent_colors&quot;:null},&quot;paidPublicationIds&quot;:[4097137,5380707,1252952],&quot;subscriber&quot;:null}},{&quot;id&quot;:27968736,&quot;name&quot;:&quot;Karo (Product with Attitude)&quot;,&quot;handle&quot;:&quot;karozieminski&quot;,&quot;previous_name&quot;:&quot;Karo&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!aG8-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599e664e-d6b8-4249-814a-4feadc68d706_1096x1096.png&quot;,&quot;bio&quot;:&quot;AI Product Manager turning everyone into AI-native builders. I help you design &amp; build with AI, not just use it. I build tools to grow your newsletter and showcase your work. Join a 14K+ community growing critical AI literacy by immersion.&quot;,&quot;profile_set_up_at&quot;:&quot;2022-09-06T13:48:06.095Z&quot;,&quot;reader_installed_at&quot;:&quot;2025-02-12T01:33:13.001Z&quot;,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:100,&quot;status&quot;:{&quot;bestsellerTier&quot;:100,&quot;subscriberTier&quot;:10,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:100},&quot;paidPublicationIds&quot;:[1105980,3266189,5380707,378002,5569874,4613350,2833541,2817779,1252952,3138516,4937949,6925112,5500944,4089894],&quot;subscriber&quot;:null},&quot;primaryPublicationId&quot;:4097137,&quot;primaryPublicationName&quot;:&quot;Product with Attitude&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://karozieminski.substack.com&quot;,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://karozieminski.substack.com/subscribe?&quot;},{&quot;id&quot;:31598723,&quot;name&quot;:&quot;Elena | AI Product Leader&quot;,&quot;handle&quot;:&quot;elenacalvillo&quot;,&quot;previous_name&quot;:&quot;Elena Calvillo at Product&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!RnEf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad6b36c8-e5a6-4820-b875-e7165528aae9_3000x3000.jpeg&quot;,&quot;bio&quot;:&quot;Teaching PMs to lead through technical clarity. I bridge strategy and architecture to kill ambiguity and make decisions stick. I build the products I once wrote about so you can stop asking permission and lead through evidence. Trusted by Reforge.&quot;,&quot;profile_set_up_at&quot;:&quot;2022-08-10T15:37:29.282Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-08-15T19:00:25.382Z&quot;,&quot;twitter_screen_name&quot;:&quot;melenacalvillo&quot;,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:10,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;subscriber&quot;,&quot;tier&quot;:10,&quot;accent_colors&quot;:null},&quot;paidPublicationIds&quot;:[10845,5569874,4097137,443311,3266189,4443372,4640380,5032182,5495909,2252793,1077462,3144118,2533420,1553477,1272495,2586083,1524130,1050136,2960395,2569,6925112,4806510,5500944,2727865,6335167],&quot;subscriber&quot;:null},&quot;primaryPublicationId&quot;:1252952,&quot;primaryPublicationName&quot;:&quot;Prompt-Led Product | Leadership Through Technical Clarity&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://promptledproduct.substack.com&quot;,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://promptledproduct.substack.com/subscribe?&quot;},{&quot;id&quot;:351329584,&quot;name&quot;:&quot;Just J&quot;,&quot;handle&quot;:&quot;theaitrain&quot;,&quot;previous_name&quot;:&quot;Jesica&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!G5kx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1909bb44-fb91-47ca-9e3b-0bd379bfc4f8_576x576.png&quot;,&quot;bio&quot;:&quot;AI is here to stay so get on board! I combine a tech mindset with business and human transformation. I help teams &amp; companies shape strategies, improve products &amp; grow with AI.&quot;,&quot;profile_set_up_at&quot;:&quot;2025-06-05T14:40:43.642Z&quot;,&quot;reader_installed_at&quot;:null,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;status&quot;:null,&quot;primaryPublicationId&quot;:6964655,&quot;primaryPublicationName&quot;:&quot;The AI train&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://theaitrain.substack.com&quot;,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://theaitrain.substack.com/subscribe?&quot;}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://ileanamarcut.substack.com/p/product-manager-designer-skills-overlap?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!5nJF!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a082fbf-6344-4bdd-919d-be9670ab4d24_400x400.png" loading="lazy"><span class="embedded-post-publication-name">UX + AI</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Product in the Age of AI: When Product Manager and Designer Skills Start to Overlap</div></div><div class="embedded-post-body">Over the last two years, the rise of AI has reshaped the design world&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">6 months ago &#183; 66 likes &#183; 28 comments &#183; Ileana, Karo (Product with Attitude), Elena | AI Product Leader, and Just J</div></a></div><p><strong>&#128279; <a href="https://ileanamarcut.substack.com/">Link </a></strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[What Design Systems Can Learn From Vector Databases]]></title><description><![CDATA[Agentic Design Systems, part 1]]></description><link>https://learn.thedesignsystem.guide/p/what-design-systems-can-learn-from</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/what-design-systems-can-learn-from</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sat, 14 Mar 2026 14:05:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hrBh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><p><em>I am <strong>not</strong> affiliated with any of the suggested tools</em> </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hrBh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hrBh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!hrBh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!hrBh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!hrBh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hrBh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1367981,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/190848778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hrBh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!hrBh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!hrBh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!hrBh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I know what you&#8217;re thinking.</p><p>&#8220;Vector databases? That&#8217;s for AI engineers and data scientists. What does that have to do with my design system?&#8221;</p><p>Here&#8217;s the thing: Vector databases solve a problem that design systems desperately need to solve, too.</p><p>They organize information by <strong>meaning</strong>, not just by structure.</p><p>And that changes everything.</p><p></p><h3>The Problem With How We Organize Design Systems Today</h3><p>Right now, your design system is probably organized like a SQL database.</p><p>You have rigid hierarchies:</p><ul><li><p>Components &#8594; Buttons &#8594; Primary &#8594; Hover State</p></li><li><p>Tokens &#8594; Color &#8594; Background &#8594; Primary</p></li></ul><p>It&#8217;s clean. It&#8217;s logical. It works.</p><p>But here&#8217;s what it doesn&#8217;t do: It doesn&#8217;t help you find things based on <strong>what they mean</strong> or <strong>why you&#8217;d use them</strong>.</p><p>When a designer asks, &#8220;What should I use for a destructive action?&#8221; they have to translate that intent into your taxonomy. Is that a &#8220;danger button&#8221;? A &#8220;negative action&#8221;? A &#8220;warning state&#8221;?</p><p>You didn&#8217;t have to memorize the exact folder structure in your brain. You just had to know the right keywords.</p><p>But what if your design system could understand <em>intent</em>?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m9ZA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m9ZA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 424w, https://substackcdn.com/image/fetch/$s_!m9ZA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 848w, https://substackcdn.com/image/fetch/$s_!m9ZA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 1272w, https://substackcdn.com/image/fetch/$s_!m9ZA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m9ZA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png" width="1408" height="634" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:634,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:575386,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/190848778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!m9ZA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 424w, https://substackcdn.com/image/fetch/$s_!m9ZA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 848w, https://substackcdn.com/image/fetch/$s_!m9ZA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 1272w, https://substackcdn.com/image/fetch/$s_!m9ZA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>How Vector Databases Actually Work</h3><p>Let me show you what I mean.</p><p>Vector databases don&#8217;t store data in rows and columns. They store <strong>meaning</strong> as high-dimensional numerical coordinates.</p><p>Here&#8217;s a simple example:</p><p>When you search for &#8220;king&#8221; in a vector database, it doesn&#8217;t just find exact matches. It finds concepts that are <em>semantically similar</em>:</p><ul><li><p>&#8220;queen&#8221; (same domain, different gender)</p></li><li><p>&#8220;monarch&#8221; (same meaning, different word)</p></li><li><p>&#8220;ruler&#8221; (related concept)</p></li></ul><p>The database understands that these concepts cluster together in meaning-space.</p><p>Now imagine applying that to your design system.</p><h3>What Changes for Humans</h3><h4>You Can Search by Intent, Not Just by Name</h4><p>Instead of browsing through component categories, you could ask:</p><blockquote><p>&#8220;Show me all patterns that convey urgency&#8221;</p></blockquote><p>And your design system would return:</p><ul><li><p>Error messages</p></li><li><p>Warning banners</p></li><li><p>Destructive action buttons</p></li><li><p>Toast notifications with alert icons</p></li><li><p>Red status indicators</p></li></ul><p>These components live in completely different parts of your taxonomy. But they share <strong>semantic meaning</strong>.</p><p>That&#8217;s the power of meaning-based organization.</p><p></p><h4>You Can Finally Solve the &#8220;New Component vs. Variant&#8221; Debate</h4><p>I&#8217;ve sat through countless design system meetings where teams debate:</p><blockquote><p>&#8220;Do we need a new component, or is this just a variant of what we have?&#8221;</p></blockquote><p>I&#8217;ve seen this firsthand. When you&#8217;re looking at a system with 50, 80, even close to 100 components, the overlaps become invisible. Manual audits catch some of them. But naming differences, context differences, and organic growth across teams create duplicates that no spreadsheet review will surface.</p><p>Vector logic could actually quantify similarity between components.</p><p>Compare two components based on:</p><ul><li><p>Visual embeddings (how they look in Figma)</p></li><li><p>Code structure (how they&#8217;re built)</p></li><li><p>Token usage (what design decisions they share)</p></li><li><p>Usage context (where they appear in products)</p></li></ul><p></p><p>If two components score high similarity across these dimensions, you probably don&#8217;t need both.</p><p>You might be wondering, &#8220;How accurate is this really?&#8221;</p><p>That&#8217;s fair. But here&#8217;s what I&#8217;ve learned: You don&#8217;t need perfect similarity scores. You need <strong>better visibility into what you already have</strong>.</p><p>Even a rough similarity map helps you spot duplicates that manual audits miss.</p><p></p><h3>What Changes for Agents</h3><h4>AI Tools Actually Know What to Use</h4><p></p><p><strong>Here&#8217;s where it gets interesting for agentic design.</strong></p><p>Right now, when an AI tool generates a UI, it relies on your component names and descriptions. It&#8217;s essentially doing keyword matching.</p><p>But with vector-based context retrieval, the AI could understand:</p><blockquote><p>&#8220;I&#8217;m building a form validation error. What components, patterns, tokens, and accessibility guidelines are semantically related to this task?&#8221;</p></blockquote><p>The system retrieves:</p><ul><li><p>Similar error patterns from your existing designs</p></li><li><p>The correct tokens (not just &#8220;red&#8221; but &#8220;color.feedback.error&#8221;)</p></li><li><p>Accessibility requirements for error announcements</p></li><li><p>Validation timing patterns</p></li><li><p>Microcopy guidelines for error messages</p></li></ul><p>All pulled together by <strong>meaning</strong>, not by manual tagging.</p><p></p><h4>Design Tokens Could Become Behavioral</h4><p>Traditional tokens store <strong>values</strong>: <code>color.blue.500</code> = <code>#3B82F6</code></p><p>Vector-inspired tokens could store <strong>behavioral meaning</strong>:</p><ul><li><p>How assertive (0.8 on a scale)</p></li><li><p>How calm (0.2)</p></li><li><p>How noticeable (0.9)</p></li></ul><p>Now imagine an adaptive interface that reads the user&#8217;s context and adjusts its tone.</p><p>Picture a checkout flow. The payment fails. Instead of the UI just swapping in a red banner, the entire interface shifts. Visual assertiveness dials down. Calmness increases. The system isn&#8217;t just showing an error state. It&#8217;s modulating the experience to match the emotional weight of the moment.</p><p>A celebration moment? It cranks up energy and noticeability.</p><p>The same components, but <strong>contextually tuned</strong> based on meaning vectors, not just static values.</p><p></p><h4>Components Gain Semantic Elasticity</h4><p>In agentic systems, context determines behavior.</p><p>Take a toast notification. It can:</p><ul><li><p>Confirm a successful action</p></li><li><p>Warn about a risky operation</p></li><li><p>Inform about system status</p></li><li><p>Celebrate an achievement</p></li></ul><p>Right now, you&#8217;d handle these with separate variants or different components entirely.</p><p>But with vectorized meaning, a single component could <strong>adapt</strong> based on detected intent.</p><p>The system reads the context (&#8221;this is a celebration&#8221;) and adjusts:</p><ul><li><p>Color intensity</p></li><li><p>Animation style</p></li><li><p>Icon selection</p></li><li><p>Duration on screen</p></li></ul><p>All semantically informed, not hardcoded.</p><p>Compare that to manually coding every possible variant upfront. The difference is massive.</p><p></p><h4>The Reality Check</h4><p>Let me be honest: Most design systems aren&#8217;t ready for this yet.</p><p>This isn&#8217;t because the technology doesn&#8217;t exist. Vector databases are mature. Embedding models are accessible.</p><p>The challenge is conceptual.</p><p>We&#8217;ve built design systems around <strong>structure</strong>: hierarchies, taxonomies, strict naming conventions.</p><p>Shifting to <strong>meaning-based organization</strong> requires rethinking:</p><ul><li><p>How we document components</p></li><li><p>How we describe patterns</p></li><li><p>How we train our teams</p></li><li><p>How AI tools interact with our systems</p></li></ul><p>It&#8217;s a fundamental shift from &#8220;what is this thing called?&#8221; to &#8220;what does this thing mean?&#8221;</p><p></p><h3>What This Actually Looks Like</h3><p>You don&#8217;t have to rebuild your entire design system around vectors tomorrow.</p><p>But you can start thinking differently today.</p><p>Here&#8217;s what that might look like:</p><p><strong>Start with documentation:</strong></p><ul><li><p>Add semantic descriptions to components: &#8220;This pattern expresses urgency and requires immediate attention.&#8221;</p></li><li><p>Tag components with intent, not just categories: &#8220;confirmation,&#8221; &#8220;prevention,&#8221; &#8220;celebration.&#8221;</p></li><li><p>Describe usage contexts: &#8220;Use when the user needs reassurance that their action succeeded.&#8221;</p></li></ul><p><strong>Experiment with embeddings:</strong></p><ul><li><p>Generate vector embeddings for your component descriptions</p></li><li><p>Build a simple similarity search</p></li><li><p>See what clusters emerge naturally</p></li></ul><p><strong>Augment, don&#8217;t replace:</strong></p><ul><li><p>Keep your existing taxonomy</p></li><li><p>Layer semantic search on top</p></li><li><p>Let both approaches coexist</p></li></ul><p>The next generation of design systems will likely blend:</p><ul><li><p><strong>Token databases</strong> (structured facts)</p></li><li><p><strong>Vector databases</strong> (semantic meaning)</p></li><li><p><strong>Context engines</strong> (runtime reasoning)</p></li></ul><p></p><p><strong>&#10145;&#65039; That&#8217;s how you get agentic design systems. Systems that understand </strong><em><strong>why</strong></em><strong> a component exists, not just </strong><em><strong>what</strong></em><strong> it&#8217;s called.</strong></p><p></p><h3>Try This</h3><p>If you&#8217;re ready to experiment, here&#8217;s where to start:</p><ol><li><p>Pick 10-20 components from your system</p></li><li><p>Add a semantic description for each: What&#8217;s its purpose? When would you use it? What feeling does it convey?</p></li><li><p>Use an embedding model (OpenAI&#8217;s text-embedding-3-small works well) to generate vectors</p></li><li><p>Run similarity comparisons between them</p></li><li><p>Look at what clusters together</p></li></ol><p></p><p>You might discover patterns you didn&#8217;t know existed.</p><p>You might find duplicates hiding under different names.</p><p>You might see how your system could be organized by meaning instead of taxonomy.</p><p>And that&#8217;s when design systems start to get really interesting. &#128579;</p><p></p><p><strong>Next week, I will share more about Agentic Design Systems, my setup, and MCP. &#10024; </strong></p><p></p><p>Stay tuned,<br>Romina</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Building Effective AI Coding Agents for the Terminal: Scaffolding, Harness, Context Engineering, and Lessons Learned</strong></p><p>AI agents suffer from the same problem as large design systems:</p><p>Context collapse. A new 55-page paper on terminal coding agents explains why.&#128071;</p><p>AI agents in long sessions forget their instructions, bloat their context, and start making bad decisions.</p><p><strong>&#128279; <a href="https://arxiv.org/abs/2603.05344">Link</a> </strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Should you build an agent for your design system]]></title><description><![CDATA[When and why to build one]]></description><link>https://learn.thedesignsystem.guide/p/should-you-build-an-agent-for-your</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/should-you-build-an-agent-for-your</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sat, 28 Feb 2026 08:55:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Y3Eh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><p><em>I am <strong>not</strong> affiliated with any of the suggested tools</em> </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y3Eh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:966148,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/189349675?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Everyone wants to add AI agents to everything right now. Your design system is no exception.</p><p>Someone on your team has already suggested it. &#8220;What if we built an agent that validates token usage?&#8221; </p><p>Let me give you a framework to figure out when an agent actually makes sense, when a simple workflow does the job, and when you should just write a shell script and move on with your life.</p><div><hr></div><h2>First, what is an agent?</h2><p>An agent is an LLM that<strong> can use tools and take actions. </strong>Not just answer questions. Act.</p><p>That&#8217;s the key difference from a regular AI chat. When you ask ChatGPT or Claude a question, it generates a response and stops. It lives entirely inside the conversation. It can&#8217;t open your files, check your codebase, run a command, or push a commit. It can only talk.</p><p>An agent can do all of those things. It has access to tools such as your file system, terminal, APIs, design token files, and Figma. When you give it a task, it doesn&#8217;t just tell you what to do. It reads your code, finds the problem, writes a fix, runs the tests, and tells you what happened. Then it decides what to do next based on the result. If the tests fail, it reads the error, adjusts, and tries again.</p><p>Here&#8217;s what that looks like in practice. You tell an agent: &#8220;Check if our Button component matches the Figma design.&#8221; The agent:</p><ol><li><p>Connects to <strong>Figma&#8217;s API</strong> and pulls the design specs for the Button component.</p></li><li><p>Reads your <strong>component source code</strong> to understand the current implementation.</p></li><li><p>Launches a <strong>browser</strong> using Playwright, navigates to your Storybook, and takes a screenshot of the rendered Button.</p></li><li><p>Compares the screenshot against the Figma design and flags differences: wrong padding, missing hover state, border-radius off by 2px.</p></li><li><p>Writes a <strong>summary</strong> with specific suggestions and the exact lines of code to change.</p></li></ol><p>No single tool does all of that. The agent stitched five tools together on its own and decided the order. That&#8217;s the difference. A chat would have told you <em>how</em> to do the comparison. The agent <em>did</em> it.</p><p>So, you tell it what you need, and it figures out the steps. Sometimes it asks for clarification. Sometimes it goes down the wrong path and corrects itself. Sometimes it nails it on the first try.</p><p>The other key difference is from a workflow: an agent chooses its own path. A workflow follows steps you defined in advance. When the task is predictable, a workflow wins. When the task requires adapting to what it finds along the way, that&#8217;s where agents earn their keep.</p><h3>How do you actually make an agent?</h3><p>You don&#8217;t need to write code to use an agent. Tools like <a href="https://docs.anthropic.com/en/docs/claude-code">Claude Code</a>, <a href="https://cursor.com">Cursor</a>, and <a href="https://github.com/features/copilot">GitHub Copilot</a> are agents you can use right now. Open a terminal, point Claude Code at your codebase, and ask it to do something. That&#8217;s it. You&#8217;re using an agent.</p><p>But if you want to build your own, the format is simpler than you&#8217;d expect. At its core, an agent is just three things:</p><ol><li><p><strong>Instructions.</strong> A markdown file or system prompt that tells the agent who it is, what it knows, and how it should behave. Think of it as the job description for your intern.</p></li><li><p><strong>Tools.</strong> What the agent can actually do. Read files, search code, call APIs, run commands, edit files. You decide what to give it access to.</p></li><li><p><strong>A loop.</strong> The agent reads its instructions, picks a tool, uses it, looks at the result, and decides what to do next. It keeps going until the task is done or it gets stuck.</p></li></ol><p></p><p>That&#8217;s the whole architecture. Instructions, tools, loop.</p><p></p><p>For design systems specifically, the most common entry points are:</p><ul><li><p><strong>Claude Code with a CLAUDE.md file.</strong> You write a markdown file describing your design system&#8217;s conventions, token structure, component patterns, and coding standards. The agent reads it before every task. This is the lowest-effort way to get a design-system-aware agent.</p></li><li><p><strong>Custom MCP servers.</strong> The <a href="https://modelcontextprotocol.io/">Model Context Protocol</a> lets you expose your design tokens, component docs, or Figma data as tools an agent can query. Your agent can now look up your actual token values, not guess at them.</p></li><li><p><strong>SDKs for full control.</strong> Anthropic&#8217;s <a href="https://github.com/anthropics/anthropic-sdk-python">Agent SDK</a>, OpenAI&#8217;s <a href="https://platform.openai.com/docs/assistants/overview">Assistants API</a>, and frameworks like <a href="https://www.langchain.com/">LangChain</a> let you build agents programmatically. More power, more complexity. Only go here if the simpler options aren&#8217;t enough.</p></li></ul><p>You don&#8217;t need to start with SDKs. Start simple with Claude Code and a well-written CLAUDE.md file. Start there.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k07n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k07n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 424w, https://substackcdn.com/image/fetch/$s_!k07n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 848w, https://substackcdn.com/image/fetch/$s_!k07n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 1272w, https://substackcdn.com/image/fetch/$s_!k07n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k07n!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png" width="1200" height="654.3956043956044" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:615298,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/189349675?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!k07n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 424w, https://substackcdn.com/image/fetch/$s_!k07n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 848w, https://substackcdn.com/image/fetch/$s_!k07n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 1272w, https://substackcdn.com/image/fetch/$s_!k07n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>Agents have opinions</h3><p>And agents have opinions. A <a href="https://amplifying.ai/research/claude-code-picks">recent study of 2,430 Claude Code interactions</a> found that in 12 out of 20 task categories, the agent chose to build a custom solution rather than recommend an existing tool. Asked to add feature flags? It builds a config system from scratch instead of reaching for LaunchDarkly. Asked about authentication? It implements JWT + bcrypt rather than suggesting Auth0.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jkg5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jkg5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 424w, https://substackcdn.com/image/fetch/$s_!Jkg5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 848w, https://substackcdn.com/image/fetch/$s_!Jkg5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 1272w, https://substackcdn.com/image/fetch/$s_!Jkg5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jkg5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png" width="1456" height="1733" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1733,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:583217,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/189349675?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Jkg5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 424w, https://substackcdn.com/image/fetch/$s_!Jkg5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 848w, https://substackcdn.com/image/fetch/$s_!Jkg5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 1272w, https://substackcdn.com/image/fetch/$s_!Jkg5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This matters for design systems. Point an agent at your token validation problem and it will happily build you a custom solution. That might be exactly what you need. Or you might have been better off with an ESLint plugin that already exists. The agent won&#8217;t make that call for you. You have to.</p><div><hr></div><h2>The hype is real, but so is the waste</h2><p><strong>Peter Steinberger, </strong>creator of OpenClaw (the fastest-growing GitHub project ever), just joined OpenAI. His mission: &#8220;<em>build an agent that even my mum can use.</em>&#8221; Gartner published a report on February 13 about &#8220;context graphs&#8221; as essential infrastructure for agentic systems. Enterprise is all-in.</p><p>But Anthropic, the company behind Claude, says something much more grounded in their &#8220;Building Effective Agents&#8221; guide: <strong>find the simplest solution possible, and only increase complexity when needed.</strong></p><p>That&#8217;s worth repeating. The company selling you AI agents is telling you not to build agents unless you have to.</p><p>Why? Because <strong>agents trade latency and cost for better task performance.</strong> They <strong>consume roughly 4x more </strong>tokens than simple chat interactions. Multi-agent systems? Try 15x. And when something goes wrong, you don&#8217;t get a nice red error message. You get a token bill that looks like someone put an API call inside an infinite loop.</p><p>For most design system work, a workflow or a well-written script will outperform an agent. Less cost, faster execution, more predictable results.</p><p>By the way, these are<strong> typical token drivers:</strong></p><ul><li><p>System + tool schemas &#8594; High upfront cost</p></li><li><p>Planning / reasoning loops  &#8594; Medium&#8211;high</p></li><li><p>Tool outputs re-ingested &#8594; High</p></li><li><p>Memory retrieval &#8594; Medium</p></li><li><p>Self-reflection / retries  &#8594; High</p><p></p></li></ul><p>&#10024; A simple chat = 1 request &#8594; 1 response<br>&#10024; An agent = plan &#8594; act &#8594; observe &#8594; reflect &#8594; retry</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://skillsmp.com/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IkBY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 424w, https://substackcdn.com/image/fetch/$s_!IkBY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 848w, https://substackcdn.com/image/fetch/$s_!IkBY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 1272w, https://substackcdn.com/image/fetch/$s_!IkBY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IkBY!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png" width="1200" height="652.7472527472528" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26af4037-2eab-4246-b042-935f97180efb_3018x1642.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:792,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:624390,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://skillsmp.com/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/189349675?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IkBY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 424w, https://substackcdn.com/image/fetch/$s_!IkBY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 848w, https://substackcdn.com/image/fetch/$s_!IkBY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 1272w, https://substackcdn.com/image/fetch/$s_!IkBY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h6>Agent Skills are modular capabilities that extend AI coding assistants. Each skill consists of a SKILL.md file with instructions, plus optional scripts and templates. In December 2025, Anthropic released the Agent Skills specification as an open standard, and OpenAI adopted the same format for Codex CLI and ChatGPT. Skills are model-invoked&#8212;the AI automatically decides when to use them based on context.</h6><p>&#128279; https://skillsmp.com/</p><div><hr></div><h2>A five-question checklist</h2><p></p><p><strong>1. Is the task complex enough?</strong></p><p>If the task follows the same steps every time, you want a workflow. If it requires judgment, adaptation, and handling unexpected situations, you might want an agent.</p><p><em>Token linting</em> is a workflow. You know the rules. Check if raw hex values are used instead of tokens. Flag primitive tokens used directly in components. Run it on every PR. Done. No agent needed.</p><p>But reviewing a new component design against your entire design system&#8217;s guidelines, considering context, brand, accessibility, and platform constraints? That requires judgment. That&#8217;s agent territory.</p><p><strong>2. Is the task valuable enough?</strong></p><p>If each task run saves less than $0.10 of human time, use a workflow. If it saves more than $1.00 per run, an agent starts making economic sense.</p><p>Checking a file for unused imports? Pennies. Not worth an agent.</p><p>Migrating 200 components from one token schema to another, where each component needs contextual decisions about which new token maps to the old one? That&#8217;s hours of human work per component. An agent pays for itself on the first run.</p><p><strong>3. Are all parts of the task doable?</strong></p><p>This one trips people up. If your agent needs to access Figma&#8217;s internal rendering engine, read a designer&#8217;s mind about intent, or make pixel-perfect visual comparisons without any ground truth, you don&#8217;t have an agent problem. You have a scope problem. Reduce it until every step is technically feasible.</p><p><strong>4. What is the cost of error?</strong></p><p>High cost of error means read-only access and human-in-the-loop. Low cost of error means you can let agents run autonomously.</p><p>An agent that suggests documentation updates? Low risk. A human reviews before publishing. Let it run.</p><p>An agent that automatically pushes token changes to production across 12 codebases? Extremely high risk. One wrong semantic mapping, and your entire product suite has the wrong error colors. Keep this read-only, with human approval gates at every step.</p><p><strong>5. Can you trust the output?</strong></p><p>There&#8217;s a design systems angle to agents that almost nobody is discussing yet. Design systems are trust infrastructure. </p><p>Teams adopt your tokens, components, and patterns because they produce consistent, predictable results every time. <em>Agents introduce variability. </em>Run the same prompt twice, and you might get two different outputs. That&#8217;s fine for a blog draft. It&#8217;s a problem when the agent is deciding which semantic token maps  <code>color.background.danger</code> across your component library. </p><p>So before you deploy an agent into any design system workflow, ask yourself: is the output deterministic enough that teams can rely on it? Can you audit what the agent did and why? Can someone else reproduce the result? And when the agent makes a choice, can it explain its reasoning in terms your team actually understands? If the answer to any of those is no, you don&#8217;t have an agent problem. You have a governance gap. Close it before you ship.</p><p></p><p><strong>Three core principles for agents from Anthropic:</strong></p><ol><li><p><strong>Simplicity</strong> in design</p></li><li><p><strong>Transparency</strong> &#8594; explicitly show planning steps</p></li><li><p><strong>Careful ACI (agent-computer interface)</strong> &#8594; invest heavily in tool documentation and testing</p></li></ol><div><hr></div><h2>Applying this to real design system work</h2><p>Let me walk through five common scenarios.</p><h3>Token validation &#8594; Workflow</h3><p>The rules are static. You know exactly what correct looks like. Check if raw hex values are used instead of tokens, flag primitives used directly in components. AST parsing and token matching are solved problems. Each individual check is cheap, and false positives are just noise.</p><p>Write a linter. Run it in CI. Done.</p><h3>Component documentation generation &#8594; Agent with human review</h3><p>This one gets interesting. Reading code, extracting props, understanding usage patterns, writing clear descriptions. There&#8217;s real judgment involved. And documentation is the #1 complaint about every design system, so the payoff is high.</p><p>But bad docs are annoying, not destructive. So scope it to generating drafts. The agent handles the tedious extraction and first pass. You handle the voice and accuracy check. A human approves before merging.</p><h3>Design review against guidelines &#8594; Scoped agent</h3><p>Context matters enormously here. A red button is fine in a destructive action confirmation, wrong in a success state. Manual design reviews are a bottleneck for every team, so the value is obvious.</p><p>The problem is feasibility. Visual comparison is hard. Semantic analysis of intent is harder. And bad feedback wastes designer time and erodes trust.</p><p>So reduce scope to what&#8217;s actually doable. Token usage, spacing consistency, accessibility requirements. Leave subjective judgment (layout quality, visual harmony) to humans. Be honest about what the agent can and cannot evaluate.</p><h3>Cross-codebase migration &#8594; Agent with strict guardrails</h3><p>This is where agents genuinely shine. Every component has unique context, dependencies, and edge cases. Migrations eat months of team time. It&#8217;s the single most valuable automation you could build.</p><p>But it&#8217;s also the most dangerous. One wrong semantic mapping and your entire product suite has the wrong error colors.</p><p>Run agents with read-only access first. Generate migration PRs for human review. Never auto-merge. Test each migration against visual regression snapshots before approving.</p><h3>Generating new components from Figma &#8594; Agent</h3><p>Translating design intent to production code involves many judgment calls. Hours saved per component. Tools like Claude Code already do this well when given proper context (your existing components, tokens, and conventions).</p><p>The agent generates a first pass. A developer refines it. Bad code gets caught in review. This cuts component creation time from days to hours.</p><div><hr></div><h2>The &#8220;90% workflow&#8221; test</h2><p>Anthropic&#8217;s framework includes a brutally practical insight. Track your agent runs for a month. If the agent does the same tasks in the same order for 90% or more of cases, you&#8217;ve discovered a workflow hiding inside an agent.</p><p>Convert it. You&#8217;ll get faster execution, lower costs, and more predictable results.</p><p>Most design system automation falls into this category. Token syncing, changelog generation, accessibility checks, component scaffolding. These are all repetitive, well-defined tasks. Build them as workflows. Save agents for the genuinely complex work.</p><div><hr></div><h2>Start here</h2><p>If you&#8217;re considering agents for your design system, start with this:</p><ol><li><p><strong>Audit your manual tasks.</strong> List everything your team does repeatedly and time needed for each one.</p></li><li><p><strong>Score each task against the four questions.</strong> Be honest about complexity and error cost.</p></li><li><p><strong>Build workflows first.</strong> Linters, CI checks, and scripts handle 80% of design system automation needs.</p></li><li><p><strong>Pilot one agent use case.</strong> Pick the highest-value, lowest-risk task from your audit. Documentation generation is usually the safest starting point.</p></li><li><p><strong>Measure ruthlessly.</strong> Track time saved, error rates, and token costs. If the agent isn&#8217;t clearly outperforming a workflow, simplify.</p></li></ol><p>The goal isn&#8217;t to have the most sophisticated AI setup. The goal is to free your team from repetitive work so they can focus on what actually matters: making decisions about your system&#8217;s direction, quality, and adoption.</p><p>Don&#8217;t build an agent because you can. Build one because nothing simpler will do the job.</p><div><hr></div><h2>The real way to learn this</h2><p>Pick a small problem you actually have. A report you have to manually compile. A workflow that&#8217;s tedious. A prototype you wish existed.</p><p>Spend 30 minutes writing context before you prompt. Not the prompt itself. The context. What the problem is, who it&#8217;s for, what good looks like, what constraints exist. </p><p>Point an agent at it and watch what happens. Don&#8217;t expect perfection. Expect a starting point. React to it. Guide it. Iterate.</p><p>Do this ten times. With different problems. Different levels of complexity. You&#8217;ll develop intuition for what works, what context matters, how to evaluate output. </p><p>The hard part is still the same thing&#8594; understanding the problem, user empathy, judgment, taste.</p><p>Those don&#8217;t get automated. They get more valuable. &#128588;</p><p></p><p>Start building,<br>Romina</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Component Odyssey (Course)</strong></p><p>Learn to build and publish your own component library that works in any web framework.</p><p>Save yourself and your company weeks of development time. Build components your users will love. Become a future-proof web developer.</p><p><strong>&#128279; <a href="https://component-odyssey.com/">Link</a> </strong></p><p><br><strong>Paper (just launched)</strong></p><p>The connected canvas for teams shipping with agents.</p><p>&#128279;<a href="https://www.linkedin.com/posts/activity-7426596617509789696-lroo?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAIm0UIB6YXIAMl4tTZJpr6OKeGfXLHdRoY"> </a><strong><a href="https://paper.design/">Link</a></strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[20 AI workflows that save design system teams 10+ hours a week]]></title><description><![CDATA[Get some inspiration and start building]]></description><link>https://learn.thedesignsystem.guide/p/20-ways-to-use-ai-this-year-for-design</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/20-ways-to-use-ai-this-year-for-design</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 13 Feb 2026 13:15:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y95Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><p><em>I am <strong>not</strong> affiliated with any of the suggested tools</em> </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y95Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y95Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!y95Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!y95Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!y95Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y95Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00561647-43da-49ae-80d4-220f53e6438c_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:671861,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/187837605?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y95Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!y95Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!y95Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!y95Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You have more demand than capacity.</p><p>You are expected to ship components, keep tokens in sync, help product teams move faster, reduce inconsistency, and now also &#8220;use AI.&#8221;</p><p>Here are 20 ways design system teams can use AI this year. Real tools, workflows, and setups that reduce toil and make your system feel more like a product.</p><p>I have written about most of them in depth. I will link to those articles so you can go deeper into whatever interests you.</p><p>I grouped the 20 ideas into five areas:</p><ul><li><p><strong>Components and implementation</strong> </p></li><li><p><strong>Documentation and enablement</strong> </p></li><li><p><strong>Strategy and prioritization</strong> </p></li><li><p><strong>Tokens and consistency</strong> </p></li><li><p><strong>Adoption, metrics, and ROI</strong> </p></li></ul><p>Let&#8217;s go &#128071;</p><div><hr></div><h2>Components and implementation</h2><h3>1. Generate components from your Figma designs with AI</h3><p>Most AI-generated components look fine in isolation but fall apart the moment you put them next to your real system. They use the wrong tokens, invent their own spacing, and ignore your composition patterns. Meanwhile, designers hand off Figma frames, and engineers still rebuild from scratch. The AI output is a curiosity, not a shortcut.</p><p>The fix is to connect AI directly to your system. Figma Make generates code from your design frames, but instead of producing generic markup, it references your existing component library. Pair it with <strong>MCP connectors </strong>(Notion, GitHub) so Figma Make can read your component docs and token files. Then add an <code>.ai/</code> directory in your repo that contains your component generation rules: which tokens to use, which base components to compose,and  accessibility requirements.</p><p><strong>The setup:</strong></p><ol><li><p><strong>Figma Make</strong> generates a first pass from your design frames. Not generic code, but code that references your existing components</p></li><li><p><strong>MCP connectors</strong> (Notion, GitHub) give Figma Make access to your component docs and token files</p></li><li><p><strong>An </strong><code>.ai/</code><strong> directory</strong> in your repo contains your component generation rules: which tokens to use, which base components to compose, accessibility requirements</p></li></ol><p>This same approach works outside Figma Make. Both <strong>Cursor</strong> and <strong>Claude Code</strong> can connect to the <strong>Figma MCP server</strong>, read your design frames directly, and generate components using your tokens and component library. The <code>.ai/</code> directory works the same way regardless of which tool you use. Pick the one your team already runs.</p><p>The gap between &#8220;design done&#8221; and &#8220;component shipped&#8221; shrinks from days to hours. AI does the first draft; you do the review.</p><p>I covered the full workflow here:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f9b82091-5a46-4eb9-868a-a4264a8af1d4&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Figma Make Won't Work Until You Do This&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-12-19T08:54:38.121Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!5Nwf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/figma-make-wont-work-until-you-do&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:181702778,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:48,&quot;comment_count&quot;:4,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c67b80d5-4fce-4fb4-99e2-8ad5ddaf37d2&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Ultimate AI Component Generation Framework &quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-03T10:09:26.324Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!a3HB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bea4d7-9c61-4672-bc26-7ff74f3bc772_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/the-ultimate-ai-component-generation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175136945,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:66,&quot;comment_count&quot;:4,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;df10bf65-ba60-4720-b363-99f2b8cb5533&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Use AI to push Figma variants straight to Storybook (Step-by-step guide)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-02-06T08:51:37.317Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!nMHS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/push-your-figma-components-to-storybook&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:186969619,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:49,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>2. Automate design system audits with Playwright</h3><p>Accessibility audits, visual regression tests, and token usage checks are the work nobody has time for, but everybody notices when they are skipped. Most teams run these manually once before a major release, identify a backlog of issues, and then do not address them again for months.</p><p><strong>Playwright&#8217;s MCP</strong> integration changes this. It gives you three AI agents that work together to keep your audits running continuously:</p><ul><li><p><strong>Planner</strong>: explores your Storybook or documentation site and creates test scenarios</p></li><li><p><strong>Generator</strong>: writes the actual test code by interacting with your components</p></li><li><p><strong>Healer</strong>: fixes broken tests automatically when components change</p></li></ul><p><strong>Five audits you can automate today:</strong></p><ol><li><p>Token consistency audit (scan rendered components for hardcoded values)</p></li><li><p>Component behavior testing (keyboard nav, focus management)</p></li><li><p>Accessibility checks (ARIA roles, contrast, screen reader labels)</p></li><li><p>Documentation accuracy (do the docs match what the component actually does?)</p></li><li><p>Visual regression (screenshot comparison across themes and viewports)</p></li></ol><p>Your team stops catching checkbox-level issues in reviews and focuses on the hard stuff (interaction patterns, naming, architecture) while Playwright handles the checklist.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;8637d328-68f4-4b58-a4c7-ef66603df660&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Audits and Testing&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-24T05:41:26.837Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!3RG_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89a4e5fc-bd38-48d1-89f0-f956b9281f8e_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-audits&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176858532,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:28,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>3. Build a custom Figma plugin for your design system</h3><p>Every design system has rules that Figma does not enforce. Designers use the wrong tokens, skip semantic layers, or apply status colors to the wrong contexts. You catch these in review. The same review comments, week after week.</p><p>A custom Figma plugin can automatically validate token usage. And with <strong><a href="https://www.plugma.dev/">plugma</a></strong>, building one is no longer a side project that takes a sprint. Plugma gives you a modern dev toolchain for Figma plugins (hot reload, TypeScript, bundling) so you can use AI to write most of the plugin logic while <strong>plugma </strong>handles the build.</p><p><strong>Example: a token intent validator</strong></p><p>Your plugin can scan selected frames and flag:</p><ul><li><p>Raw hex colors used instead of tokens</p></li><li><p>Primitive tokens (<code>blue.500</code>) used directly in components</p></li><li><p>Status colors (danger/success) used in the wrong context</p></li><li><p>Interactive tokens applied to static elements</p></li></ul><p>Designers get inline warnings with suggested fixes. You stop repeating the same review comments.</p><p><strong>The setup:</strong></p><pre><code><code>npx create-plugma@latest my-token-validator
cd my-token-validator
npm run dev  # hot reload in Figma</code></code></pre><p>Use AI to generate your validation rules from your token naming convention (see &#8220;Generate a token naming convention&#8221; below).</p><div><hr></div><h3>4. Write a migration guide for breaking changes</h3><p>You ship a breaking change. Three teams break. Nobody reads the changelog. Changelogs list what changed, not what to do about it. A migration guide is the artifact that actually gets used: who is affected, what to change, and where to watch out.</p><p>Feed AI the diff between the old and new API, plus a short explanation of why the change was made. It generates a structured guide in minutes that would otherwise take you an hour to write and another hour to format.</p><p><strong>Prompt:</strong></p><pre><code><code>Write a migration guide for this breaking change.
Inputs:
- old API: [paste]
- new API: [paste]
- why we changed it: [paste]

Output:
1) who is affected
2) before/after examples
3) a step-by-step migration checklist
4) common mistakes</code></code></pre><p>Save as <code>migration-guides/[component]-[version].md</code>. When teams ask &#8220;how do I update?&#8221;, send a link instead of typing a response.</p><div><hr></div><h2>Documentation and enablement</h2><h3>5. Automate your documentation pipeline</h3><p>Documentation that lags weeks behind code is worse than no documentation. It actively misleads people. Screenshots go stale. Props tables list options that were removed two releases ago. Teams stop trusting the docs and start reading source code instead, which defeats the entire purpose of having a design system.</p><p>The fix is not &#8220;write docs faster.&#8221; The fix is a pipeline that keeps docs in sync with your components continuously. Connect <strong>Figma MCP + Claude Code + Mintlify </strong>(or your docs framework of choice). Figma MCP reads your component designs and extracts props, variants, and states. Claude Code generates documentation markdown from your component source code combined with the Figma data. Mintlify publishes automatically on merge.</p><p><strong>The pipeline:</strong></p><ol><li><p><strong>Figma MCP</strong> reads your component designs and extracts props, variants, and states</p></li><li><p><strong>Claude Code</strong> generates documentation markdown from your component source code + Figma data</p></li><li><p><strong>Mintlify</strong> (or Storybook, or your docs site) publishes automatically on merge</p></li><li><p><strong>Cron job</strong> (optional) runs weekly to re-sync screenshots and catch drift</p><p></p></li></ol><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bbc39bfc-5536-4bee-a3d3-d610c5712d08&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Documentation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-17T08:58:02.536Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!9dDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe9c6aa2-4c25-47ea-8c50-3c5d2d786ca1_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-documentation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176234757,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:103,&quot;comment_count&quot;:3,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>Add Claude Code Skills to your design system workflow</h3><p>Everyone on your team prompts AI differently. One person writes a paragraph of context. Another pastes raw code and says, &#8220;Fix this.&#8221; The results are wildly inconsistent, and people end up writing the same instructions repeatedly, or worse, stop using AI because the output never matches the system.</p><p>Claude Code Skills solves this. <strong>Skills are reusable instruction sets </strong>that auto-load based on context. They are prompts that know when to activate and what files to read. You do not have to remember to use them. They just show up when relevant.</p><p><strong>The best Skills for design system work:</strong></p><p><strong>&#10024; token-migration-assistant</strong><br>Detects your token format and migrates between Style Dictionary, W3C DTCG, Figma Variables, CSS, and Tailwind.</p><p><strong>&#10024; component-audit</strong><br>Runs comprehensive audits: accessibility, theming, responsiveness, code quality.</p><p><strong>&#10024; documentation-standards</strong><br>Generates consistent component docs matching your format.</p><p><strong>&#10024; brand-guidelines</strong><br>Applies your brand&#8217;s colors, typography, spacing, and motion rules.</p><p><strong>&#10024; figma-variables-generator</strong><br>Generates Figma Variables JSON directly from your design tokens.</p><p>A prompt library is a document people forget exists. A Skill auto-loads when Claude Code detects it is relevant. That difference is everything.</p><p>I covered Skills in depth here &#128071;</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;4cdd226a-7104-4cb2-be72-aa2771d0ebe9&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why your design system team need Claude Skills&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-31T08:28:29.183Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!hfid!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/why-your-design-system-team-need&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:177632613,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:54,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>7. Make your own custom Skill </h3><p>The prebuilt Skills cover common workflows, but your design system has its own rules, naming conventions, and patterns that no generic skill can cover. The good news: a custom Skill is a Markdown file with YAML front matter. That is it. </p><p><strong>Example: a token naming validator Skill</strong></p><pre><code><code>---
name: token-naming-validator
description: Validates design token names against our naming convention
autoload: when working with design tokens or token files
---

# Token Naming Validator

When reviewing or generating design tokens, enforce these rules:

## Naming structure
- Format: `{category}.{property}.{variant}.{state}`
- Categories: color, spacing, typography, elevation, motion
- Use dot notation, not camelCase or kebab-case

## Rules
- Semantic tokens MUST reference primitives, never raw values
- No color names in semantic tokens (use "primary" not "blue")
- State variants: default, hover, active, disabled, focus
- Every token must have a description field

## On violation
- Flag the token name
- Suggest the correct name
- Explain the rule that was broken</code></code></pre><p>Save personal Skills to <code>~/.claude/skills/</code> or project Skills to <code>.claude/skills/</code> (version controlled, shared with the team). Now your entire team gets consistent AI behavior (same naming rules, same validation, same output format) without anyone memorizing the rules.</p><div><hr></div><h3>8. Create a design system onboarding FAQ from real questions</h3><p>Every new hire asks the same 20 questions. Where do I find the tokens? Which Button variant do I use for destructive actions? How do I submit a new component request? You answer these individually, every time, in Slack DMs that nobody else can see.</p><p>Take the last 50 questions that new team members actually asked. Answer them, feed them to AI and generate a <strong>structured FAQ.</strong> The next person who joins does not need you to onboard them. They have the FAQ.</p><p><strong>Prompt:</strong></p><pre><code><code>Turn these questions into an onboarding FAQ for our design system.
Requirements:
- group by theme
- answer in plain language
- link to the right doc sections (use placeholders if unknown)
- include "common mistakes"</code></code></pre><p>Save as <code>onboarding-faq.md</code> and link it from your main docs. Update it quarterly as new questions come in.</p><h2>Strategy and prioritization</h2><h3>9. Turn requests into a single backlog</h3><p>Design system requests come from everywhere: Slack threads, Jira tickets, meeting sidebars, and post-it notes from a workshop three weeks ago. You spend hours manually deduplicating, and you still miss things because half the requests were verbal.</p><p>Dump your last 30 days of requests into a single document. Feed it into the AI and ask it to deduplicate, group by theme, count frequencies, and identify the underlying job-to-be-done. You get a clean backlog in minutes, not a half-day of spreadsheet work.</p><p><strong>Prompt:</strong></p><pre><code><code>You are helping a design system lead consolidate requests.

Input: a list of requests (Slack snippets, Jira tickets, meeting notes).
Output:
1) A cleaned list of requests grouped by theme (duplicates merged)
2) For each theme: frequency, impacted teams, and the underlying job-to-be-done
3) A short "what we are NOT doing" list (scope control)

Format: markdown</code></code></pre><p>Save as <code>design-system-backlog.md</code>. Update it weekly. 2&#8211;3 hours saved per sprint, and you now have a source of truth that is not your memory.</p><div><hr></div><h3>10. Write a one-page strategy map</h3><p>Leadership asks, &#8220;What&#8217;s the plan?&#8221; and you have 47 Notion docs, but no clear answer. The detail is there. The clarity is not. What you need is a s<strong>ingle-page summary</strong>: everything you know about the current state, the vision, and the path forward, reduced to one page that anyone can read in two minutes.</p><p><strong>Prompt:</strong></p><pre><code><code>Create a one-page design system strategy map with:
- Context: what is broken today (3-5 bullets)
- Vision: where we want to be in 12 months
- Strategy: our 3 biggest bets
- Metrics: what we will measure monthly
- Stakeholders: who needs updates and how often

Make it plain English. No corporate jargon.</code></code></pre><p>If it does not fit on one page, you do not understand it well enough yet. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c4121dd6-b80c-4f83-b461-32b79776b2b7&quot;,&quot;caption&quot;:&quot;A design system isn't just documentation and components. It's a strategic business asset. But it is like a band's repertoire. You need to learn the standards first, then improvise. 2025 is your chanc&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Your design system strategy on one page&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-03T13:09:29.387Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bKdg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97bdcafd-65a4-48bb-984c-ef60e134682a_840x605.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/your-design-system-strategy-on-one&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:154068595,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:13,&quot;comment_count&quot;:2,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>11. Run a component ROI sanity check before you build</h3><p>Most component decisions follow the same pattern: someone with influence requests it, you build it, and six months later it is used in two places. Meanwhile, the component the three teams need is in the backlog because no one lobbied for it loudly enough.</p><p><strong>Before you build, run a quick sanity check. </strong>Map the request to screens, teams, and reuse potential. It takes five minutes and saves you from building the wrong thing first.</p><p><strong>Prompt:</strong></p><pre><code><code>Help me decide whether to build a new component.

Component request: [paste]
Context:
- Teams requesting it: [list]
- Known screens / flows: [list]
- Alternatives in system today: [list]

Output:
1) Reuse likelihood (high/medium/low) with reasoning
2) Risks (maintenance, variants, accessibility complexity)
3) MVP scope (minimum viable version)
4) What to validate before building</code></code></pre><p>Save the output in your decisions folder. When someone asks, &#8220;Why didn&#8217;t we build X?&#8221; you have a written record of the reasoning.</p><div><hr></div><h3>12. Use Claude Code for design system research</h3><p>Researching how other systems handle a problem (token structures, component APIs, theming approaches) usually eats an entire afternoon. You open ten tabs, compare three Storybook instances, skim four blog posts, and still end up with scattered notes.</p><p>Claude Code has built-in web search and file analysis. Point it at a competitor&#8217;s public repo, a Storybook instance, or a set of documentation pages, and it pulls everything together into one document. </p><p><strong>Example:</strong></p><pre><code><code># From your terminal, ask Claude Code to research
claude "Research how Shopify Polaris, Atlassian, and GitHub Primer
handle their color token structure. Compare naming conventions,
semantic layers, and how they handle dark mode. Output a comparison
table I can share with my team."</code></code></pre><p>You get a research summary your team can act on in the same week you asked the question, not a collection of bookmarks you will never revisit.</p><div><hr></div><h2>Tokens and consistency</h2><h3>13. Generate a token naming convention from your real usage</h3><p>Token naming inconsistencies are a burden on every engineer who touches your system. <code>color-primary</code> in one file, <code>primaryColor</code> in another, <code>brand.primary</code> in a third. Engineers guess. Designers copy what looks right. The inconsistency compounds silently until a rebrand or a multi-brand initiative forces you to deal with all of it at once.</p><p>Instead of designing a naming convention from scratch, give AI your current token set and ask it to propose a scheme that matches what you already do, then tighten the edges.</p><p><strong>Prompt:</strong></p><pre><code><code>Analyze our token set and propose a consistent naming convention.
Goals:
- predictable
- scalable to multiple brands
- clear semantic vs primitive separation

Output:
1) naming rules
2) 10 "before -&gt; after" renames
3) a short migration strategy</code></code></pre><p>The goal is predictability. A developer should be able to guess the token name without checking the documentation.</p><div><hr></div><h3>14. Connect Figma variables to your codebase with MCP</h3><p>Every time you paste token values into an AI prompt, they are already stale. Your Figma variables update. Your tokens JSON gets a new release. But the AI is working with whatever you copy-pasted last Tuesday.</p><p>A Model Context Protocol (MCP) server connects your design tokens directly to Claude. The Figma MCP server lets AI read your variables, modes, and collections in real-time. </p><p><strong>The setup:</strong></p><ol><li><p>Install the <strong>Figma MCP server</strong> (or build your own with the MCP Design Tokens Server template)</p></li><li><p>Point it at your Figma file or your tokens JSON</p></li><li><p>Now every AI prompt you run has live access to your actual token values</p><p></p></li></ol><div><hr></div><h3>15. Use Context7, so AI always has current documentation</h3><p>AI models have a training cutoff. When you ask Claude or Cursor about Style Dictionary v4, Radix Themes, or Tailwind v4, you might get answers based on last year&#8217;s API, and not realize it until you have already built something around a deprecated method.</p><p>Your token pipeline probably depends on Style Dictionary. Your components might use Radix or shadcn. Your utility layer might be Tailwind. If AI gives you advice based on outdated docs, you waste time fixing problems that do not actually exist.</p><p><strong><a href="https://context7.com/">Context7</a> </strong>feeds AI the latest documentation for the libraries your design system depends on. Add it as a reference source in your AI workflow. When generating components or debugging token transforms, ask AI to check Context7 for the current API first.</p><div><hr></div><h3>16. Run a token drift audit with a Skill</h3><p>Teams bypass tokens. You find out weeks later when the UI looks wrong. Manually checking every PR for hardcoded colors and spacing values does not scale. And asking people to &#8220;just use tokens&#8221; in Slack is not enforcement, it is hope.</p><p><strong>A token audit Skill </strong>tells Claude Code exactly what to look for in your codebase (hardcoded hex values, raw pixel spacing, missing theme variants) and how to report it. Save it once, and anyone on your team can run it on demand or as part of their review process.</p><p><strong>Example: a token audit Skill</strong></p><pre><code><code>---
name: token-drift-audit
description: Scan codebase for hardcoded values that should use design tokens
autoload: when reviewing PRs or checking token usage
---

# Token Drift Audit

Scan the codebase for values that bypass the design token system.

## What to flag
- Hardcoded hex, rgb, or hsl colors in component files
- Raw pixel spacing values (4px, 8px, 16px, etc.)
- Inline font sizes instead of typography tokens
- Colors that exist as tokens but are written as raw values
- Primitive tokens (e.g. blue.500) used directly in components

## What to check
- All themes (Light, Dark, High Contrast) have matching token sets
- No broken token references
- Color contrast ratios meet WCAG AA (4.5:1 text, 3:1 large text)
- Naming follows the convention: {category}.{property}.{variant}

## Output format
- Group findings by severity: critical, warning, info
- Show file path and line number for each finding
- Suggest the correct token for each hardcoded value
- End with a summary count
</code></code></pre><p>Save this as <code>.claude/skills/token-drift-audit/SKILL.md</code> in your repo. Now anyone on your team can run it:</p><pre><code><code>claude "Run a token drift audit on the components/ folder"</code></code></pre><p>You catch drift in PRs, not production. And because it is a Skill, the audit is consistent. Every team member gets the same checks, the same output format, the same severity levels.</p><div><hr></div><h2>Adoption, metrics, and ROI</h2><h3>17. Build an adoption dashboard </h3><p>Leadership wants metrics. But runtime tracking (watching which developers use which components in real time) feels invasive, and the data is noisy anyway. Importing a component does not guarantee it is used correctly.</p><p>Start with build-time signals instead. Component imports, token drift counts, bypass signals (raw <code>&lt;button&gt;</code> elements, inline styles), and PR drift delta. These are facts extracted from code, not surveillance of people.</p><p><strong>Prompt:</strong></p><pre><code><code>Design a design system adoption dashboard plan.
Start with build-time metrics only:
- component imports / usage counts
- token drift counts
- bypass signals (raw &lt;button&gt;, inline styles)
- PR drift delta

Output:
1) metrics definitions
2) data sources
3) weekly reporting format</code></code></pre><p>Build-time metrics tell you what is happening in the codebase without anyone feeling watched. That is the foundation. Add complexity only when you have proven the basics are useful.</p><div><hr></div><h3>18. Find the bypass patterns that hurt consistency</h3><p>When teams bypass your design system, the instinct is to blame them. &#8220;They should have used the component.&#8221; But if people are bypassing consistently, the system is failing them. The component does not exist. The token is missing. The docs are unclear. The API is too rigid.</p><p>Bypass patterns are user research. Feed AI your drift report and ask it to identify what is recurring, why teams do it, and what the smallest fix is that you can ship this sprint.</p><p><strong>Prompt:</strong></p><pre><code><code>Given this drift report, identify the top bypass patterns.
For each bypass:
- why teams do it
- what the design system should change (component, token, docs)
- the smallest fix we can ship this sprint</code></code></pre><p>Every bypass you fix makes the system easier to use, which makes the next bypass less likely. That is how adoption compounds.</p><div><hr></div><h3>19. Generate release notes that teams will actually read</h3><p>Your changelog says &#8220;<em>updated Button component.</em>&#8221; Nobody knows what changed, who is affected, or whether they need to do anything. So nobody reads it, and then they complain they were not told about breaking changes.</p><p>Release notes for design systems need to be written for non-design-system people. What changed, why it matters for product work, and what teams need to do (if anything). AI can generate this from your changelog and merged PRs in minutes.</p><p><strong>Prompt:</strong></p><pre><code><code>Write design system release notes for non-design-system people.
Inputs: changelog + list of merged PRs.

Output:
- what changed (3-7 bullets)
- why it matters (tie to product outcomes)
- what teams need to do (if anything)
- links to migration guides</code></code></pre><p>If the release note does not say &#8220;what this means for you,&#8221; it will not get read.</p><div><hr></div><h3>20. Run your own AI design system assistant 24/7</h3><p><a href="https://docs.openclaw.ai/">OpenClaw</a> (previously clawdbot) is an open-source AI assistant that runs 24/7 on your own hardware. A ~5/month Hetzner VPS is enough. Connect it to Telegram, Slack, Discord, or WhatsApp and your team has an always-on design system expert that can actually read your repo.</p><p><strong>What it gives you:</strong></p><ul><li><p><strong>Always-on access</strong> via Telegram, Slack, Discord, or WhatsApp</p></li><li><p><strong>Full system access</strong>: it can run scripts, query your token files, check your repo</p></li><li><p><strong>Scheduled jobs</strong>: automate weekly reports, competitor checks, content generation</p></li><li><p><strong>Persistent memory</strong>: it remembers previous conversations and context</p></li><li><p><strong>Your choice of model</strong>: Claude, GPT, Gemini, DeepSeek, whatever fits your budget</p></li></ul><p><strong>Example setup for a design system team:</strong></p><ul><li><p>Morning cron job runs a token drift scan and posts results to Slack</p></li><li><p>Team members message the bot on Telegram: &#8220;What&#8217;s the current spacing scale?&#8221; It reads the actual tokens and responds</p></li><li><p>Weekly automated competitor check: &#8220;What did Polaris, Carbon, and Primer ship this week?&#8221;</p></li></ul><p><strong>A word on security:</strong> Keep this on a separate server from your production infrastructure. <strong>Give it read-only access to a clone of your token files and documentation, not your live codebase. </strong>This is a tool for answering questions, running reports, and automating research. It is not a deployment pipeline. Treat it like a team assistant with a read-only badge, not an engineer with push access.</p><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;81c0ca8e-0039-45db-8e35-e3e36a776d1d&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Can OpenClaw (prev clawdbot) Become Your Personal AI Design System Agent Available 24/7?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-30T14:41:50.371Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!KLwD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/can-openclaw-prev-clawdbot-become&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:186237503,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:15,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h2>The toolkit</h2><p>Here is every tool mentioned in this article and where to start:</p><p><strong><a href="https://claude.ai/">Claude Code</a></strong><br>AI coding assistant with file access, web search, and Skills</p><p><strong>MCP (Model Context Protocol)</strong><br>Connects AI to live data sources (Figma, tokens, docs). </p><ul><li><p><strong>Figma MCP</strong> for reading variables, design frames, and component metadata</p></li><li><p><strong>GitHub MCP</strong> for reading repos, PRs, issues, and component source code</p></li><li><p><strong>Slack MCP</strong> for monitoring design system requests and support channels</p></li><li><p><strong>Notion MCP</strong> for reading and writing design system documentation and decision logs</p></li><li><p><strong>PostHog MCP</strong> for querying adoption metrics, feature flags, and usage data</p></li><li><p><strong>Zapier MCP</strong> for connecting your design system workflows to Jira, Linear, and hundreds of other tools</p></li></ul><p><strong><a href="https://www.figma.com/make/">Figma Make</a></strong><br>Generates code from Figma designs using your component library. </p><p><strong><a href="https://playwright.dev/">Playwright</a></strong><br>Automated browser testing with AI agents (Planner, Generator, Healer).</p><p><strong><a href="https://context7.com/">Context7</a></strong><br>Feeds current library documentation to AI tools.</p><p><strong><a href="https://www.plugma.dev/">plugma</a></strong><br>Modern Figma plugin development toolchain. <code>npx create-plugma@latest</code></p><p><strong><a href="https://docs.openclaw.ai/">OpenClaw</a></strong><br>Self-hosted AI assistant on your own server. </p><p><strong><a href="https://posthog.com/">PostHog</a></strong><br>Product analytics platform with feature flags, session replays, and A/B testing. For design systems, it tracks component usage in production, measures adoption across teams, and gives you real data for ROI conversations with leadership. The PostHog MCP server lets AI query your analytics directly.</p><p></p><p>Enjoy exploring &#128588;</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p><br><strong>Swap Wizard Figma plugin</strong></p><p>1st place at the IDS hackaton </p><p><br>&#10024; Auto-matches components even when names don't align perfectly <br>&#10024; Lets you validate and adjust mappings with live previews <br>&#10024; Handles variant properties so you pick the exact component you need <br>&#10024; Re-attaches detached components</p><p>&#128279;<a href="https://www.linkedin.com/posts/activity-7426596617509789696-lroo?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAIm0UIB6YXIAMl4tTZJpr6OKeGfXLHdRoY"> </a><strong><a href="https://swapwizardhackathon.lovable.app/#">Link</a></strong></p><p></p><p><strong>Edgy Figma plugin</strong></p><p>2nd place at the IDS Hackaton &#8594; The team explored whether a plugin could analyse flows, call out missed edge cases, and generate any missing screens directly on the canvas using an existing design system. And they did it. </p><p>&#128279;<a href="https://www.linkedin.com/posts/activity-7426596617509789696-lroo?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAIm0UIB6YXIAMl4tTZJpr6OKeGfXLHdRoY"> </a><strong><a href="https://www.linkedin.com/posts/activity-7426596617509789696-lroo?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAIm0UIB6YXIAMl4tTZJpr6OKeGfXLHdRoY">Link</a></strong></p><p></p><p><strong>Design Token Naming Guide + Builder </strong></p><p><strong>&#128279; <a href="https://www.namedesigntokens.guide/builder">Link</a> </strong></p>]]></content:encoded></item><item><title><![CDATA[Use AI to push Figma variants straight to Storybook (Step-by-step guide)]]></title><description><![CDATA[Bonus: Introducing Design Token Naming Tool 2.0]]></description><link>https://learn.thedesignsystem.guide/p/push-your-figma-components-to-storybook</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/push-your-figma-components-to-storybook</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 06 Feb 2026 08:51:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nMHS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><p><em>I am <strong>not</strong> affiliated with any of the suggested tools</em> </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nMHS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nMHS!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!nMHS!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!nMHS!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!nMHS!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nMHS!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:9761957,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nMHS!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!nMHS!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!nMHS!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!nMHS!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You spend 2 hours setting up beautiful variants in Figma. Primary, secondary, ghost. Small, medium, large. Default, hover, disabled.</p><p>Then a developer asks: &#8220;What are the props for this component?&#8221;</p><p>You explain everything again. In a meeting, in a Notion doc, or in Slack messages. The developer writes the component with slightly different naming. Now &#8220;Primary&#8221; in Figma becomes <code>type: 'main'</code> in code.</p><p>The translation layer between design and code breaks down within weeks.</p><p>Here&#8217;s the thing: <strong>your Figma variants already ARE your props</strong>. They just need to speak the same language as your code. When you set this up correctly, your Figma button with variants &#8220;Primary, Secondary, Ghost&#8221; automatically becomes a React component with <code>variant: 'primary' | 'secondary' | 'ghost'</code>, which automatically becomes interactive controls that anyone can toggle.</p><p>No manual documentation. No translation meetings. No drift.</p><div><hr></div><h2>What you will learn:</h2><ul><li><p><strong>Figma variant properties = Component props</strong>: When you name variants correctly, AI generates matching TypeScript types automatically</p></li><li><p><strong>The naming alignment is everything</strong>: &#8220;Primary&#8221; in Figma should become <code>'primary'</code> in code, not <code>'main'</code> or <code>'type1'</code></p></li><li><p><strong>Storybook controls generate from types</strong>: Clean union types mean clean dropdown controls, no configuration needed</p></li><li><p><strong>Prompts</strong>: Copy-paste prompts for every step of this workflow</p></li></ul><div><hr></div><h2>What is Storybook (and why should you care)?</h2><p><a href="https://storybook.js.org/">Storybook</a> is a <strong>free, open-source </strong>tool that lets you browse and test your components in isolation, outside of your app. Think of it as an interactive catalog of every component in your design system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CCPA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CCPA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 424w, https://substackcdn.com/image/fetch/$s_!CCPA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 848w, https://substackcdn.com/image/fetch/$s_!CCPA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 1272w, https://substackcdn.com/image/fetch/$s_!CCPA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CCPA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png" width="1456" height="925" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:925,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:343330,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CCPA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 424w, https://substackcdn.com/image/fetch/$s_!CCPA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 848w, https://substackcdn.com/image/fetch/$s_!CCPA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 1272w, https://substackcdn.com/image/fetch/$s_!CCPA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Why is it so useful: </p><ul><li><p><strong>You can click through every variant</strong> without spinning up the full product</p></li><li><p><strong>Controls panel</strong> lets you toggle props (size, variant, disabled) in real time</p></li><li><p><strong>Auto-generated documentation</strong> pulls from the code, so it never goes stale</p></li><li><p><strong>Shareable URL</strong> means you can send a link to anyone for review</p></li></ul><p>When your Figma naming matches the code, Storybook generates all of this automatically from your TypeScript types.</p><div><hr></div><h2>The mental model: how props flow</h2><p>Before you touch any tools, understand this flow:</p><pre><code><code>FIGMA                      CODE                        STORYBOOK
&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;
Variant property     &#8594;     Component prop       &#8594;     Control panel
"Variant: Primary"         variant: 'primary'         [Dropdown: Primary &#9660;]
"Size: Medium"             size: 'md'                 [Dropdown: Medium &#9660;]
"Disabled: True"           isDisabled: boolean        [Checkbox: &#9745;]</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YcWz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YcWz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 424w, https://substackcdn.com/image/fetch/$s_!YcWz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 848w, https://substackcdn.com/image/fetch/$s_!YcWz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 1272w, https://substackcdn.com/image/fetch/$s_!YcWz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YcWz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png" width="1456" height="502" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:502,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75584,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YcWz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 424w, https://substackcdn.com/image/fetch/$s_!YcWz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 848w, https://substackcdn.com/image/fetch/$s_!YcWz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 1272w, https://substackcdn.com/image/fetch/$s_!YcWz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>You set up Figma &#8594; AI generates the code &#8594; Storybook creates the controls.</strong></p><p>When this chain works, everything stays in sync. When it breaks (usually because Figma naming doesn&#8217;t match code conventions), you get drift.</p><p>Let&#8217;s go step by step. </p><div><hr></div><h2>Setting up Storybook</h2><p>In your React/Next.js project, run:</p><pre><code><code>npx storybook@latest init</code></code></pre><p>This creates a <code>.storybook</code> folder with configuration. Start it with:</p><pre><code><code>npm run storybook</code></code></pre><p>You&#8217;ll see a local server at http://localhost:6006 with example stories.</p><h3>Optional: Publish with Chromatic</h3><p><strong><a href="https://www.chromatic.com/">Chromatic</a></strong> publishes your Storybook online, so your entire team can browse components in a browser. Free for open source, generous free tier for everyone else.</p><p>I use this option, so I can also share the work with others. </p><p>&#8594; Sign up at chromatic.com (GitHub login works)</p><p>&#8594; Create a new project and get your project token</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PvAi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PvAi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 424w, https://substackcdn.com/image/fetch/$s_!PvAi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 848w, https://substackcdn.com/image/fetch/$s_!PvAi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 1272w, https://substackcdn.com/image/fetch/$s_!PvAi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PvAi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png" width="1456" height="478" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9813096-a1c6-4b84-a169-ca767809f422_1593x523.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:478,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45974,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PvAi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 424w, https://substackcdn.com/image/fetch/$s_!PvAi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 848w, https://substackcdn.com/image/fetch/$s_!PvAi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 1272w, https://substackcdn.com/image/fetch/$s_!PvAi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8594; Install and publish Chromatic:</p><pre><code><code>npm install chromatic --save-dev
npx chromatic --project-token=YOUR_TOKEN</code></code></pre><p>You&#8217;ll get a public URL to share. Chromatic also catches visual regressions when you push changes.</p><div><hr></div><h2>Setting up Figma so AI can read it</h2><p>This is the most important step. AI tools read your Figma file directly: your variant properties, layer names, and design tokens. If these are messy, the generated code will be messy.</p><p><strong>Your Figma variant property names become your prop names.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!llx0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!llx0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 424w, https://substackcdn.com/image/fetch/$s_!llx0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 848w, https://substackcdn.com/image/fetch/$s_!llx0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 1272w, https://substackcdn.com/image/fetch/$s_!llx0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!llx0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png" width="1456" height="568" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:568,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:60904,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!llx0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 424w, https://substackcdn.com/image/fetch/$s_!llx0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 848w, https://substackcdn.com/image/fetch/$s_!llx0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 1272w, https://substackcdn.com/image/fetch/$s_!llx0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Name your Figma variants with code-friendly values (lowercase, no spaces, consistent format), and AI generates cleaner code.</p><p><strong>Checklist before you generate</strong></p><p>Open your component in Figma and verify:</p><ul><li><p><strong>Consistent naming</strong>: All variants use the same format (sm/md/lg, not sm/Medium/LG)</p></li><li><p><strong>Code-friendly values</strong>: No spaces, lowercase preferred (primary, not &#8220;Primary Button Style&#8221;)</p></li><li><p><strong>Boolean properties for on/off states</strong>: isDisabled, isLoading, hasIcon (not &#8220;State: Disabled&#8221;)</p></li><li><p><strong>Meaningful layer names</strong>: &#8220;Leading Icon&#8221;, &#8220;Label&#8221;, &#8220;Trailing Icon&#8221; (not &#8220;Frame 47&#8221;, &#8220;Vector&#8221;, &#8220;Text&#8221;)</p></li></ul><p></p><h3>Add a component description</h3><p>Select your component set in Figma and add a description. AI reads this and uses it for context: </p><pre><code><code>Button component for user actions.

Props:
- variant: primary | secondary | ghost | danger (default: primary)
- size: sm | md | lg (default: md)
- isDisabled: boolean (default: false)
- isLoading: boolean (default: false)

Usage: Use primary for main actions, secondary for alternative actions,
ghost for tertiary actions, danger for destructive actions.</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B3hf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B3hf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 424w, https://substackcdn.com/image/fetch/$s_!B3hf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 848w, https://substackcdn.com/image/fetch/$s_!B3hf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 1272w, https://substackcdn.com/image/fetch/$s_!B3hf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B3hf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png" width="1456" height="567" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:567,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56346,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!B3hf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 424w, https://substackcdn.com/image/fetch/$s_!B3hf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 848w, https://substackcdn.com/image/fetch/$s_!B3hf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 1272w, https://substackcdn.com/image/fetch/$s_!B3hf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Pick your AI tool</h2><p>You need an AI tool that can read your Figma and generate code. Here are your recommended options:</p><p><strong>Claude Code</strong> reads Figma files directly through the <a href="https://www.npmjs.com/package/figma-developer-mcp">Figma MCP server</a>. One-time setup. Claude Code can be used as an extension in any IDE or in your terminal.</p><p>Or, you can use Cursor. </p><p><strong>Cursor</strong> is an AI-powered code editor (IDE) with built-in chat. It also supports MCP servers, so you connect Figma the same way. You can switch between AI models (Claude Opus 4.6, GPT-5.2, Gemini, etc.) to compare outputs.</p><p></p><h2>The two prompts that do everything</h2><p>This is the core of the workflow. The first builds your component, the second pushes it to Storybook.</p><h3>Prompt 1: Generate the component</h3><p>Select your component in Figma, then paste this:</p><pre><code><code>Get the design context for the selected Figma component.

Generate a React component with TypeScript that:
1. Has props matching the Figma variant properties exactly
   (use the same names and values, lowercased)
2. Uses TypeScript union types for all variants
   (e.g., 'primary' | 'secondary', never just string)
3. Uses boolean props for on/off states
   (e.g., isDisabled?: boolean)
4. Adds JSDoc comments for every prop explaining:
   - What it does
   - Available options
   - Default value
5. Follows the patterns in our existing components at src/components/

Show me the generated TypeScript interface first so I can verify
the prop names and values match my Figma setup before you write
the full component.</code></code></pre><p></p><p>More detailed guide and tricks about generating components with AI here &#8594; </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7ea0a383-3850-44bf-9705-ebe83be6901b&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Ultimate AI Component Generation Framework &quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-03T10:09:26.324Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!a3HB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bea4d7-9c61-4672-bc26-7ff74f3bc772_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/the-ultimate-ai-component-generation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175136945,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:58,&quot;comment_count&quot;:3,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><h3>What you should get back:</h3><pre><code><code>export interface ButtonProps {
  /** The visual style of the button */
  variant?: 'primary' | 'secondary' | 'ghost' | 'danger';
  /** The size of the button */
  size?: 'sm' | 'md' | 'lg';
  /** Whether the button is disabled */
  isDisabled?: boolean;
  /** Whether to show loading state */
  isLoading?: boolean;
  /** Button content */
  children: React.ReactNode;
}</code></code></pre><p><strong>Check that the prop names and values match your Figma exactly.</strong> If AI-generated <code>type</code> instead of <code>variant</code>, or <code>small</code> instead of <code>sm</code>, tell it:</p><pre><code><code>The prop names don't match my Figma. Change "type" to "variant"
and "small/medium/large" to "sm/md/lg".</code></code></pre><p></p><h3>Prompt 2: Generate stories and run Storybook</h3><p>Once your component looks good, paste this:</p><pre><code><code>Look at the component you just created.

Generate Storybook stories that:
1. Use CSF 3.0 format with Meta and StoryObj types
2. Include the 'autodocs' tag for automatic documentation
3. Create one story for each variant
4. Create one story showing all sizes side by side
5. Create stories for every boolean state (disabled, loading, etc.)
6. Add an "AllVariants" story that renders every variant
   in a grid so I can compare them at a glance
7. Add edge case stories:
   - Long text label (50+ characters)
   - With leading and trailing icons
   - Inside a form context
8. Add a play function to the default story that:
   - Clicks the component
   - Verifies the click handler fires
   - Tests keyboard navigation (tab + enter)

Put the stories next to the component file.
Then run Storybook so I can see the result.</code></code></pre><p></p><h3>What happens next</h3><p>Open http://localhost:6006 (or whatever local address you have) You&#8217;ll see:</p><ul><li><p><strong>Live component preview</strong> you can interact with</p></li><li><p><strong>Controls panel</strong> with dropdowns for variant and size, checkboxes for isDisabled and isLoading</p></li><li><p><strong>Auto-generated docs</strong> with your JSDoc comments as prop descriptions</p></li><li><p><strong>AllVariants story</strong> showing every combination in a grid</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JhGo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JhGo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 424w, https://substackcdn.com/image/fetch/$s_!JhGo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 848w, https://substackcdn.com/image/fetch/$s_!JhGo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 1272w, https://substackcdn.com/image/fetch/$s_!JhGo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JhGo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png" width="1449" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1449,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:122546,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JhGo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 424w, https://substackcdn.com/image/fetch/$s_!JhGo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 848w, https://substackcdn.com/image/fetch/$s_!JhGo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 1272w, https://substackcdn.com/image/fetch/$s_!JhGo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>You didn't configure any controls. Storybook figured it out from your types.</strong> That's the whole point of getting the naming right in Figma.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SPEl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SPEl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 424w, https://substackcdn.com/image/fetch/$s_!SPEl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 848w, https://substackcdn.com/image/fetch/$s_!SPEl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 1272w, https://substackcdn.com/image/fetch/$s_!SPEl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SPEl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png" width="1449" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1449,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:69779,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SPEl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 424w, https://substackcdn.com/image/fetch/$s_!SPEl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 848w, https://substackcdn.com/image/fetch/$s_!SPEl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 1272w, https://substackcdn.com/image/fetch/$s_!SPEl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h6>Check the example story <a href="https://workday.github.io/canvas-kit/?path=/story/testing-buttons-actionbar--action-bar-states">here &#8594; </a></h6><p></p><h2>When things go wrong </h2><p>Two issues come up most often:</p><p><strong>Controls don&#8217;t match your Figma variants</strong></p><p>This happens when AI uses different names than your Figma. Tell it exactly what to fix:</p><pre><code><code>Update the component types to match my Figma naming exactly:
- variant: primary | secondary | ghost | danger
- size: sm | md | lg</code></code></pre><p><strong>Types are too loose</strong></p><p>If AI typed a prop as <code>string</code> instead of specific values, tighten it:</p><pre><code><code>The size prop is typed as `string` but it should only accept
specific values. Change it to a union type: 'sm' | 'md' | 'lg'</code></code></pre><div><hr></div><h2>Why this matters</h2><p>The props connection between Figma and Storybook creates a single source of truth.</p><p>When your Figma variants, code props, and Storybook controls all use the same language:</p><ul><li><p><strong>Designers review components</strong> without asking &#8220;what did the developer call this?&#8221;</p></li><li><p><strong>Developers implement</strong> without asking &#8220;what does the designer mean by Type 2?&#8221;</p></li><li><p><strong>Documentation stays accurate</strong> because it generates from the code</p></li><li><p><strong>AI updates everything</strong> when you change the Figma source</p></li></ul><p></p><p>The biggest design system problems aren&#8217;t technical. They&#8217;re communication problems. Naming alignment solves a surprising number of them.</p><div><hr></div><h2>Inspiration: Storybooks worth exploring</h2><p>See how top companies document their components:</p><p><strong>&#128279; <a href="https://polaris.shopify.com/components">Shopify Polaris</a></strong>: Accessibility auditing, viewport testing, theme switching</p><p><strong>&#128279; <a href="https://primer.style/react/storybook">GitHub Primer</a></strong>: Clean organization, great props documentation</p><p><strong>&#128279; <a href="https://react.carbondesignsystem.com/">IBM Carbon</a></strong>: Comprehensive component library with detailed usage guidelines</p><p><strong>&#128279; <a href="https://www.bbc.co.uk/iplayer/storybook/">BBC iPlayer</a></strong>: Rebuilt their entire UI library in Storybook after a component audit</p><p><strong>&#128279; <a href="https://style.monday.com/">Monday.com Vibe</a></strong>: Beautiful welcome page, clear navigation</p><p><strong>&#128279; <a href="https://react.ui.audi/">Audi UI React</a></strong>: Brand imagery meets component documentation</p><p><strong>&#128279; <a href="https://storybook.grommet.io/">Grommet (HPE)</a></strong>: Extensive theming examples</p><p><strong>&#128279; <a href="https://wordpress.github.io/gutenberg/">WordPress Gutenberg</a></strong>: Block editor components, accessibility focus</p><p><strong>&#128279; <a href="https://jetbrains.github.io/ring-ui/">JetBrains Ring UI</a></strong>: Developer tools components, dark mode support</p><p>Browse more at the <strong><a href="https://storybook.js.org/showcase/">Storybook Showcase</a>.</strong></p><p></p><p>Enjoy exploring &#128588;</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><h3>Introducing: <a href="https://www.namedesigntokens.guide/builder">Design Token Naming GUIDE + BUILDER 2.0</a> &#127881;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KIMN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KIMN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 424w, https://substackcdn.com/image/fetch/$s_!KIMN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 848w, https://substackcdn.com/image/fetch/$s_!KIMN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 1272w, https://substackcdn.com/image/fetch/$s_!KIMN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KIMN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png" width="1456" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c537360c-d572-4813-a6de-32ef30443d66_1612x1134.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:217109,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KIMN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 424w, https://substackcdn.com/image/fetch/$s_!KIMN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 848w, https://substackcdn.com/image/fetch/$s_!KIMN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 1272w, https://substackcdn.com/image/fetch/$s_!KIMN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.namedesigntokens.guide/&quot;,&quot;text&quot;:&quot;Try it here&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.namedesigntokens.guide/"><span>Try it here</span></a></p><p>I built a free, interactive tool to help designers and developers improve their naming of design tokens. And maybe, build their own token systems along the way. &#128579;<br><br>Whether you're just getting started with tokens or trying to get your team on the same page, this might help. <br><br>Here's what you'll find:</p><ul><li><p>6 interactive lessons that walk you through what design tokens actually are, how they work, and how to name them well (about 15 mins total)</p></li><li><p>Token BUILDER to configure your own naming structure with components, categories, states, and roles</p></li><li><p>Primitive vs Semantic modes, so you can switch between simple scale-based tokens or full semantic naming</p></li><li><p>Live preview that shows your token names as you build them</p></li><li><p>Export-ready, so you can copy or download your tokens and start using it </p></li><li><p>Figma Variables ready format</p></li><li><p>Advanced filtering and sorting </p></li><li><p>Add values manually or put placeholders in a second <br></p></li></ul><p>The whole point is to let you quickly switch naming conventions and test what works for your project. <br><br>Feedback for improvements is always welcome. &#129782; </p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Winden Tokens<br></strong>A Figma plugin for managing design tokens (variables) with a spreadsheet-style interface. Quickly create, edit, and organize your design system variables.<br><br><strong>&#128279; <a href="https://github.com/krstivoja/winden-tokens">Link</a> (GitHub)  &#128279; <a href="https://www.figma.com/community/plugin/1597659998667042080/winden-tokens-design-system-toolkit">Figma plugin</a></strong></p><div><hr></div><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;25bc626b-ff63-4e60-af2b-d7776c7f66a7&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Can OpenClaw (prev clawdbot) Become Your Personal AI Design System Agent Available 24/7?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-30T14:41:50.371Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!KLwD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/can-openclaw-prev-clawdbot-become&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:186237503,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:15,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[Can OpenClaw (prev clawdbot) Become Your Personal AI Design System Agent Available 24/7?]]></title><description><![CDATA[What's working and what's hype]]></description><link>https://learn.thedesignsystem.guide/p/can-openclaw-prev-clawdbot-become</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/can-openclaw-prev-clawdbot-become</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 30 Jan 2026 14:41:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KLwD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KLwD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KLwD!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!KLwD!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!KLwD!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!KLwD!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KLwD!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8705746,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KLwD!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!KLwD!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!KLwD!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!KLwD!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Design systems don&#8217;t sleep. Teams push code at midnight. Someone uses a raw hex value &#8220;just this once.&#8221; A deprecated token sneaks into production.</p><p>It&#8217;s hard to watch everything. But for &#8364;5/month, something can.</p><p>A personal AI assistant running 24/7 in the cloud. It monitors your repos, flags violations, and messages you on Telegram when something needs attention. It runs while you sleep. It&#8217;s yours to customize.</p><h2>In short</h2><ul><li><p><strong>&#8364;5/month beats &#8364;600 hardware</strong>: A Hetzner cloud server gives you 24/7 uptime without buying a Mac Mini</p></li><li><p><strong>Telegram is your control center</strong>: Message your AI from anywhere, get responses even when your laptop is closed</p></li><li><p><strong>No DevOps needed</strong>: Copy-paste commands get you from zero to running in under 2 hours</p></li><li><p><strong>Bonus: Complete command cheat sheet</strong>: Every command you need on a single page</p></li></ul><div><hr></div><h2>Why everyone&#8217;s talking about OpenClaw</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZN0g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZN0g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 424w, https://substackcdn.com/image/fetch/$s_!ZN0g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 848w, https://substackcdn.com/image/fetch/$s_!ZN0g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 1272w, https://substackcdn.com/image/fetch/$s_!ZN0g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZN0g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png" width="1456" height="1107" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1107,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:649710,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZN0g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 424w, https://substackcdn.com/image/fetch/$s_!ZN0g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 848w, https://substackcdn.com/image/fetch/$s_!ZN0g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 1272w, https://substackcdn.com/image/fetch/$s_!ZN0g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>If you&#8217;ve been on tech X lately, you&#8217;ve probably seen the Mac Mini buying frenzy. </p><p>People are setting up dedicated machines just to run an AI assistant 24/7. One user described it as &#8220;sort of amazing knowing that we are all having the same weekend... Mac Minis and OpenClaw.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!48Gn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!48Gn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 424w, https://substackcdn.com/image/fetch/$s_!48Gn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 848w, https://substackcdn.com/image/fetch/$s_!48Gn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 1272w, https://substackcdn.com/image/fetch/$s_!48Gn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!48Gn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png" width="468" height="624" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1584,&quot;width&quot;:1188,&quot;resizeWidth&quot;:468,&quot;bytes&quot;:463113,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!48Gn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 424w, https://substackcdn.com/image/fetch/$s_!48Gn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 848w, https://substackcdn.com/image/fetch/$s_!48Gn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 1272w, https://substackcdn.com/image/fetch/$s_!48Gn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So what is OpenClaw, and why are people treating it like hiring their first employee?</p><p><a href="https://openclaw.ai/">OpenClaw</a> (formerly Clawdbot, then Moltbot) is <strong>an open-source personal AI assistant </strong>created by <strong>Peter Steinberger (@steipete)</strong>. The lobster has molted twice already. Unlike ChatGPT or Claude.ai, which live in browser tabs, OpenClaw:</p><ul><li><p><strong>Runs on your hardware</strong> (Mac, Linux, Windows, Raspberry Pi, or cloud VPS)</p></li><li><p><strong>Connects through chat apps you already use</strong> (Telegram, WhatsApp, Discord, iMessage, Slack)</p></li><li><p><strong>Has full system access</strong> (can execute terminal commands, write scripts, install software)</p></li><li><p><strong>Works with any LLM</strong> (Claude, GPT, Gemini, DeepSeek, Perplexity)</p></li><li><p><strong>Remembers everything</strong> (persistent memory across sessions)</p></li><li><p><strong>Can improve itself</strong> (add new capabilities just by talking to it)</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L0sC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L0sC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L0sC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L0sC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L0sC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L0sC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg" width="1456" height="1052" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1052,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!L0sC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L0sC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L0sC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L0sC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The project has exploded: 108k GitHub stars, 15k forks, and a Discord community building skills for everything from calendar management to home automation.</p><p>What makes it viral? It feels like &#8220;the future&#8221; because it actually does things, not just chats. One user set up OpenClaw to manage multiple AI coding agents, autonomously debate code reviews, and deploy features while walking the dog. Another had it decode emergency radio frequencies using RTL-SDR hardware, which they just plugged in.</p><p>Here&#8217;s the thing, though: <strong>you don&#8217;t need a $600 Mac Mini</strong>. The creator himself keeps telling people to stop buying hardware. A &#8364;5/month cloud server works just as well, and that&#8217;s what this guide covers.</p><div><hr></div><h2>Before you start: Security is not optional</h2><p>This is not a toy. OpenClaw has<strong> full system access. </strong>It can execute terminal commands, write scripts, install software, and spin up sub-agents. If you&#8217;re not paranoid about security, you should be.</p><p><strong>Treat it like hiring a stranger with the keys to your house.</strong></p><p>Here&#8217;s what that means in practice:</p><p><strong>Isolate the environment</strong></p><ul><li><p>Run it on a dedicated server or user account, not your main machine</p></li><li><p>If using a Mac, create a separate user just for OpenClaw</p></li><li><p>A cloud VPS (like this guide covers) is actually safer than your personal laptop</p></li></ul><p><strong>Lock down messaging</strong></p><ul><li><p>Use a messaging app you don&#8217;t use for anything else (Telegram works well)</p></li><li><p>If your phone is stolen or a token is compromised, someone could impersonate you</p></li><li><p>During testing, OpenClaw sent emails <em>as</em> one user rather than <em>for</em> them. Careful prompting required.</p></li></ul><p><strong>Use the &#8220;new employee&#8221; rule</strong></p><ul><li><p>Don&#8217;t give it your primary email, passwords, or personal accounts</p></li><li><p>Create separate accounts with limited access (e.g., read-only calendar access)</p></li><li><p>Use a dedicated password vault with only the credentials OpenClaw needs</p></li><li><p>When OAuth asks for permissions, manually restrict to only what&#8217;s necessary</p></li></ul><p><strong>Think about what you&#8217;re exposing</strong></p><ul><li><p>Your calendar has your kids&#8217; school schedules, doctor appointments, and home address</p></li><li><p>Your repos have API keys, deployment configs, and business logic</p></li><li><p>Ask yourself: would you hand this to a contractor you just met?</p></li></ul><p><strong>Have an exit plan</strong></p><ul><li><p>Know how to revoke all tokens and API keys</p></li><li><p>Know how to delete the Telegram bot</p></li><li><p>Know how to wipe the server</p></li></ul><p>If you haven&#8217;t done a security tabletop exercise for this, do one before you start. The power is real. So are the risks.</p><div><hr></div><h2>OpenClaw vs Claude Code: When to use which?</h2><p>If you already use Claude Code, you might wonder why you&#8217;d bother with OpenClaw. Fair question.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q8cn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q8cn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 424w, https://substackcdn.com/image/fetch/$s_!Q8cn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 848w, https://substackcdn.com/image/fetch/$s_!Q8cn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 1272w, https://substackcdn.com/image/fetch/$s_!Q8cn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q8cn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png" width="1456" height="689" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:689,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:94920,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Q8cn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 424w, https://substackcdn.com/image/fetch/$s_!Q8cn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 848w, https://substackcdn.com/image/fetch/$s_!Q8cn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 1272w, https://substackcdn.com/image/fetch/$s_!Q8cn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>When OpenClaw makes sense:</strong></p><ul><li><p>You want something running while you sleep (&#8221;Research competitor APIs and summarize by morning&#8221;)</p></li><li><p>You need an assistant available from your phone, anywhere</p></li><li><p>You want to monitor repos, get alerts, or run scheduled tasks</p></li><li><p>You&#8217;re building workflows that span hours or days</p></li></ul><p><strong>When Claude Code is better:</strong></p><ul><li><p>Active coding where you need fast feedback loops</p></li><li><p>Working on local files in your IDE</p></li><li><p>You want tight integration with your development environment</p></li><li><p>Latency matters (OpenClaw&#8217;s Telegram round-trip adds delay)</p></li></ul><p><strong>The honest answer:</strong> They complement each other. Claude Code for real-time coding. OpenClaw for &#8220;set it and forget it&#8221; tasks that run while you&#8217;re not at your desk.</p><h2>The architecture </h2><p>Here&#8217;s what you&#8217;re building:</p><pre><code><code>&#9484;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9488;
&#9474;         HETZNER SERVER              &#9474;
&#9474;         (runs 24/7 in the cloud)    &#9474;
&#9474;                                     &#9474;
&#9474;    &#8226; OpenClaw installed here        &#9474;
&#9474;    &#8226; Always online                  &#9474;
&#9474;    &#8226; &#8364;4-5/month                     &#9474;
&#9492;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9496;
              &#8597;
        &#9484;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9488;
        &#9474;  Telegram   &#9474;  &#8592; You control it from here
        &#9474;  (phone or  &#9474;     (anywhere in the world)
        &#9474;   desktop)  &#9474;
        &#9492;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9496;
</code></code></pre><p>Your laptop is only needed for the initial setup. Once configured, OpenClaw runs independently. </p><h2>Part 1: Create your Telegram bot</h2><p>Before touching any servers, let&#8217;s set up the Telegram bot you&#8217;ll use to control everything. You can, of course, use any other messaging service, but again,&nbsp;<strong>be careful&nbsp;</strong>with which account (better to create a new one than share your real one). </p><p><strong>Step 1: Talk to BotFather</strong></p><p>Open Telegram and search for <code>@BotFather</code>. This is Telegram&#8217;s official bot for creating bots. Start a chat and send:</p><pre><code><code>/start</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cI1F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cI1F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 424w, https://substackcdn.com/image/fetch/$s_!cI1F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 848w, https://substackcdn.com/image/fetch/$s_!cI1F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 1272w, https://substackcdn.com/image/fetch/$s_!cI1F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cI1F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png" width="285" height="584.5813953488372" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1323,&quot;width&quot;:645,&quot;resizeWidth&quot;:285,&quot;bytes&quot;:436001,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cI1F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 424w, https://substackcdn.com/image/fetch/$s_!cI1F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 848w, https://substackcdn.com/image/fetch/$s_!cI1F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 1272w, https://substackcdn.com/image/fetch/$s_!cI1F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>BotFather will ask you two questions:</p><ol><li><p><strong>Name:</strong> This is the display name. Call it whatever you want (e.g., &#8220;Mochi&#8221;)</p></li><li><p><strong>Username:</strong> Must end in <code>bot</code>. Something like <code>puffy_assistant_bot</code></p></li></ol><p>BotFather then gives you a token that looks like this:</p><pre><code><code>123456789:ABCdefGHIjklMNOpqrsTUVwxyz</code></code></pre><p><strong>Save this token somewhere safe.</strong> You&#8217;ll need it later.</p><p></p><p><strong>Step 2: Get your Chat ID</strong></p><p>Now you need your personal Chat ID so the bot knows who to talk to.</p><ol><li><p>Find your new bot in Telegram (search for the username you just created)</p></li><li><p>Send it <code>/start</code></p></li><li><p>Open this URL in your browser, replacing <code>YOUR_TOKEN</code> with the token from BotFather:</p></li></ol><pre><code><code>https://api.telegram.org/botYOUR_TOKEN/getUpdates</code></code></pre><p>Look for <code>"id"</code> in the response. It&#8217;s a number like <code>123456789</code>. That&#8217;s your Chat ID.</p><p><strong>Common issue:</strong> If you see <code>{"ok":true,"result":[]}</code>, the message expired. Go back to Telegram, send <code>/start</code> again, then refresh the URL within a few seconds.</p><h3>What you should have now</h3><p>ItemExampleWhere you got itBot Token<code>123456789:ABCdef...</code>From BotFatherChat ID<code>123456789</code>From the getUpdates URL</p><p>Keep these somewhere safe. You&#8217;ll paste them during server setup.</p><div><hr></div><h2>Part 2: Set up your Hetzner server</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yaVY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yaVY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 424w, https://substackcdn.com/image/fetch/$s_!yaVY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 848w, https://substackcdn.com/image/fetch/$s_!yaVY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 1272w, https://substackcdn.com/image/fetch/$s_!yaVY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yaVY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png" width="1224" height="436" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:436,&quot;width&quot;:1224,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:58810,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yaVY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 424w, https://substackcdn.com/image/fetch/$s_!yaVY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 848w, https://substackcdn.com/image/fetch/$s_!yaVY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 1272w, https://substackcdn.com/image/fetch/$s_!yaVY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Step 1: Create a Hetzner account</strong></p><p>Go to <a href="https://www.hetzner.com/cloud">hetzner.com/cloud</a> and sign up. You&#8217;ll need to add a payment method (credit card works).</p><p><strong>Step 2: Generate an SSH key</strong></p><p>SSH keys let you log into your server without a password. On your Mac or PC, open Terminal and run:</p><pre><code><code>ssh-keygen -t ed25519 -C "your@email.com"</code></code></pre><p>When it asks questions:</p><ul><li><p><strong>File location:</strong> Press Enter to accept the default</p></li><li><p><strong>Passphrase:</strong> Press Enter twice (no passphrase makes things easier)</p></li></ul><p>Now copy your public key:</p><pre><code><code>cat ~/.ssh/id_ed25519.pub</code></code></pre><p>You&#8217;ll see something like:</p><pre><code><code>ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your@email.com</code></code></pre><p><strong>Copy that entire line.</strong> You&#8217;ll paste it into Hetzner.</p><p></p><p><strong>Step 3: Create the server</strong></p><ol><li><p>Go to <a href="https://console.hetzner.cloud/">console.hetzner.cloud</a></p></li><li><p>Create a project (name it whatever you want)</p></li><li><p>Click <strong>+ Create Server</strong></p></li></ol><p>Use these settings:</p><ul><li><p><strong>Location</strong>: Falkenstein or Helsinki</p></li><li><p><strong>Image</strong>: Ubuntu 24.04</p></li><li><p><strong>Type</strong>: Shared Resources &#8594; Cost-Optimized &#8594; <strong>CX22</strong></p></li><li><p><strong>SSH Keys</strong>: Click &#8220;Add SSH Key&#8221; and paste your public key</p></li><li><p><strong>Name</strong>: <code>openclaw-agent</code></p></li></ul><p>Click <strong>Create &amp; Buy now</strong>. In about 30 seconds, you&#8217;ll have a server with an IP address like <code>112.111.2.221</code>.</p><p></p><h3>Step 4: Connect to your server</h3><p>In Terminal, run:</p><pre><code><code>ssh root@YOUR_SERVER_IP</code></code></pre><p>Replace <code>YOUR_SERVER_IP</code> with the actual IP from Hetzner. When it asks &#8220;Are you sure you want to continue connecting?&#8221; type <code>yes</code>.</p><p>You should see:</p><pre><code><code>Welcome to Ubuntu 24.04.3 LTS
root@ubuntu-4gb-hel1-1:~#</code></code></pre><p>You&#8217;re now inside your cloud server. Everything you type runs there, not on your laptop. First win! &#129395;</p><div><hr></div><h2>Part 3: Install OpenClaw</h2><p>Now the fun part. You&#8217;re on your server via SSH. Let&#8217;s install the AI.</p><p><strong>Step 1: Update the system</strong></p><p>Run this first (takes 1-2 minutes):</p><pre><code><code>apt update &amp;&amp; apt upgrade -y</code></code></pre><p><strong>Step 2: Install Node.js and OpenClaw</strong></p><p>OpenClaw requires Node.js 22 or newer. Install it first:</p><pre><code><code>curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs</code></code></pre><p>Now install OpenClaw:</p><pre><code><code>npm install -g openclaw@latest</code></code></pre><p>Then run the onboarding wizard:</p><pre><code><code>openclaw onboard --install-daemon</code></code></pre><p>The wizard walks you through:</p><ul><li><p>Accepting the security warning</p></li><li><p>Choosing your AI provider (Anthropic, OpenAI, etc.)</p></li><li><p>Pasting your API key</p></li><li><p>Configuring messaging channels</p></li></ul><p></p><p><strong>Step 3: Give your bot a personality</strong></p><p>OpenClaw asks what it should be. Type something like:</p><pre><code><code>Your name is Mochi. You're my AI assistant for design systems and coding projects. You help me monitor GitHub repos, analyze code, and automate tasks. Be helpful, proactive, and friendly.</code></code></pre><p>Press Enter.</p><p></p><h3>Step 4: Connect GitHub (optional but useful)</h3><p>If OpenClaw asks for GitHub access:</p><ol><li><p>Go to <a href="https://github.com/settings/tokens">github.com/settings/tokens</a></p></li><li><p>Click <strong>Generate new token (classic)</strong></p></li><li><p>Name it <code>openclaw</code></p></li><li><p>Check the <strong>repo</strong> scope</p></li><li><p>Generate and copy the token (starts with <code>ghp_...</code>)</p></li><li><p>Paste it into OpenClaw</p><p></p></li></ol><div><hr></div><h2>Part 4: Connect Telegram</h2><p>Almost there. Let&#8217;s hook up your bot to Telegram.</p><p>During onboarding, OpenClaw asks which messaging channels you want to use. Select Telegram and enter:</p><ul><li><p><strong>Bot Token:</strong> The token from BotFather</p></li><li><p><strong>Chat ID:</strong> Your personal Chat ID</p></li></ul><p>If you skipped this during onboarding, you can re-run:</p><pre><code><code>openclaw onboard</code></code></pre><p>And select Telegram when prompted for channels.</p><h3>Test it</h3><ol><li><p>Open Telegram on your phone</p></li><li><p>Go to your bot&#8217;s chat</p></li><li><p>Send: <code>hello</code></p></li></ol><p>You should get a response from your bot. If you do, it&#8217;s working.</p><div><hr></div><h2>Part 5: Keep it running forever</h2><p>When you connect to your server, you&#8217;re opening a &#8220;session.&#8221; Any programs you start live inside that session. When you close your laptop, disconnect from WiFi, or just close the Terminal window, that session ends. And when the session ends, everything running inside it gets killed.</p><p>It&#8217;s like having a conversation on the phone. The moment you hang up, the conversation stops. What we need is a way to start OpenClaw and have it keep running even after we &#8220;hang up&#8221; our SSH connection.</p><p>That&#8217;s what process managers do. They run your program in the background, completely independent of your SSH session. Even better, they can restart your program automatically if it crashes or if the server reboots.</p><p></p><h3>Option 1: PM2 (recommended)</h3><p>PM2 is the most popular process manager for Node.js applications. Think of it as a babysitter for your programs - it watches them, restarts them if they crash, and keeps logs of what happened.</p><pre><code><code>npm install -g pm2</code></code></pre><p>This installs PM2 globally on your server. You only need to do this once.</p><pre><code><code>pm2 start openclaw --name "openclaw"</code></code></pre><p>This tells PM2 to start OpenClaw and give it the nickname &#8220;openclaw&#8221; (so you can refer to it later). PM2 immediately moves it to the background.</p><pre><code><code>pm2 save</code></code></pre><p>This saves your current setup. PM2 now remembers that it should be running OpenClaw.</p><pre><code><code>pm2 startup</code></code></pre><p>This is the magic command. It creates a system service that starts PM2 automatically when your server boots up. PM2 then starts all saved processes (including OpenClaw).</p><p><strong>The result:</strong> You can now close your Terminal, shut down your laptop, go on vacation. OpenClaw keeps running. If the server restarts for any reason (updates, maintenance), OpenClaw comes back automatically.</p><h3>Verify it&#8217;s running</h3><p>After setting up PM2 (or daemon mode), disconnect from your server:</p><pre><code><code>exit</code></code></pre><p>Wait a few seconds, then send a message to your bot on Telegram. If it responds, congratulations - your AI assistant is now running independently of your computer.</p><h3>Check status anytime</h3><p>You can always SSH back in and check on things:</p><pre><code><code>pm2 list
# or
systemctl status openclaw</code></code></pre><div><hr></div><h2>Command Cheat Sheet</h2><p>Copy this and keep it somewhere handy:</p><pre><code><code>&#9484;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9488;
&#9474;                   OPENCLAW CHEAT SHEET                      &#9474;
&#9500;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9508;
&#9474; SERVER CONNECTION                                           &#9474;
&#9474;   ssh root@YOUR_IP          Connect to server               &#9474;
&#9474;   exit                      Disconnect from server          &#9474;
&#9500;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9508;
&#9474; OPENCLAW COMMANDS                                           &#9474;
&#9474;   openclaw onboard          Run setup wizard                &#9474;
&#9474;   openclaw onboard --install-daemon  Setup + auto-start     &#9474;
&#9474;   openclaw gateway          Start the control plane         &#9474;
&#9474;   openclaw agent --message  Send a task to your agent       &#9474;
&#9474;   openclaw doctor           Diagnose issues                 &#9474;
&#9474;   openclaw update           Update to latest version        &#9474;
&#9500;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9508;
&#9474; PM2 COMMANDS (PROCESS MANAGER)                              &#9474;
&#9474;   pm2 list                  Show running processes          &#9474;
&#9474;   pm2 logs openclaw          View live logs                  &#9474;
&#9474;   pm2 restart openclaw       Restart the bot                 &#9474;
&#9474;   pm2 stop openclaw          Stop the bot                    &#9474;
&#9474;   pm2 save                  Save current config             &#9474;
&#9474;   pm2 startup               Enable auto-start on boot       &#9474;
&#9500;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9508;
&#9474; SKILLS (via ClawdHub)                                       &#9474;
&#9474;   clawdhub install &lt;slug&gt;   Install a skill                 &#9474;
&#9474;   clawdhub update --all     Update all skills               &#9474;
&#9474;   Skills dir: ~/clawd/skills/                               &#9474;
&#9500;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9508;
&#9474; IN-CHAT COMMANDS                                            &#9474;
&#9474;   /status                   Show model and token usage      &#9474;
&#9474;   /new or /reset            Clear session history           &#9474;
&#9474;   /think &lt;level&gt;            Set reasoning depth             &#9474;
&#9474;   /verbose on|off           Toggle detailed output          &#9474;
&#9492;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9496;
</code></code></pre><p></p><h2>Troubleshooting</h2><p><strong>&#8220;Connection refused&#8221; when SSHing</strong><br>Double-check the IP address in Hetzner&#8217;s dashboard.</p><p><strong>OpenClaw command not found</strong><br>Run the install script again, then <code>source ~/.bashrc</code>.</p><p><strong>Bot not responding on Telegram</strong><br>Check the service status with <code>systemctl status openclaw</code> or <code>pm2 list</code>. Verify your Bot Token and Chat ID are correct by re-running <code>openclaw onboard</code>.</p><p><strong>Got disconnected from SSH</strong><br>Just reconnect with <code>ssh root@YOUR_IP</code>. OpenClaw keeps running if you set up PM2. </p><div><hr></div><h2>Cost breakdown</h2><p><strong>Infrastructure:</strong></p><ul><li><p><strong>Hetzner CX22</strong>: ~&#8364;4.35/month</p></li></ul><p></p><p><strong>AI Models (per 1M tokens in / out):</strong></p><ul><li><p><strong>Claude 3.5 Sonnet</strong>: $3 / $15 (~$0.01-0.03 per message)</p></li><li><p><strong>Claude 3.5 Haiku</strong>: $0.80 / $4 (~$0.005 per message)</p></li><li><p><strong>GPT-4o</strong>: $2.50 / $10 (~$0.01-0.02 per message)</p></li><li><p><strong>GPT-4o mini</strong>: $0.15 / $0.60 (~$0.001 per message)</p></li><li><p><strong>DeepSeek V3</strong>: $0.27 / $1.10 (~$0.002 per message)</p></li></ul><p></p><p><strong>Realistic monthly API costs:</strong></p><ul><li><p>Light use (10 messages/day): $3-10/month</p></li><li><p>Moderate use (50 messages/day): $15-50/month</p></li><li><p>Heavy use (automated tasks running overnight): $50 &#8594; </p><p></p></li></ul><h3>Mac Mini vs. Server Cost Comparison</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3YGl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3YGl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 424w, https://substackcdn.com/image/fetch/$s_!3YGl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 848w, https://substackcdn.com/image/fetch/$s_!3YGl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 1272w, https://substackcdn.com/image/fetch/$s_!3YGl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3YGl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png" width="1456" height="687" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:687,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:55566,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3YGl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 424w, https://substackcdn.com/image/fetch/$s_!3YGl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 848w, https://substackcdn.com/image/fetch/$s_!3YGl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 1272w, https://substackcdn.com/image/fetch/$s_!3YGl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>The Complete System </h2><p>The guide above gets you a working AI assistant. But if you want OpenClaw to actually help with design system work, you need the right skills and configuration.</p><p></p><h3>1. Design System Skills Pack</h3><p>Skills teach OpenClaw how to use tools. Each skill is a <code>SKILL.md</code> file with instructions. Browse available skills at <a href="https://clawdhub.com/">ClawdHub</a>.</p><p><strong>Install skills via ClawdHub CLI:</strong></p><pre><code><code>clawdhub install steipete/bird      # Twitter/X access
clawdhub install steipete/goplaces  # Google Places API
clawdhub update --all               # Update all installed skills</code></code></pre><p><strong>Some useful skills for design system work:</strong></p><ul><li><p><code>bird</code>: Monitor design system discussions on X, post updates</p></li><li><p><strong>Web browsing</strong> (bundled): Research design patterns, check documentation</p></li><li><p><strong>File system</strong> (bundled): Monitor token files, read component code</p></li><li><p><strong>Git</strong> (bundled): Track repo changes, review commits</p></li></ul><p></p><p><strong>Create your own skill:</strong></p><p>Skills live in <code>~/clawd/skills/</code>. Create a folder with a <code>SKILL.md</code>:</p><pre><code><code>---
name: token-validator
description: Validates design token usage in code files
---

## Instructions

When asked to validate tokens:
1. Scan files for raw hex colors (#XXXXXX)
2. Check for primitive tokens used in components
3. Report violations with file paths and line numbers
</code></code></pre><p>OpenClaw learns from your SKILL.md and applies those instructions when relevant.</p><p></p><h3>2. SOUL.md Template</h3><p>This is the personality file that shapes how OpenClaw thinks and responds. Copy this into <code>~/clawd/SOUL.md</code>:</p><pre><code><code># Identity

You are a Design System Assistant specialized in helping design and engineering teams maintain consistency, quality, and adoption of their design system.

## Core responsibilities

1. **Token management**: Monitor token files for changes, validate naming conventions, flag breaking changes
2. **Component health**: Track component usage, identify inconsistencies, suggest consolidation opportunities
3. **Documentation**: Keep docs current, generate changelogs, answer team questions
4. **Adoption support**: Help teams migrate to new components, explain design decisions, provide code examples

## How you communicate

- Be direct and specific. "Button uses wrong token" not "there might be an issue"
- Include file paths and line numbers when referencing code
- Provide copy-paste solutions when possible
- Flag severity: &#128308; breaking, &#128993; warning, &#128994; info

## What you monitor

- Changes to `/tokens/` directory
- PRs that modify component files
- Issues tagged with `design-system`
- Figma file updates (when connected)

## Scheduled tasks

- **Daily 9am**: Summarize overnight PRs affecting design system
- **Weekly Monday**: Generate component usage report
- **On PR merge**: Check for token violations in changed files

## Token naming conventions

Follow this hierarchy:
- Primitive: `color.blue.500`, `spacing.4`
- Semantic: `color.background.primary`, `color.text.danger`
- Component: `button.background.default`, `input.border.focus`

Flag violations when:
- Raw hex values used instead of tokens
- Primitive tokens used directly in components
- Semantic intent doesn't match usage (e.g., `danger` on non-destructive action)

## Response format for alerts

When alerting about issues, use this format:

**[SEVERITY] Issue Title**
- File: `path/to/file.ts:42`
- Problem: What's wrong
- Fix: How to resolve it
- Context: Why this matters
</code></code></pre><p>Customize the scheduled tasks and monitoring paths to match your repo structure.</p><div><hr></div><h3>3. GitHub Webhook Setup</h3><p>Make OpenClaw respond to repository events in real time. This requires the Gateway service to be running.</p><p></p><p><strong>Step 1: Generate a webhook secret</strong></p><p>Ask it to create a webhook based on your configuration and it will help you. </p><p><strong>Step 4: Add webhook to GitHub</strong></p><ol><li><p>Go to your repo &#8594; Settings &#8594; Webhooks &#8594; Add webhook</p></li><li><p><strong>Payload URL</strong>: <code>https://webhook.yourdomain.com/github</code></p></li><li><p><strong>Content type</strong>: <code>application/json</code></p></li><li><p><strong>Secret</strong>: The hex string from Step 1</p></li><li><p><strong>Events</strong>: Select &#8220;Let me select individual events&#8221;</p><ul><li><p>Pull requests</p></li><li><p>Push</p></li><li><p>Issues</p></li><li><p>Issue comments</p></li></ul></li></ol><p><strong>Step 5: Test it</strong></p><p>Create a test PR. Within seconds, OpenClaw should message you on Telegram with a summary.</p><div><hr></div><h3>4. Automation Recipes</h3><p>Five ready-to-use workflows. Tell OpenClaw to set these up, or configure manually.</p><p><strong>&#10024; Recipe 1: Token Sync Alerts</strong></p><p>Trigger: Any push to <code>tokens/</code> directory</p><pre><code><code>When files in /tokens/ change:
1. Parse the diff
2. Identify added/removed/modified tokens
3. Check for breaking changes (removed or renamed tokens)
4. Send Telegram alert with summary
5. If breaking: tag as &#128308;, list affected components</code></code></pre><p></p><p><strong>&#10024;  Recipe 2: PR Review Summaries</strong></p><p>Trigger: New PR opened</p><pre><code><code>When a new PR is opened:
1. Read the PR description and changed files
2. Identify design system impact:
   - New components?
   - Token changes?
   - Breaking changes?
3. Generate summary for Telegram:
   - PR title and author
   - Files changed (grouped by type)
   - Design system impact assessment
   - Suggested reviewers</code></code></pre><p></p><p><strong>&#10024; Recipe 3: Component Usage Reports</strong></p><p>Trigger: Weekly (Monday 9am)</p><pre><code><code>Every Monday at 9am:
1. Scan codebase for component imports
2. Count usage per component
3. Identify:
   - Most used components
   - Unused components (candidates for deprecation)
   - Components with declining usage
4. Generate markdown report
5. Post to Slack/Telegram and save to /reports/</code></code></pre><p></p><p><strong>&#10024;  Recipe 4: Documentation Updates</strong></p><p>Trigger: Component file changes merged to main</p><pre><code><code>When component files change on main:
1. Parse the component's props/API
2. Compare with existing documentation
3. If mismatched:
   - Generate updated docs
   - Create PR with changes
   - Alert on Telegram</code></code></pre><p></p><p><strong>&#10024; Recipe 5: Weekly Health Check</strong></p><p>Trigger: Sunday 8pm</p><pre><code><code>Every Sunday at 8pm:
1. Run token validation across all files
2. Check for console warnings in component tests
3. Verify all components have documentation
4. Count open design system issues
5. Generate health score (0-100)
6. Send weekly digest:
   - Health score trend
   - Top 3 issues to address
   - Wins from this week</code></code></pre><p><strong>How to set up a recipe:</strong></p><p>Tell OpenClaw in plain English:</p><pre><code><code>Set up a scheduled task: Every Monday at 9am, scan the codebase
for component imports, count how often each is used, and send
me a summary on Telegram. Save the full report to /reports/weekly/
</code></code></pre><p>OpenClaw will create the automation and confirm the schedule.</p><p></p><p><strong>Are you stuck?</strong></p><ol><li><p>Check the <a href="https://discord.gg/openclaw">OpenClaw Discord</a> for community help</p></li><li><p>Search <a href="https://github.com/openclaw/openclaw/issues">GitHub Issues</a></p></li><li><p>Run <code>openclaw doctor</code> for automated diagnostics</p></li></ol><div><hr></div><h2>What&#8217;s next</h2><p>Once you have OpenClaw running:</p><ol><li><p><strong>Browse and install skills</strong> from <a href="https://clawdhub.com/">ClawdHub</a>:</p></li></ol><pre><code><code>clawdhub install steipete/bird
clawdhub install steipete/goplaces</code></code></pre><ol><li><p><strong>Set up GitHub webhooks</strong> so your AI monitors your repos</p></li><li><p><strong>Add more integrations</strong> like Discord or Slack</p></li><li><p><strong>Customize the personality</strong> by editing SOUL.md in your workspace</p></li></ol><div><hr></div><p>You now have a personal AI assistant running 24/7 in the cloud. You control it from Telegram on your phone. And unlike ChatGPT or Claude.ai, it&#8217;s yours to customize however you want.</p><p>More to come &#8230; </p><p>Enjoy exploring and stay careful. &#128588;</p><div><hr></div><p><strong>Explore more </strong></p><p>&#128279; <a href="https://www.hetzner.com/cloud">Hetzner Cloud</a> &#8594; Affordable European cloud hosting</p><p>&#128279; <a href="https://docs.openclaw.ai/">OpenClaw Documentation</a> &#8594; Official documentation</p><p>&#128279; <a href="https://github.com/steipete/openclaw">OpenClaw GitHub</a> &#8594; Source code and issues</p><p>&#128279; <a href="https://openclaw.ai/">OpenClaw Website</a> &#8594; Project homepage</p><p>&#128279; <a href="https://t.me/botfather">Telegram BotFather</a> &#8594; Create Telegram bots</p><p>&#128279; <a href="https://console.anthropic.com/">Anthropic Console</a> &#8594; Get your Claude API key</p><p>&#128279; <a href="https://pm2.keymetrics.io/">PM2</a> &#8594; Node.js process manager</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Figma Console MCP Repo by TJ Pitre </strong></p><p>Your design system as an API. Connect AI to Figma for extraction, creation, and debugging.<br><br><strong>&#128279; <a href="https://github.com/southleft/figma-console-mcp">Link</a></strong></p><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b552e4d6-f367-4319-9309-e47ba1dbd1b0&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How I'd build a design system if I started over in 2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-09T11:59:19.321Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UYfg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-id-build-a-design-system-if-i&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:183904911,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:53,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p>]]></content:encoded></item><item><title><![CDATA[Design systems team structure in 2026]]></title><description><![CDATA[AI changed it]]></description><link>https://learn.thedesignsystem.guide/p/design-systems-team-structure-in</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/design-systems-team-structure-in</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 23 Jan 2026 13:58:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HKBJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HKBJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HKBJ!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!HKBJ!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!HKBJ!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!HKBJ!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HKBJ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14198791,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/185401383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HKBJ!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!HKBJ!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!HKBJ!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!HKBJ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you&#8217;re anything like me, you&#8217;re tired of the same recycled advice about design system teams.</p><p>&#8220;Hire a design systems engineer.&#8221; &#8220;You need a dedicated team of 5.&#8221; &#8220;Document everything.&#8221; The playbooks written in 2022 still get passed around as gospel, even though the world shifted A LOT. </p><p><strong>The &#8220;right&#8221; team size changed dramatically in the past two years.</strong> What required 3 people in 2023 can now often be done by 1 person with the right AI toolkit. And what required a much larger enterprise org can now often be done by a smaller, senior team. Well, if the whole delivery system evolves (review, testing, release), not just &#8220;writing code.&#8221;</p><p>But here&#8217;s the uncomfortable part:<strong> the landscape now changes almost weekly.</strong></p><p>New AI capabilities drop constantly. Claude gets better. Cursor ships new features. MCP servers unlock new integrations. What was impossible 6 months ago becomes trivial this month.</p><p>This creates a paralyzing question I hear from every design system team: <strong>when does it make sense to invest in upskilling?</strong></p><p>Most teams are stuck in this loop:</p><ul><li><p>&#8220;We should probably learn these AI tools properly.&#8221;</p></li><li><p>&#8220;We should create our own LLM.&#8221;</p></li><li><p>&#8220;But what if everything changes again next month?&#8221;</p></li><li><p>&#8220;The time investment feels bigger than the payoff.&#8221;</p></li><li><p>&#8220;Let&#8217;s wait until things stabilize.&#8221; &#129760;</p></li></ul><p>The problem? <strong>Things won&#8217;t stabilize. </strong></p><p>The teams waiting for the &#8220;right time&#8221; are falling further behind those that have accepted that continuous learning is now part of the job.</p><p>The ROI calculation has flipped. The question isn&#8217;t &#8220;is it worth the investment?&#8221;<strong> It&#8217;s &#8220;can you afford NOT to, when your competitors are shipping 2-3x faster?</strong>&#8221;</p><p>This isn&#8217;t about replacing humans. It&#8217;s about understanding which roles become MORE important with AI, and which tasks you can delegate to AI tools.</p><p>I want to share 5 ideas on design system team structure that challenge the conventional wisdom and actually reflect reality in 2026.</p><p>Let&#8217;s begin.</p><div><hr></div><h2>The cheat sheet: company size &#8594; team structure </h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tzQb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tzQb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 424w, https://substackcdn.com/image/fetch/$s_!tzQb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 848w, https://substackcdn.com/image/fetch/$s_!tzQb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 1272w, https://substackcdn.com/image/fetch/$s_!tzQb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tzQb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png" width="1456" height="1733" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1733,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1112566,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/185401383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tzQb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 424w, https://substackcdn.com/image/fetch/$s_!tzQb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 848w, https://substackcdn.com/image/fetch/$s_!tzQb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 1272w, https://substackcdn.com/image/fetch/$s_!tzQb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>You aren&#8217;t struggling with headcount. You&#8217;re struggling with leverage.</h2><p>Most design system leads I talk to have the same complaint: &#8220;We need more people.&#8221;</p><p>But when I dig into how they spend their time, I find the same pattern. Senior engineers writing documentation. Designers are manually auditing token usage. Leads are drowning in Slack support requests while their roadmap collects dust.</p><p>They don&#8217;t have a headcount problem. They have a leverage problem.</p><p><strong>The reality is that design system work falls into two categories: work that requires human judgment and work that doesn&#8217;t.</strong></p><p>Human judgment work:</p><ul><li><p>Deciding which components to build next</p></li><li><p>Designing APIs that will scale</p></li><li><p>Building relationships with product teams</p></li><li><p>Navigating organizational politics</p></li><li><p>Solving novel accessibility challenges</p></li></ul><p>Non-judgment work:</p><ul><li><p>Writing the first draft of documentation</p></li><li><p>Scaffolding component boilerplate</p></li><li><p>Auditing tokens for consistency</p></li><li><p>Generating changelogs from commits</p></li><li><p>Triaging support tickets</p></li></ul><p>In 2023, we had to do both categories ourselves. In 2026, AI handles the second category with minimal oversight.</p><blockquote><p><strong>If you want to scale your design system, you must have the systems that create scale before you add headcount.</strong></p></blockquote><p>Most teams add people first. Then wonder why the output doesn&#8217;t double. The new person gets absorbed into the same inefficient workflows. You pay for two people to do what one person with better leverage could accomplish.</p><p>I&#8217;ve seen 3-person teams outperform 10-person teams. Not because they worked harder. Because they understood which work to automate, which to delegate, and which to own.</p><p>The team of 10? They had more hands, but every hand was doing low-leverage work.</p><div><hr></div><h2>The traditional team models are obsolete. Here&#8217;s what replaced them.</h2><p></p><h3>The 1-person design system team (2026 edition)</h3><p>You&#8217;re alone. You have to:</p><ul><li><p>Design components in Figma</p></li><li><p>Build them in code</p></li><li><p>Write documentation</p></li><li><p>Evangelize adoption</p></li><li><p>Handle support requests</p></li><li><p>Maintain governance</p></li><li><p>Plan the roadmap</p></li></ul><p>In 2023, this was nearly impossible to do well. Something always suffered (usually documentation and adoption).</p><p>But even with AI, there&#8217;s a ceiling. One person cannot:</p><ul><li><p>Build deep relationships across 10+ product teams</p></li><li><p>Ship major components AND do adoption evangelism simultaneously</p></li><li><p>Handle a design system used by 100+ developers</p></li></ul><p>AI extends your reach. It doesn&#8217;t give you infinite capacity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aYeM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aYeM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 424w, https://substackcdn.com/image/fetch/$s_!aYeM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 848w, https://substackcdn.com/image/fetch/$s_!aYeM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!aYeM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aYeM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png" width="1456" height="523" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:523,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:95006,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/185401383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!aYeM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 424w, https://substackcdn.com/image/fetch/$s_!aYeM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 848w, https://substackcdn.com/image/fetch/$s_!aYeM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!aYeM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>Warning: The 1-person + AI model only works if...</h4><p>This model is compelling, but it&#8217;s easy to dangerously over-generalize. It only works under specific conditions:</p><ul><li><p><strong>Senior-level experience</strong> <br>You&#8217;ve shipped design systems before. You know what good looks like. AI can&#8217;t replace the judgment you&#8217;ve built over years.</p></li><li><p><strong>Organizational trust</strong> <br>Leadership gives you autonomy to make decisions without endless approval cycles. If every component needs a committee, AI won&#8217;t save you.</p></li><li><p><strong>Product maturity</strong> <br>Your company&#8217;s product patterns are relatively stable. If requirements change weekly, you&#8217;ll spend all your time on context-switching, not leveraging AI.</p></li><li><p><strong>Technical foundation</strong> <br>You can set up your own tooling. If you need someone else to configure CI/CD, MCP servers, or AI integrations, this model breaks down.</p></li><li><p><strong>Scope discipline</strong> <br>You can say &#8220;no&#8221; to requests. One person + AI can maintain 20-40 components well. Trying to maintain 100 components solo is a path to burnout.</p></li></ul><p></p><p><strong>Red flags this model won&#8217;t work:</strong></p><ul><li><p>Your org expects a &#8220;design system team&#8221; to also run the component library, documentation site, design ops, AND Figma governance</p></li><li><p>You&#8217;re expected to support 5+ product teams with conflicting priorities, design changes, endless meetings, etc.</p></li><li><p>There&#8217;s no executive sponsor who shields you from scope creep</p></li><li><p>You&#8217;re junior/mid-level and still building core design system skills</p></li></ul><p>If you don&#8217;t have these prerequisites, push for a 3-person team before accepting the solo + AI role.</p><p></p><h3>The 3-person model</h3><p><strong>The 3-person model (2023):</strong></p><ul><li><p>Design Systems Lead (Figma, design decisions, documentation)</p></li><li><p>Design System Engineer (code, CI/CD, tooling)</p></li><li><p>Product/Ops (roadmap, adoption, support)</p></li></ul><p>This made sense when each domain required full-time effort. Documentation alone could consume 30% of someone&#8217;s week.</p><p></p><p><strong>The 3-person model (2026):</strong></p><ul><li><p>Design Systems Lead (strategy, governance, adoption &#8211; 60% strategic, 40% hands-on)</p></li><li><p>Design Systems Engineer (components, CI/CD, AI tooling, MCP servers)</p></li><li><p>Design Engineer (Figma library, design-to-code, prototyping, documentation)</p></li></ul><p></p><p>Every team member needs these AI-era skills:</p><ul><li><p><strong>Prompt engineering basics</strong>: Writing effective prompts for consistent output</p></li><li><p><strong>AI orchestration</strong>: Knowing which tool to use for which task</p></li><li><p><strong>Quality control mindset</strong>: AI output requires review; knowing what to check</p></li><li><p><strong>MCP/API literacy</strong>: Understanding how to connect AI to your systems</p></li></ul><p></p><p>Traditional<strong> &#8594; now handled by: </strong></p><p>Documentation writing &#8594; <strong>AI-assisted, owned by whoever builds the component </strong></p><p>Support ticket responses &#8594; <strong>AI triage + templates, minimal human time</strong></p><p>Changelog maintenance &#8594;<strong> Automated from commits</strong></p><p>Usage analytics reports &#8594; <strong>Dashboards + MCP servers querying data</strong></p><p>Contribution process &#8594; <strong>Templated workflows, AI-assisted code review</strong></p><p></p><p><strong>The real question isn&#8217;t &#8220;how many people?&#8221; anymore. It&#8217;s &#8220;how many people doing WHAT?&#8221;</strong></p><p></p><p><strong>What a 3-person team can realistically achieve </strong>with AI augmentation in 2026:</p><ul><li><p>50-100 components maintained</p></li><li><p>Support for a few product teams</p></li><li><p>Bi-weekly release cadence</p></li><li><p>Comprehensive documentation (AI-assisted)</p></li><li><p>Basic design token automation</p></li><li><p>Visual regression testing</p></li><li><p>Accessibility compliance monitoring</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q0Ee!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q0Ee!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 424w, https://substackcdn.com/image/fetch/$s_!q0Ee!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 848w, https://substackcdn.com/image/fetch/$s_!q0Ee!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 1272w, https://substackcdn.com/image/fetch/$s_!q0Ee!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q0Ee!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png" width="1200" height="510.989010989011" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:620,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:121912,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/185401383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!q0Ee!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 424w, https://substackcdn.com/image/fetch/$s_!q0Ee!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 848w, https://substackcdn.com/image/fetch/$s_!q0Ee!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 1272w, https://substackcdn.com/image/fetch/$s_!q0Ee!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>The 10-person design system team (2026 edition)</h3><p>At 10 people, you&#8217;re running what&#8217;s essentially an internal product. The challenge shifts from &#8220;can we build it?&#8221; to &#8220;can we coordinate it?&#8221;</p><p>Most 10-person design system teams fail not because they lack talent. They fail because they lack clarity.</p><ul><li><p>Nobody knows who decides what</p></li><li><p>Design and engineering work in parallel silos</p></li><li><p>Governance becomes bureaucratic gatekeeping</p></li><li><p>AI tools are used inconsistently (or not at all)</p></li><li><p>No change log (or decisions log)</p><p></p></li></ul><p><strong>Here&#8217;s what the optimal 10-person team looks like in 2026:</strong></p><p><strong>Strategic Layer (3 people):</strong></p><ul><li><p>Director: Exec alignment, strategy, vision</p></li><li><p>Product Manager: Roadmap, metrics, prioritization</p></li><li><p>Adoption Lead: Evangelism, training, support relationships</p></li></ul><p><strong>Design Layer (2-3 people):</strong></p><ul><li><p>Lead Designer: Architecture, governance</p></li><li><p>Design Engineer: Figma + Code, prototyping</p></li><li><p>Visual Designer (optional): Multi-brand systems</p></li></ul><p><strong>Engineering Layer (3-4 people):</strong></p><ul><li><p>Engineering Manager: Architecture, code quality</p></li><li><p>Platform Engineer: AI infra, CI/CD, MCP servers</p></li><li><p>Frontend Engineers (x2): Components, features</p></li></ul><p><strong>Specialized (1-2 people):</strong></p><ul><li><p>Accessibility Specialist: Compliance, auditing, training</p></li><li><p>Developer Experience (optional): Docs, AI tooling, prompt libraries</p><p></p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X3Tc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X3Tc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 424w, https://substackcdn.com/image/fetch/$s_!X3Tc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 848w, https://substackcdn.com/image/fetch/$s_!X3Tc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 1272w, https://substackcdn.com/image/fetch/$s_!X3Tc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X3Tc!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png" width="1200" height="531.5934065934066" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:645,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:118383,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/185401383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!X3Tc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 424w, https://substackcdn.com/image/fetch/$s_!X3Tc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 848w, https://substackcdn.com/image/fetch/$s_!X3Tc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 1272w, https://substackcdn.com/image/fetch/$s_!X3Tc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>The hiring signals that actually matter </h3><p>Don&#8217;t hire based on company size. Hire based on these signals:</p><ul><li><p>You&#8217;re spending more than 50% of time on support and maintenance</p></li><li><p>Adoption has stalled because you can&#8217;t do outreach</p></li><li><p>You have a backlog of 6+ months of component requests</p></li><li><p>Teams are building workarounds because they can&#8217;t wait for you</p></li><li><p>You&#8217;re burning out</p><p></p></li></ul><div><hr></div><h2>The skills that became MORE valuable</h2><p><strong>Own these:</strong></p><ul><li><p><strong>Strategic decisions</strong>: Which components to build next</p></li><li><p><strong>Design quality</strong>: Ensuring components solve real problems</p></li><li><p><strong>Relationship building</strong>: Getting teams to actually adopt the system</p></li><li><p><strong>Governance frameworks</strong>: Setting the rules (even if AI helps enforce them)</p></li><li><p><strong>Complex problem-solving</strong>: Edge cases, accessibility nuances, cross-platform considerations</p></li></ul><p><strong>Delegate to AI:</strong></p><ul><li><p>First drafts of documentation</p></li><li><p>Code scaffolding and boilerplate</p></li><li><p>Token validation and linting</p></li><li><p>Changelog and release notes</p></li><li><p>Support ticket triage and initial responses</p></li></ul><p><strong>Delegate to product teams (with good tooling):</strong></p><ul><li><p>Basic component usage</p></li><li><p>Bug reports with clear templates</p></li><li><p>Contribution of simple patterns</p></li></ul><p></p><p><strong>Roles that are becoming MORE important in 2026:</strong></p><p><strong>1. Adoption Lead</strong></p><p>AI can generate components. It can write documentation. It can even respond to support tickets.</p><p>What AI cannot do is convince a skeptical product team to use your system instead of their custom solution. It cannot navigate the politics of a reorg. It cannot sit in a room and understand why adoption stalled.</p><p>The companies winning at design systems in 2026 have someone dedicated to this. Not as a side responsibility. As the main job.</p><p><strong>2. Platform Engineer</strong></p><p>Someone needs to set up and maintain the AI infrastructure. MCP servers. Automation pipelines. The tooling that lets AI access your design system data.</p><p>Most teams underinvest here. They use AI tools but don&#8217;t customize them for their context. They get generic outputs because they provide generic inputs.</p><p><strong>3. Accessibility Specialist</strong></p><p>AI catches basic accessibility issues. It can run automated scans and flag obvious violations.</p><p>But accessibility at scale requires human expertise for edge cases, cultural considerations, and training teams to think accessibly from the start. This role became more important, not less.</p><p><strong>4. Developer Experience Engineer</strong></p><p>With AI-assisted development, the quality of your AI tooling setup directly impacts productivity. The prompts. The context. The MCP configurations.</p><p>This role didn&#8217;t exist in 2023. In 2026, it&#8217;s a competitive advantage.</p><p></p><p><strong>Roles that shrunk or merged:</strong></p><p><strong>1. Technical Writer (as a standalone role)</strong></p><p>Documentation is now AI-assisted and owned by builders, not a separate function. The writer role evolved into &#8220;documentation architect&#8221; &#8211; someone who designs the structure and reviews AI output.</p><p><strong>2. Junior Developers</strong></p><p>AI handles much of what junior devs used to do. Copy-paste patterns. Boilerplate scaffolding. Basic component implementation.</p><p>Fewer junior roles, but those who remain need AI collaboration skills. The junior dev of 2026 is more like the mid-level dev of 2020.</p><p><strong>3. Pure Visual Designers</strong></p><p>Design engineers who can implement are more valuable than designers who only produce Figma files.</p><div><hr></div><h2>The 2026 Formula</h2><p><strong>Fewer people + Higher seniority + AI augmentation = Same or better output</strong></p><p>A 1-person team with AI beats a 1-person team without.<br>A 3-person team with clear roles beats a 5-person team with unclear ownership.<br>A 10-person team with defined accountability beats a 15-person team playing politics.</p><p></p><p><strong>Your design system team structure isn&#8217;t about hitting a magic number. It&#8217;s about:</strong></p><ol><li><p>Understanding what AI changed</p></li><li><p>Investing in the right roles </p></li><li><p>Matching structure to stage </p></li><li><p>Watching the signals </p><p></p></li></ol><p>Start by auditing your current team against these models. What&#8217;s your biggest gap?</p><p>That&#8217;s where you either hire or leverage AI.</p><p>I&#8217;ve gathered more articles below, if you want to dig in to numbers or experiences from other companies.</p><p></p><p>Stay tuned and enjoy the process,</p><p>Romina </p><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Into Design Systems&quot;,&quot;id&quot;:116470739,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e518e3-7e50-49ed-9202-81959be5e861_256x256.jpeg&quot;,&quot;uuid&quot;:&quot;538e222a-80bb-4cf8-a83c-ac2f95775c76&quot;}" data-component-name="MentionToDOM"></span> Hackathon</p><p><strong>February 6-8 2026 - Online</strong></p><p>I am part of the jury and will also help you to hack faster ;) See you there. &#128522;<br><br><strong>&#128279; <a href="https://www.intodesignsystems.com/hackathon">Link</a></strong></p><div><hr></div><p></p><ul><li><p><a href="https://www.builder.io/blog/best-ai-tools-2026">84% of developers were using or planning to use AI tools in 2025</a></p></li><li><p><a href="https://www.secondtalent.com/resources/github-copilot-statistics/">GitHub Copilot now generates 46% of all code written by active users</a></p></li><li><p><a href="https://www.linkedin.com/pulse/design-2025-navigating-ai-revolution-redefining-our-role-phillip-pqzoe/">Design in 2025: Navigating the AI Revolution and Redefining Our Role</a></p></li><li><p><a href="https://www.aboutchromebooks.com/github-copilot-statistics/">90% of Fortune 100 companies utilize GitHub Copilot</a></p></li><li><p><a href="https://www.secondtalent.com/resources/github-copilot-statistics/">Developers complete tasks 55% faster with GitHub Copilot</a></p></li><li><p><a href="https://visualstudiomagazine.com/articles/2024/11/22/article_0github-copilot-research-claims-code-quality-gains-in-addition-to-productivity.aspx">Average time to open a pull request dropped from 9.6 days to 2.4 days</a> </p></li><li><p><a href="https://uxdesign.cc/the-death-of-design-expertise-how-ai-is-reshaping-creative-industries-forever-3aeb96f3edcb">The death of design expertise? How AI is reshaping creative industries forever</a></p></li><li><p><a href="https://zeroheight.com/blog/design-systems-report-2025-an-overview/">Design Systems Report 2025 - An overview</a></p></li><li><p><a href="https://thom.eu/resources/article/top-5-trends-for-2025-how-ai-change-and-employee-experience-are-shaping-organizational-design/">Top 5 Trends for 2025: How AI, Change, and Employee Experience Are Shaping Organizational Design</a></p></li><li><p><a href="https://www.digitalocean.com/resources/articles/github-copilot-vs-cursor">Cursor study showed 39% increase in merged pull requests</a></p></li><li><p><a href="https://aijourn.com/your-dev-team-structure-is-already-outdated-how-ai-code-gen-really-changes-hiring-roles-in-2025/">Gartner estimates 80% of engineers will need to reskill by 2027</a></p></li><li><p><a href="https://technext.it/ai-team-structure/">&#8220;Hiring someone who can see the big picture and work well with AI reduces the need for large, specialized teams&#8221;</a></p><p></p></li></ul><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3></h3><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Introducing Taste 1.0: A Model for Designers]]></title><description><![CDATA[Here's how to use it]]></description><link>https://learn.thedesignsystem.guide/p/introducing-taste-10-a-model-for</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/introducing-taste-10-a-model-for</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 16 Jan 2026 11:28:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Lix1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Lix1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Lix1!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!Lix1!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!Lix1!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!Lix1!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Lix1!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7233587,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Lix1!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!Lix1!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!Lix1!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!Lix1!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Today I&#8217;m releasing Taste 1.0, a new model specifically designed for design system work.</p><p>Key capabilities:</p><ul><li><p>Generates components that match your system&#8217;s conventions</p></li><li><p>Knows when to use <code>ghost</code> vs <code>secondary</code> vs <code>tertiary</code></p></li><li><p>Understands your spacing scale, your naming patterns, your anti-patterns</p></li><li><p>Ships accessibility by default</p></li><li><p>Never invents a new variant when an existing one works</p></li></ul><p></p><p>Availability: today. </p><p>The model is a folder of markdown files. &#128579;</p><p></p><p>I knoooow. You were hoping for something with 400 billion parameters and a clever name. But here is the thing:</p><p>You ask AI to generate a component. It ships something that looks fine. Then you paste it into your product, and it sticks out. Wrong spacing. Wrong naming. Wrong defaults. Wrong &#8220;feel&#8221;.</p><p>And you think: &#8220;I need a better model.&#8221;</p><p>You probably do not.</p><p>You need a &#8220;<strong>taste layer,</strong>&#8221; or in other words, <strong>an opinionated, structured set of guidelines.</strong> The best model in the world does not know what &#8220;good or good looking&#8221; means at your company. It does not know that you rejected <code>outline</code> buttons in 2025. It does not know that your spacing scale is 4px-based, not 8px. It does not know that <code>color.text.muted</code> it is for helper text, not placeholders.</p><p>No model knows this. No model will ever know this.</p><p>Unless you tell it.</p><p>That is what your set of markdown files can be. Your judgment, decisions, and taste, saved as context.</p><div><hr></div><h2>Two signals that this is where we are heading</h2><p>First, Gartner predicts that by 2027, organizations will use small, task-specific AI models <strong>3x more</strong> than general-purpose LLMs (<a href="https://www.gartner.com/en/newsroom/press-releases/2025-04-09-gartner-predicts-by-2027-organizations-will-use-small-task-specific-ai-models-three-times-more-than-general-purpose-large-language-models?utm_source=chatgpt.com">Gartner press release</a>).</p><p>However, we already moved from &#8220;<strong>pick a smart model</strong>&#8221; to &#8220;<strong>build a smart system</strong>&#8221;.  And please don&#8217;t get me wrong, which model you choose still affects what you get in the end. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2UvS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2UvS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 424w, https://substackcdn.com/image/fetch/$s_!2UvS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 848w, https://substackcdn.com/image/fetch/$s_!2UvS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 1272w, https://substackcdn.com/image/fetch/$s_!2UvS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2UvS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png" width="946" height="443" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:443,&quot;width&quot;:946,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:91729,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2UvS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 424w, https://substackcdn.com/image/fetch/$s_!2UvS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 848w, https://substackcdn.com/image/fetch/$s_!2UvS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 1272w, https://substackcdn.com/image/fetch/$s_!2UvS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Model system vs model taste</h2><p>Here is the simplest way I can explain it:</p><ul><li><p><strong>Model system</strong>: the base model&#8217;s general capability. It can write, code, reason, and remix patterns. (Claude, GPT, Gemini, Llama, etc.)</p></li><li><p><strong>Model taste</strong>: your organization&#8217;s judgment layer. It defines what &#8220;good&#8221; means here. (Your markdown files: ds-core.md, ds-components.md, etc.)</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HTlS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HTlS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 424w, https://substackcdn.com/image/fetch/$s_!HTlS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 848w, https://substackcdn.com/image/fetch/$s_!HTlS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!HTlS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HTlS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png" width="1456" height="665" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:665,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:88977,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HTlS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 424w, https://substackcdn.com/image/fetch/$s_!HTlS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 848w, https://substackcdn.com/image/fetch/$s_!HTlS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!HTlS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Your taste lives in the files you maintain:</p><ul><li><p><code>ds-core.md</code> says &#8220;use semantic tokens, never raw hex&#8221;</p></li><li><p><code>ds-components.md</code> says &#8220;max 4 variants per component.&#8221;</p></li><li><p><code>ds-tokens.md</code> says &#8220;we rejected 8px spacing in favor of 4px for density&#8221;</p></li></ul><p>These files shape what gets produced and what gets rejected. They act like a conditioning layer on top of the base model.</p><p></p><h2>I know what you are thinking</h2><p>&#8220;Okay, but is this just documentation with a new name?&#8221;</p><p>Not really. <strong>These are opinionated, specific, structured guidelines for building user interfaces. </strong></p><p>But here is what changes when you treat it like a system component:</p><ul><li><p>You version it.</p></li><li><p>You review it.</p></li><li><p>You prune it.</p></li><li><p>You enforce it.</p></li></ul><p>You write constraints so people and agents can ship consistently.</p><p></p><h2>Routing is the shift</h2><p>You do not ask every model to solve everything.</p><p>You first figure out what kind of problem this is. Then you route it to the right specialist.</p><p>Agent workflows need three things:</p><ol><li><p><strong>Routing</strong>: decide which specialist should answer.</p></li><li><p><strong>Memory</strong>: keep decisions and context over time.</p></li><li><p><strong>Specialization</strong>: use narrow experts instead of one generalist.</p></li></ol><p></p><p>It is all about system design. Ask yourself, &#8220;How do we design an intelligent system made of many parts?&#8221;</p><p></p><p>The research backs this up. A 2025 study on instruction-following capacity (<a href="https://arxiv.org/html/2507.11538v1">IFScale benchmark</a>) found that even the best frontier models <em>only achieve 68% accuracy when given 500 instructions.</em> Most models show one of three degradation patterns:</p><ul><li><p><strong>Threshold decay</strong>: near-perfect until ~150 instructions, then sharp decline</p></li><li><p><strong>Linear decay</strong>: steady, predictable drop across the spectrum</p></li><li><p><strong>Exponential decay</strong>: rapid early degradation, then floors at 7-15% accuracy</p></li></ul><p>The takeaway: do not stuff everything into one prompt. Route to specialists with focused context.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DrtP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DrtP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 424w, https://substackcdn.com/image/fetch/$s_!DrtP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 848w, https://substackcdn.com/image/fetch/$s_!DrtP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 1272w, https://substackcdn.com/image/fetch/$s_!DrtP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DrtP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png" width="1456" height="476" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:476,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97381,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DrtP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 424w, https://substackcdn.com/image/fetch/$s_!DrtP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 848w, https://substackcdn.com/image/fetch/$s_!DrtP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 1272w, https://substackcdn.com/image/fetch/$s_!DrtP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Knowledge graph as the glue</h2><p>When you split work across multiple specialists, you need something that keeps them aligned.  That is the knowledge graph.</p><p>A knowledge graph is a structured representation of concepts and their relationships.</p><p>Think of it like this: instead of a flat list of definitions, you have<strong> a map.</strong> The map shows what things are, how they connect, and what rules govern their relationships.</p><p>In technical terms: nodes (<em>things</em>) plus edges (<em>relationships</em>) plus properties (attributes).</p><p>In practical terms: a shared vocabulary that everyone and everything can reference.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yXqn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yXqn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 424w, https://substackcdn.com/image/fetch/$s_!yXqn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 848w, https://substackcdn.com/image/fetch/$s_!yXqn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 1272w, https://substackcdn.com/image/fetch/$s_!yXqn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yXqn!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png" width="1200" height="623.0769230769231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:756,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:106827,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yXqn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 424w, https://substackcdn.com/image/fetch/$s_!yXqn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 848w, https://substackcdn.com/image/fetch/$s_!yXqn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 1272w, https://substackcdn.com/image/fetch/$s_!yXqn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>What does this mean for design systems?</h3><p>For design systems, the knowledge graph answers questions like:</p><ul><li><p>What is a &#8220;Button&#8221;? What variants exist? What tokens does it use?</p></li><li><p>What is <code>color.text.muted</code>? When do you use it? What is it not for?</p></li><li><p>What is a &#8220;Card&#8221;? How does it relate to &#8220;Surface&#8221;? Can they nest?</p></li><li><p>What counts as a &#8220;pattern&#8221; vs a &#8220;component&#8221; vs a &#8220;primitive&#8221;?</p></li></ul><p>Without this, you get drift. One agent generates a <code>GhostButton</code>. Another generates a <code>Button</code> with <code>variant="ghost"</code>. A third generates a <code>TextButton</code>. All three think they did the right thing.</p><p>With a shared knowledge graph, every specialist checks the same source before generating. They use the same names, the same relationships, the same constraints.</p><p></p><h3>How is this different from regular documentation?</h3><p>Regular documentation describes things. A knowledge graph connects things.</p><p>For example: </p><pre><code><strong>&#8220;Use muted text for secondary content&#8221; </strong>&#8594; color.text.muted &#8594; applies to &#8594; helper text, timestamps, captions</code></pre><p>The key difference: <strong>a knowledge graph makes relationships explicit. </strong>An agent can traverse it. &#8220;What tokens does Button use?&#8221; &#8220;What components can go inside Card?&#8221; &#8220;What is the difference between muted and secondary?&#8221;</p><p></p><p><strong>What should you put in your design system knowledge graph?</strong></p><p>Design systems are evolving into intelligent context-aware systems. </p><p>Start with the foundation layers, then build toward the future.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CsgP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CsgP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 424w, https://substackcdn.com/image/fetch/$s_!CsgP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 848w, https://substackcdn.com/image/fetch/$s_!CsgP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 1272w, https://substackcdn.com/image/fetch/$s_!CsgP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CsgP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png" width="1456" height="890" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:890,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:166633,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CsgP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 424w, https://substackcdn.com/image/fetch/$s_!CsgP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 848w, https://substackcdn.com/image/fetch/$s_!CsgP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 1272w, https://substackcdn.com/image/fetch/$s_!CsgP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Foundation layers (what you need today)</strong></p><p><strong>1. Primitives</strong></p><p>The lowest-level building blocks.</p><ul><li><p>Colors (and their semantic mappings)</p></li><li><p>Spacing scale (and when to use each step)</p></li><li><p>Typography scale (and what each level is for)</p></li><li><p>Radius, shadow, motion tokens</p></li></ul><p>Example:</p><pre><code>- Always use Tailwind CSS defaults
- Never use primitive design tokens on components</code></pre><p><strong>2. Components</strong></p><p>The UI building blocks.</p><ul><li><p>Name, variants, states</p></li><li><p>Which tokens each component uses</p></li><li><p>Composition rules (what can go inside, what cannot)</p></li><li><p>Accessibility requirements</p></li></ul><pre><code><code>- Check existing components before creating new ones
- Never hardcode colors
- Always check Storybook (link/token)
- Always check Figma UI kit (link) via Figma MCP
- Always check Gitlab (link)
- and so on ... </code></code></pre><p><strong>3. Patterns</strong></p><p>Combinations of components that solve recurring problems.</p><ul><li><p>Form layouts</p></li><li><p>Navigation patterns</p></li><li><p>Data display patterns</p></li><li><p>Empty states, loading states, error states</p></li></ul><pre><code><code>- Always include one call to action
- Follow these rules for combining components (XY)</code></code></pre><p><strong>4. Decisions</strong></p><p>The &#8220;why&#8221; behind everything.</p><ul><li><p>Why we chose X over Y</p></li><li><p>What we tried and rejected</p></li><li><p>When to break the rules</p></li></ul><p><strong>5. Taxonomy</strong></p><p>The classification system that makes routing work.</p><ul><li><p>design vs engineering</p></li><li><p>tokens vs components vs patterns</p></li><li><p>new work vs existing pattern</p></li></ul><div><hr></div><p><strong>Future layers </strong></p><p>These are the layers that turn a design system into an experience system.</p><p><strong>6. Context engine</strong></p><p>How the system adapts to who is using it and what they need.</p><ul><li><p>Intent detection rules: what signals indicate the user wants X vs Y?</p></li><li><p>Personalization mappings: user type &#8594; defaults, density, complexity</p></li><li><p>Platform adaptation: web vs mobile vs embedded vs voice</p></li><li><p>Locale rules: what changes per region, language, or market?</p></li><li><p>Brand adaptation: how does the same component express different brands?</p></li></ul><p>Example entry:</p><pre><code><code>Intent: user wants to delete something

- Signals: clicked delete icon, selected items + pressed backspace, said "remove"
- Response pattern: show confirmation dialog (AlertDialog, not Dialog)
- Modality options: visual confirmation, haptic feedback on mobile, voice confirmation
- Escalation: if bulk delete &gt; 10 items, require explicit confirmation
</code></code></pre><p><strong>7. Interaction blueprints</strong></p><p>Agentic flows and adaptive behaviors.</p><ul><li><p>Flows that shift based on user behavior (not just screen size)</p></li><li><p>Proactive assistance patterns: when does the system offer help?</p></li><li><p>Fallback rules: what happens when intent is unclear?</p></li><li><p>Handoff patterns: when does the system escalate to a human?</p></li></ul><p>Example entry:</p><pre><code><code>Flow: onboarding

- Adaptive rule: if user skips 2+ steps, offer "skip to dashboard" option
- Proactive assist: if user pauses &gt; 10 seconds on a field, show tooltip
- Modality switch: if voice detected, offer voice-guided onboarding
</code></code></pre><p><strong>8. Multimodality mappings</strong></p><p>One intent, expressed in the best way for the context.</p><ul><li><p>Touch, visual, audio, voice, gesture</p></li><li><p>Haptic, text, ambient, motion</p></li><li><p>Which modality is primary vs fallback for each intent?</p></li><li><p>How do modalities combine?</p></li></ul><p>Example entry:</p><pre><code><code>### Action: confirm destructive action

- Visual: red button + confirmation dialog
- Voice: "Are you sure you want to delete [item]?"
- Haptic: warning vibration pattern before confirm
- Fallback order: visual &#8594; voice &#8594; haptic
</code></code></pre><p><strong>9. Governance rules</strong></p><p>How the system stays aligned at scale.</p><ul><li><p>Which decisions require human approval?</p></li><li><p>Which outputs get auto-validated vs flagged for review?</p></li><li><p>What are the hard constraints that never bend?</p></li><li><p>How do you handle conflicts between agents?</p><p></p></li></ul><h3>You do not need fancy tooling to start</h3><p>Start with markdown that acts like one:</p><pre><code><code>Design Specs:

Colors:
- Background: #3B82F6 (primary), #FFFFFF (secondary)
- Text: #FFFFFF (primary buttons), #1F2937 (secondary buttons)
- Border: #E5E7EB (1px)
- Focus ring: #3B82F6 with 2px offset

Typography:
- Font family: Inter
- Font size: 14px (small), 16px (medium), 18px (large)
- Font weight: 500 (medium), 600 (semibold for primary)
- Line height: 1.5

Spacing:
- Padding: 8px 16px (small), 12px 24px (medium), 16px 32px (large)
- Gap between icon and text: 8px
- Minimum height: 32px (small), 40px (medium), 48px (large)

Visual effects:
- Border radius: 6px
- Box shadow: 0 1px 2px rgba(0,0,0,0.05)
- Hover: darken by 10%, lift shadow to 0 2px 4px rgba(0,0,0,0.1)
- Transition: all 150ms ease</code></code></pre><p>This is not as powerful as a real graph database. But it gives you 80% of the benefit: shared definitions, explicit relationships, and a single source that agents can reference.</p><p></p><h3>Why this matters for multi-agent systems</h3><p>When you have a single model doing everything, you can embed context into a single prompt.</p><p>When you have many specialists, that breaks down. Each specialist sees a slice. If they do not share definitions, their outputs conflict.</p><p>The knowledge graph is the glue:</p><ul><li><p>All specialists reference the same definitions</p></li><li><p>Outputs stay semantically aligned</p></li><li><p>The system scales without drift</p></li></ul><p>Without it, small models drift. Outputs contradict each other. Your system falls apart.</p><p>With it, models stay modular and coherent.</p><p></p><h3>Binary tree routing: a mental model that makes this click</h3><p>Think of routing like a decision tree. Each step narrows the problem.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ntSs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ntSs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 424w, https://substackcdn.com/image/fetch/$s_!ntSs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 848w, https://substackcdn.com/image/fetch/$s_!ntSs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 1272w, https://substackcdn.com/image/fetch/$s_!ntSs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ntSs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png" width="1456" height="614" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:614,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:70800,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ntSs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 424w, https://substackcdn.com/image/fetch/$s_!ntSs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 848w, https://substackcdn.com/image/fetch/$s_!ntSs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 1272w, https://substackcdn.com/image/fetch/$s_!ntSs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Every decision reduces complexity until you hit the right specialist.</p><p>This is why small models work. They do not need to understand everything. They only need to understand their slice.</p><p></p><h3>So, what I mean by &#8220;markdown is an additional model&#8221;</h3><p>I mean, it behaves like a conditioning layer:</p><ul><li><p><strong>It constrains behavior.</strong> It tells the system what &#8220;good&#8221; looks like.</p></li><li><p><strong>It compresses decisions.</strong> It prevents re-litigating the same debates.</p></li><li><p><strong>It generalizes across tasks.</strong> UI, copy, naming, motion, tokens, component APIs.</p></li><li><p><strong>It stays cheap to update.</strong> You edit a file. You do not retrain a model.</p></li></ul><p></p><div><hr></div><h2>The taste kit: a folder of markdown files</h2><p>Here is the key insight: if you are heading toward multiple specialists doing small things, your context files should mirror that.</p><p>Do not put everything in one giant <code>CLAUDE.md</code>. </p><p>Create multiple markdown files, each specialized for a specific design system task. When you route a task to a specialist, you give it only the context it needs.</p><h3>The folder structure</h3><pre><code>.cursor/
&#9500;&#9472;&#9472; ds-core.md           # Shared foundations (tokens, principles, stack)
&#9500;&#9472;&#9472; ds-components.md     # Component creation and modification
&#9500;&#9472;&#9472; ds-tokens.md         # Token decisions and naming
&#9500;&#9472;&#9472; ds-prototyping.md    # Rapid prototyping rules
&#9500;&#9472;&#9472; ds-ux-review.md      # UX review checklist and criteria
&#9500;&#9472;&#9472; ds-documentation.md  # Writing component docs
&#9500;&#9472;&#9472; ds-migration.md      # Migrating legacy patterns
&#9492;&#9472;&#9472; ds-accessibility.md  # A11y requirements and testing</code></pre><p>Each file is specific. Each file gets loaded only when relevant.</p><h4>File 1: <code>ds-core.md</code> (shared foundations)</h4><p>This is the only file every specialist sees. Keep it short.</p><pre><code><code># Design system core

## Stack
- React + TypeScript
- Tailwind CSS with design tokens
- Radix primitives for accessible components

## Principles (in priority order)

## Token rules

## Naming
</code></code></pre><p></p><h4>File 2: <code>ds-components.md</code> (creating and modifying components)</h4><p>Load this when the task is &#8220;create a component&#8221; or &#8220;add a variant&#8221;.</p><pre><code><code># Component creation rules

## Before creating a new component

## Component structure

## Variant rules

## Composition

## Anti-patterns
</code></code></pre><p></p><h4>File 3: <code>ds-tokens.md</code> (token decisions)</h4><p>Load this when the task involves tokens, theming, or color decisions.</p><pre><code><code># Token rules

## Naming convention

Examples:

## When to create a new token

## When NOT to create a token

## Token relationships

## Decisions log
</code></code></pre><p></p><h4>File 4: <code>ds-prototyping.md</code> (rapid prototyping)</h4><p>Load this when speed matters more than polish.</p><pre><code><code># Prototyping rules

## Goal

## What to skip

## What to keep

## Prototype checklist

## Output format
</code></code></pre><p></p><h4>File 5: <code>ds-ux-review.md</code> </h4><p>You can specify how to create automated screenshots, review work, review colors, etc.</p><pre><code><code># UX review criteria

## Consistency check
- [ ] Uses existing components (not custom implementations)
- [ ] Uses semantic tokens (not hardcoded values)
- [ ] Follows established patterns (not inventing new ones)
- [ ] Matches existing density and spacing rhythm

## Interaction check
- [ ] Interactive elements have visible focus states
- [ ] Destructive actions use confirmation dialogs
- [ ] Loading states use skeleton patterns
- [ ] Error messages appear near the action

## Accessibility check
- [ ] Color contrast meets WCAG AA (4.5:1 for text)
- [ ] Interactive elements are keyboard accessible
- [ ] Icon-only buttons have aria-label
- [ ] Form inputs have visible labels

## Content check


## Red flags (block the PR)
</code></code></pre><p></p><h4>File 6: <code>ds-documentation.md</code> (writing component docs)</h4><p>Load this when documenting components.</p><pre><code><code># Documentation rules

## Every component needs

## Writing style

## Props table format

## Do not include
</code></code></pre><p></p><h2>The workflow: propose, route, generate, validate</h2><p>If you want this to work in real teams, you need a repeatable workflow.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l8ZX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l8ZX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 424w, https://substackcdn.com/image/fetch/$s_!l8ZX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 848w, https://substackcdn.com/image/fetch/$s_!l8ZX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 1272w, https://substackcdn.com/image/fetch/$s_!l8ZX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l8ZX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png" width="1456" height="261" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:261,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:34462,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!l8ZX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 424w, https://substackcdn.com/image/fetch/$s_!l8ZX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 848w, https://substackcdn.com/image/fetch/$s_!l8ZX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 1272w, https://substackcdn.com/image/fetch/$s_!l8ZX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p></p><p><strong>Step 1: Propose the intent</strong></p><p>Write a short intent plus constraints in the PR description. One paragraph max.</p><p><strong>Step 2: Route it</strong></p><p>Decide which specialist should answer.</p><p>Start with a simple taxonomy:</p><ul><li><p>design / engineering</p></li><li><p>tokens / components / content</p></li><li><p>new pattern / existing pattern</p></li></ul><p><strong>Step 3: Generate with constraints</strong></p><p>Give the specialist the minimum context it needs:</p><ul><li><p><code>ds-core.md</code> (always)</p></li><li><p>the task-specific file (<code>ds-components.md</code>, <code>ds-ux-review.md</code>, etc.)</p></li><li><p>one canonical example if relevant</p></li></ul><p><strong>Step 4: Validate</strong></p><p>Check the output against your rules:</p><ul><li><p>Does it use the right tokens for the right reason?</p></li><li><p>Did it introduce a new variant?</p></li><li><p>Does it follow your naming and composition patterns?</p></li><li><p>Does it ship accessibility by default?</p></li></ul><p><strong>Step 5: Capture the decision</strong></p><p>If you accept a new pattern, write down why.</p><p>If you reject it, write down the rejection rule.</p><p>This is how taste compounds instead of resetting every quarter.</p><p></p><h2>Where to start</h2><p>Start with two files and one task.</p><ul><li><p>Understand what a consistent, accessible, coherent UI looks like</p></li><li><p>Know when to say NO to a new variant</p></li><li><p>Capture decisions so taste compounds</p></li><li><p>Evaluating output against real standards, not just &#8220;does it work?&#8221;</p></li></ul><p></p><p>Here is a 60-minute plan:</p><ol><li><p><strong>Create </strong><code>ds-core.md</code> with your stack, principles, and token rules. Keep it under 30 lines.</p></li><li><p><strong>Pick your most common task.</strong> Component creation? UX review? Prototyping?</p></li><li><p><strong>Create the matching task file.</strong> Start with <code>ds-components.md</code> or <code>ds-ux-review.md</code>.</p></li><li><p><strong>Run one generation</strong> using only those two files as context.</p></li><li><p><strong>Review the output.</strong> What did it get right? What rule was missing?</p></li></ol><p>Then iterate. Add one file per week as new tasks come up. </p><p></p><p><strong>Pro tip:</strong> If you use Claude Code, start with Plan Mode. It reads your codebase and markdown files before generating anything. This is exactly the &#8220;route first, then execute&#8221; pattern. Let it analyze your context files, propose an approach, then generate. You will catch misunderstandings before they become wasted code.</p><div><hr></div><h2>In short</h2><p>You do not win in 2026 by picking the smartest model. You win by designing the system around it: routing, memory, specialization, and a shared source of truth.</p><p>Markdown is one of the fastest ways to build a taste layer that scales.</p><p>You got this.</p><p>Enjoy, Romina &#128588;</p><p></p><p><strong>Related read</strong></p><p>&#128279; <a href="https://www.gartner.com/en/newsroom/press-releases/2025-04-09-gartner-predicts-by-2027-organizations-will-use-small-task-specific-ai-models-three-times-more-than-general-purpose-large-language-models?utm_source=chatgpt.com">Gartner predicts by 2027, organizations will use small task-specific AI models three times more than general-purpose large language models</a> - Gartner press release on the shift toward smaller, task-specific models.</p><p>&#128279; <a href="https://addyosmani.com/blog/good-spec/">How to Write Good AI Agent Specs</a> by Addy Osmani - Practical guide on structuring specs for AI agents, with emphasis on modular context and clear boundaries.</p><p>&#128279; <a href="https://arxiv.org/html/2507.11538v1">How Many Instructions Can LLMs Follow at Once?</a> - Research showing instruction-following degrades significantly as instruction count increases.</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Into Design Systems&quot;,&quot;id&quot;:116470739,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e518e3-7e50-49ed-9202-81959be5e861_256x256.jpeg&quot;,&quot;uuid&quot;:&quot;538e222a-80bb-4cf8-a83c-ac2f95775c76&quot;}" data-component-name="MentionToDOM"></span> Hackathon</p><p><strong>February 6-8 2026 - Online</strong></p><p>I am part of the jury and will also help you to hack faster ;) See you there. &#128522;<br><br><strong>&#128279; <a href="https://www.intodesignsystems.com/hackathon">Link</a></strong></p><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b552e4d6-f367-4319-9309-e47ba1dbd1b0&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How I'd build a design system if I started over in 2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-09T11:59:19.321Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UYfg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-id-build-a-design-system-if-i&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:183904911,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:53,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p>]]></content:encoded></item><item><title><![CDATA[How I'd build a design system if I started over in 2026]]></title><description><![CDATA[Step by step to Agentic Design System]]></description><link>https://learn.thedesignsystem.guide/p/how-id-build-a-design-system-if-i</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/how-id-build-a-design-system-if-i</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 09 Jan 2026 11:59:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UYfg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UYfg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UYfg!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!UYfg!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!UYfg!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!UYfg!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UYfg!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8202484,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/183904911?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UYfg!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!UYfg!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!UYfg!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!UYfg!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You&#8217;re watching another &#8220;build a design system in 4 hours&#8221; video and asking yourself: &#8220;Hoooooow?!&#8221; and thinking you&#8217;ll finally solve your component chaos.</p><p>I get it.</p><p>But here&#8217;s what the video doesn&#8217;t show:</p><ul><li><p>Three different button implementations across your codebase (plus more in Angular, Vue, and legacy jQuery)</p></li><li><p>Developers asking &#8220;which token do I use?&#8221; (spacing, color, shadow... pick your confusion)</p></li><li><p>The design system team of one, drowning in maintenance requests</p></li><li><p>Leadership eventually seeing &#8220;why does our app look exactly like every other startup?&#8221; </p></li></ul><p>This isn&#8217;t a design system. This is expensive copy-paste with extra steps.</p><p>I know what you&#8217;re thinking: &#8220;AI changes everything. We don&#8217;t need design system teams anymore.&#8221;</p><p>Let me show you why that&#8217;s only half true. </p><div><hr></div><h2>What changed in the last year(s)</h2><p>Shadcn made component libraries free. Then came Radix, Ark UI, Park UI, and dozens more. AI made customization instant. Every startup can &#8220;build a design system in 4 hours.&#8221;</p><p>The narrative became: <strong>&#8220;You don&#8217;t need a design system team anymore.&#8221;</strong></p><p>And they&#8217;re right until the codebase grows and customization takes up all your time.</p><p>Here&#8217;s what happens next:</p><p><strong>Initial setup:</strong> Fast &#9989;<br><strong>Customization:</strong> Much longer than expected<br><strong>Answering &#8220;which variant?&#8221; questions:</strong> Ongoing forever<br><strong>Fixing things when Shadcn breaks:</strong> Ongoing forever</p><p>Still cheaper than traditional design systems. But not free.</p><div><hr></div><h2>The trap you can fall into</h2><p>This is where you can make expensive mistakes.</p><p><strong>Startup reality:</strong></p><ul><li><p>10 developers</p></li><li><p>One codebase</p></li><li><p>Modern stack</p></li><li><p>Can break things and move fast </p></li></ul><p></p><p><strong>Enterprise reality:</strong></p><ul><li><p>500 developers</p></li><li><p>12 codebases (React, Angular, new Next.js projects)</p></li><li><p>Compliance requirements</p></li><li><p>Cannot break things</p></li></ul><p></p><p>Shadcn solves React. What about <em>the other 60%?</em></p><p><strong>Migration costs</strong> often exceed custom build costs by 3-5x when you have legacy systems. You&#8217;re not just migrating code. You&#8217;re retraining teams, updating tooling, managing parallel systems during transition, and dealing with breaking changes across multiple products.</p><div><hr></div><h2>From tools to taste</h2><p>When you can buy a UI kit for $300 (or less) or copy Shadcn for free, leadership asks: &#8220;Why do we need a design system team?&#8221;</p><p>The answer most teams give is wrong. They say: &#8220;To build components faster.&#8221; But<strong> AI </strong>builds components faster than any team.</p><p>When software becomes cheap to create, <strong>the value shifts </strong>to problems that require deep context, taste, and ongoing stewardship. You just can&#8217;t buy judgment about what deserves to exist. That&#8217;s irreplaceable.</p><p><strong>Old model:</strong></p><ul><li><p>Design system team = Component factory</p></li><li><p>Value = Shipping new components</p></li><li><p>Success = Coverage+adoption (Do we have all the patterns?)</p></li><li><p>Investment = Large team building everything from scratch</p></li></ul><p><strong>New model:</strong></p><ul><li><p>Design system team = Curators + Strategists</p></li><li><p><strong>Value = Context</strong></p></li><li><p>Success = Coherence (Is everything consistent?)</p></li><li><p>Investment = Smaller team + AI tooling</p><p></p></li></ul><p>The role didn&#8217;t disappear. It evolved. And that&#8217;s actually good news if you&#8217;re willing to adapt.</p><p>AI amplifies what you already know. If you understand what makes a good pattern, AI helps you implement it 10x faster. If you don&#8217;t have that foundation, AI just helps you create garbage faster.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zW5j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zW5j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 424w, https://substackcdn.com/image/fetch/$s_!zW5j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 848w, https://substackcdn.com/image/fetch/$s_!zW5j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 1272w, https://substackcdn.com/image/fetch/$s_!zW5j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zW5j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png" width="728" height="324.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:649,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:139741,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/183904911?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zW5j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 424w, https://substackcdn.com/image/fetch/$s_!zW5j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 848w, https://substackcdn.com/image/fetch/$s_!zW5j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 1272w, https://substackcdn.com/image/fetch/$s_!zW5j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>The data advantage</h2><p>When everyone can generate a button in 30 seconds, the button has &#8220;no value&#8221;. The context for WHY you need this specific button is priceless.</p><p>Most design systems track adoption. That&#8217;s table stakes. The real advantage comes from <strong>capturing the context that&#8217;s invisible by default and compounds over time.</strong></p><p></p><p><strong>1. Usage data</strong> tells you what&#8217;s actually happening.</p><ul><li><p>Which components get used? Which gets ignored?</p></li><li><p>How are they connected together? (The patterns that work best often emerge from real usage, not planning.)</p></li><li><p>Where do people struggle? What gets copy/pasted instead of imported?</p></li></ul><p></p><p><strong>2. Decision history</strong> tells you why things exist.</p><ul><li><p>Why did we choose this pattern over alternatives?</p></li><li><p>What did we try that failed?</p></li><li><p>When should we sunset this?</p></li></ul><p></p><p>Without this, every new team member asks the same questions. Every redesign starts from scratch. You lose years of learning.</p><p></p><p><strong>3. Taste and curation</strong> tells you what deserves to stay.</p><ul><li><p>What&#8217;s been validated enough to standardize?</p></li><li><p>What&#8217;s redundant and needs to be removed?</p></li><li><p>What&#8217;s good enough to keep vs. what&#8217;s just legacy?</p></li></ul><p></p><p>These three layers build on each other. Usage data informs decisions. Decisions shape curation. Curation improves usage. It&#8217;s a <strong>flywheel</strong>, but only if you&#8217;re capturing it.</p><p></p><p>Companies with this infrastructure will make better decisions 10x faster. The teams treating design systems like static libraries will drown in technical debt they can&#8217;t even see.</p><div><hr></div><h2>Making your system AI-readable</h2><p>You&#8217;ve probably blamed the model when AI generates garbage. But the model isn&#8217;t the problem. Your context is.</p><p><strong>Context is everything the AI sees when you ask it something.</strong> Your prompt, yes. But also the system instructions, previous messages, files it can access, and metadata. All of it.</p><p>And here&#8217;s the catch: AI tools have limited memory. Claude Code technically supports 200k tokens, but by the time you account for system prompts and tool definitions, you&#8217;re working with maybe 120k. Fill that up with noise, and the output quality tanks.</p><p></p><blockquote><p>So the question becomes: what deserves to be in that limited space?</p></blockquote><p></p><p><strong>For design and design systems, I&#8217;ve found four things matter:</strong></p><p><strong>1. A project context file.</strong> Call it CLAUDE.md or whatever. Put it at the root. Tell the AI how your system works: naming conventions, component patterns, token structure, key decisions. This is the single highest-impact thing you can do.</p><p><strong>2. Decisions in plain text.</strong> Not buried in Confluence. Not hidden in Figma comments. In markdown that AI can actually read. &#8220;We chose X over Y because Z.&#8221; Simple.</p><p><strong>3. Lean documentation.</strong> Not 50 pages of Storybook stories. A clear reference that fits in context and answers the questions developers actually ask.</p><p><strong>4. Tokens with intent.</strong> Not just <code>color-primary: #0066FF</code>. Explain why that color exists and when to use it. The AI needs the &#8220;why&#8221; to make good choices.</p><p>The goal? Anthropic calls it &#8220;the smallest possible set of high-signal tokens.&#8221; </p><p>Soooo, if your components keep coming out wrong, don&#8217;t switch models. Fix your context first.</p><div><hr></div><h2>The governance problem</h2><p>AI makes creating components trivial. AI also makes creating BAD components trivial at scale.</p><p><strong>Technical governance (solvable by AI):</strong></p><ul><li><p>Linting rules &#9989;</p></li><li><p>Type checking &#9989;</p></li><li><p>Automated tests &#9989;</p></li></ul><p><strong>Human governance (still unsolved):</strong></p><ul><li><p>Who decides when to add a new variant? </p></li><li><p>How do we prevent &#8220;button-primary-new-final-v3&#8221;? </p></li><li><p>What&#8217;s the process for breaking changes? </p></li><li><p>Who has taste? </p></li></ul><p></p><p>When creation is free, curation becomes priceless. The bottleneck isn&#8217;t &#8220;can we build this?&#8221; anymore. It&#8217;s &#8220;should this exist?&#8221; That question requires taste, context, and the courage to kill things. AI doesn&#8217;t have opinions. You do.</p><p></p><p><strong>Cost of bad governance:</strong></p><ul><li><p>Small company: Technical debt, slower velocity</p></li><li><p>Enterprise: Massive duplicate work across teams</p></li></ul><p></p><p>You can generate components quickly. <strong>You need years to build the taste, context, and governance.</strong></p><p>Things are moving so fast that there are no books about new UX patterns. AI interactions, voice interfaces, spatial computing. We&#8217;re inventing the rules as we go. There&#8217;s no &#8220;Design Patterns&#8221; book for conversational U or best practices for AI-assisted workflows.</p><p>This means creating new ways of interacting requires more iterations than ever to build something genuinely useful. You can&#8217;t copy what worked before because &#8220;before&#8221; doesn&#8217;t exist for these patterns. <strong>You have to experiment, fail, learn, and iterate. Repeatedly. Until you discover what actually works.</strong></p><div><hr></div><h2>The learning curve illusion</h2><p>&#8220;Shadcn has a lower learning curve than traditional design systems.&#8221;</p><p>This is technically true, but strategically? Not so much.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I52U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I52U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 424w, https://substackcdn.com/image/fetch/$s_!I52U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 848w, https://substackcdn.com/image/fetch/$s_!I52U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 1272w, https://substackcdn.com/image/fetch/$s_!I52U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I52U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png" width="1456" height="549" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:549,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:80161,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/183904911?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I52U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 424w, https://substackcdn.com/image/fetch/$s_!I52U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 848w, https://substackcdn.com/image/fetch/$s_!I52U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 1272w, https://substackcdn.com/image/fetch/$s_!I52U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#10060; <strong>Before:</strong> Clear learning curve, high initial cost<br>&#9989; <strong>After:</strong> Fast start, expensive long-term maintenance</p><p>Lower initial learning curve &#8800; Lower total learning cost. </p><p>You&#8217;re just deferring the learning to a more expensive phase.</p><div><hr></div><h2>What design system teams should actually do in 2026</h2><p></p><p><strong>Old job:</strong></p><ul><li><p>Build React components</p></li><li><p>Write Storybook documentation</p></li><li><p>Fix component bugs</p></li><li><p>Ship 2-3 components per quarter</p></li></ul><p></p><p><strong>New job (2026): Design System Lead</strong></p><p>One person (or small team) with three responsibilities:</p><p><strong>Curation:</strong> </p><p>Kill more patterns than you create. Use AI to generate, humans to judge. Ask &#8220;should this exist?&#8221; constantly.</p><p><strong>Context:</strong> </p><p>Capture tribal knowledge before people leave. Translate the system into AI-readable formats. Maintain the &#8220;why&#8221; behind every decision.</p><p><strong>Quality:</strong> </p><p>Track analytics on every component. Define &#8220;good enough&#8221; with data. Sunset bad patterns aggressively.</p><p>This isn&#8217;t a solo effort. Design systems require constant collaboration:</p><ul><li><p>Product teams need to understand business goals</p></li><li><p>Designers and developers need to be in sync</p></li><li><p>Stakeholders need to trust the system</p></li><li><p>Leadership needs to see the value</p></li></ul><p>You&#8217;re not just building software. You&#8217;re building organizational muscle memory about what good looks like.</p><div><hr></div><h2>My actual recommendations</h2><h3>Startup (&lt;100 people)</h3><p><strong>Setup: Days, not months</strong></p><p>&#9989; Use Shadcn/Radix + Tailwind<br>&#9989; Use AI for customization<br>&#9989; Assign someone to own consistency (part-time is fine)<br>&#9989; Track usage data from day one<br>&#9989; Document decisions in markdown (AI-readable)<br>&#9989; Accept you&#8217;ll rebuild every few years</p><p>&#10060; Build from scratch<br>&#10060; Hire a dedicated design system team<br>&#10060; Create perfect UI kit in Figma before product-market fit</p><p><strong>The goal:</strong> Stay lightweight. Don&#8217;t over-engineer. Test what works. </p><p></p><h3>Mid-size (100-500 people)</h3><p><strong>Setup: A few months</strong></p><p>&#9989; Start with Shadcn for <strong>new</strong> projects<br>&#9989; Connect old and new with Web Components (see below)<br>&#9989; Dedicate someone to stewardship (not creation)<br>&#9989; Invest in analytics<br>&#9989; Use AI for generation, humans for curation</p><p>&#10060; Try to migrate everything at once<br>&#10060; Rewrite legacy code from scratch<br>&#10060; Build a massive team<br>&#10060; Copy enterprise approaches</p><p><strong>Mapping old + new components</strong></p><p>You have two paths for legacy components:</p><p><strong>Option A: </strong></p><p><strong>Wrap it.</strong> Use Web Components to wrap legacy code. They work across React, Angular, Vue, and jQuery. Teams keep their existing APIs. The system modernizes underneath. Lower risk, slower progress.</p><p><strong>Option B: </strong></p><p><strong>Regenerate it.</strong> Use AI to analyze legacy components and generate new components that match your target system. Feed AI the component code plus usage examples from your codebase. Validate the output. Replace the imports. Faster progress requires thorough testing.</p><p>Most mid-size companies do both: wrap the complex/risky stuff, regenerate the simple/well-tested stuff.</p><p><strong>The goal:</strong> Bridge old and new without burning everything down.</p><p></p><h3>Enterprise (500+ people)</h3><p><strong>Setup: Depends on your legacy!</strong></p><p>&#9989; Custom design system is still worth it<br>&#9989; Small team focused on curation (not building)<br>&#9989; Invest more in governance than components<br>&#9989; Use AI for generation, not strategy<br>&#9989; Build data infrastructure around your system<br>&#9989; Measure outcomes, not adoption<br>&#9989; Use Web Components as the universal layer across all frameworks</p><p>&#10060; Try to move everyone to Shadcn<br>&#10060; Build components without usage data<br>&#10060; Measure adoption as success</p><p></p><p><strong>Why Web Components make even more sense at scale:</strong></p><p>Enterprise has the hardest legacy problem: React 2019, Angular 2017, Vue, jQuery, and whatever new framework the next acquisition brings. Web Components work everywhere. Build once, deploy across all frameworks. No more maintaining 4 versions of the same button.</p><p>The bridge strategy from mid-size applies here too, just on a larger scale. Wrap the legacy systems that are too risky to touch. Regenerate the simpler components with AI. Gradually consolidate.</p><p></p><p><strong>ROI:</strong> Track how much time developers spend duplicating UI work. Even a conservative estimate shows the cost of inconsistency far exceeds the investment in a design system team.</p><div><hr></div><h2>Start with the right question</h2><p></p><p><strong>&#10024; &#8220;What problem are you actually solving?&#8221; &#10024;</strong></p><p></p><p><strong>&#8220;We need a starting point for components.&#8221;</strong><br>&#8594; Pick any library (Shadcn, Radix, whatever). But assign someone to own consistency from day one.</p><p><strong>&#8220;We have 500 developers building duplicate UIs.&#8221;</strong><br>&#8594; Build a system. Hire a Design System Lead.</p><p><strong>&#8220;We don&#8217;t know which patterns actually work.&#8221;</strong><br>&#8594; Invest in analytics.</p><p><strong>&#8220;AI generates garbage code that doesn&#8217;t match our system.&#8221;</strong><br>&#8594; Make your system AI-readable. Then use AI.</p><p><strong>&#8220;We can&#8217;t ship fast enough.&#8221;</strong><br>&#8594; Your problem isn&#8217;t just the design system. &#129762;</p><div><hr></div><h2>What to do this week</h2><p>You don&#8217;t need to build a design system right now. Start by building the infrastructure to know if you need one. Here&#8217;s a practical path:</p><p><strong>Step 1: Set up analytics (Day 1-2)</strong></p><ul><li><p>Track component usage</p></li><li><p>Measure user outcomes</p></li><li><p>Identify duplicate patterns</p></li></ul><p><strong>Step 2: Document decisions (Day 3-4)</strong></p><ul><li><p>Create CLAUDE.md with context</p></li><li><p>Make decisions AI-readable</p></li><li><p>Capture the &#8220;why&#8221; behind every choice</p></li></ul><p><strong>Step 3: Test with AI (Day 5)</strong></p><ul><li><p>Generate one component with AI</p></li><li><p>See if it matches your standards. </p></li><li><p>Identify gaps in your system&#8217;s clarity</p></li></ul><p><strong>Step 4: Make one decision (End of week)</strong></p><p>Should you:</p><ul><li><p>Build a system?</p></li><li><p>Use Shadcn?</p></li><li><p>Invest in curation?</p></li><li><p>Invest in agentic XY?</p></li></ul><p>Base it on your data, not industry trends. Trust what you&#8217;re learning from your own context.</p><div><hr></div><h2>In short</h2><p>Design systems in 2026 aren&#8217;t about components. They&#8217;re about CONTEXT.</p><p><strong>Software is cheap to build.</strong><br><strong>Context is expensive to maintain.</strong></p><p><strong>Components are free.</strong><br><strong>Taste is priceless.</strong></p><p><strong>AI can generate anything.</strong><br><strong>Only humans know what deserves to exist (so start building taste).</strong></p><p>The teams that understand this will build better products faster. The teams that don&#8217;t will spend hundreds on infrastructure that nobody uses.</p><p>And if you&#8217;re reading this, asking these questions, thinking critically about the path forward? You&#8217;re exactly the kind of person who will figure it out.  &#128588;</p><p></p><p>Enjoy the process &#128522;, Romina </p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>The Rise of the Model Designer</strong></p><p>Interview with Barron Webster (Figma)<br><br><strong>&#128279; <a href="https://www.aidesignfieldguide.com/articles/barron-webster">Link</a></strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[What I Loved This Year]]></title><description><![CDATA[My favourite Creators, Tools, and Resources]]></description><link>https://learn.thedesignsystem.guide/p/what-i-loved-this-year</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/what-i-loved-this-year</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 26 Dec 2025 15:43:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!C-PS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C-PS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C-PS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!C-PS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!C-PS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!C-PS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C-PS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:443539,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/182558909?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C-PS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!C-PS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!C-PS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!C-PS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This year, I stopped getting ready to get ready.</p><p>I went deep on AI and treated it like a mirror for my work: every workflow I had&#8230; I questioned. Some stayed. Many didn&#8217;t. Only Google spits out instant results &#8594;  everything worth building takes reps.</p><p>If you read, replied, challenged me, shared your story, or trusted me with your work this year, THANK YOU. You made this year. &#128155;</p><div><hr></div><p>If you want to go on a deep dive during the quiet days, here&#8217;s a curated list of what I built and published (or prepared) this year.</p><h3>Start here</h3><ul><li><p><strong>YouTube <a href="https://www.youtube.com/@designsystemguide">(Design System Guide)</a></strong></p></li><li><p><strong><a href="https://thedesignsystem.guide/">The Design System Guide</a></strong></p></li><li><p><strong><a href="https://aidesign.guide/">AI Design Guide</a></strong></p></li></ul><div><hr></div><h2>Guides </h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b3592831-2837-41a5-8099-acaf9c9c5cb2&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Documentation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-17T08:58:02.536Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!9dDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe9c6aa2-4c25-47ea-8c50-3c5d2d786ca1_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-documentation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176234757,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:98,&quot;comment_count&quot;:2,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d4ec5640-4a84-42f3-a73e-bbe0a6ea2718&quot;,&quot;caption&quot;:&quot;Last quarter, a design system dashboard showed 87% adoption. The team celebrated.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to turn metrics into actionable insights&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-11-21T13:25:04.332Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!czDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-turn-metrics-into-actionable&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:179334770,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:29,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="pullquote"><p>Skills are for workflows. Projects are for contexts.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e3ac6c54-a76f-48c7-81a7-af647f07d199&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why your design system team need Claude Skills&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-31T08:28:29.183Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!hfid!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/why-your-design-system-team-need&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:177632613,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:49,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://psxid.figma.com/romina" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wOSK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wOSK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png" width="724.6640625" height="407.62353515625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:724.6640625,&quot;bytes&quot;:391480,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://psxid.figma.com/romina&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wOSK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;63416b06-4613-45cd-8b96-91f385cb4c52&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Figma Make Won't Work Until You Do This&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-12-19T08:54:38.121Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!5Nwf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/figma-make-wont-work-until-you-do&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:181702778,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:21,&quot;comment_count&quot;:2,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><div class="pullquote"><p>A bridge that lets Claude read your token files directly, eliminating copy&#8209;paste forever.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b0c9949c-f8b0-4b22-bb52-50aa23f0dad5&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Build your own MCP server for design tokens&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-09-11T15:59:57.652Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_3hb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6a5323-0e92-4420-89c6-dad9521d6cee_1260x908.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/build-your-own-mcp-server-for-design&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:173334168,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:34,&quot;comment_count&quot;:4,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div></div><h2>Creators &#128155; </h2><p>(if you don&#8217;t follow them, start now &#128522;)</p><p></p><h4>Alexander Fand&#233;n </h4><p>Design Systems @Stripe </p><p><strong>&#128279; <a href="https://www.linkedin.com/in/alexfanden/">Linkedin</a></strong></p><p>Check his &#128279; <strong><a href="https://fanden.design/">portfolio </a></strong>(inspiring for any design system designer) and listen to his &#128279;<strong> <a href="https://www.youtube.com/watch?v=UikyMMxrhRg">interview</a>.</strong></p><div id="youtube2-UikyMMxrhRg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;UikyMMxrhRg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/UikyMMxrhRg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XEnN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XEnN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 424w, https://substackcdn.com/image/fetch/$s_!XEnN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 848w, https://substackcdn.com/image/fetch/$s_!XEnN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 1272w, https://substackcdn.com/image/fetch/$s_!XEnN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XEnN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png" width="1456" height="791" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:791,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:846692,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/182558909?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XEnN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 424w, https://substackcdn.com/image/fetch/$s_!XEnN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 848w, https://substackcdn.com/image/fetch/$s_!XEnN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 1272w, https://substackcdn.com/image/fetch/$s_!XEnN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>Vitaly Friedman</h4><p>Vitaly is THE real UX king, sharing invaluable resources about all things design and UX. </p><p><strong>&#128279; <a href="https://www.smashingmagazine.com/">Smashing Magazine</a></strong></p><p><strong>&#128279; <a href="https://www.linkedin.com/in/vitalyfriedman/">Linkedin</a></strong></p><p><strong>&#128279; <a href="https://www.smashingmagazine.com/events/">Smashing Events </a></strong></p><p><strong>&#128279; <a href="https://measure-ux.com/">UX Metrics Course</a></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JMnH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JMnH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 424w, https://substackcdn.com/image/fetch/$s_!JMnH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 848w, https://substackcdn.com/image/fetch/$s_!JMnH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 1272w, https://substackcdn.com/image/fetch/$s_!JMnH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JMnH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png" width="1456" height="792" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:792,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1412544,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/182558909?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JMnH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 424w, https://substackcdn.com/image/fetch/$s_!JMnH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 848w, https://substackcdn.com/image/fetch/$s_!JMnH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 1272w, https://substackcdn.com/image/fetch/$s_!JMnH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h4>Sil Borm&#252;ller</h4><p>Founder of <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Into Design Systems&quot;,&quot;id&quot;:116470739,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e518e3-7e50-49ed-9202-81959be5e861_256x256.jpeg&quot;,&quot;uuid&quot;:&quot;dd4e1803-8b88-4051-be2f-f21a6116ce1e&quot;}" data-component-name="MentionToDOM"></span> </p><p><strong>&#128279; <a href="https://www.intodesignsystems.com/">Website</a></strong></p><p><strong>&#128279; <a href="https://www.linkedin.com/in/silbormueller/">Linkedin</a></strong></p><p><strong>&#128279; <a href="https://jobs.intodesignsystems.com/">Design System Jobs Portal </a></strong></p><p><strong>&#128279; <a href="https://www.youtube.com/@IntoDesignSystems">YouTube</a></strong></p><div><hr></div><h4><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Sam I am Designs &#129782; &#127464;&#127462;&quot;,&quot;id&quot;:195428634,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f7007f7-0916-4a1c-949f-097801746afd_2618x2618.jpeg&quot;,&quot;uuid&quot;:&quot;50f56ec2-eabe-4f0c-b683-994674d4c63e&quot;}" data-component-name="MentionToDOM"></span> / Samantha Gordashko</h4><p><strong>&#128279; <a href="https://samiamdesigns.substack.com/">Substack</a></strong></p><p><strong>&#128279; <a href="https://www.linkedin.com/in/sgordashko/">Linkedin</a></strong></p><p>&#128279; <strong><a href="https://samiamdesigns.substack.com/p/design-tokens-arent-enough-architecture">Design Tokens aren&#8217;t enough. Architecture Decisions need a place in your Design System.</a></strong></p><div id="youtube2-bp0evU8k1Qs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;bp0evU8k1Qs&quot;,&quot;startTime&quot;:&quot;771s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/bp0evU8k1Qs?start=771s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h4>Ileania Notarangelo</h4><p>Partner &amp; Creative Director @ ILLO</p><p>My god, these animations are out of this world. Just check their work at <a href="https://illo.tv/">illo.tv</a></p><p><strong>&#128279; <a href="https://www.linkedin.com/in/ilenia-notarangelo-b2766a39/">Linkedin</a></strong></p><div><hr></div><h4>Andressa Lombardo </h4><p>Design System Lead @ Miro | Teacher @ Memorisely | Host @ IDS</p><p><strong>&#128279; <a href="https://www.linkedin.com/in/dedylombardo/">Linkedin</a></strong></p><div><hr></div><h4>Justine Montgomery</h4><p>Design systems @Stripe </p><p><strong>&#128279; <a href="https://www.linkedin.com/in/justine-montgomery/">Linkedin</a></strong></p><p>Listen to her talk about building a design system portfolio. Loooots of useful tips!</p><div id="youtube2-piyEAwBSNTc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;piyEAwBSNTc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/piyEAwBSNTc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h4><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Growthmates with Kate Syuma&quot;,&quot;id&quot;:1894625,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/katesyuma&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b42f76f9-440f-4a88-a776-6be938155513_1200x1200.png&quot;,&quot;uuid&quot;:&quot;41c1bce2-b6f6-451e-b8f6-9abe1ba9da7a&quot;}" data-component-name="MentionToDOM"></span>  </h4><p>Growth Advisor, ex-Miro | Founder at Growthmates | Speaker &#183; Creator</p><p><strong>&#128279; <a href="https://www.linkedin.com/in/ekaterina-syuma/">Linkedin</a></strong></p><p><strong>&#128279; <a href="https://www.growthmates.news/p/high-quality-principles-to-support">High-quality principles to support your Product-Led-Growth</a></strong></p><div><hr></div><h4>Robin di Capua</h4><p><strong>&#128279; <a href="https://www.linkedin.com/in/robindicapua/">Linkedin</a></strong></p><div id="youtube2-dDpROJwl-To" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;dDpROJwl-To&quot;,&quot;startTime&quot;:&quot;1085s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/dDpROJwl-To?start=1085s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h4>David Aerne</h4><p>David is the true color&#8217;s wizard and one of the best interaction developers I know  :) </p><p><strong>&#128279; <a href="https://www.linkedin.com/in/davidaerne/">Linkedin</a></strong></p><p><strong>&#128279; <a href="https://meodai.github.io/fettepalette/">FettePalette</a></strong></p><p><strong>&#128279; <a href="https://farbvelo.elastiq.ch/?currentSeed=28f13718295cc8&amp;amount=6&amp;colorsInGradient=4&amp;padding=0.175&amp;minHueDistance=60&amp;interpolationColorModel=lab&amp;generatorFunction=Hue+Bingo&amp;colorMode=hsluv&amp;quantizationMethod=art-palette">Farbvelo</a></strong></p><p><strong>&#128279; <a href="https://codepen.io/meodai/full/MYKwKMd">Generative Copic Color Wheel</a></strong></p><div><hr></div><h2>Useful tools and resources</h2><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;90f8b47c-0b0c-47a1-9f8a-130267963fb7&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Best AI Tools for Design (System) Teams in 2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-12-12T09:24:16.822Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_B7Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/best-ai-tools-for-design-system-teams&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:181318906,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:32,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><h4>aidesign.guide</h4><p>Everything you need to integrate AI into your design workflow. Practical guides, prompting techniques, and curated resources for designers.</p><p>&#128279; <strong><a href="https://www.aidesign.guide/">Prompts library</a></strong></p><p></p><h4>bunny.net</h4><p><strong>&#128279; <a href="https://bunny.net/">Website</a></strong></p><p>bunny.net is a high-performance CDN with a globally distributed edge network, optimized routing, and aggressive caching (built to deliver content fast and reliably at scale).</p><p>I used bunny.net to integrate with storage (via the API) and build my illustration database (both with Figma Make and Cursor). It&#8217;s really easy to use and there is no "enterprise&#8221; complexity. </p><p></p><p>&#128279;<strong><a href="https://www.youtube.com/@anthropic-ai">Anthropic YouTube Channel</a> where you can learn a lot about how to use Claude + Claude Code</strong></p><p></p><p>&#128279; <strong><a href="https://www.youtube.com/@LennysPodcast">Lenny&#8217;s podcast</a> and newsletter <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Lenny Rachitsky&quot;,&quot;id&quot;:1849774,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/afba5161-65bb-4d99-8d6b-cce660917fa1_1540x1540.png&quot;,&quot;uuid&quot;:&quot;c7f74057-e890-40c8-86ac-6ea812dc78e0&quot;}" data-component-name="MentionToDOM"></span> &#128076;</strong></p><p></p><p>&#128279; <strong><a href="https://www.youtube.com/@a16z">a16z podcast</a></strong></p><div id="youtube2-ULszsXDyjMY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ULszsXDyjMY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ULszsXDyjMY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>What I&#8217;m carrying into 2026</h2><p></p><p>Less &#8220;instant&#8221; thingies.</p><p>More focus.</p><p>More systems that make the next thing easier to build.</p><p></p><p>Wishing you an unforgettable start to the new year. &#129392;<br>Romina </p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Figma Make Won't Work Until You Do This]]></title><description><![CDATA[Full guide + practical examples]]></description><link>https://learn.thedesignsystem.guide/p/figma-make-wont-work-until-you-do</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/figma-make-wont-work-until-you-do</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 19 Dec 2025 08:54:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5Nwf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5Nwf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5Nwf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!5Nwf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!5Nwf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!5Nwf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5Nwf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:404081,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5Nwf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!5Nwf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!5Nwf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!5Nwf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Product teams do not struggle to design screens. They struggle to <strong>validate ideas fast</strong> without creating a mess.</p><p>Most AI prototyping tools force you to leave Figma, and then you spend time translating the output back into your file.</p><p><strong><a href="https://psxid.figma.com/romina">Figma Make</a> solves a specific problem:</strong> it helps you generate functional prototypes while staying inside the Figma file where your team already works.</p><p>If you have a design system, Figma Make can reuse it. If you do not, it still helps you move faster on flow, states, and interactions.</p><p></p><h4>What you will get from this article </h4><ul><li><p><strong>A clear decision framework</strong> for when to use<a href="https://psxid.figma.com/romina"> Figma Make.</a></p></li><li><p><strong>A step-by-step workflow</strong> you can run today, including the setup most people miss.</p></li><li><p><strong>Prompt templates</strong> that force design system consistency.</p></li><li><p><strong>Four concrete examples</strong>:</p><ul><li><p><strong>Prototype with 4 versions</strong></p></li><li><p><strong>Simple example</strong>: a mobile learning flashcard prototype </p></li><li><p><strong>Design system example</strong>: a Figma Make prototype with existing components </p></li><li><p><strong>Advanced example</strong>: an illustration gallery powered by Supabase + CDN (API)</p></li></ul></li></ul><div><hr></div><h2>The real problem is context loss</h2><p>Most &#8220;AI prototyping&#8221; workflows look like this:</p><ol><li><p>You design in Figma.</p></li><li><p>You leave Figma to generate code in another tool.</p></li><li><p>The tool invents new components and styling.</p></li><li><p>You spend time swapping everything back to your system.</p></li><li><p>You hand it off, and the team debates what is real.</p></li></ol><p></p><p>The tools are not the enemy. <strong>Context loss is.</strong></p><p></p><p>With Make, you have direct access to:</p><ul><li><p><strong>Your components</strong> (and their variants).</p></li><li><p><strong>Your variables</strong> (colors, spacing, typography).</p></li><li><p><strong>Your naming conventions</strong> (which encode decisions).</p></li></ul><p>Figma Make keeps that context close. That is the whole point.</p><p></p><h2>The design system advantage </h2><p>If you do not connect your libraries, you get generic output. Period.</p><p>When you enable the right libraries, Figma Make can treat them as &#8220;building blocks&#8221; and generate prototypes using:</p><ul><li><p><strong>Your button</strong> (with the variants you already defined).</p></li><li><p><strong>Your spacing tokens</strong> (instead of hardcoded values).</p></li><li><p><strong>Your card, table, bodal, stepper</strong> (instead of invented UI).</p><p></p></li></ul><p>That is the difference between &#8220;AI-generated UI&#8221; and &#8220;AI-generated UI that your team can actually review.&#8221;</p><p>One more lever matters: <strong>connectors</strong>. If your requirements and content live outside Figma (Notion, GitHub, Linear, Jira, and more), you can pull them in so the prototype reflects the actual spec and copy, not your best guess.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wOSK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wOSK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wOSK!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:391480,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wOSK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here is the mental model: your Figma libraries are the building blocks, and connectors plus APIs are the context sources.</p><div><hr></div><h2>The complete workflow (setup to output)</h2><p>This is the workflow I recommend for designers who want speed without sacrificing consistency.</p><p></p><h3>Phase 1: Setup (5 minutes)</h3><p><strong>Step 1: Turn on the correct libraries</strong></p><ul><li><p>Open the file where you will prototype.</p></li><li><p>Go to <strong>Assets &#8594; Team library</strong>.</p></li><li><p>Enable the libraries you want Figma Make to use.</p></li></ul><p><strong>Checkpoint:</strong> you can insert your system components manually from the Assets panel.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l5ua!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l5ua!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 424w, https://substackcdn.com/image/fetch/$s_!l5ua!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 848w, https://substackcdn.com/image/fetch/$s_!l5ua!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 1272w, https://substackcdn.com/image/fetch/$s_!l5ua!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l5ua!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png" width="1280" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:149056,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!l5ua!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 424w, https://substackcdn.com/image/fetch/$s_!l5ua!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 848w, https://substackcdn.com/image/fetch/$s_!l5ua!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 1272w, https://substackcdn.com/image/fetch/$s_!l5ua!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Step 2: Learn the component names you will reference</strong></p><p>Figma Make responds best when you use names exactly as they appear in your library. If your component name reads <code>Button/Primary</code>, use that.</p><p><strong>Checkpoint:</strong> write down 8 to 12 component names you expect in most screens (Button, Input, Select, Card, Table, Modal, Toast, SideNav).</p><p>Now try to create a prototype with and without your library. You can see the difference below with my example. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xmWZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xmWZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 424w, https://substackcdn.com/image/fetch/$s_!xmWZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 848w, https://substackcdn.com/image/fetch/$s_!xmWZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 1272w, https://substackcdn.com/image/fetch/$s_!xmWZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xmWZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png" width="1280" height="945" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:945,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:165987,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xmWZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 424w, https://substackcdn.com/image/fetch/$s_!xmWZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 848w, https://substackcdn.com/image/fetch/$s_!xmWZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 1272w, https://substackcdn.com/image/fetch/$s_!xmWZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Step 3: Decide what &#8220;done&#8221; means for the prototype</strong></p><p>You will iterate faster when you define the boundary.</p><ul><li><p>Are you validating flow, layout, copy, or interaction?</p></li><li><p>What states must exist (loading, empty, error, success)?</p></li></ul><div><hr></div><h3>Phase 2: Prompting with design system context</h3><p>Don&#8217;t add generic prompts. Think about what you need, structure the prompt and the idea, and then copy/paste it. For complex prototypes, I start with the longer prompt, where I specify all the things. Once I see the prototype, I use shorter prompts. </p><p>Examples:</p><p><strong>Prompt template: system-first screen</strong></p><blockquote><p>&#8220;Create a <em>[screen name]</em> using my <em>[layout component]</em> and my <em>[form/data components]</em>. Use spacing tokens for all margins and gaps. Include loading, empty, and error states. Use component names exactly as defined in my library.&#8221;</p></blockquote><p></p><p><strong>Example: settings screen</strong></p><blockquote><p>&#8220;Create a settings page using my <code>SideNav</code> on the left. Build a form with <code>Input</code>, <code>Select</code>, and <code>Checkbox</code> components. Use page spacing tokens and include <code>Button/Primary</code> for Save and <code>Button/Secondary</code> for Cancel. Include validation states and an error banner.&#8221;</p></blockquote><p></p><p><strong>Complex example:</strong></p><p></p><blockquote><p><strong>Responsive Illustration Gallery (check the video below) </strong></p><p>Create a clean, minimal illustration gallery that fetches artwork from a bunny.net CDN.</p><p><strong>Design System &amp; Styling:</strong></p><ul><li><p><strong>Strict Adherence:</strong> The UI must strictly adhere to the design system defined in <code>/styles/globals.css</code>.</p></li><li><p><strong>Typography:</strong> Use ONLY the <strong>Geist</strong> font family as defined in the global CSS. Do not import or use any other fonts.</p></li><li><p><strong>Variables:</strong> Use the specific CSS variables defined in <code>globals.css</code> for all colors (e.g., <code>--background</code>, <code>--foreground</code>, <code>--primary</code>, <code>--card</code>), spacing, borders, and radius (<code>--radius</code>, <code>--radius-card</code>).</p></li></ul><p><strong>Data Source:</strong></p><ul><li><p>Fetch the list of illustrations from bunny.net using the available environment secrets: <code>BUNNY_STORAGE_ZONE</code>, <code>BUNNY_ACCESS_KEY</code>, and <code>BUNNY_CDN_URL</code>.</p></li></ul><p><em>(&#128161; this is why you need Supabase) </em></p><p><strong>Core Features:</strong></p><ol><li><p><strong>Dynamic Categorization:</strong></p><ul><li><p>Parse the filenames of the fetched images.</p></li><li><p>Extract the <strong>first word</strong> of the filename to serve as the &#8220;Category&#8221; (e.g., &#8220;Billing-icon.png&#8221; &#8594; &#8220;Billing&#8221;).</p></li><li><p>This logic should drive both the display tags and the filter options.</p></li></ul></li><li><p><strong>Search &amp; Filter Interface:</strong></p><ul><li><p><strong>Search:</strong> A text input to filter images by filename.</p></li><li><p><strong>Filter Dropdown:</strong> A <code>Select</code> menu positioned immediately next to the search bar.</p></li><li><p><strong>Dynamic Options:</strong> The dropdown options must be automatically generated from the unique categories found in the file list.</p></li></ul></li><li><p><strong>Gallery Grid:</strong></p><ul><li><p>Render a responsive grid of <code>IllustrationCard</code> components.</p></li><li><p><strong>IllustrationCard:</strong> Must display the image thumbnail, the filename, and the extracted category tag.</p></li></ul></li><li><p><strong>Interactions:</strong></p><ul><li><p><strong>Lightbox:</strong> Clicking a card should open a modal/lightbox for a full-size preview.</p></li><li><p><strong>Download:</strong> Include a button to download the original file directly.</p></li></ul></li></ol><p><strong>Implementation:</strong></p><ul><li><p>Use React and Tailwind CSS.</p></li><li><p>Use <code>lucide-react</code> for icons.</p></li><li><p>Ensure the layout is fully responsive for mobile and desktop.</p></li></ul></blockquote><div><hr></div><h3>Phase 3: Iteration (the loop that saves you time)</h3><p>Don&#8217;t expect &#8220;pixel-perfect&#8221; prototypes from the first prompt. You will need to iterate a bit to get it how you want it to look. </p><p><strong>Iteration loop</strong></p><ol><li><p>Generate the screen.</p></li><li><p>Fix the layout and hierarchy in Figma (auto layout, spacing, alignment).</p></li><li><p>Swap variants (Primary to Secondary, compact to regular).</p></li><li><p>Prompt for one change at a time (do not stack requests).</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EO-t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EO-t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 424w, https://substackcdn.com/image/fetch/$s_!EO-t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 848w, https://substackcdn.com/image/fetch/$s_!EO-t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 1272w, https://substackcdn.com/image/fetch/$s_!EO-t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EO-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif" width="1246" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1246,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1128437,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EO-t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 424w, https://substackcdn.com/image/fetch/$s_!EO-t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 848w, https://substackcdn.com/image/fetch/$s_!EO-t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 1272w, https://substackcdn.com/image/fetch/$s_!EO-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Rule:</strong> if the output drifts from your system, stop prompting and fix the system reference in the next prompt.</p><div><hr></div><h3>Phase 4: Connecting external tools (Connectors)</h3><p><a href="https://psxid.figma.com/romina">Figma Make</a> can connect to external tools via MCP so you can pull specs in as context instead of copy-pasting.</p><p><strong>Common connectors:</strong></p><ul><li><p>Supabase</p></li><li><p>Notion</p></li><li><p>GitHub</p></li><li><p>Linear</p></li><li><p>Asana</p></li><li><p>Atlassian (Confluence, Jira, Compass)</p></li><li><p>monday.com</p></li><li><p>API</p></li></ul><h3>Example: Build from a Notion PRD</h3><p></p><p><strong>Setup</strong></p><ol><li><p>Click <strong>Add context</strong> in the chat box.</p></li><li><p>Select <strong>Add connector</strong> and choose Notion.</p></li><li><p>Authenticate.</p></li><li><p>Enable read tools.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZqFn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZqFn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 424w, https://substackcdn.com/image/fetch/$s_!ZqFn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 848w, https://substackcdn.com/image/fetch/$s_!ZqFn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 1272w, https://substackcdn.com/image/fetch/$s_!ZqFn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZqFn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png" width="1280" height="636" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:636,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:115498,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZqFn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 424w, https://substackcdn.com/image/fetch/$s_!ZqFn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 848w, https://substackcdn.com/image/fetch/$s_!ZqFn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 1272w, https://substackcdn.com/image/fetch/$s_!ZqFn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Prompt</strong></p><blockquote><p>&#8220;Use the specs in [Notion page link] to create a first-draft prototype. Follow the user flow described in the PRD and use my <code>Button</code> and <code>Input</code> components. Include the error states listed in the acceptance criteria.&#8221;</p></blockquote><p></p><h3>Example: Mobile learning flashcard app (simple)</h3><p>This is a great &#8220;start here&#8221; project. It is mostly UI and local state, which means you can validate the flow quickly.</p><p>Example prototype: &#128279; <strong><a href="https://panda-plane-70826003.figma.site/">Mobile Learning Flashcard App (Figma Make)</a></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cXrw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cXrw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 424w, https://substackcdn.com/image/fetch/$s_!cXrw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 848w, https://substackcdn.com/image/fetch/$s_!cXrw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 1272w, https://substackcdn.com/image/fetch/$s_!cXrw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cXrw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png" width="208" height="375.1284046692607" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:927,&quot;width&quot;:514,&quot;resizeWidth&quot;:208,&quot;bytes&quot;:149556,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cXrw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 424w, https://substackcdn.com/image/fetch/$s_!cXrw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 848w, https://substackcdn.com/image/fetch/$s_!cXrw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 1272w, https://substackcdn.com/image/fetch/$s_!cXrw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>What this is great for:</strong></p><ul><li><p>Validating the core flow (browse decks, study, progress).</p></li><li><p>Iterating on hierarchy, copy, and interaction.</p></li><li><p>Stress-test empty, completed, and error states before wiring real data.</p></li></ul><p><strong>How to move faster with Notion :</strong></p><ul><li><p>Put your decks and cards in Notion, then connect Notion in Figma Make and pull the content in as context. </p></li><li><p>This lets you prototype with real copy and structure while editors keep the source of truth in Notion up to date.</p></li></ul><p></p><h3>Example: Create or update a prototype from a GitHub issue</h3><p><strong>Prompt</strong></p><blockquote><p>&#8220;Fetch the requirements from [GitHub issue link]. Build a prototype that satisfies the user story. Include the edge cases and error states mentioned in the acceptance criteria.&#8221;</p></blockquote><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WSff!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WSff!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 424w, https://substackcdn.com/image/fetch/$s_!WSff!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 848w, https://substackcdn.com/image/fetch/$s_!WSff!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 1272w, https://substackcdn.com/image/fetch/$s_!WSff!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WSff!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png" width="1280" height="636" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:636,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:118149,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WSff!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 424w, https://substackcdn.com/image/fetch/$s_!WSff!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 848w, https://substackcdn.com/image/fetch/$s_!WSff!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 1272w, https://substackcdn.com/image/fetch/$s_!WSff!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Connector permissions (what I recommend)</strong></p><p>Figma disables write tools by default for good reason.</p><ul><li><p>Keep write tools on <strong>Ask to run</strong> until you trust the workflow.</p></li><li><p>Enable only the connectors relevant to the current project.</p></li></ul><div><hr></div><h2>Using API integrations </h2><p>Live data prototypes expose content length, edge cases, and failure states.</p><p>Use live data when you need to validate:</p><ul><li><p>Real content density and truncation.</p></li><li><p>Empty and loading states.</p></li><li><p>Error handling.</p></li><li><p>How your UI behaves with real user data.</p><p></p></li></ul><h3>Example: Illustration gallery (Supabase + external API)</h3><p>This is the &#8220;real app&#8221; pattern: you store metadata in a database and serve images from a CDN. And wohoo, it works in Figma, too. &#10024;</p><p><strong>Example prototype</strong></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;84269d39-ad2a-4594-9e98-35621d0f067a&quot;,&quot;duration&quot;:null}"></div><p><strong>Architecture:</strong></p><ul><li><p><strong>bunny.net </strong>hosts the image files (CDN delivery) &#8594; Imagine it like a &#8220;Dropbox folder&#8221;. You can use any other CDN provider as well. </p></li><li><p><strong>Supabase</strong> stores the metadata (title, tags, dimensions, URLs, created_at).</p></li><li><p><strong>The prototype </strong>fetches records from Supabase and renders thumbnails from Bunny URLs.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F4oL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F4oL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 424w, https://substackcdn.com/image/fetch/$s_!F4oL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 848w, https://substackcdn.com/image/fetch/$s_!F4oL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 1272w, https://substackcdn.com/image/fetch/$s_!F4oL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F4oL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png" width="1280" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96306,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!F4oL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 424w, https://substackcdn.com/image/fetch/$s_!F4oL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 848w, https://substackcdn.com/image/fetch/$s_!F4oL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 1272w, https://substackcdn.com/image/fetch/$s_!F4oL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Other possible examples for using the API</strong></p><p><strong><br>Theme previewer</strong>: fetch brand themes (colors, typography scales) from an internal theming API and preview the same screen across themes.</p><p><strong>Support ticket patterns</strong>: pull top support topics from Zendesk and map them to components (&#8220;most complaints mention DatePicker&#8221;) to guide fixes.</p><p></p><h4>How to set up API integrations (a checklist)</h4><ol><li><p>Start with public endpoints or a simple API key.</p></li><li><p>Define the data shape you expect (fields and types).</p></li><li><p>Ask for loading, empty, and error states.</p></li><li><p>Iterate and add more prompts </p></li></ol><div><hr></div><h3>Phase 5: Output options </h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7NcK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7NcK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 424w, https://substackcdn.com/image/fetch/$s_!7NcK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 848w, https://substackcdn.com/image/fetch/$s_!7NcK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 1272w, https://substackcdn.com/image/fetch/$s_!7NcK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7NcK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png" width="910" height="436" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:436,&quot;width&quot;:910,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:44983,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!7NcK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 424w, https://substackcdn.com/image/fetch/$s_!7NcK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 848w, https://substackcdn.com/image/fetch/$s_!7NcK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 1272w, https://substackcdn.com/image/fetch/$s_!7NcK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Option 1: Stay in Figma</strong></p><p>Use this when you:</p><ul><li><p>Need stakeholder buy-in.</p></li><li><p>Need to test flows.</p></li><li><p>Still expect the design to change.</p></li></ul><p></p><p><strong>Option 2: Export code as a reference</strong></p><p>Use this when you:</p><ul><li><p>Want devs to understand the interaction and structure.</p></li><li><p>Want a concrete artifact for implementation discussions.</p></li></ul><p>Treat the export as a reference, not production code.</p><p></p><p><strong>Option 3: Publish as a standalone demo</strong></p><p>Use this when you:</p><ul><li><p>Need a link for remote stakeholders.</p></li><li><p>Want a demo that behaves like a real app.</p></li><li><p>Want to share it under your own domain.</p></li></ul><p></p><div><hr></div><h2>My tips for Figma Make</h2><p></p><p><strong>Create reusable templates you can copy and paste.</strong> Save context blocks, data shapes, and state requirements, so you stop rewriting the same instructions.</p><p><strong>Establish foundational rules and save them as markdown.</strong> Reuse the same constraints at the start of every new Make session.</p><p><strong>Define structure, not just tasks.</strong> Tell the tool what the app is made of (screens, states, data model), not just what it should do.</p><p><strong>Refine the design before you prompt.</strong> Start with a decent layout and reusable components. The more solid your structure is, the less you fight the AI.</p><p><strong>Reference your exact component names.</strong> Use the names exactly as they appear in Assets so Figma Make uses the right building blocks instead of inventing new UI.</p><p><strong>Connect your team library first.</strong> Do this before you prompt; otherwise, you will spend the session undoing generic components.</p><p><strong>Set up connectors before prompting.</strong> Get access set up first so context is ready, then focus prompts on screens and states instead of setup.</p><p><strong>Create a global CSS file you can reuse.</strong> Use it for published demos so typography, spacing, and layout defaults stay consistent across screens.</p><p><strong>Start with short prompts, then iterate.</strong> Change one thing at a time so you can see what caused the shift.</p><p><strong>Use revert as a workflow tool.</strong> Try an idea. If it drifts, revert. Prompt again with tighter constraints.</p><div><hr></div><h3>So, when to use Figma Make? </h3><p>Figma Make fills a gap most teams feel: <strong>fast prototyping that stays consistent with your design system</strong>.</p><p>Use Figma Make when:</p><ul><li><p>You already have a component library and variables in Figma, and you want the prototype to reuse them.</p></li><li><p>You need to validate a flow with realistic states (loading, empty, error, success), not just a static mock.</p></li><li><p>Your content or requirements live in tools like Notion or GitHub, and you want to pull them in rather than copy-paste.</p></li><li><p>You want to iterate directly in Figma (auto layout, variants, copy edits) after the first draft.</p></li><li><p>You want a shareable demo link for stakeholders, including on your own domain.</p></li></ul><p></p><p>If you want to try it today, do this:</p><ol><li><p><strong><a href="https://psxid.figma.com/romina">Create an account</a> </strong>(if you are late to the party &#128579;)</p></li><li><p><strong><a href="https://psxid.figma.com/romina">Open a file connected </a></strong>to your team library.</p></li><li><p>Prompt using your real component names.</p></li><li><p>Demand loading, empty, and error states.</p></li><li><p>Iterate in small steps until the prototype looks and behaves like your product.</p></li></ol><div><hr></div><h3>More Figma links to explore </h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kNYM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kNYM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!kNYM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!kNYM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!kNYM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kNYM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4533,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kNYM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!kNYM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!kNYM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!kNYM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>&#128279;  <a href="https://help.figma.com/hc/en-us/articles/35440096186007-Connect-external-tools-using-Figma-Make-connectors">Connect external tools using Figma Make connectors</a> <br>Official documentation on MCP connectors</p><p>&#128279; <a href="https://www.figma.com/blog/6-winning-figma-makes-and-what-you-can-learn-from-them/">6 Winning Figma Makes and what you can learn from them</a> </p><p>&#128279; <a href="https://help.figma.com/hc/en-us/articles/30965205437975-What-s-new-from-Config-2025">What&#8217;s new from Config 2025</a> <br>Official Figma announcement covering Make features</p><p>&#128279; <a href="https://www.figma.com/solutions/ai-agent-workflow-builder/">Figma AI agent workflow builder</a> <br>Figma&#8217;s documentation on AI workflows</p><p>&#128279; <a href="https://www.youtube.com/watch?v=jvJ6uQLQ8Fo">Empowering designers: AI, design systems, and quality</a><br>Schema by Figma 2025</p><p></p><p></p><p></p><p>Enjoy exploring and let me know how it goes. &#128588;<br>Romina </p><h3></h3><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Into Design Systems&quot;,&quot;id&quot;:116470739,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e518e3-7e50-49ed-9202-81959be5e861_256x256.jpeg&quot;,&quot;uuid&quot;:&quot;be58dad6-6e60-4ae6-a401-7195594fa08c&quot;}" data-component-name="MentionToDOM"></span> <strong>Conference 2026 / AI + Design Systems </strong></p><p>2026 will be a turning point for our field! If you want to understand how top teams build worldwide AI-ready Design Systems, this conference is the place to learn. <br>I will also talk there. &#128579;<br><br><strong>&#128279; <a href="https://www.intodesignsystems.com/">Link</a></strong></p><p></p><p><strong>Intercom&#8217;s 3-point framework for AI-driven design</strong></p><p>Shipping code, vibe coding the roadmap, and owning the entire frontend</p><p><strong>&#128279; <a href="https://ideas.fin.ai/p/intercoms-3-point-framework-for-ai">Link</a></strong></p><p></p><p><strong>Designing AI for Collaboration: The Future of Work is Multiplayer</strong></p><p>from Salesforce </p><p><strong>&#128279; <a href="https://www.salesforce.com/blog/designing-ai-for-collaboration/">Link</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Best AI Tools for Design (System) Teams in 2026]]></title><description><![CDATA[What I use every day and you should too]]></description><link>https://learn.thedesignsystem.guide/p/best-ai-tools-for-design-system-teams</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/best-ai-tools-for-design-system-teams</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 12 Dec 2025 09:24:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_B7Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_B7Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_B7Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!_B7Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!_B7Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!_B7Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_B7Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:324841,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_B7Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!_B7Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!_B7Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!_B7Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Most design system teams are drowning in manual work. Syncing tokens between Figma and code takes hours. Documentation is outdated. Tracking component adoption means digging through multiple dashboards. And every time someone asks, &#8220;What did we decide about X?&#8221; you&#8217;re scrolling through months of Slack messages.</p><p>I&#8217;ve tested maaaany of the AI tools this year. Most sit unused after the initial hype. But a handful have cut my repetitive work by 50-60% and become part of my daily workflow.</p><p>Here&#8217;s what I use every day, and it actually <strong>works</strong>.&#128071;</p><div><hr></div><h2>For coding and automation</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SjGQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SjGQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!SjGQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!SjGQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!SjGQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SjGQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:19471,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SjGQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!SjGQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!SjGQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!SjGQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><h3>Claude Code</h3><p>Anthropic&#8217;s command-line AI assistant that works directly in your terminal and codebase. It reads <strong>your files, runs scripts, and executes multi-step workflows</strong> <strong>autonomously.</strong></p><p><strong>&#128279; <a href="https://claude.ai/code">Claude Code</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Understands your entire codebase context, not just single files</p></li><li><p>Runs Python/JavaScript scripts for accurate calculations (no LLM guessing)</p></li><li><p>Claude Skills let you define patterns once and reuse them automatically</p></li><li><p>Handles multi-file changes like updating all components when tokens change</p></li><li><p>Works with MCP servers to connect Figma, GitHub, and other tools</p></li></ul><p><strong>Example:</strong> &#8220;Sync our design tokens from Figma variables to our JSON files and check for any mismatches.&#8221; Claude Code reads your token files, compares them against Figma (via MCP), and reports discrepancies. What used to take 30 minutes of manual spreadsheet comparison now happens in under 60 seconds. </p><p><strong>Time saved:</strong> 2-3 hours per week on token management alone.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VkTl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VkTl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!VkTl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!VkTl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!VkTl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VkTl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2fca584-3736-433c-b638-d810e2e950c9_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7516,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VkTl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!VkTl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!VkTl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!VkTl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Cursor</h3><p>AI-powered code editor built on VS Code. It sees your entire codebase and suggests completions based on your existing patterns.</p><p>&#128279; <strong><a href="https://cursor.com/">Cursor</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Autocomplete learns your component patterns and suggests matching code</p></li><li><p>Composer mode shows every file affected by a change before you make it</p></li><li><p>Supports multiple AI models (you can also connect your own)</p></li><li><p>MCP integrations connect directly to Figma, GitHub, and docs</p></li><li><p>Familiar VS Code interface means no learning curve</p></li></ul><p><strong>Example:</strong> When updating a component&#8217;s API, Cursor&#8217;s Composer mode shows every file that imports that component. You see the full impact of your change before you make it. </p><div id="youtube2-jh6eYgPlki8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;jh6eYgPlki8&quot;,&quot;startTime&quot;:&quot;6s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/jh6eYgPlki8?start=6s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>For voice and writing</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-lpi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-lpi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!-lpi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!-lpi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!-lpi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-lpi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:13077,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-lpi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!-lpi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!-lpi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!-lpi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Whispr Flow</h3><p>Voice-to-text that works anywhere on your Mac. Press a hotkey, speak, and text appears wherever your cursor is.</p><p><strong>&#128279; <a href="https://whisprflow.com/">Whisprflow</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Works in any app (Slack, Figma, VS Code, browser)</p></li><li><p>Fast transcription with high accuracy</p></li><li><p>No need to switch windows or break your flow</p></li><li><p>Great for first drafts when you think faster than you type</p></li><li><p>Useful during design reviews when your hands are busy</p></li></ul><p><strong>Example:</strong> Use it in any tools (just use the shortcut) and start speaking. </p><p><strong>Time saved:</strong> Surprisingly A LOT. &#128517;</p><div><hr></div><h2>For connecting tools</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X5ex!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X5ex!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!X5ex!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!X5ex!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!X5ex!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X5ex!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4527,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!X5ex!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!X5ex!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!X5ex!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!X5ex!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Figma MCP Server</h3><p>Official Figma integration that connects your designs to Claude and Cursor via <strong>Model Context Protocol.</strong> Your AI tools can read components, tokens, and specs directly from Figma.</p><p><strong>&#128279; <a href="https://www.figma.com/blog/design-systems-ai-mcp/">Figma MCP</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>AI reads actual component specs, not your descriptions of them</p></li><li><p>Compares Figma variables with code tokens automatically</p></li><li><p>Generates specs without manual copy-paste</p></li><li><p>Works with both Claude Code and Cursor (and other AI tools) </p></li><li><p>Understands variants, spacing, and token references</p></li></ul><p><strong>Example:</strong> &#8220;Generate specs for the modal component in our Figma library.&#8221; The AI reads the actual component directly from Figma: variants, spacing values, token references, everything. OR you copy link to your design and instruct Cursor to build your components or screens. </p><p><strong>Time saved:</strong> Spec documentation that used to take 20-30 minutes now takes 2 minutes.</p><div id="youtube2-4nE_9g5zxeQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;4nE_9g5zxeQ&quot;,&quot;startTime&quot;:&quot;1s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/4nE_9g5zxeQ?start=1s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c8li!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c8li!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!c8li!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!c8li!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!c8li!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c8li!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6949,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!c8li!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!c8li!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!c8li!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!c8li!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>GitHub MCP Server</h3><p>GitHub integration for AI tools via Model Context Protocol. Search code, analyze PRs, and track adoption across repositories.</p><p><strong>&#128279; <a href="https://github.com/modelcontextprotocol">GitHub MCP</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Search across all repositories in seconds</p></li><li><p>Analyze imports to track component adoption</p></li><li><p>Review PRs and check for token usage</p></li><li><p>Generate changelogs from commit history</p></li><li><p>Find which teams haven&#8217;t updated to the latest versions</p></li></ul><p><strong>Example: </strong>&#8220;Which teams are still using our deprecated v1 button component?&#8221; Claude searches across all repositories, analyzes imports, and returns a list of file paths. </p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QZx_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QZx_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!QZx_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!QZx_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!QZx_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QZx_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7399,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QZx_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!QZx_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!QZx_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!QZx_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>PostHog MCP</h3><p>Analytics integration that brings usage data into your AI workflow. Query component metrics without digging through dashboards.</p><p><strong>&#128279; <a href="https://posthog.com/docs/model-context-protocol">Posthog</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Get component adoption data through natural language queries</p></li><li><p>Compare usage between component versions</p></li><li><p>Identify which components need better documentation</p></li><li><p>Track design system health metrics over time</p></li><li><p>Make data-driven decisions about what to build next</p></li></ul><p><strong>Example:</strong> &#8220;Show me which components have the lowest adoption rates this quarter.&#8221; Instead of clicking through dashboards and building custom queries, you get a direct answer with the data. This changed how I prioritize roadmap decisions. Low adoption often means the component needs better docs or has usability issues.</p><p><strong>Time saved:</strong> Analytics deep-dives that took an hour now take 5 minutes.</p><div><hr></div><h2>For research and processing</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bay1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bay1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!Bay1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!Bay1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!Bay1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bay1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:17155,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Bay1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!Bay1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!Bay1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!Bay1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>NotebookLM</h3><p>Google&#8217;s AI research assistant that turns your documents into interactive conversations and even generates podcast-style audio discussions.</p><p><strong>&#128279; <a href="https://notebooklm.google.com/">NotebookLM</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Upload multiple documents and ask questions across all of them</p></li><li><p>Generates podcast-style conversations about your content</p></li><li><p>Great for processing large documents passively (listen while commuting)</p></li><li><p>Finds connections between different documents</p></li><li><p>Free to use</p></li></ul><p><strong>Example: </strong>Add any video, get a transcription, and ask any question about the content. You can also create quizzes, mind maps, and audio summaries. </p><div><hr></div><h2>For prototyping and deployment</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yv4P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yv4P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!yv4P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!yv4P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!yv4P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yv4P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2691b47d-2909-402b-9f40-2287377accdd_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5546,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yv4P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!yv4P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!yv4P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!yv4P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Replit</h3><p>AI-powered development environment where you can <strong>build, iterate, and deploy</strong> apps publicly - all in your browser.</p><p>&#128279; <strong><a href="https://replit.com/refer/surf3rk4">Replit</a></strong></p><p>My &#8220;guilty pleasure&#8221; is iterating on my ideas on the go via Replit&#8217;s mobile app (way better than scrolling on social networks). &#128517;</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;c64a900e-9ca6-4a0a-9bba-690b10713e9f&quot;,&quot;duration&quot;:null}"></div><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Replit&#8217;s Design Mode (it is fast) </p></li><li><p>Build and deploy in the same environment </p></li><li><p>Share live URLs instantly </p></li><li><p>AI assistant helps you code and debug</p></li><li><p>Great for quick tools and prototypes that need to be public</p></li><li><p>Others can fork and remix your work (public projects)</p></li><li><p>Mobile app where you can code on the go :) </p></li></ul><p><strong>Example: </strong>Build any tool you want. My <strong><a href="https://namedesigntokens.guide/">design tokens name generator</a></strong> was built with Replit. Plus, I just published <strong><a href="https://token-health-check--surf3rk4.replit.app">Token Health Checker. </a></strong></p><div><hr></div><h2>For design exploration</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5ZQi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5ZQi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!5ZQi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!5ZQi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!5ZQi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5ZQi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4527,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5ZQi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!5ZQi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!5ZQi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!5ZQi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Figma Make</h3><p>Figma&#8217;s built-in AI for generating designs from text prompts. Creates layouts, components, and variations directly in your Figma file.</p><p>&#128279; <strong><a href="https://www.figma.com/make">Figma Make</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Generates multiple layout variations quickly</p></li><li><p>Good for early exploration before committing to a pattern</p></li><li><p>Works directly in Figma (no export/import)</p></li><li><p>Helpful for prototyping new component ideas</p></li><li><p>Saves time on initial layout work</p></li></ul><p><strong>Example: </strong>&#8220;Create 3 variations of a pricing card layout.&#8221; I use this for rapid exploration when starting a new pattern. Generate 5 variations in 2 minutes, pick the best direction, then build properly with your tokens. </p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-L6v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-L6v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!-L6v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!-L6v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!-L6v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-L6v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:10573,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-L6v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!-L6v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!-L6v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!-L6v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Midjourney</h3><p>AI image generation known for high-quality, artistic outputs. Best for conceptual and brand-level visuals.</p><p>&#128279; <strong><a href="https://midjourney.com/">Midjourney</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Exceptional quality for mood boards and brand exploration</p></li><li><p>Great for marketing and promotional visuals</p></li><li><p>Helps explore visual directions before committing</p></li><li><p>Generates consistent styles with style references</p></li><li><p>Strong community with shared prompts and techniques</p></li></ul><p><strong>Example: </strong>Creating mood boards for new brand directions or marketing visuals. When you need to show stakeholders &#8220;this is the feeling we&#8217;re going for&#8221; before diving into component work. I use it at the start of major rebrand projects to align on visual direction. Generating 20 mood board images takes 10 minutes instead of hours searching stock sites.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Py3B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Py3B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!Py3B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!Py3B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!Py3B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Py3B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:13668,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Py3B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!Py3B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!Py3B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!Py3B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Gemini (Nano Banana Pro)</h3><p>Google&#8217;s multimodal AI with powerful image generation and editing. The Nano Banana Pro model (built on Gemini 3 Pro) is particularly strong at understanding context and making precise edits to existing images.</p><p>&#128279; <strong><a href="https://gemini.google.com/overview/image-generation/">Gemini</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Generate and edit images in the same interface</p></li><li><p>Edit specific parts of images with natural language (&#8221;change the button color to blue&#8221;)</p></li><li><p>Up to 2K resolution output</p></li><li><p>Strong at infographics, diagrams, and data visualization</p></li><li><p>Consistent character appearance across multiple images</p></li><li><p>Free tier available, Pro for advanced controls</p></li></ul><p><strong>Example:</strong> Quick image edits without opening Photoshop. &#8220;Remove the background from this icon&#8221; or &#8220;Update the screenshot to show the new header.&#8221; Or merging two photos. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-INM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-INM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 424w, https://substackcdn.com/image/fetch/$s_!-INM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 848w, https://substackcdn.com/image/fetch/$s_!-INM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 1272w, https://substackcdn.com/image/fetch/$s_!-INM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-INM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png" width="1456" height="1423" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1423,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3459515,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-INM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 424w, https://substackcdn.com/image/fetch/$s_!-INM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 848w, https://substackcdn.com/image/fetch/$s_!-INM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 1272w, https://substackcdn.com/image/fetch/$s_!-INM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>For audio and video</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cvcp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cvcp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!cvcp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!cvcp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!cvcp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cvcp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6246,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cvcp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!cvcp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!cvcp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!cvcp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>ElevenLabs</h3><p>AI voice generation that creates natural-sounding voiceovers from text. Useful for video documentation and onboarding content.</p><p>&#128279; <strong><a href="https://elevenlabs.io/">ElevenLabs</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Natural-sounding voices in multiple languages</p></li><li><p>Fast turnaround for voiceover content</p></li><li><p>Consistent voice across all your documentation videos</p></li><li><p>No need to schedule recording sessions</p></li><li><p>Good enough quality for internal documentation</p></li></ul><p><strong>Example:</strong> Creating voiceovers for component demo videos or onboarding content. Record a script, generate the voiceover, and add it to your screen recording. What used to require scheduling time with a narrator now happens in 10 minutes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pyBb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pyBb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 424w, https://substackcdn.com/image/fetch/$s_!pyBb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 848w, https://substackcdn.com/image/fetch/$s_!pyBb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 1272w, https://substackcdn.com/image/fetch/$s_!pyBb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pyBb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png" width="1456" height="951" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:951,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:273547,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pyBb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 424w, https://substackcdn.com/image/fetch/$s_!pyBb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 848w, https://substackcdn.com/image/fetch/$s_!pyBb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 1272w, https://substackcdn.com/image/fetch/$s_!pyBb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><h2>For communication</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XuCg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XuCg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!XuCg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!XuCg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!XuCg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XuCg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12607,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XuCg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!XuCg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!XuCg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!XuCg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Slack MCP</h3><p>Connects Slack history to your AI tools. Search conversations, find decisions, and track discussions without scrolling through months of messages.</p><p>&#128279; <strong><a href="https://docs.slack.dev/ai/mcp-server/">Slack MCP Official</a></strong></p><p>&#128279; <strong><a href="https://github.com/korotovsky/slack-mcp-server">Slack MCP Unofficial</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Search design decisions from past conversations</p></li><li><p>Find who approved what and when</p></li><li><p>Track component feedback across channels</p></li><li><p>No more &#8220;what did we decide about X?&#8221; confusion</p></li><li><p>Valuable for teams where decisions happen in Slack</p></li></ul><p><strong>Example:</strong> &#8220;What did we decide about the modal animation timing in last month&#8217;s design review?&#8221; Instead of scrolling through months of messages, you get the answer with context and links to the original conversation. </p><div><hr></div><h2>For documentation</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_evU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_evU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!_evU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!_evU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!_evU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_evU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8955,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_evU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!_evU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!_evU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!_evU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Mintlify</h3><p>Documentation platform with built-in AI features. Write in markdown, deploy instantly, and get AI-powered search and suggestions out of the box.</p><p><a href="https://mintlify.com/">mintlify.com</a></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Deploy docs from markdown with zero config</p></li><li><p>AI-powered search understands natural language questions</p></li><li><p>Auto-generates API documentation from OpenAPI specs</p></li><li><p>Built-in analytics show which docs people actually read</p></li><li><p>Integrates with GitHub for automatic deployments on merge</p></li></ul><p><strong>Example:</strong>  I use Mintlify for our design system documentation site. Claude Code generates the markdown, I push to GitHub, and the docs deploy automatically. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;538bb17b-eaf4-47e3-9cde-f1b26bfacff2&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Documentation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-17T08:58:02.536Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!9dDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe9c6aa2-4c25-47ea-8c50-3c5d2d786ca1_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-documentation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176234757,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:95,&quot;comment_count&quot;:2,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p><strong>Time saved:</strong> Documentation that used to take a full day to publish now deploys in minutes. AI search reduced support questions by roughly 40%.</p><div><hr></div><h2>For model access</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L8V6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L8V6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!L8V6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!L8V6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!L8V6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L8V6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23748,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L8V6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!L8V6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!L8V6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!L8V6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>OpenRouter</h3><p>A unified API that gives you access to dozens of AI models through one interface. </p><p>&#128279;<strong> <a href="https://openrouter.ai/">openrouter.ai</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>One API key 100+ other models</p></li><li><p>Compare outputs from different models on the same prompt</p></li><li><p>Fall back to alternative models when one is down or rate-limited</p></li><li><p>Often cheaper than going direct to each provider</p></li><li><p>Pay only for what you use, no monthly commitments per provider</p></li></ul><p><strong>Example: </strong>When building internal AI tools for your design system, OpenRouter lets you experiment with different models without having to rewrite integrations.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pBPP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pBPP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 424w, https://substackcdn.com/image/fetch/$s_!pBPP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 848w, https://substackcdn.com/image/fetch/$s_!pBPP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 1272w, https://substackcdn.com/image/fetch/$s_!pBPP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pBPP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png" width="1319" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1319,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:176451,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pBPP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 424w, https://substackcdn.com/image/fetch/$s_!pBPP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 848w, https://substackcdn.com/image/fetch/$s_!pBPP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 1272w, https://substackcdn.com/image/fetch/$s_!pBPP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>For general AI assistance</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!r_Gx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r_Gx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!r_Gx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!r_Gx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!r_Gx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!r_Gx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6006,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!r_Gx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!r_Gx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!r_Gx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!r_Gx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>ChatGPT</h3><p>OpenAI&#8217;s conversational AI with web browsing, image generation (DALL-E), and Canvas for collaborative editing. The most versatile general-purpose AI assistant.</p><p>&#128279; <a href="https://chatgpt.com/">ChatGPT</a></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Web browsing for real-time research and fact-checking</p></li><li><p>Canvas mode for collaborative document and code editing</p></li><li><p>DALL-E integration for quick image generation</p></li><li><p>Voice mode for hands-free conversations</p></li><li><p>Memory feature remembers context across sessions</p></li><li><p>Strong at explaining complex concepts in simple terms</p></li></ul><p><strong>Example:</strong> Quick research, transforming file formats, explanations, practical &#8220;every-day&#8221; questions, training suggestions. So many examples &#128579;</p><div><hr></div><h2>Where to start</h2><p>If you&#8217;re new to AI tools for design work:</p><ol><li><p><strong>Start with Cursor</strong> - It&#8217;s familiar (VS Code), and the autocomplete is immediately useful</p></li><li><p><strong>Add Figma MCP</strong> when you&#8217;re comfortable </p></li><li><p><strong>Try Claude Code</strong> for repetitive workflows</p></li><li><p><strong>Add more MCPs</strong></p><p></p></li></ol><p>The landscape changes fast. What matters is finding tools that save more time than they cost to learn. <strong>Skip the hype tools</strong> until they prove themselves. Most AI plugins are still thin wrappers that don&#8217;t understand your context.</p><p>Enjoy exploring &#128588;<br>Romina</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Watch the Converge conference videos</strong></p><p>The talks from Converge 2025 are now available to watch. <br><br><strong>&#128279; <a href="https://converge.zeroheight.com/videos">Link</a></strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Design tokens that AI can actually read]]></title><description><![CDATA[Plus a behind-the-scenes BMW experience]]></description><link>https://learn.thedesignsystem.guide/p/design-tokens-that-ai-can-actually</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/design-tokens-that-ai-can-actually</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 05 Dec 2025 15:24:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fmfl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fmfl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fmfl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!fmfl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!fmfl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!fmfl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fmfl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1549883,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180788986?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fmfl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!fmfl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!fmfl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!fmfl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Most design tokens are structured for humans using Figma or JSON files. When you connect them to Claude via MCP (Model Context Protocol), the AI sees a wall of nested objects with no context about <em><strong>why</strong></em><strong> </strong>these values exist or <em><strong>when</strong></em><strong> </strong>to use them. </p><p>The result: AI generates code with <code>blue-5</code> when it should use <code>color-feedback-error</code>. It picks <code>space-3</code> for the button padding when your system specifies <code>button-padding</code>. You spend more time typing prompts to fix and explain than you do actually saving with AI.</p><p>Here&#8217;s how to restructure your tokens so AI actually understands your design system. </p><h3>What you&#8217;ll learn</h3><ul><li><p>Why tokens fail AI </p></li><li><p>The three elements of AI-readable tokens </p></li><li><p>Add descriptions to your top 10 tokens in 15 minutes</p></li><li><p>How to add context without restructuring legacy tokens</p></li><li><p>Catch token misuse in Figma</p></li><li><p>How AI-readable tokens enable context-aware design systems</p></li></ul><div><hr></div><h2>The problem: tokens that lie</h2><p>&#128075; Just a quick note &#8594; I&#8217;m mostly using Claude Code or Cursor, so I will write about this tool, but you can use other tools as well. However, keep in mind that the model you pick also affects what you get in the end. </p><p>I connected my design tokens to Claude via Figma MCP. First test: &#8220;Build me a button component using my design system.&#8221;</p><p>Claude&#8217;s output used:</p><ul><li><p><code>red.6</code> for the error state (should be <code>color-feedback-error</code>)</p></li><li><p><code>space-2</code> for padding (should be <code>space-4</code>)</p></li><li><p><code>neutral-7</code> for text (should be a semantic token)</p></li></ul><p>The tokens were technically correct. They existed in my system. But Claude had no way to know that <code>red-6</code> is a primitive meant for building semantic tokens, not for direct use in components.</p><p><strong>Here&#8217;s what Claude saw:</strong></p><pre><code><code>{
  &#8220;red&#8221;: {
    &#8220;6&#8221;: {
      &#8220;value&#8221;: &#8220;#DE3E25&#8221;,
      &#8220;type&#8221;: &#8220;color&#8221;
    }
  }
}
</code></code></pre><p><strong>What was missing:</strong> the semantic layer.</p><p>If you use Tokens Studio or Figma Variables, you already create primitive tokens like <code>red-6</code> and then connect them to semantic tokens like <code>color-feedback-error</code>. But many teams either skip the semantic layer entirely or don&#8217;t expose it to AI tools.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!myf3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!myf3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 424w, https://substackcdn.com/image/fetch/$s_!myf3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 848w, https://substackcdn.com/image/fetch/$s_!myf3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 1272w, https://substackcdn.com/image/fetch/$s_!myf3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!myf3!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png" width="1200" height="391.4835164835165" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:475,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:148167,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180788986?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!myf3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 424w, https://substackcdn.com/image/fetch/$s_!myf3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 848w, https://substackcdn.com/image/fetch/$s_!myf3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 1272w, https://substackcdn.com/image/fetch/$s_!myf3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Here&#8217;s what Claude needs to see:</strong></p><p>Same underlying hex value. But now AI tool sees the primitive, the semantic token that references it, <em>and</em> the description that explains intent.</p><div><hr></div><h2>Why are tokens the foundation</h2><p>Design tokens sit at the bottom of the stack. Every component, pattern, and product page ultimately resolves to tokens. This makes them both the smallest unit of your design system and the highest-leverage place to add AI readability.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rb6x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rb6x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 424w, https://substackcdn.com/image/fetch/$s_!Rb6x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 848w, https://substackcdn.com/image/fetch/$s_!Rb6x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!Rb6x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rb6x!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png" width="1200" height="432.6923076923077" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:525,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:237172,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180788986?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Rb6x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 424w, https://substackcdn.com/image/fetch/$s_!Rb6x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 848w, https://substackcdn.com/image/fetch/$s_!Rb6x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!Rb6x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>If tokens lack intent, everything above them inherits that blindness.</strong></p><p>When Claude generates a Button component, it needs to <strong>pick colors, spacing, and typography.</strong> If your tokens are just primitives (<code>red-6</code>, <code>space-4</code>), Claude makes arbitrary choices. Those choices cascade upward&#8212;into patterns, into pages, into your product.</p><p>But if your tokens carry intent (<code>color-feedback-error</code>, <code>spacing-component-button-padding</code>), Claude&#8217;s choices are informed at every layer. The Button uses the right error color. The Form pattern that contains the Button inherits that correctness. The Settings page that contains the Form stays consistent.</p><p></p><p><strong>Tokens are the API contract between design and code.</strong></p><p>Think of tokens as the interface definition for your visual language. Just like a well-documented API tells developers what each endpoint does and when to use it, well-documented tokens tell AI what each value means and where it belongs.</p><pre><code><code>// A bad API
GET /data/123  &#8594; What is this? When do I call it?

// A good API  
GET /users/{id}/profile  &#8594; Clear intent, obvious usage</code></code></pre><p>The parallel is exact. Tokens without intent are like <em>undocumented</em> endpoints: technically functional but impossible to use correctly without tribal knowledge.</p><p><strong>&#128680; Tokens are the only layer AI always touches </strong></p><p>When Claude generates code, it might skip your component library entirely and build from scratch. It might ignore your patterns. But it cannot skip tokens (every visual property resolves to a value).</p><p>This makes tokens your guaranteed point of influence. Even if Claude improvises everything else, AI-readable tokens ensure the fundamentals are correct: the right colors for the right states, the right spacing for the right contexts, the right typography for the right hierarchy.</p><p><strong>Start with tokens because they&#8217;re the smallest, fastest fix with the largest impact.</strong></p><p>You can&#8217;t restructure your entire component library overnight. You can&#8217;t document every pattern in a week. But you can add descriptions to your top 20 tokens in an hour.</p><p>That hour of work propagates upward through every component and pattern that uses those tokens. It&#8217;s the highest-leverage investment you can make in AI readability.</p><p></p><h2>What makes tokens AI-readable</h2><p>AI tools process your tokens differently than humans do. A designer browsing your token file understands context from experience. They know <code>red</code> means danger. They know primitives are building blocks, not final values.</p><p>AI has none of that context. It sees names and values. That&#8217;s it.</p><p>When you expose tokens via MCP, Claude accesses them through tool calls. It retrieves your token file and parses the JSON. The structure and descriptions you add are exactly what Claude reads&#8212;nothing more, nothing less.</p><p></p><p><strong>Three things make tokens AI-readable:</strong></p><h3>1. Semantic naming (intent, not appearance)</h3><p><code>blue.5 = color.interactive.primary</code></p><p><code>space-4 = spacing.component.button.padding</code></p><p>The AI-readable version tells Claude <em>what the token is for</em>, not just <em>what it looks like</em>.</p><p></p><h3>2. Descriptions (when to use this token)</h3><pre><code><code>{
  &#8220;color-feedback-error&#8221;: {
    &#8220;value&#8221;: &#8220;#DE3E25&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;description&#8221;: &#8220;Use for error messages, destructive button backgrounds, invalid input borders&#8221;
  }
}</code></code></pre><p>That single <code>description</code> field transforms a color value into actionable guidance. Claude now knows this token belongs on error states, not primary buttons.</p><h3>3. Relationships (which tokens are connected)</h3><pre><code><code>{
  &#8220;color-feedback-error&#8221;: {
    &#8220;value&#8221;: &#8220;#DE3E25&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;description&#8221;: &#8220;Error state background&#8221;,
    &#8220;usage&#8221;: [&#8221;Alert.error&#8221;, &#8220;Button.destructive&#8221;, &#8220;Input.invalidBorder&#8221;],
    &#8220;pairedWith&#8221;: [&#8221;color-feedback-errorText&#8221;, &#8220;color-feedback-errorIcon&#8221;]
  }
}</code></code></pre><p>Now Claude knows that when it uses this error background, it should also look for <code>color.feedback.errorText</code> for the text color.</p><div><hr></div><h2>The before and after</h2><p>Let me show you what this looks like with real tokens.</p><h3>Before: primitive-based structure</h3><p>This is a typical Tokens Studio export:</p><pre><code><code>{
  &#8220;red-1&#8221;: { &#8220;value&#8221;: &#8220;#FAEFEC&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-2&#8221;: { &#8220;value&#8221;: &#8220;#F9E6E2&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-3&#8221;: { &#8220;value&#8221;: &#8220;#F7D5CD&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-4&#8221;: { &#8220;value&#8221;: &#8220;#F6BFB1&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-5&#8221;: { &#8220;value&#8221;: &#8220;#F6A791&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-6&#8221;: { &#8220;value&#8221;: &#8220;#DE3E25&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-7&#8221;: { &#8220;value&#8221;: &#8220;#C42924&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-8&#8221;: { &#8220;value&#8221;: &#8220;#841815&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;space-4&#8221;: {
    &#8220;value&#8221;: &#8220;{space-1} * 4&#8221;,
    &#8220;type&#8221;: &#8220;spacing&#8221;,
    &#8220;description&#8221;: &#8220;20px&#8221;
  }
}</code> </code></pre><p>Hard to know which token to use for error states, right? </p><pre><code><code>{
  &#8220;color-feedback-error&#8221;: {
    &#8220;value&#8221;: &#8220;#DE3E25&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;description&#8221;: &#8220;Error states: alerts, destructive buttons, invalid inputs&#8221;,
    &#8220;a11y&#8221;: &#8220;Meets WCAG AA contrast on white (4.5:1)&#8221;
  },
  &#8220;color-feedback-error&#8221;: {
    &#8220;value&#8221;: &#8220;#FAEFEC&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;description&#8221;: &#8220;Light error backgrounds for inline validation&#8221;
  },
  &#8220;color-feedback-success&#8221;: {
    &#8220;value&#8221;: &#8220;#198053&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;description&#8221;: &#8220;Success states: confirmations, completed actions&#8221;
  },
.... 

and so on ... 
</code></code></pre><p><strong>What Claude now understands:</strong></p><ul><li><p><code>color-feedback-error</code> is for error states</p></li><li><p>It meets accessibility requirements</p></li><li><p><code>color-feedback-error</code> exists for lighter backgrounds</p></li><li><p><code>spacing-component-button-padding</code> is specifically for buttons</p></li><li><p><code>spacing-component-input-padding</code> is for inputs (different value)</p></li></ul><div><hr></div><h2>Want to know if your tokens are AI-readable? Run this test </h2><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;42f3e22c-9b8c-472d-b2e5-16cfa7f26fb3&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;From Figma to Interactive Components in Minutes&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-06-27T12:00:53.709Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!TPRE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07007459-ac44-4ab4-8419-500cdf0b0a83_1260x908.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/from-figma-to-interactive-components&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:166894741,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:49,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><p><strong>Prompt Claude/Cursor (make sure you connect Figma MCP first):</strong></p><blockquote><p>&#8220;Build a form with email validation that shows an error state when the email is invalid. Use my design system tokens.&#8221;</p></blockquote><p><strong>If your tokens are NOT AI-readable, Claude will:</strong></p><ul><li><p>Use primitive colors like <code>red-6</code> or <code>#DE3E25</code> directly</p></li><li><p>Pick arbitrary spacing values</p></li><li><p>Ignore accessibility considerations</p></li></ul><p><strong>If your tokens ARE AI-readable, Claude will:</strong></p><ul><li><p>Use <code>color-feedback-error</code> for the error border</p></li><li><p>Use <code>color-feedback-error</code> for the background</p></li><li><p>Use <code>color-text-error</code> for the message text</p></li><li><p>Apply <code>spacing-component-input-padding</code> correctly</p></li></ul><p>The difference is obvious. And it saves you from playing token police on every AI-generated component.</p><div><hr></div><h2>Quick exercise: add descriptions in 15 minutes</h2><p>You don&#8217;t need to restructure your entire token system today. Start with descriptions.</p><h3>Step 1: identify your top 10 tokens</h3><p>Which tokens appear in the most components? Probably:</p><ol><li><p>Primary button color</p></li><li><p>Error color</p></li><li><p>Text primary color</p></li><li><p>Background color</p></li><li><p>Border color</p></li><li><p>Button padding</p></li><li><p>Input padding</p></li><li><p>Border radius</p></li><li><p>Focus ring color</p></li><li><p>Disabled state color</p></li></ol><h3>Step 2: add descriptions</h3><p>Open your token file. Find each token. Add a <code>description</code> field:</p><pre><code><code>{
  &#8220;blue-5&#8221;: {
    &#8220;value&#8221;: &#8220;#1870C6&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;description&#8221;: &#8220;Primary interactive color. Use for main CTAs, links, and focus states. Meets WCAG AA on white.&#8221;
  }
}
</code></code></pre><h3>Step 3: test with Claude or Cursor</h3><p>Ask your AI tool to build something using your tokens. See if it picks the right ones.</p><p>Wohoo, I hope it works.</p><div><hr></div><h2>The companion file strategy</h2><p>If you can&#8217;t change your token structure, companion files are your best option. They add the context AI needs without touching your existing tokens.</p><p>Create context files that MCP loads alongside your token data.</p><p>Examples:</p><h3>token-usage-guide.md</h3><pre><code><code># Token usage guide

## Color hierarchy

### When to use feedback colors
- `color-feedback-error`: Form validation failures, destructive actions, system errors
- `color-feedback-success`: Completed actions, positive confirmations
- `color-feedback-warning`: Cautions, pending states, non-critical alerts

### When to use interactive colors
- `color-interactive-primary`: Main CTAs, links, focused elements
- `color-interactive-secondary`: Secondary actions, less prominent buttons

## Spacing rules

### Component padding
- Buttons: Always use `spacing-component-button-padding` (20px)
- Inputs: Always use `spacing-component-input-padding` (15px)
- Cards: Always use `spacing-component-card-padding` (24px)

### Never do this
- Don&#8217;t use primitive spacing values directly in components
- Don&#8217;t mix spacing scales (e.g., 8px grid with 5px values)</code></code></pre><h3>component-token-map.md</h3><pre><code><code># Component token mapping

## Button
- Background: `color-interactive-primary`
- Background hover: `color-interactive-primary-hover`
- Text: `color-text-on-primary`
- Padding: `spacing-component-button-padding`
- Border radius: `border-radius-md`

## Button (destructive variant)
- Background: `color-feedback-errorDefault`
- Background hover: `color-feedback-error-hover`
- Text: `color-text-on-error`

and so on ... </code></code></pre><p>When you add these files to your MCP server, Claude reads them alongside your tokens. It has the rules, not just the values.</p><p>This approach works even if your tokens are primitive-only. The companion files provide the semantic layer externally.</p><p></p><h2>Advanced: the token metadata layer</h2><p>For teams ready to go deeper, add a metadata layer that explicitly tells AI how to use your tokens.</p><pre><code><code>{
  &#8220;color-feedback-errorDefault&#8221;: {
    &#8220;value&#8221;: &#8220;#DE3E25&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;meta&#8221;: {
      &#8220;description&#8221;: &#8220;Primary error state color&#8221;,
      &#8220;usage&#8221;: [
        &#8220;destructive button backgrounds&#8221;,
        &#8220;error alert borders&#8221;,
        &#8220;invalid input borders&#8221;,
        &#8220;error icon fills&#8221;
      ],
      &#8220;doNot&#8221;: [
        &#8220;use for warnings (use color-feedback-warning)&#8221;,
        &#8220;use on dark backgrounds without checking contrast&#8221;,
        &#8220;use as text color (use color-text-error instead)&#8221;
      ],
      &#8220;pairedTokens&#8221;: [
        &#8220;color-feedback-errorSubtle (for backgrounds)&#8221;,
        &#8220;color-text-error (for text)&#8221;,
        &#8220;color-feedback-errorHover (for interactive states)&#8221;
      ],
      &#8220;a11y&#8221;: {
        &#8220;contrastOnWhite&#8221;: &#8220;4.52:1&#8221;,
        &#8220;wcagLevel&#8221;: &#8220;AA&#8221;,
        &#8220;notes&#8221;: &#8220;Do not use as text on dark backgrounds&#8221;
      },
      &#8220;components&#8221;: [&#8221;Button&#8221;, &#8220;Alert&#8221;, &#8220;Input&#8221;, &#8220;Toast&#8221;]
    }
  }
}
</code></code></pre><p>Yesss, I know that this is more work upfront. But Claude now has everything it needs:</p><ul><li><p>What this token is for</p></li><li><p>Where to use it</p></li><li><p>Where NOT to use it</p></li><li><p>What other tokens it can combine with</p></li><li><p>Accessibility requirements</p></li><li><p>Which components use it</p></li></ul><p></p><h2>Why this matters beyond AI</h2><p>Making your tokens AI-readable also makes them human-readable. The documentation you add for Claude helps:</p><ul><li><p><strong>New team members</strong> understand your system faster</p></li><li><p><strong>Designers</strong> make consistent choices without asking</p></li><li><p><strong>Developers</strong> pick the right tokens without guessing</p></li><li><p><strong>Audits</strong> catch incorrect token usage automatically</p></li></ul><p>The work you do for AI benefits everyone.</p><p></p><h2>Validating intent at the source</h2><p>The same problem exists upstream. Before tokens reach AI, designers misuse them in Figma. They apply <code>blue.500</code> directly to a button instead of <code>color.interactive.primary</code>. They use error colors on non-error components. </p><p>I was experimenting with different ways to educate teams about design tokens, and I built a Figma plugin called&nbsp;<strong>Token Intent Validator</strong>&nbsp;that catches these issues at the source.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;ab5c1dda-6314-4bef-a0fa-aff7ce3287d5&quot;,&quot;duration&quot;:null}"></div><p><strong>What it catches:</strong></p><p>* Recommends appropriate semantic tokens based on the layer&#8217;s context<br>* Detects when you use raw hex color -&gt; One click &#8220;Apply&#8221; button for the suggested design token<br>* Flags primitive tokens<br>* Identifies intent-property mismatches<br>* Suggests text style tokens<br>* Show confidence level for each suggestion <br>* Connects with AI and gives a chat interface (you can connect any model) <br>* It&#8217;s context-aware<br>* Recommends tokens based on your codebase/Figma library <br>* Analyzes the document&#8217;s structure<br>* You can validate the selection or the whole page</p><p>I still have to improve some parts, but it is already valuable. <br></p><h2>Your path to context-aware design systems</h2><p>AI-readable tokens are the foundation of something bigger: the context-aware design system. &#128522;</p><p>When your tokens include intent, not just values, you unlock:</p><ul><li><p><strong>Intelligent suggestions</strong></p></li><li><p><strong>Automatic consistency</strong></p></li><li><p><strong>Usage analytics</strong></p></li><li><p><strong>Cross-tool validation</strong></p></li></ul><p></p><p>Okay, so your first goal is simple &#8594; start with descriptions. &#8594; test with Claude &#8594; iterate based on what the AI gets wrong.</p><p>Let me know how it goes. &#128579;<br><br>Have a great weekend, <br>Romina</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><p><strong><a href="https://www.linkedin.com/company/bmw-group/">BMW Group</a></strong> invited me for an exclusive iX3 driving experience a few weeks ago. I expected a car launch. I got a masterclass in design. &#128525; After two days with the engineers, designers, and leaders of Neue Klasse, I see why legacy brands still succeed. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KBim!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KBim!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KBim!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KBim!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KBim!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KBim!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3035246,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180788986?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KBim!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KBim!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KBim!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KBim!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8618;&#65039; The iX3 is the first with the new design language<br>You feel the shift immediately.<br>* Large monolithic surfaces<br>* Clean geometry<br>* No unnecessary noise<br><br>The philosophy is simple: <strong>reduce complexity </strong>so character can shine through. <br><br>&#8618;&#65039; A shift from static assets to dynamic elements.<br>Instead of metal accents, BMW is using digital light signatures to define identity.<br>The kidney grille. The four-eyed face. The depth effect.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QaIy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QaIy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QaIy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QaIy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QaIy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QaIy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:483600,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180788986?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!QaIy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QaIy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QaIy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QaIy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><br>&#8618;&#65039; The interior feels like a living room<br>* Panoramic iDrive stretching across the full width<br>* Wrap-around effect that feels calm, not cluttered<br>* Textile on the dashboard with a light effect</p><p><br>&#10024; From a systems perspective, the iX3 is a leap <br>* Personalized dashboards<br>* Haptic buttons<br>* Integrated AI<br>* Panoramic iDrive with AR clarity<br>* Driver Assistance<br>* Superbrain Computing: 20x more power for smarter decisions<br>* Modular OS: scalable, secure, future-proof<br></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Z8G3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z8G3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Z8G3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Z8G3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Z8G3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z8G3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15663570,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180788986?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Z8G3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Z8G3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Z8G3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Z8G3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h6>&#128070; Me trying to be faaaast on the Ascari motor racing circuit </h6><p><br>&#8618;&#65039; Going backstage<br>BMW team is curious and deeply committed. They listened, cared, and shared everything openly.</p><p><br>As someone who works in design every day, that mindset hits home. You can feel it in the product.<br><br>I told my family that life would never be the same. Now, I will always compare everything to this car. <br><br><strong>Design is not a department. Design is a mindset. </strong><br>BMW proves my belief: the best products aren&#8217;t just designed to look good. They feel designed in every aspect.<br><br>I left inspired. Not just by the new BMW iX3. <br>But by the people building it. &#128153;</p><p><a href="https://www.linkedin.com/posts/rominakavcic_design-bmw-designsystem-activity-7402335850744668161-hDWM?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAIm0UIB6YXIAMl4tTZJpr6OKeGfXLHdRoY">PS. You can see the video on my LinkedIn post &#8594; </a></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>&#10024; Documenting Design Systems - Architecture Decisions Record with Claude Desktop from </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Sam I am Designs &#129782; &#127464;&#127462;&quot;,&quot;id&quot;:195428634,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f7007f7-0916-4a1c-949f-097801746afd_2618x2618.jpeg&quot;,&quot;uuid&quot;:&quot;fc41808a-9c83-48d6-acb4-33c2eb899815&quot;}" data-component-name="MentionToDOM"></span></p><div id="youtube2-vyKG6nNixeU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;vyKG6nNixeU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/vyKG6nNixeU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><strong>Gamma AI</strong></p><p>AI tool for making presentations.</p><p><strong>&#128279; <a href="https://gamma.app/">Link</a></strong></p><p></p><p></p>]]></content:encoded></item></channel></rss>