<?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 Product Compass]]></title><description><![CDATA[The #1 AI & PM newsletter. Actionable tips, resources, and step-by-step playbooks to learn by doing. Improve product sense and AI intuition.]]></description><link>https://www.productcompass.pm</link><image><url>https://substackcdn.com/image/fetch/$s_!Isz9!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761d3970-dad7-483b-8fcf-9fada16e0d33_1080x1080.png</url><title>The Product Compass</title><link>https://www.productcompass.pm</link></image><generator>Substack</generator><lastBuildDate>Sat, 12 Sep 2026 16:17:14 GMT</lastBuildDate><atom:link href="https://www.productcompass.pm/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Paweł Huryn]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[huryn@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[huryn@substack.com]]></itunes:email><itunes:name><![CDATA[Paweł Huryn]]></itunes:name></itunes:owner><itunes:author><![CDATA[Paweł Huryn]]></itunes:author><googleplay:owner><![CDATA[huryn@substack.com]]></googleplay:owner><googleplay:email><![CDATA[huryn@substack.com]]></googleplay:email><googleplay:author><![CDATA[Paweł Huryn]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Product Engineering for PMs, Part 2: Build a SaaS App Without Coding]]></title><description><![CDATA[Add a moderator role, then take a real multi-tenant SaaS app to production: GitHub, Supabase, Netlify, custom domain, Clerk, analytics, Google auth. No coding.]]></description><link>https://www.productcompass.pm/p/product-engineering-for-pms-part-2</link><guid isPermaLink="false">https://www.productcompass.pm/p/product-engineering-for-pms-part-2</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Mon, 07 Sep 2026 12:33:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!v5MW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Pawel here. Welcome to the Product Compass Newsletter. It&#8217;s #1 most hands-on AI PM newsletter. I strategize, prototype, experiment, and build with AI <a href="https://github.com/phuryn">every day</a>.</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_!L4h_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf095b6b-55a8-4055-9236-5bad3620269e_1150x524.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L4h_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf095b6b-55a8-4055-9236-5bad3620269e_1150x524.png 424w, https://substackcdn.com/image/fetch/$s_!L4h_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf095b6b-55a8-4055-9236-5bad3620269e_1150x524.png 848w, https://substackcdn.com/image/fetch/$s_!L4h_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf095b6b-55a8-4055-9236-5bad3620269e_1150x524.png 1272w, https://substackcdn.com/image/fetch/$s_!L4h_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf095b6b-55a8-4055-9236-5bad3620269e_1150x524.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L4h_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf095b6b-55a8-4055-9236-5bad3620269e_1150x524.png" width="1150" height="524" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf095b6b-55a8-4055-9236-5bad3620269e_1150x524.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:524,&quot;width&quot;:1150,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74776,&quot;alt&quot;:&quot;GitHub contributions graph, last 12 months: building with AI every day&quot;,&quot;title&quot;:&quot;GitHub contributions graph, last 12 months: building with AI every day&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf095b6b-55a8-4055-9236-5bad3620269e_1150x524.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="GitHub contributions graph, last 12 months: building with AI every day" title="GitHub contributions graph, last 12 months: building with AI every day" srcset="https://substackcdn.com/image/fetch/$s_!L4h_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf095b6b-55a8-4055-9236-5bad3620269e_1150x524.png 424w, https://substackcdn.com/image/fetch/$s_!L4h_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf095b6b-55a8-4055-9236-5bad3620269e_1150x524.png 848w, https://substackcdn.com/image/fetch/$s_!L4h_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf095b6b-55a8-4055-9236-5bad3620269e_1150x524.png 1272w, https://substackcdn.com/image/fetch/$s_!L4h_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf095b6b-55a8-4055-9236-5bad3620269e_1150x524.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><em>And every week I share actionable tips, templates, and step-by-step guides for PMs.</em></p><p><em>Here&#8217;s what you might have missed:</em></p><ol><li><p><em><a href="https://www.productcompass.pm/p/ai-prototyping-lovable-ai-studio-claude">AI Prototyping in 2026: The PM Field Guide</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/ai-product-manager-roadmap-2026">The Ultimate AI PM Learning Roadmap 2026</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/product-discovery-2026">What Is Product Discovery? The Ultimate Guide for PMs (2026 Edition)</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/how-to-create-an-ai-product-strategy">How to Create an AI Product Strategy: The AI Strategic Lens Framework</a></em></p></li></ol><p><em>Plus, 20+ recordings available for our premium members here: <a href="https://go.productcompass.pm/events">https://go.productcompass.pm/events</a></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_!ZAUc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a962824-a60b-44d6-bbb8-e548f3834f5e_2436x1152.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZAUc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a962824-a60b-44d6-bbb8-e548f3834f5e_2436x1152.png 424w, https://substackcdn.com/image/fetch/$s_!ZAUc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a962824-a60b-44d6-bbb8-e548f3834f5e_2436x1152.png 848w, https://substackcdn.com/image/fetch/$s_!ZAUc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a962824-a60b-44d6-bbb8-e548f3834f5e_2436x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!ZAUc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a962824-a60b-44d6-bbb8-e548f3834f5e_2436x1152.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZAUc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a962824-a60b-44d6-bbb8-e548f3834f5e_2436x1152.png" width="1456" height="689" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a962824-a60b-44d6-bbb8-e548f3834f5e_2436x1152.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;:656214,&quot;alt&quot;:&quot;Live session recordings for premium members&quot;,&quot;title&quot;:&quot;Live session recordings for premium members&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a962824-a60b-44d6-bbb8-e548f3834f5e_2436x1152.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Live session recordings for premium members" title="Live session recordings for premium members" srcset="https://substackcdn.com/image/fetch/$s_!ZAUc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a962824-a60b-44d6-bbb8-e548f3834f5e_2436x1152.png 424w, https://substackcdn.com/image/fetch/$s_!ZAUc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a962824-a60b-44d6-bbb8-e548f3834f5e_2436x1152.png 848w, https://substackcdn.com/image/fetch/$s_!ZAUc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a962824-a60b-44d6-bbb8-e548f3834f5e_2436x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!ZAUc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a962824-a60b-44d6-bbb8-e548f3834f5e_2436x1152.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><em>Consider subscribing and updating your account for the full experience.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>Today, we continue Product Engineering for PMs inspired by the Gartner report:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EFin!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EFin!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 424w, https://substackcdn.com/image/fetch/$s_!EFin!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 848w, https://substackcdn.com/image/fetch/$s_!EFin!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 1272w, https://substackcdn.com/image/fetch/$s_!EFin!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EFin!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png" width="1200" height="678" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:678,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Gartner roles merging and collapsing, product engineers&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="Gartner roles merging and collapsing, product engineers" title="Gartner roles merging and collapsing, product engineers" srcset="https://substackcdn.com/image/fetch/$s_!EFin!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 424w, https://substackcdn.com/image/fetch/$s_!EFin!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 848w, https://substackcdn.com/image/fetch/$s_!EFin!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 1272w, https://substackcdn.com/image/fetch/$s_!EFin!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.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"><span>Source: </span><a href="https://x.com/housecor">@housecor</a></figcaption></figure></div><p>The roles are coming closer together. </p><p>My take: you don&#8217;t have to code, but as a PM you have a much stronger profile if you develop an understanding of engineering with AI.</p><p>In <a href="https://www.productcompass.pm/p/product-engineering-for-pms">Part 1</a>, we started building AskOne, an alternative to Slido (Q&amp;A and polling platform). We implemented rooms, anonymous questions, Google authentication, Supabase storage, subscription plans, and a test payment gateway:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fp-7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f53824-cb05-4991-8793-2a3861bcbccd_2772x1620.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fp-7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f53824-cb05-4991-8793-2a3861bcbccd_2772x1620.png 424w, https://substackcdn.com/image/fetch/$s_!fp-7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f53824-cb05-4991-8793-2a3861bcbccd_2772x1620.png 848w, https://substackcdn.com/image/fetch/$s_!fp-7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f53824-cb05-4991-8793-2a3861bcbccd_2772x1620.png 1272w, https://substackcdn.com/image/fetch/$s_!fp-7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f53824-cb05-4991-8793-2a3861bcbccd_2772x1620.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fp-7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f53824-cb05-4991-8793-2a3861bcbccd_2772x1620.png" width="1456" height="851" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1f53824-cb05-4991-8793-2a3861bcbccd_2772x1620.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:851,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:356982,&quot;alt&quot;:&quot;AskOne landing page&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f53824-cb05-4991-8793-2a3861bcbccd_2772x1620.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AskOne landing page" title="AskOne landing page" srcset="https://substackcdn.com/image/fetch/$s_!fp-7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f53824-cb05-4991-8793-2a3861bcbccd_2772x1620.png 424w, https://substackcdn.com/image/fetch/$s_!fp-7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f53824-cb05-4991-8793-2a3861bcbccd_2772x1620.png 848w, https://substackcdn.com/image/fetch/$s_!fp-7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f53824-cb05-4991-8793-2a3861bcbccd_2772x1620.png 1272w, https://substackcdn.com/image/fetch/$s_!fp-7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f53824-cb05-4991-8793-2a3861bcbccd_2772x1620.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">AskOne landing page</figcaption></figure></div><p>By popular request, I <strong>removed the paywall</strong> from that part. All detailed steps are available for everyone (the solution template is available for premium members):</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bc22cb21-01e4-42bb-8c23-e5e3fdd2c2ca&quot;,&quot;caption&quot;:&quot;Take a look at this leaked Gartner report:&quot;,&quot;cta&quot;:null,&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;Product Engineering for PMs, Part 1: Build a SaaS App Without Coding&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:86533280,&quot;name&quot;:&quot;Pawe&#322; Huryn&quot;,&quot;bio&quot;:&quot;AI &amp; PM. Author, The Product Compass. Deep research. I build, test, then teach. 5 years as a CPO, 10+ years as a PM, 15+ years in tech.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fcfcfec-32a1-4970-aee1-8a1ab05a76c0_750x750.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000}],&quot;post_date&quot;:&quot;2026-08-31T15:35:45.972Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!EFin!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.productcompass.pm/p/product-engineering-for-pms&quot;,&quot;section_name&quot;:&quot;AI Product Management&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:213103699,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:51,&quot;comment_count&quot;:0,&quot;publication_id&quot;:943157,&quot;publication_name&quot;:&quot;The Product Compass&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Isz9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761d3970-dad7-483b-8fcf-9fada16e0d33_1080x1080.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Today, we discuss:</p><ol><li><p>A Lightweight AI Software Lifecycle</p></li><li><p>AskOne: Let&#8217;s Add a Moderator Role</p></li><li><p>Create a Production GitHub Branch</p></li><li><p>Create a Production Supabase Project</p></li><li><p>Create a Production Netlify Site</p></li><li><p>Plug a Custom DNS Domain</p></li><li><p>Create a Production Clerk Instance</p></li><li><p>Add Product Analytics</p></li><li><p>Add Google Auth (For Real)</p></li><li><p>Conclusion</p></li><li><p>&#128274; Live Session Recording, Part 2</p></li></ol><div><hr></div><p><em>Before we dive in, would you like me to cover the most important AI news each week? </em></p><p><em>We&#8217;ve got <a href="https://x.com/claudeai/status/2094848572143407483?s=20">Fable 5.1 (Sep 1)</a> and <a href="https://x.com/OpenAI/status/2095595741528125780?s=20">GPT-6 Astra (Sep 3)</a>. I also shared my new Bug Hunt Bench (<a href="https://bughunt.productcompass.pm/">official website</a>), that&#8217;s becoming a standard the AI community on X was waiting for:</em></p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/PawelHuryn/status/2095982259761475945?s=20&quot;,&quot;full_text&quot;:&quot;So, I finally tested GPT-6 Astra.\n\n2 real repos, 105 bugs, find and fix what you can. Max effort:\n\nGPT-6 Astra: 48/105 \nFable 5.1: 43/105\nGPT-5.6 Sol: 42/105\nGemini 3.8 Flash: 20/105\n\nAnd it's crazy efficient. Look at the time and cost &#129525; &quot;,&quot;username&quot;:&quot;PawelHuryn&quot;,&quot;name&quot;:&quot;Pawe&#322; Huryn&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2049244285313359872/geQuKlQP_normal.jpg&quot;,&quot;date&quot;:&quot;2026-09-04T21:08:06.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/HRZswQvbUAAxpZ3.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/jxVj2xBWzc&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:207,&quot;retweet_count&quot;:164,&quot;like_count&quot;:2429,&quot;impression_count&quot;:357587,&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><em>And today, I published a new AI Slop Bench:</em></p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/PawelHuryn/status/2096885584153186390?1&quot;,&quot;full_text&quot;:&quot;So I tested 12 AI models to see which one writes the most AI slop.\n\nSame 3 writing tasks, 3 tries each, no system prompt from me. Then I put every text next to a text from another model, blind, and 4 AI judges picked the one that reads more like AI.\n\nHow often each model got &#8230;&quot;,&quot;username&quot;:&quot;PawelHuryn&quot;,&quot;name&quot;:&quot;Pawe&#322; Huryn&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2049244285313359872/geQuKlQP_normal.jpg&quot;,&quot;date&quot;:&quot;2026-09-07T08:57:36.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/HRmiUlqW4AYSITa.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/RG7itD0jQP&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:3,&quot;retweet_count&quot;:0,&quot;like_count&quot;:9,&quot;impression_count&quot;:748,&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><em>I don&#8217;t feel like sending you a dedicated email every 1-2 days. So what do you want me to do? The first option below is a dedicated publication you can subscribe to/unsubscribe from:</em></p><div class="poll-embed" data-attrs="{&quot;id&quot;:1162706}" data-component-name="PollToDOM"></div><div><hr></div><h2><strong>1. A Lightweight AI Software Lifecycle</strong></h2><p>I realized I&#8217;ve been simplifying the software development lifecycle with AI. Some of the prompts in the template were not the first prompts I wrote. Instead, I brainstormed with AI, and turned my brainstorming into something I can share with you.</p><p>How can you implement that, too?</p><p>First, <strong>I do not recommend</strong> heavy software development processes with unnecessary ceremonies and artifacts such as <a href="https://claude.com/blog/the-ai-native-sdlc-playbook">The AI-Native SDLC playbook</a> by Anthropic. Those processes are meant for enterprises that cannot be more agile. </p><p>Paradoxically, even Anthropic doesn&#8217;t work this way! Their planning shifted <strong>away from design docs</strong> toward PR discussions and prototypes. They don&#8217;t do much product review. Instead they <strong>prototype, share what they build</strong> in front of internal users, and act on feedback. Individual pods are explicitly allowed to choose their own planning rituals. See <a href="https://claude.com/blog/running-an-ai-native-engineering-org"><span>Running</span> <span>an</span> <span>AI-native</span> <span>engineering</span> <span>org</span></a><span> by the same Anthropic.</span></p><p>Which brings us to how I recommend you work in a team:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v5MW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v5MW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.png 424w, https://substackcdn.com/image/fetch/$s_!v5MW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.png 848w, https://substackcdn.com/image/fetch/$s_!v5MW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.png 1272w, https://substackcdn.com/image/fetch/$s_!v5MW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v5MW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.png" width="1456" height="799" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.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;:5993464,&quot;alt&quot;:&quot;A Lightweight AI Software Lifecycle&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A Lightweight AI Software Lifecycle" title="A Lightweight AI Software Lifecycle" srcset="https://substackcdn.com/image/fetch/$s_!v5MW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.png 424w, https://substackcdn.com/image/fetch/$s_!v5MW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.png 848w, https://substackcdn.com/image/fetch/$s_!v5MW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.png 1272w, https://substackcdn.com/image/fetch/$s_!v5MW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82f51f4c-b13f-4a05-97c5-12d746c33c73_3200x1756.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>Step 1: Idea</h3><p>Discover / discuss / research / prototype with Claude. Ask Claude: &#8220;ask me questions&#8221; or &#8220;present me 2-3 different directions with pros and cons.&#8221;</p><p><strong>Outcome:</strong> An interactive prototype</p><h3>Step 2: Refined idea</h3><p>Problem/jobs to be done, users, desired behavior, important scenarios, constraints, UX decisions vs. design system. Here, your agent may decide to run spikes (probes) to confirm what&#8217;s technically possible. Let it do it.</p><p><strong>Can be skipped for:</strong> Small changes<br><strong>Outcome:</strong> A markdown file (.md)</p><h3>Step 3: Plan</h3><p>This is where the agent will inspect the codebase and create a specific implementation plan. It knows what to document, don&#8217;t tell it (architecture, files to change, implementation sequence, tests, risks).</p><p>You can use the plan mode for that, though models like Opus 5, Fable 5.1, or GPT-6 Astra don&#8217;t really need that and can jump from a refined idea to implementation. </p><p><strong>Can be skipped for:</strong> Small or medium changes<br><strong>Outcome:</strong> A markdown file (often plan.md)</p><h3>Step 4: Build</h3><p>AI will build the feature/product and run its unit tests. Still, even with browser automation it can&#8217;t reliably assess dynamic mechanisms (e.g., what&#8217;s visible before the page fully loads) or micro interactions.</p><p>Walk through the main scenarios and <strong>verify them with your eyes</strong>. </p><div class="callout-block" data-callout="true"><p>&#128204; The prompts I share contain refined ideas (Step 2), not always my first messages. For example, for moderators, I have one prompt in the template (Section 2). It came out of a discussion with Claude.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>2. AskOne: Let&#8217;s Add a Moderator Role</strong></h2><p>In Part 1, I enabled billing for users, because I didn&#8217;t want to combine users and organizations. With users, it&#8217;s simpler.</p><p>But you cannot add more users to a user &#128517; You can add more users to an organization. If we want moderators, we need <strong>organizations</strong>. I should have predicted that.</p><p>So, right now, we will only have billing for organizations. Here&#8217;s how to do that:</p><h3>Step 2.1: Switch to organization billing</h3><p>Go to <a href="https://dashboard.clerk.com/">Clerk Dashboard</a> &gt; Configure &gt; Billing. It is impossible to disable user billing if you have active subscriptions. I had to find my user (Users &gt; my user &gt; Subscriptions) and cancel the subscription. Only then was I able to disable user billing and, instead, enable billing for organizations:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Afb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b12ca4-b3ec-45da-b8ea-58263408eb0b_2464x1479.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Afb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b12ca4-b3ec-45da-b8ea-58263408eb0b_2464x1479.png 424w, https://substackcdn.com/image/fetch/$s_!4Afb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b12ca4-b3ec-45da-b8ea-58263408eb0b_2464x1479.png 848w, https://substackcdn.com/image/fetch/$s_!4Afb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b12ca4-b3ec-45da-b8ea-58263408eb0b_2464x1479.png 1272w, https://substackcdn.com/image/fetch/$s_!4Afb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b12ca4-b3ec-45da-b8ea-58263408eb0b_2464x1479.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Afb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b12ca4-b3ec-45da-b8ea-58263408eb0b_2464x1479.png" width="1456" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0b12ca4-b3ec-45da-b8ea-58263408eb0b_2464x1479.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:244877,&quot;alt&quot;:&quot;Clerk > Configure > Billing, organization billing enabled&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b12ca4-b3ec-45da-b8ea-58263408eb0b_2464x1479.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Clerk > Configure > Billing, organization billing enabled" title="Clerk > Configure > Billing, organization billing enabled" srcset="https://substackcdn.com/image/fetch/$s_!4Afb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b12ca4-b3ec-45da-b8ea-58263408eb0b_2464x1479.png 424w, https://substackcdn.com/image/fetch/$s_!4Afb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b12ca4-b3ec-45da-b8ea-58263408eb0b_2464x1479.png 848w, https://substackcdn.com/image/fetch/$s_!4Afb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b12ca4-b3ec-45da-b8ea-58263408eb0b_2464x1479.png 1272w, https://substackcdn.com/image/fetch/$s_!4Afb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0b12ca4-b3ec-45da-b8ea-58263408eb0b_2464x1479.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">Clerk &gt; Configure &gt; Billing, organization billing enabled</figcaption></figure></div><h3>Step 2.2: Define organization plans</h3><p>Next, go to Configure &gt; Billing &gt; Organization Plans. The Free plan is created automatically. I edited it and added the features that already existed: 1 active room and up to 100 participants per room.</p><p>Then I clicked &#8220;Create Plan&#8221; and defined Premium: up to 10 active rooms and up to 1,000 participants per room, with monthly and annual billing:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tkKl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92024cf1-a8b6-4222-82af-4a14d464a414_2458x1476.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tkKl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92024cf1-a8b6-4222-82af-4a14d464a414_2458x1476.png 424w, https://substackcdn.com/image/fetch/$s_!tkKl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92024cf1-a8b6-4222-82af-4a14d464a414_2458x1476.png 848w, https://substackcdn.com/image/fetch/$s_!tkKl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92024cf1-a8b6-4222-82af-4a14d464a414_2458x1476.png 1272w, https://substackcdn.com/image/fetch/$s_!tkKl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92024cf1-a8b6-4222-82af-4a14d464a414_2458x1476.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tkKl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92024cf1-a8b6-4222-82af-4a14d464a414_2458x1476.png" width="1456" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92024cf1-a8b6-4222-82af-4a14d464a414_2458x1476.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:210067,&quot;alt&quot;:&quot;Clerk organization plans: Free and Premium&quot;,&quot;title&quot;:&quot;Clerk organization plans: Free and Premium&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92024cf1-a8b6-4222-82af-4a14d464a414_2458x1476.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Clerk organization plans: Free and Premium" title="Clerk organization plans: Free and Premium" srcset="https://substackcdn.com/image/fetch/$s_!tkKl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92024cf1-a8b6-4222-82af-4a14d464a414_2458x1476.png 424w, https://substackcdn.com/image/fetch/$s_!tkKl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92024cf1-a8b6-4222-82af-4a14d464a414_2458x1476.png 848w, https://substackcdn.com/image/fetch/$s_!tkKl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92024cf1-a8b6-4222-82af-4a14d464a414_2458x1476.png 1272w, https://substackcdn.com/image/fetch/$s_!tkKl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92024cf1-a8b6-4222-82af-4a14d464a414_2458x1476.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"><em>Clerk organization plans: Free and Premium</em></figcaption></figure></div><p>An important configuration element is the feature <strong>key</strong>. After adding a feature, I edited its key: <code>rooms_10</code> and <code>participants_1000</code>. This is important later in the prompt:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J9bD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6e0cb1-5995-4d99-8d43-be636c1108d9_2456x1675.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J9bD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6e0cb1-5995-4d99-8d43-be636c1108d9_2456x1675.png 424w, https://substackcdn.com/image/fetch/$s_!J9bD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6e0cb1-5995-4d99-8d43-be636c1108d9_2456x1675.png 848w, https://substackcdn.com/image/fetch/$s_!J9bD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6e0cb1-5995-4d99-8d43-be636c1108d9_2456x1675.png 1272w, https://substackcdn.com/image/fetch/$s_!J9bD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6e0cb1-5995-4d99-8d43-be636c1108d9_2456x1675.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J9bD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6e0cb1-5995-4d99-8d43-be636c1108d9_2456x1675.png" width="1456" height="993" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b6e0cb1-5995-4d99-8d43-be636c1108d9_2456x1675.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:993,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:265708,&quot;alt&quot;:&quot;Editing a feature key in Clerk&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6e0cb1-5995-4d99-8d43-be636c1108d9_2456x1675.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Editing a feature key in Clerk" title="Editing a feature key in Clerk" srcset="https://substackcdn.com/image/fetch/$s_!J9bD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6e0cb1-5995-4d99-8d43-be636c1108d9_2456x1675.png 424w, https://substackcdn.com/image/fetch/$s_!J9bD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6e0cb1-5995-4d99-8d43-be636c1108d9_2456x1675.png 848w, https://substackcdn.com/image/fetch/$s_!J9bD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6e0cb1-5995-4d99-8d43-be636c1108d9_2456x1675.png 1272w, https://substackcdn.com/image/fetch/$s_!J9bD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6e0cb1-5995-4d99-8d43-be636c1108d9_2456x1675.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"><em>Editing a feature key in Clerk</em></figcaption></figure></div><p>Rather than hard-coding subscription plans in the app, we defined features that gate capabilities. Now, we can create a new plan anytime and choose, for example, up to 10 active rooms, but without 1,000 participants per room:</p><ul><li><p>What you can do in an organization depends on its plan features</p></li><li><p>What specific users in that organization can do depends on their role</p></li></ul><h3>Step 2.3: Rename Member to Moderator</h3><p>Go to Configure &gt; Organizations &gt; Roles &amp; Permissions. By default, you have two roles: Admin and Member. I opened Member, renamed it to Moderator, and changed the key to <code>org:moderator</code>. I didn&#8217;t change its permissions:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZcLx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd0ddd6-bdad-4da8-bc7a-0b21a6c6b6cd_2440x1596.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZcLx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd0ddd6-bdad-4da8-bc7a-0b21a6c6b6cd_2440x1596.png 424w, https://substackcdn.com/image/fetch/$s_!ZcLx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd0ddd6-bdad-4da8-bc7a-0b21a6c6b6cd_2440x1596.png 848w, https://substackcdn.com/image/fetch/$s_!ZcLx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd0ddd6-bdad-4da8-bc7a-0b21a6c6b6cd_2440x1596.png 1272w, https://substackcdn.com/image/fetch/$s_!ZcLx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd0ddd6-bdad-4da8-bc7a-0b21a6c6b6cd_2440x1596.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZcLx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd0ddd6-bdad-4da8-bc7a-0b21a6c6b6cd_2440x1596.png" width="1456" height="952" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cdd0ddd6-bdad-4da8-bc7a-0b21a6c6b6cd_2440x1596.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:952,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:265673,&quot;alt&quot;:&quot;Clerk roles, Member renamed to Moderator with the key org:moderator&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd0ddd6-bdad-4da8-bc7a-0b21a6c6b6cd_2440x1596.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Clerk roles, Member renamed to Moderator with the key org:moderator" title="Clerk roles, Member renamed to Moderator with the key org:moderator" srcset="https://substackcdn.com/image/fetch/$s_!ZcLx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd0ddd6-bdad-4da8-bc7a-0b21a6c6b6cd_2440x1596.png 424w, https://substackcdn.com/image/fetch/$s_!ZcLx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd0ddd6-bdad-4da8-bc7a-0b21a6c6b6cd_2440x1596.png 848w, https://substackcdn.com/image/fetch/$s_!ZcLx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd0ddd6-bdad-4da8-bc7a-0b21a6c6b6cd_2440x1596.png 1272w, https://substackcdn.com/image/fetch/$s_!ZcLx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd0ddd6-bdad-4da8-bc7a-0b21a6c6b6cd_2440x1596.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"><em>Clerk roles, Member renamed to Moderator with the key org:moderator</em></figcaption></figure></div><div class="callout-block" data-callout="true"><p>&#128204; After enabling those plans, we don&#8217;t have to change anything in the app. Again, there is no prompt. The app is integrated with Clerk. I tested it on the Free plan: I had two open rooms, and the button to open a new one got disabled.</p></div><h3>Step 2.4: Ask the agent</h3><p>The prompt is in the template: <code>prompts/007-organizations-moderation-and-billing.md</code>. Replace the company details with yours and paste it into Claude Code (or Codex, see Section 3).</p><p>In the prompt, I explained that there is a role, <code>org:moderator</code>, that can view open and archived rooms only in its organization. If you are an admin, you can do everything in this organization. I also explained the plans, and that we do not rely on plan names, but on those two features.</p><p>Just to make this prompt comprehensive, I also asked it to build a landing page:</p><ul><li><p>research competitors (without naming them)</p></li><li><p>show Clerk&#8217;s pricing table</p></li><li><p>suggest legal documents</p></li><li><p>add public metadata (so that when you share the website, it is visible with a preview)</p></li><li><p>mention Microsoft Clarity without cookies in the policies (more in Section 8)</p></li><li><p>update all the documentation</p></li></ul><div class="callout-block" data-callout="true"><p>&#128204; Claude asked me: what if there is a single user and there is no moderator? We decided that by default, rooms should be moderated, but there is a special flag you can disable in the interface. That&#8217;s the discussion from Section 1. The prompt is its outcome.</p></div><p>You will get a moderated room. When opening a room, there is a special checkbox: whether the room should be moderated:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-gIs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec2de9f-fb3c-4327-b968-4c1543016785_2473x1388.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-gIs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec2de9f-fb3c-4327-b968-4c1543016785_2473x1388.png 424w, https://substackcdn.com/image/fetch/$s_!-gIs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec2de9f-fb3c-4327-b968-4c1543016785_2473x1388.png 848w, https://substackcdn.com/image/fetch/$s_!-gIs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec2de9f-fb3c-4327-b968-4c1543016785_2473x1388.png 1272w, https://substackcdn.com/image/fetch/$s_!-gIs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec2de9f-fb3c-4327-b968-4c1543016785_2473x1388.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-gIs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec2de9f-fb3c-4327-b968-4c1543016785_2473x1388.png" width="1456" height="817" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dec2de9f-fb3c-4327-b968-4c1543016785_2473x1388.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:817,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:178161,&quot;alt&quot;:&quot;Open a room with &#8220;Hold questions for a moderator&#8221; ticked&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec2de9f-fb3c-4327-b968-4c1543016785_2473x1388.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Open a room with &#8220;Hold questions for a moderator&#8221; ticked" title="Open a room with &#8220;Hold questions for a moderator&#8221; ticked" srcset="https://substackcdn.com/image/fetch/$s_!-gIs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec2de9f-fb3c-4327-b968-4c1543016785_2473x1388.png 424w, https://substackcdn.com/image/fetch/$s_!-gIs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec2de9f-fb3c-4327-b968-4c1543016785_2473x1388.png 848w, https://substackcdn.com/image/fetch/$s_!-gIs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec2de9f-fb3c-4327-b968-4c1543016785_2473x1388.png 1272w, https://substackcdn.com/image/fetch/$s_!-gIs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec2de9f-fb3c-4327-b968-4c1543016785_2473x1388.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"><em>Open a room with &#8220;Hold questions for a moderator&#8221; ticked</em></figcaption></figure></div><p>If a participant asks a question, it is waiting for the host. As a host, I see all those questions, and I can approve, reject, or ban the user. Even though the user is anonymous, they will be blocked by the cookie. If they have disabled cookies, they cannot ask questions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_inn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8e861b-ef69-43c3-9b93-6040a40e8384_2473x1051.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_inn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8e861b-ef69-43c3-9b93-6040a40e8384_2473x1051.png 424w, https://substackcdn.com/image/fetch/$s_!_inn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8e861b-ef69-43c3-9b93-6040a40e8384_2473x1051.png 848w, https://substackcdn.com/image/fetch/$s_!_inn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8e861b-ef69-43c3-9b93-6040a40e8384_2473x1051.png 1272w, https://substackcdn.com/image/fetch/$s_!_inn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8e861b-ef69-43c3-9b93-6040a40e8384_2473x1051.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_inn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8e861b-ef69-43c3-9b93-6040a40e8384_2473x1051.png" width="1456" height="619" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d8e861b-ef69-43c3-9b93-6040a40e8384_2473x1051.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:619,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:119687,&quot;alt&quot;:&quot;Moderator&#8217;s view with pending questions and approve / reject / ban&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8e861b-ef69-43c3-9b93-6040a40e8384_2473x1051.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Moderator&#8217;s view with pending questions and approve / reject / ban" title="Moderator&#8217;s view with pending questions and approve / reject / ban" srcset="https://substackcdn.com/image/fetch/$s_!_inn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8e861b-ef69-43c3-9b93-6040a40e8384_2473x1051.png 424w, https://substackcdn.com/image/fetch/$s_!_inn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8e861b-ef69-43c3-9b93-6040a40e8384_2473x1051.png 848w, https://substackcdn.com/image/fetch/$s_!_inn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8e861b-ef69-43c3-9b93-6040a40e8384_2473x1051.png 1272w, https://substackcdn.com/image/fetch/$s_!_inn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8e861b-ef69-43c3-9b93-6040a40e8384_2473x1051.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">Moderator&#8217;s view with pending questions and approve / reject / ban</figcaption></figure></div><p>After the moderator approves, the question becomes visible for everyone. We can open the projector view - this is what the host would present on the screen:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PX3B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0e8d6e7-86b1-429c-a0cc-954c494b55d0_2473x1031.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PX3B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0e8d6e7-86b1-429c-a0cc-954c494b55d0_2473x1031.png 424w, https://substackcdn.com/image/fetch/$s_!PX3B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0e8d6e7-86b1-429c-a0cc-954c494b55d0_2473x1031.png 848w, https://substackcdn.com/image/fetch/$s_!PX3B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0e8d6e7-86b1-429c-a0cc-954c494b55d0_2473x1031.png 1272w, https://substackcdn.com/image/fetch/$s_!PX3B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0e8d6e7-86b1-429c-a0cc-954c494b55d0_2473x1031.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PX3B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0e8d6e7-86b1-429c-a0cc-954c494b55d0_2473x1031.png" width="1456" height="607" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0e8d6e7-86b1-429c-a0cc-954c494b55d0_2473x1031.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:607,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:184978,&quot;alt&quot;:&quot;Projector view&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0e8d6e7-86b1-429c-a0cc-954c494b55d0_2473x1031.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Projector view" title="Projector view" srcset="https://substackcdn.com/image/fetch/$s_!PX3B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0e8d6e7-86b1-429c-a0cc-954c494b55d0_2473x1031.png 424w, https://substackcdn.com/image/fetch/$s_!PX3B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0e8d6e7-86b1-429c-a0cc-954c494b55d0_2473x1031.png 848w, https://substackcdn.com/image/fetch/$s_!PX3B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0e8d6e7-86b1-429c-a0cc-954c494b55d0_2473x1031.png 1272w, https://substackcdn.com/image/fetch/$s_!PX3B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0e8d6e7-86b1-429c-a0cc-954c494b55d0_2473x1031.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"><em>Projector view</em></figcaption></figure></div><p>On the landing page, people who are not signed up see basic information about the product: the value proposition, how it is different, and the legal documents:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ghA_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecc43a4-a5c1-4898-9667-43dfca06e89b_2475x1630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ghA_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecc43a4-a5c1-4898-9667-43dfca06e89b_2475x1630.png 424w, https://substackcdn.com/image/fetch/$s_!ghA_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecc43a4-a5c1-4898-9667-43dfca06e89b_2475x1630.png 848w, https://substackcdn.com/image/fetch/$s_!ghA_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecc43a4-a5c1-4898-9667-43dfca06e89b_2475x1630.png 1272w, https://substackcdn.com/image/fetch/$s_!ghA_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecc43a4-a5c1-4898-9667-43dfca06e89b_2475x1630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ghA_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecc43a4-a5c1-4898-9667-43dfca06e89b_2475x1630.png" width="1456" height="959" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ecc43a4-a5c1-4898-9667-43dfca06e89b_2475x1630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:959,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:287810,&quot;alt&quot;:&quot;Landing page - basic information about the product&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecc43a4-a5c1-4898-9667-43dfca06e89b_2475x1630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Landing page - basic information about the product" title="Landing page - basic information about the product" srcset="https://substackcdn.com/image/fetch/$s_!ghA_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecc43a4-a5c1-4898-9667-43dfca06e89b_2475x1630.png 424w, https://substackcdn.com/image/fetch/$s_!ghA_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecc43a4-a5c1-4898-9667-43dfca06e89b_2475x1630.png 848w, https://substackcdn.com/image/fetch/$s_!ghA_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecc43a4-a5c1-4898-9667-43dfca06e89b_2475x1630.png 1272w, https://substackcdn.com/image/fetch/$s_!ghA_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecc43a4-a5c1-4898-9667-43dfca06e89b_2475x1630.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"><a href="https://askone.org/">Landing page</a> - basic information about the product</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>3. Create a Production GitHub Branch</strong></h2><p>So far, every change we push to GitHub appears on Netlify immediately. For a production environment, we need a separate branch. Ask the agent:</p><pre><code><code>Create a production branch from origin/askone. Call it askone-prod. Ignore my local modifications, they are work in progress.</code></code></pre><p>&#8220;Origin&#8221; means what is right now on GitHub, not my local modifications. LLMs understand it.</p><div class="callout-block" data-callout="true"><p>&#128204; Normally, you keep <code>main</code> as your development environment and create a separate branch for production. Mine is the starter template I shared with you, so that&#8217;s why I have two extra branches: <code>askone</code> (dev) and <code>askone-prod</code> (production).</p></div><p>People asked me on Slack how to use other coding agents. The solution template I shared in the previous and the current article is ready for it. </p><p>I ran this step with Codex. All the agents, whether it is Grok, Codex, or Claude Code, read AGENTS.md and the Clerk and Supabase skills. The only thing I had to fix was authenticating the Supabase MCP server, because Codex needed a separate one. It helped me do it. Other than that, out of the box, Codex works:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jnX_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e40eb9f-3e43-4c92-ba6a-8eb5519b7fe3_1253x1083.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jnX_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e40eb9f-3e43-4c92-ba6a-8eb5519b7fe3_1253x1083.png 424w, https://substackcdn.com/image/fetch/$s_!jnX_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e40eb9f-3e43-4c92-ba6a-8eb5519b7fe3_1253x1083.png 848w, https://substackcdn.com/image/fetch/$s_!jnX_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e40eb9f-3e43-4c92-ba6a-8eb5519b7fe3_1253x1083.png 1272w, https://substackcdn.com/image/fetch/$s_!jnX_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e40eb9f-3e43-4c92-ba6a-8eb5519b7fe3_1253x1083.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jnX_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e40eb9f-3e43-4c92-ba6a-8eb5519b7fe3_1253x1083.png" width="1253" height="1083" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e40eb9f-3e43-4c92-ba6a-8eb5519b7fe3_1253x1083.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1083,&quot;width&quot;:1253,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154989,&quot;alt&quot;:&quot;Codex creating askone-prod GitHub branch&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e40eb9f-3e43-4c92-ba6a-8eb5519b7fe3_1253x1083.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Codex creating askone-prod GitHub branch" title="Codex creating askone-prod GitHub branch" srcset="https://substackcdn.com/image/fetch/$s_!jnX_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e40eb9f-3e43-4c92-ba6a-8eb5519b7fe3_1253x1083.png 424w, https://substackcdn.com/image/fetch/$s_!jnX_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e40eb9f-3e43-4c92-ba6a-8eb5519b7fe3_1253x1083.png 848w, https://substackcdn.com/image/fetch/$s_!jnX_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e40eb9f-3e43-4c92-ba6a-8eb5519b7fe3_1253x1083.png 1272w, https://substackcdn.com/image/fetch/$s_!jnX_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e40eb9f-3e43-4c92-ba6a-8eb5519b7fe3_1253x1083.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"><em>Codex creating a new GitHub branch</em></figcaption></figure></div><p>You can learn more about GitHub branches here: <a href="https://bytebytego.com/guides/how-does-git-work/">How Git Works by ByteByteGo</a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>4. Create a Production Supabase Project</strong></h2><p>Just like on GitHub, we can have multiple variants of the database. Supabase calls them branches. But this requires a paid subscription, and you can&#8217;t create a branch and make it the production one. I don&#8217;t want you to fight it.</p><p>Instead, create a new project and sync it with the production branch on GitHub. It&#8217;s clean, and it&#8217;s free.</p><h3>Step 4.1: Create a new project</h3><p>Go to <a href="https://supabase.com/">Supabase</a> and create a new project, just like in Part 1 (Step 3.1). Call it, for example, askone-prod. Then go to Project Settings &gt; API, as in Part 1. Note:</p><ul><li><p><code>SUPABASE_URL</code></p></li><li><p><code>SUPABASE_SECRET_KEY</code></p></li></ul><h3>Step 4.2: Sync it with GitHub</h3><p>Go to Supabase, select your project, click &#8220;Manage branches.&#8221; An example for a different project:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lODq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51fec797-18f1-4c5a-adc5-b6550383c893_2173x837.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lODq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51fec797-18f1-4c5a-adc5-b6550383c893_2173x837.png 424w, https://substackcdn.com/image/fetch/$s_!lODq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51fec797-18f1-4c5a-adc5-b6550383c893_2173x837.png 848w, https://substackcdn.com/image/fetch/$s_!lODq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51fec797-18f1-4c5a-adc5-b6550383c893_2173x837.png 1272w, https://substackcdn.com/image/fetch/$s_!lODq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51fec797-18f1-4c5a-adc5-b6550383c893_2173x837.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lODq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51fec797-18f1-4c5a-adc5-b6550383c893_2173x837.png" width="1456" height="561" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51fec797-18f1-4c5a-adc5-b6550383c893_2173x837.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:561,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:177603,&quot;alt&quot;:&quot;Go to a new Supabase project, click &#8220;Manage branches&#8221;&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51fec797-18f1-4c5a-adc5-b6550383c893_2173x837.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Go to a new Supabase project, click &#8220;Manage branches&#8221;" title="Go to a new Supabase project, click &#8220;Manage branches&#8221;" srcset="https://substackcdn.com/image/fetch/$s_!lODq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51fec797-18f1-4c5a-adc5-b6550383c893_2173x837.png 424w, https://substackcdn.com/image/fetch/$s_!lODq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51fec797-18f1-4c5a-adc5-b6550383c893_2173x837.png 848w, https://substackcdn.com/image/fetch/$s_!lODq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51fec797-18f1-4c5a-adc5-b6550383c893_2173x837.png 1272w, https://substackcdn.com/image/fetch/$s_!lODq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51fec797-18f1-4c5a-adc5-b6550383c893_2173x837.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">Go to a new Supabase project, click &#8220;Manage branches&#8221;</figcaption></figure></div><p>Then, under Configure, click &#8220;GitHub connection:&#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_!Y3mg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02f28c5e-703f-47f9-866f-25f6c1adf745_2473x927.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y3mg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02f28c5e-703f-47f9-866f-25f6c1adf745_2473x927.png 424w, https://substackcdn.com/image/fetch/$s_!Y3mg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02f28c5e-703f-47f9-866f-25f6c1adf745_2473x927.png 848w, https://substackcdn.com/image/fetch/$s_!Y3mg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02f28c5e-703f-47f9-866f-25f6c1adf745_2473x927.png 1272w, https://substackcdn.com/image/fetch/$s_!Y3mg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02f28c5e-703f-47f9-866f-25f6c1adf745_2473x927.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y3mg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02f28c5e-703f-47f9-866f-25f6c1adf745_2473x927.png" width="2473" height="927" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02f28c5e-703f-47f9-866f-25f6c1adf745_2473x927.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:927,&quot;width&quot;:2473,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:202999,&quot;alt&quot;:&quot;Under Configure, click GitHub connection&quot;,&quot;title&quot;:&quot;Under Configure, click GitHub connection&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c556df-8641-4768-978f-4737b1b0ba51_2473x1114.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Under Configure, click GitHub connection" title="Under Configure, click GitHub connection" srcset="https://substackcdn.com/image/fetch/$s_!Y3mg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02f28c5e-703f-47f9-866f-25f6c1adf745_2473x927.png 424w, https://substackcdn.com/image/fetch/$s_!Y3mg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02f28c5e-703f-47f9-866f-25f6c1adf745_2473x927.png 848w, https://substackcdn.com/image/fetch/$s_!Y3mg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02f28c5e-703f-47f9-866f-25f6c1adf745_2473x927.png 1272w, https://substackcdn.com/image/fetch/$s_!Y3mg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02f28c5e-703f-47f9-866f-25f6c1adf745_2473x927.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">Under Configure, click &#8220;GitHub connection&#8221;</figcaption></figure></div><p>And select your GitHub repository and a production branch:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F-0S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8a1df2-c67e-40b1-a17c-f0825afea82a_2469x1403.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F-0S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8a1df2-c67e-40b1-a17c-f0825afea82a_2469x1403.png 424w, https://substackcdn.com/image/fetch/$s_!F-0S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8a1df2-c67e-40b1-a17c-f0825afea82a_2469x1403.png 848w, https://substackcdn.com/image/fetch/$s_!F-0S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8a1df2-c67e-40b1-a17c-f0825afea82a_2469x1403.png 1272w, https://substackcdn.com/image/fetch/$s_!F-0S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8a1df2-c67e-40b1-a17c-f0825afea82a_2469x1403.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F-0S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8a1df2-c67e-40b1-a17c-f0825afea82a_2469x1403.png" width="1456" height="827" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd8a1df2-c67e-40b1-a17c-f0825afea82a_2469x1403.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:827,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:386562,&quot;alt&quot;:&quot;Supabase GitHub integration with askone-prod as the production branch&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8a1df2-c67e-40b1-a17c-f0825afea82a_2469x1403.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Supabase GitHub integration with askone-prod as the production branch" title="Supabase GitHub integration with askone-prod as the production branch" srcset="https://substackcdn.com/image/fetch/$s_!F-0S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8a1df2-c67e-40b1-a17c-f0825afea82a_2469x1403.png 424w, https://substackcdn.com/image/fetch/$s_!F-0S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8a1df2-c67e-40b1-a17c-f0825afea82a_2469x1403.png 848w, https://substackcdn.com/image/fetch/$s_!F-0S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8a1df2-c67e-40b1-a17c-f0825afea82a_2469x1403.png 1272w, https://substackcdn.com/image/fetch/$s_!F-0S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8a1df2-c67e-40b1-a17c-f0825afea82a_2469x1403.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"><em>Supabase GitHub integration with askone-prod as the production branch</em></figcaption></figure></div><p><strong>It will get updated every time you push changes to that branch.</strong> So, right now, when a user inserts some data on dev, or when I change the database structure, those changes <strong>will not propagate to production</strong>. That&#8217;s what we want.</p><p>Wait. What about the tables?</p><p>All the modifications in the database are written as <strong>migration scripts</strong>. This is also part of the template. Every time we add a new field or a new form in our product, there will be a migration script. It appears in GitHub, next to the code:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rsuv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b30c9a5-12dd-4e75-b4eb-bd9ff5e5abd0_1385x905.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rsuv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b30c9a5-12dd-4e75-b4eb-bd9ff5e5abd0_1385x905.png 424w, https://substackcdn.com/image/fetch/$s_!rsuv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b30c9a5-12dd-4e75-b4eb-bd9ff5e5abd0_1385x905.png 848w, https://substackcdn.com/image/fetch/$s_!rsuv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b30c9a5-12dd-4e75-b4eb-bd9ff5e5abd0_1385x905.png 1272w, https://substackcdn.com/image/fetch/$s_!rsuv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b30c9a5-12dd-4e75-b4eb-bd9ff5e5abd0_1385x905.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rsuv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b30c9a5-12dd-4e75-b4eb-bd9ff5e5abd0_1385x905.png" width="1385" height="905" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b30c9a5-12dd-4e75-b4eb-bd9ff5e5abd0_1385x905.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:905,&quot;width&quot;:1385,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:128377,&quot;alt&quot;:&quot;supabase/migrations with the Phase 1, votes, and Phase 2 scripts&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b30c9a5-12dd-4e75-b4eb-bd9ff5e5abd0_1385x905.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="supabase/migrations with the Phase 1, votes, and Phase 2 scripts" title="supabase/migrations with the Phase 1, votes, and Phase 2 scripts" srcset="https://substackcdn.com/image/fetch/$s_!rsuv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b30c9a5-12dd-4e75-b4eb-bd9ff5e5abd0_1385x905.png 424w, https://substackcdn.com/image/fetch/$s_!rsuv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b30c9a5-12dd-4e75-b4eb-bd9ff5e5abd0_1385x905.png 848w, https://substackcdn.com/image/fetch/$s_!rsuv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b30c9a5-12dd-4e75-b4eb-bd9ff5e5abd0_1385x905.png 1272w, https://substackcdn.com/image/fetch/$s_!rsuv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b30c9a5-12dd-4e75-b4eb-bd9ff5e5abd0_1385x905.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"><em>VS Code, supabase/migrations with the Phase 1, votes, and Phase 2 scripts</em></figcaption></figure></div><p>When you transfer your app version from dev to prod, the logic is transferred because you transfer the code. Database changes are transferred through those migration scripts, and Supabase executes them.</p><blockquote><p>Code and database migrations move together. Not the data.</p></blockquote><p>After the sync, I was curious if there is any data inside. Go to Table Editor: the tables are there, and there are no rows. The structure was copied, the data was not. </p><div><hr></div><h2><strong>5. Create a Production Netlify Site</strong></h2><p>Normally, you would have multiple environments: dev for developers, test, preprod (a copy of production, often without personal information), and production. The release goes through all of them. </p><p>We will implement a simplified version. Instead of creating another Netlify project, I took the one from Part 1 and just made it production. Dev stays on my local machine. I don&#8217;t need it hosted on Netlify.</p><h3>Step 5.1: Switch the production branch</h3><p>Go to <a href="https://app.netlify.com/">Netlify</a> &gt; your project &gt; Project configuration &gt; Build &amp; deploy &gt; Manage repository &gt; Link to a different repository &gt; GitHub. </p><p>Select your repository (here, &#8220;fde-template&#8221;) and the production branch (here, &#8220;askone-prod&#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_!uwZc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebc0b6c-bdae-481b-8558-d56966b9ff15_2231x1159.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uwZc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebc0b6c-bdae-481b-8558-d56966b9ff15_2231x1159.png 424w, https://substackcdn.com/image/fetch/$s_!uwZc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebc0b6c-bdae-481b-8558-d56966b9ff15_2231x1159.png 848w, https://substackcdn.com/image/fetch/$s_!uwZc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebc0b6c-bdae-481b-8558-d56966b9ff15_2231x1159.png 1272w, https://substackcdn.com/image/fetch/$s_!uwZc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebc0b6c-bdae-481b-8558-d56966b9ff15_2231x1159.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uwZc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebc0b6c-bdae-481b-8558-d56966b9ff15_2231x1159.png" width="1456" height="756" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bebc0b6c-bdae-481b-8558-d56966b9ff15_2231x1159.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:756,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:219438,&quot;alt&quot;:&quot;Netlify production branch set to askone-prod&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebc0b6c-bdae-481b-8558-d56966b9ff15_2231x1159.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Netlify production branch set to askone-prod" title="Netlify production branch set to askone-prod" srcset="https://substackcdn.com/image/fetch/$s_!uwZc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebc0b6c-bdae-481b-8558-d56966b9ff15_2231x1159.png 424w, https://substackcdn.com/image/fetch/$s_!uwZc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebc0b6c-bdae-481b-8558-d56966b9ff15_2231x1159.png 848w, https://substackcdn.com/image/fetch/$s_!uwZc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebc0b6c-bdae-481b-8558-d56966b9ff15_2231x1159.png 1272w, https://substackcdn.com/image/fetch/$s_!uwZc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebc0b6c-bdae-481b-8558-d56966b9ff15_2231x1159.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"><em>Netlify production branch set to askone-prod</em></figcaption></figure></div><h3>Step 5.2: Replace the Supabase keys</h3><p>Go to Project configuration &gt; Environment variables and edit two values:</p><ol><li><p>SUPABASE_URL -&gt; copy from Section 4</p></li><li><p>SUPABASE_SECRET_KEY -&gt; copy from Section 4, mark as secret</p></li></ol><p>I&#8217;m still using the development Clerk instance, just so that we don&#8217;t switch everything at once. We will switch it in Section 7.</p><h3>Step 5.3: Deploy</h3><p>New environment variables need a new deploy. Go to Deploys &gt; Trigger deploy &gt; Deploy project:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2DCq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8083cdd4-24af-4a81-a428-3e06cc7f08e3_2236x1164.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2DCq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8083cdd4-24af-4a81-a428-3e06cc7f08e3_2236x1164.png 424w, https://substackcdn.com/image/fetch/$s_!2DCq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8083cdd4-24af-4a81-a428-3e06cc7f08e3_2236x1164.png 848w, https://substackcdn.com/image/fetch/$s_!2DCq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8083cdd4-24af-4a81-a428-3e06cc7f08e3_2236x1164.png 1272w, https://substackcdn.com/image/fetch/$s_!2DCq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8083cdd4-24af-4a81-a428-3e06cc7f08e3_2236x1164.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2DCq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8083cdd4-24af-4a81-a428-3e06cc7f08e3_2236x1164.png" width="1456" height="758" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8083cdd4-24af-4a81-a428-3e06cc7f08e3_2236x1164.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:758,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:300890,&quot;alt&quot;:&quot;Netlify > Deploys > Trigger deploy&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8083cdd4-24af-4a81-a428-3e06cc7f08e3_2236x1164.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Netlify > Deploys > Trigger deploy" title="Netlify > Deploys > Trigger deploy" srcset="https://substackcdn.com/image/fetch/$s_!2DCq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8083cdd4-24af-4a81-a428-3e06cc7f08e3_2236x1164.png 424w, https://substackcdn.com/image/fetch/$s_!2DCq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8083cdd4-24af-4a81-a428-3e06cc7f08e3_2236x1164.png 848w, https://substackcdn.com/image/fetch/$s_!2DCq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8083cdd4-24af-4a81-a428-3e06cc7f08e3_2236x1164.png 1272w, https://substackcdn.com/image/fetch/$s_!2DCq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8083cdd4-24af-4a81-a428-3e06cc7f08e3_2236x1164.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"><em>Netlify &gt; Deploys &gt; Trigger deploy</em></figcaption></figure></div><p>After those changes, you should see an empty app. I&#8217;m signed in, but my data disappeared, because right now we are using the new production database.</p><div class="callout-block" data-callout="true"><p>&#128204; The result: we can test anything on dev: add new features, implement new logic. The new app behavior lives on GitHub, in the <code>askone</code> branch. The test data lives in the <code>askone</code> Supabase project. <strong>Neither reaches production until we ask the agent to push</strong>.</p></div><div><hr></div><h2><strong>6. Plug a Custom DNS Domain</strong></h2><p>We have a production app, but we don&#8217;t have the production URL. I purchased a cheap domain on <a href="https://www.godaddy.com/en">GoDaddy</a>: askone.org. In every provider, it is similar.</p><h3>Step 6.1: Add the domain in Netlify</h3><p>Go to Domain management &gt; Add a domain. Netlify verifies that you own it and recommends Netlify DNS:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vF1l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb0d65bd-8906-4c1d-bf7a-0fa3d7583ddc_2245x1262.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vF1l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb0d65bd-8906-4c1d-bf7a-0fa3d7583ddc_2245x1262.png 424w, https://substackcdn.com/image/fetch/$s_!vF1l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb0d65bd-8906-4c1d-bf7a-0fa3d7583ddc_2245x1262.png 848w, https://substackcdn.com/image/fetch/$s_!vF1l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb0d65bd-8906-4c1d-bf7a-0fa3d7583ddc_2245x1262.png 1272w, https://substackcdn.com/image/fetch/$s_!vF1l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb0d65bd-8906-4c1d-bf7a-0fa3d7583ddc_2245x1262.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vF1l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb0d65bd-8906-4c1d-bf7a-0fa3d7583ddc_2245x1262.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb0d65bd-8906-4c1d-bf7a-0fa3d7583ddc_2245x1262.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:271968,&quot;alt&quot;:&quot;Netlify > Add a domain&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb0d65bd-8906-4c1d-bf7a-0fa3d7583ddc_2245x1262.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Netlify > Add a domain" title="Netlify > Add a domain" srcset="https://substackcdn.com/image/fetch/$s_!vF1l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb0d65bd-8906-4c1d-bf7a-0fa3d7583ddc_2245x1262.png 424w, https://substackcdn.com/image/fetch/$s_!vF1l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb0d65bd-8906-4c1d-bf7a-0fa3d7583ddc_2245x1262.png 848w, https://substackcdn.com/image/fetch/$s_!vF1l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb0d65bd-8906-4c1d-bf7a-0fa3d7583ddc_2245x1262.png 1272w, https://substackcdn.com/image/fetch/$s_!vF1l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb0d65bd-8906-4c1d-bf7a-0fa3d7583ddc_2245x1262.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"><em>Netlify &gt; Add a domain</em></figcaption></figure></div><p>In the next step, I got a list of four Netlify DNS servers:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3rB4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9131ad3c-9723-4cf9-8789-9acfcb152d9c_1845x1085.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3rB4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9131ad3c-9723-4cf9-8789-9acfcb152d9c_1845x1085.png 424w, https://substackcdn.com/image/fetch/$s_!3rB4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9131ad3c-9723-4cf9-8789-9acfcb152d9c_1845x1085.png 848w, https://substackcdn.com/image/fetch/$s_!3rB4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9131ad3c-9723-4cf9-8789-9acfcb152d9c_1845x1085.png 1272w, https://substackcdn.com/image/fetch/$s_!3rB4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9131ad3c-9723-4cf9-8789-9acfcb152d9c_1845x1085.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3rB4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9131ad3c-9723-4cf9-8789-9acfcb152d9c_1845x1085.png" width="1456" height="856" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9131ad3c-9723-4cf9-8789-9acfcb152d9c_1845x1085.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:856,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:127229,&quot;alt&quot;:&quot;Netlify > Add a domain > Activate Netlify DNS&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9131ad3c-9723-4cf9-8789-9acfcb152d9c_1845x1085.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Netlify > Add a domain > Activate Netlify DNS" title="Netlify > Add a domain > Activate Netlify DNS" srcset="https://substackcdn.com/image/fetch/$s_!3rB4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9131ad3c-9723-4cf9-8789-9acfcb152d9c_1845x1085.png 424w, https://substackcdn.com/image/fetch/$s_!3rB4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9131ad3c-9723-4cf9-8789-9acfcb152d9c_1845x1085.png 848w, https://substackcdn.com/image/fetch/$s_!3rB4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9131ad3c-9723-4cf9-8789-9acfcb152d9c_1845x1085.png 1272w, https://substackcdn.com/image/fetch/$s_!3rB4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9131ad3c-9723-4cf9-8789-9acfcb152d9c_1845x1085.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">Netlify &gt; Add a domain &gt; Activate Netlify DNS</figcaption></figure></div><h3>Step 6.2: Point GoDaddy to Netlify</h3><p>In GoDaddy, go to your domain &gt; DNS &gt; Nameservers &gt; Change, and paste the four Netlify name servers:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fgRJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88476f0e-d231-443c-949f-3dc7ec08484b_2230x1463.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fgRJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88476f0e-d231-443c-949f-3dc7ec08484b_2230x1463.png 424w, https://substackcdn.com/image/fetch/$s_!fgRJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88476f0e-d231-443c-949f-3dc7ec08484b_2230x1463.png 848w, https://substackcdn.com/image/fetch/$s_!fgRJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88476f0e-d231-443c-949f-3dc7ec08484b_2230x1463.png 1272w, https://substackcdn.com/image/fetch/$s_!fgRJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88476f0e-d231-443c-949f-3dc7ec08484b_2230x1463.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fgRJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88476f0e-d231-443c-949f-3dc7ec08484b_2230x1463.png" width="1456" height="955" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88476f0e-d231-443c-949f-3dc7ec08484b_2230x1463.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:955,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:207772,&quot;alt&quot;:&quot;GoDaddy nameservers set to Netlify DNS&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88476f0e-d231-443c-949f-3dc7ec08484b_2230x1463.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="GoDaddy nameservers set to Netlify DNS" title="GoDaddy nameservers set to Netlify DNS" srcset="https://substackcdn.com/image/fetch/$s_!fgRJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88476f0e-d231-443c-949f-3dc7ec08484b_2230x1463.png 424w, https://substackcdn.com/image/fetch/$s_!fgRJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88476f0e-d231-443c-949f-3dc7ec08484b_2230x1463.png 848w, https://substackcdn.com/image/fetch/$s_!fgRJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88476f0e-d231-443c-949f-3dc7ec08484b_2230x1463.png 1272w, https://substackcdn.com/image/fetch/$s_!fgRJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88476f0e-d231-443c-949f-3dc7ec08484b_2230x1463.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">GoDaddy nameservers set to Netlify DNS</figcaption></figure></div><div class="callout-block" data-callout="true"><p>&#128204; I first tried a CNAME record in GoDaddy. It didn&#8217;t propagate during the live session. Netlify DNS is the easiest option.</p></div><h3>Step 6.3: Wait</h3><p>It can take up to an hour. Then Netlify detects the domain, and DNS verification is successful. What it means is that Netlify will provide an automatic certificate for us, and our domain will be secure (HTTPS). We don&#8217;t have to purchase a certificate. It will just do it automatically:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JjLb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cffbf60-fba9-471f-bdc8-01b6cc123a47_2236x999.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JjLb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cffbf60-fba9-471f-bdc8-01b6cc123a47_2236x999.png 424w, https://substackcdn.com/image/fetch/$s_!JjLb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cffbf60-fba9-471f-bdc8-01b6cc123a47_2236x999.png 848w, https://substackcdn.com/image/fetch/$s_!JjLb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cffbf60-fba9-471f-bdc8-01b6cc123a47_2236x999.png 1272w, https://substackcdn.com/image/fetch/$s_!JjLb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cffbf60-fba9-471f-bdc8-01b6cc123a47_2236x999.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JjLb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cffbf60-fba9-471f-bdc8-01b6cc123a47_2236x999.png" width="1456" height="651" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2cffbf60-fba9-471f-bdc8-01b6cc123a47_2236x999.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:651,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:164752,&quot;alt&quot;:&quot;Netlify DNS zones: askone.org, the connection was successful&quot;,&quot;title&quot;:&quot;Netlify DNS zones: askone.org, the connection was successful&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cffbf60-fba9-471f-bdc8-01b6cc123a47_2236x999.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Netlify DNS zones: askone.org, the connection was successful" title="Netlify DNS zones: askone.org, the connection was successful" srcset="https://substackcdn.com/image/fetch/$s_!JjLb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cffbf60-fba9-471f-bdc8-01b6cc123a47_2236x999.png 424w, https://substackcdn.com/image/fetch/$s_!JjLb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cffbf60-fba9-471f-bdc8-01b6cc123a47_2236x999.png 848w, https://substackcdn.com/image/fetch/$s_!JjLb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cffbf60-fba9-471f-bdc8-01b6cc123a47_2236x999.png 1272w, https://substackcdn.com/image/fetch/$s_!JjLb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cffbf60-fba9-471f-bdc8-01b6cc123a47_2236x999.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"><em>Netlify &gt; DNS: askone.org, the connection was successful</em></figcaption></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_!X8t0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e3b879-041e-4ffe-952d-540ae19f9116_2247x829.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X8t0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e3b879-041e-4ffe-952d-540ae19f9116_2247x829.png 424w, https://substackcdn.com/image/fetch/$s_!X8t0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e3b879-041e-4ffe-952d-540ae19f9116_2247x829.png 848w, https://substackcdn.com/image/fetch/$s_!X8t0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e3b879-041e-4ffe-952d-540ae19f9116_2247x829.png 1272w, https://substackcdn.com/image/fetch/$s_!X8t0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e3b879-041e-4ffe-952d-540ae19f9116_2247x829.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X8t0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e3b879-041e-4ffe-952d-540ae19f9116_2247x829.png" width="1456" height="537" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/12e3b879-041e-4ffe-952d-540ae19f9116_2247x829.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:537,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:178626,&quot;alt&quot;:&quot;Netlify domain (DNS zone) details&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e3b879-041e-4ffe-952d-540ae19f9116_2247x829.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Netlify domain (DNS zone) details" title="Netlify domain (DNS zone) details" srcset="https://substackcdn.com/image/fetch/$s_!X8t0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e3b879-041e-4ffe-952d-540ae19f9116_2247x829.png 424w, https://substackcdn.com/image/fetch/$s_!X8t0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e3b879-041e-4ffe-952d-540ae19f9116_2247x829.png 848w, https://substackcdn.com/image/fetch/$s_!X8t0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e3b879-041e-4ffe-952d-540ae19f9116_2247x829.png 1272w, https://substackcdn.com/image/fetch/$s_!X8t0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e3b879-041e-4ffe-952d-540ae19f9116_2247x829.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">Netlify domain (DNS zone) details</figcaption></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_!XqqI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1bfccd-27d4-451d-a2ab-bfea2f5d4a5f_1915x881.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XqqI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1bfccd-27d4-451d-a2ab-bfea2f5d4a5f_1915x881.png 424w, https://substackcdn.com/image/fetch/$s_!XqqI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1bfccd-27d4-451d-a2ab-bfea2f5d4a5f_1915x881.png 848w, https://substackcdn.com/image/fetch/$s_!XqqI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1bfccd-27d4-451d-a2ab-bfea2f5d4a5f_1915x881.png 1272w, https://substackcdn.com/image/fetch/$s_!XqqI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1bfccd-27d4-451d-a2ab-bfea2f5d4a5f_1915x881.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XqqI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1bfccd-27d4-451d-a2ab-bfea2f5d4a5f_1915x881.png" width="1456" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac1bfccd-27d4-451d-a2ab-bfea2f5d4a5f_1915x881.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154066,&quot;alt&quot;:&quot;SSL certificate provided by Netlify&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1bfccd-27d4-451d-a2ab-bfea2f5d4a5f_1915x881.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="SSL certificate provided by Netlify" title="SSL certificate provided by Netlify" srcset="https://substackcdn.com/image/fetch/$s_!XqqI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1bfccd-27d4-451d-a2ab-bfea2f5d4a5f_1915x881.png 424w, https://substackcdn.com/image/fetch/$s_!XqqI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1bfccd-27d4-451d-a2ab-bfea2f5d4a5f_1915x881.png 848w, https://substackcdn.com/image/fetch/$s_!XqqI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1bfccd-27d4-451d-a2ab-bfea2f5d4a5f_1915x881.png 1272w, https://substackcdn.com/image/fetch/$s_!XqqI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1bfccd-27d4-451d-a2ab-bfea2f5d4a5f_1915x881.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">SSL certificate provided by Netlify</figcaption></figure></div><h3>Step 6.4: Adjust the app URL</h3><p>The app URL has changed. We need it to display the join codes for participants. In Netlify, go to Project configuration &gt; Environment variables, set APP_URL to https://askone.org, and trigger a deploy, as in Step 5.3.</p><p>We discussed how to manage Netlify secrets in <a href="https://www.productcompass.pm/p/product-engineering-for-pms">Part 1</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_!lLf-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60e0578-4be6-4535-b32a-a5c078bd9054_2245x827.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lLf-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60e0578-4be6-4535-b32a-a5c078bd9054_2245x827.png 424w, https://substackcdn.com/image/fetch/$s_!lLf-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60e0578-4be6-4535-b32a-a5c078bd9054_2245x827.png 848w, https://substackcdn.com/image/fetch/$s_!lLf-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60e0578-4be6-4535-b32a-a5c078bd9054_2245x827.png 1272w, https://substackcdn.com/image/fetch/$s_!lLf-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60e0578-4be6-4535-b32a-a5c078bd9054_2245x827.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lLf-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60e0578-4be6-4535-b32a-a5c078bd9054_2245x827.png" width="1456" height="536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e60e0578-4be6-4535-b32a-a5c078bd9054_2245x827.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:536,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:227539,&quot;alt&quot;:&quot;Go to Project configuration > Environment variables, set APP_URL&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60e0578-4be6-4535-b32a-a5c078bd9054_2245x827.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Go to Project configuration > Environment variables, set APP_URL" title="Go to Project configuration > Environment variables, set APP_URL" srcset="https://substackcdn.com/image/fetch/$s_!lLf-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60e0578-4be6-4535-b32a-a5c078bd9054_2245x827.png 424w, https://substackcdn.com/image/fetch/$s_!lLf-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60e0578-4be6-4535-b32a-a5c078bd9054_2245x827.png 848w, https://substackcdn.com/image/fetch/$s_!lLf-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60e0578-4be6-4535-b32a-a5c078bd9054_2245x827.png 1272w, https://substackcdn.com/image/fetch/$s_!lLf-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60e0578-4be6-4535-b32a-a5c078bd9054_2245x827.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">Go to Project configuration &gt; Environment variables, set APP_URL</figcaption></figure></div><p>You, too, can access it: <a href="https://askone.org">https://askone.org</a>. It&#8217;s not perfect, but it works, on a real domain.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>7. Create a Production Clerk Instance</strong></h2><p>We have a production app, we have a production URL, but we don&#8217;t have production users yet. And we do not want to use the dev/test users in production.</p><p>To fix that, go to <a href="https://dashboard.clerk.com/">Clerk Dashboard</a>, click &#8220;Go to Production,&#8221; and clone your development instance. All the pricing plans and features will be cloned. The application domain will be askone.org. This is where users can access the app:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xlws!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d4cc800-b8ad-4cc9-8e32-8ff3d70b069b_2235x491.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xlws!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d4cc800-b8ad-4cc9-8e32-8ff3d70b069b_2235x491.png 424w, https://substackcdn.com/image/fetch/$s_!Xlws!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d4cc800-b8ad-4cc9-8e32-8ff3d70b069b_2235x491.png 848w, https://substackcdn.com/image/fetch/$s_!Xlws!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d4cc800-b8ad-4cc9-8e32-8ff3d70b069b_2235x491.png 1272w, https://substackcdn.com/image/fetch/$s_!Xlws!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d4cc800-b8ad-4cc9-8e32-8ff3d70b069b_2235x491.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xlws!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d4cc800-b8ad-4cc9-8e32-8ff3d70b069b_2235x491.png" width="1456" height="320" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d4cc800-b8ad-4cc9-8e32-8ff3d70b069b_2235x491.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:320,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:112230,&quot;alt&quot;:&quot;Clerk > Go to production&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d4cc800-b8ad-4cc9-8e32-8ff3d70b069b_2235x491.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Clerk > Go to production" title="Clerk > Go to production" srcset="https://substackcdn.com/image/fetch/$s_!Xlws!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d4cc800-b8ad-4cc9-8e32-8ff3d70b069b_2235x491.png 424w, https://substackcdn.com/image/fetch/$s_!Xlws!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d4cc800-b8ad-4cc9-8e32-8ff3d70b069b_2235x491.png 848w, https://substackcdn.com/image/fetch/$s_!Xlws!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d4cc800-b8ad-4cc9-8e32-8ff3d70b069b_2235x491.png 1272w, https://substackcdn.com/image/fetch/$s_!Xlws!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d4cc800-b8ad-4cc9-8e32-8ff3d70b069b_2235x491.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Clerk &gt; Go to production</figcaption></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_!QS6-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd1d72c-d2b2-4401-b8b2-4c3395b12ef9_2245x942.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QS6-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd1d72c-d2b2-4401-b8b2-4c3395b12ef9_2245x942.png 424w, https://substackcdn.com/image/fetch/$s_!QS6-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd1d72c-d2b2-4401-b8b2-4c3395b12ef9_2245x942.png 848w, https://substackcdn.com/image/fetch/$s_!QS6-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd1d72c-d2b2-4401-b8b2-4c3395b12ef9_2245x942.png 1272w, https://substackcdn.com/image/fetch/$s_!QS6-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd1d72c-d2b2-4401-b8b2-4c3395b12ef9_2245x942.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QS6-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd1d72c-d2b2-4401-b8b2-4c3395b12ef9_2245x942.png" width="1456" height="611" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5dd1d72c-d2b2-4401-b8b2-4c3395b12ef9_2245x942.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:611,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:534644,&quot;alt&quot;:&quot;Clerk > Go to Production > Clone development instance > Continue&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd1d72c-d2b2-4401-b8b2-4c3395b12ef9_2245x942.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Clerk > Go to Production > Clone development instance > Continue" title="Clerk > Go to Production > Clone development instance > Continue" srcset="https://substackcdn.com/image/fetch/$s_!QS6-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd1d72c-d2b2-4401-b8b2-4c3395b12ef9_2245x942.png 424w, https://substackcdn.com/image/fetch/$s_!QS6-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd1d72c-d2b2-4401-b8b2-4c3395b12ef9_2245x942.png 848w, https://substackcdn.com/image/fetch/$s_!QS6-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd1d72c-d2b2-4401-b8b2-4c3395b12ef9_2245x942.png 1272w, https://substackcdn.com/image/fetch/$s_!QS6-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd1d72c-d2b2-4401-b8b2-4c3395b12ef9_2245x942.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">Clerk &gt; Go to Production &gt; Clone development instance &gt; Continue</figcaption></figure></div><p>And we have a new secret key for Clerk that we need to configure in environment variables. So let&#8217;s do that. Go to Configure &gt; API keys, as in Part 1. Note:</p><ul><li><p><code>NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY</code></p></li><li><p><code>CLERK_SECRET_KEY</code></p></li></ul><p>In Netlify, go to Project configuration &gt; Environment variables:</p><ol><li><p>CLERK_SECRET_KEY -&gt; again, I will replace it, mark as secret</p></li><li><p>NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY -&gt; we have a new one, too. This is not a secret</p></li></ol><p>Then trigger a deploy, as in Step 5.3.</p><p>What else? SSO connections. Right now, Google is not supported. We will do it in Section 9. And we need to add the DNS records that Clerk requested to Netlify:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gEft!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72bc85a5-21ea-461d-b10c-f17e925e3893_2525x1586.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gEft!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72bc85a5-21ea-461d-b10c-f17e925e3893_2525x1586.png 424w, https://substackcdn.com/image/fetch/$s_!gEft!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72bc85a5-21ea-461d-b10c-f17e925e3893_2525x1586.png 848w, https://substackcdn.com/image/fetch/$s_!gEft!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72bc85a5-21ea-461d-b10c-f17e925e3893_2525x1586.png 1272w, https://substackcdn.com/image/fetch/$s_!gEft!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72bc85a5-21ea-461d-b10c-f17e925e3893_2525x1586.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gEft!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72bc85a5-21ea-461d-b10c-f17e925e3893_2525x1586.png" width="1456" height="915" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/72bc85a5-21ea-461d-b10c-f17e925e3893_2525x1586.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:915,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:256270,&quot;alt&quot;:&quot;Clerk > Configure > Developers > Domains, the DNS records to add&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72bc85a5-21ea-461d-b10c-f17e925e3893_2525x1586.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Clerk > Configure > Developers > Domains, the DNS records to add" title="Clerk > Configure > Developers > Domains, the DNS records to add" srcset="https://substackcdn.com/image/fetch/$s_!gEft!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72bc85a5-21ea-461d-b10c-f17e925e3893_2525x1586.png 424w, https://substackcdn.com/image/fetch/$s_!gEft!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72bc85a5-21ea-461d-b10c-f17e925e3893_2525x1586.png 848w, https://substackcdn.com/image/fetch/$s_!gEft!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72bc85a5-21ea-461d-b10c-f17e925e3893_2525x1586.png 1272w, https://substackcdn.com/image/fetch/$s_!gEft!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72bc85a5-21ea-461d-b10c-f17e925e3893_2525x1586.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">Clerk &gt; Configure &gt; Developers &gt; Domains, the DNS records to add in Netlify</figcaption></figure></div><p>In Netlify, go to DNS &gt; your domain &gt; DNS settings &gt; Add new record. I did it 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_!6Uc1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506582c6-d276-441c-8593-89d77529a9d0_2528x1483.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6Uc1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506582c6-d276-441c-8593-89d77529a9d0_2528x1483.png 424w, https://substackcdn.com/image/fetch/$s_!6Uc1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506582c6-d276-441c-8593-89d77529a9d0_2528x1483.png 848w, https://substackcdn.com/image/fetch/$s_!6Uc1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506582c6-d276-441c-8593-89d77529a9d0_2528x1483.png 1272w, https://substackcdn.com/image/fetch/$s_!6Uc1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506582c6-d276-441c-8593-89d77529a9d0_2528x1483.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6Uc1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506582c6-d276-441c-8593-89d77529a9d0_2528x1483.png" width="1456" height="854" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/506582c6-d276-441c-8593-89d77529a9d0_2528x1483.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:854,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:328477,&quot;alt&quot;:&quot;Clerk DNS records added in Netlify DNS&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506582c6-d276-441c-8593-89d77529a9d0_2528x1483.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Clerk DNS records added in Netlify DNS" title="Clerk DNS records added in Netlify DNS" srcset="https://substackcdn.com/image/fetch/$s_!6Uc1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506582c6-d276-441c-8593-89d77529a9d0_2528x1483.png 424w, https://substackcdn.com/image/fetch/$s_!6Uc1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506582c6-d276-441c-8593-89d77529a9d0_2528x1483.png 848w, https://substackcdn.com/image/fetch/$s_!6Uc1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506582c6-d276-441c-8593-89d77529a9d0_2528x1483.png 1272w, https://substackcdn.com/image/fetch/$s_!6Uc1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506582c6-d276-441c-8593-89d77529a9d0_2528x1483.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">Clerk DNS records added in Netlify DNS</figcaption></figure></div><p>All those records take time to propagate. But once they are verified, Clerk will start serving authentication for our production app:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7TbY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37c50f39-f785-4189-b5e2-d7003859a388_2538x1821.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7TbY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37c50f39-f785-4189-b5e2-d7003859a388_2538x1821.png 424w, https://substackcdn.com/image/fetch/$s_!7TbY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37c50f39-f785-4189-b5e2-d7003859a388_2538x1821.png 848w, https://substackcdn.com/image/fetch/$s_!7TbY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37c50f39-f785-4189-b5e2-d7003859a388_2538x1821.png 1272w, https://substackcdn.com/image/fetch/$s_!7TbY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37c50f39-f785-4189-b5e2-d7003859a388_2538x1821.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7TbY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37c50f39-f785-4189-b5e2-d7003859a388_2538x1821.png" width="2538" height="1821" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37c50f39-f785-4189-b5e2-d7003859a388_2538x1821.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1821,&quot;width&quot;:2538,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:337000,&quot;alt&quot;:&quot;A verified domain in Clerk (Clerk > Configure > Developers > Domains)&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2595c207-f980-4419-9906-0fc51d669b8c_2543x1826.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A verified domain in Clerk (Clerk > Configure > Developers > Domains)" title="A verified domain in Clerk (Clerk > Configure > Developers > Domains)" srcset="https://substackcdn.com/image/fetch/$s_!7TbY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37c50f39-f785-4189-b5e2-d7003859a388_2538x1821.png 424w, https://substackcdn.com/image/fetch/$s_!7TbY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37c50f39-f785-4189-b5e2-d7003859a388_2538x1821.png 848w, https://substackcdn.com/image/fetch/$s_!7TbY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37c50f39-f785-4189-b5e2-d7003859a388_2538x1821.png 1272w, https://substackcdn.com/image/fetch/$s_!7TbY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37c50f39-f785-4189-b5e2-d7003859a388_2538x1821.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">A verified domain in Clerk (Clerk &gt; Configure &gt; Developers &gt; Domains)</figcaption></figure></div><div><hr></div><h2><strong>8. Add Product Analytics</strong></h2><p>I suggest you start with <a href="https://clarity.microsoft.com/">Microsoft Clarity</a>. It&#8217;s 100% free, without limits. Similarly, you can add other tracking codes in the future.</p><p>I&#8217;m not presenting creating an account. It&#8217;s straightforward.</p><p>Once inside, create a new project: </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rBuf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb274b226-0617-4584-9cb0-e9d430e465a9_2000x1067.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rBuf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb274b226-0617-4584-9cb0-e9d430e465a9_2000x1067.png 424w, https://substackcdn.com/image/fetch/$s_!rBuf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb274b226-0617-4584-9cb0-e9d430e465a9_2000x1067.png 848w, https://substackcdn.com/image/fetch/$s_!rBuf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb274b226-0617-4584-9cb0-e9d430e465a9_2000x1067.png 1272w, https://substackcdn.com/image/fetch/$s_!rBuf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb274b226-0617-4584-9cb0-e9d430e465a9_2000x1067.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rBuf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb274b226-0617-4584-9cb0-e9d430e465a9_2000x1067.png" width="1456" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b274b226-0617-4584-9cb0-e9d430e465a9_2000x1067.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:421902,&quot;alt&quot;:&quot;Microsoft Clarity > Add new project&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb274b226-0617-4584-9cb0-e9d430e465a9_2000x1067.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Microsoft Clarity > Add new project" title="Microsoft Clarity > Add new project" srcset="https://substackcdn.com/image/fetch/$s_!rBuf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb274b226-0617-4584-9cb0-e9d430e465a9_2000x1067.png 424w, https://substackcdn.com/image/fetch/$s_!rBuf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb274b226-0617-4584-9cb0-e9d430e465a9_2000x1067.png 848w, https://substackcdn.com/image/fetch/$s_!rBuf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb274b226-0617-4584-9cb0-e9d430e465a9_2000x1067.png 1272w, https://substackcdn.com/image/fetch/$s_!rBuf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb274b226-0617-4584-9cb0-e9d430e465a9_2000x1067.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">Microsoft Clarity &gt; Add new project</figcaption></figure></div><p>Then go to Settings &gt; Setup &gt; Advanced settings and switch cookies off:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B2qP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454bf714-ce94-4721-93e1-8bf8e70a9fa9_2765x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B2qP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454bf714-ce94-4721-93e1-8bf8e70a9fa9_2765x1048.png 424w, https://substackcdn.com/image/fetch/$s_!B2qP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454bf714-ce94-4721-93e1-8bf8e70a9fa9_2765x1048.png 848w, https://substackcdn.com/image/fetch/$s_!B2qP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454bf714-ce94-4721-93e1-8bf8e70a9fa9_2765x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!B2qP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454bf714-ce94-4721-93e1-8bf8e70a9fa9_2765x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B2qP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454bf714-ce94-4721-93e1-8bf8e70a9fa9_2765x1048.png" width="1456" height="552" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/454bf714-ce94-4721-93e1-8bf8e70a9fa9_2765x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:552,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:176344,&quot;alt&quot;:&quot;Microsoft Clarity > Settings > Setup > Advanced settings; Cookies: OFF&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454bf714-ce94-4721-93e1-8bf8e70a9fa9_2765x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Microsoft Clarity > Settings > Setup > Advanced settings; Cookies: OFF" title="Microsoft Clarity > Settings > Setup > Advanced settings; Cookies: OFF" srcset="https://substackcdn.com/image/fetch/$s_!B2qP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454bf714-ce94-4721-93e1-8bf8e70a9fa9_2765x1048.png 424w, https://substackcdn.com/image/fetch/$s_!B2qP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454bf714-ce94-4721-93e1-8bf8e70a9fa9_2765x1048.png 848w, https://substackcdn.com/image/fetch/$s_!B2qP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454bf714-ce94-4721-93e1-8bf8e70a9fa9_2765x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!B2qP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454bf714-ce94-4721-93e1-8bf8e70a9fa9_2765x1048.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">Microsoft Clarity &gt; Settings &gt; Setup &gt; Advanced settings; Cookies: OFF</figcaption></figure></div><p>Go to Settings &gt; Setup &gt; Install manually and get a tracking code:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tddm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef161d1d-fbd8-4346-9945-aff966483841_2765x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tddm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef161d1d-fbd8-4346-9945-aff966483841_2765x1048.png 424w, https://substackcdn.com/image/fetch/$s_!tddm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef161d1d-fbd8-4346-9945-aff966483841_2765x1048.png 848w, https://substackcdn.com/image/fetch/$s_!tddm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef161d1d-fbd8-4346-9945-aff966483841_2765x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!tddm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef161d1d-fbd8-4346-9945-aff966483841_2765x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tddm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef161d1d-fbd8-4346-9945-aff966483841_2765x1048.png" width="1456" height="552" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef161d1d-fbd8-4346-9945-aff966483841_2765x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:552,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:223254,&quot;alt&quot;:&quot;Microsoft Clarity > Settings > Setup > Install manually > Get tracking code&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef161d1d-fbd8-4346-9945-aff966483841_2765x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Microsoft Clarity > Settings > Setup > Install manually > Get tracking code" title="Microsoft Clarity > Settings > Setup > Install manually > Get tracking code" srcset="https://substackcdn.com/image/fetch/$s_!tddm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef161d1d-fbd8-4346-9945-aff966483841_2765x1048.png 424w, https://substackcdn.com/image/fetch/$s_!tddm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef161d1d-fbd8-4346-9945-aff966483841_2765x1048.png 848w, https://substackcdn.com/image/fetch/$s_!tddm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef161d1d-fbd8-4346-9945-aff966483841_2765x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!tddm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef161d1d-fbd8-4346-9945-aff966483841_2765x1048.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">Microsoft Clarity &gt; Settings &gt; Setup &gt; Install manually &gt; Get tracking code</figcaption></figure></div><p>Next, ask the agent (your code will be different):</p><pre><code><code>Inject the following Microsoft Clarity script to every page of our app:

&lt;script type="text/javascript"&gt;
    (function(c,l,a,r,i,t,y){
        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
    })(window, document, "clarity", "script", "yej44djiyd");
&lt;/script&gt;</code></code></pre><p>An example report you will see (a different app):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ttSO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c3ea12-87dd-4c84-a303-1e2718dcfd5e_2765x1676.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ttSO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c3ea12-87dd-4c84-a303-1e2718dcfd5e_2765x1676.png 424w, https://substackcdn.com/image/fetch/$s_!ttSO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c3ea12-87dd-4c84-a303-1e2718dcfd5e_2765x1676.png 848w, https://substackcdn.com/image/fetch/$s_!ttSO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c3ea12-87dd-4c84-a303-1e2718dcfd5e_2765x1676.png 1272w, https://substackcdn.com/image/fetch/$s_!ttSO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c3ea12-87dd-4c84-a303-1e2718dcfd5e_2765x1676.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ttSO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c3ea12-87dd-4c84-a303-1e2718dcfd5e_2765x1676.png" width="1456" height="883" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/97c3ea12-87dd-4c84-a303-1e2718dcfd5e_2765x1676.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:883,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:793561,&quot;alt&quot;:&quot;Heatmaps and session recordings in Microsoft Clarity (a different app)&quot;,&quot;title&quot;:&quot;Heatmaps and session recordings in Microsoft Clarity (a different app)&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c3ea12-87dd-4c84-a303-1e2718dcfd5e_2765x1676.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Heatmaps and session recordings in Microsoft Clarity (a different app)" title="Heatmaps and session recordings in Microsoft Clarity (a different app)" srcset="https://substackcdn.com/image/fetch/$s_!ttSO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c3ea12-87dd-4c84-a303-1e2718dcfd5e_2765x1676.png 424w, https://substackcdn.com/image/fetch/$s_!ttSO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c3ea12-87dd-4c84-a303-1e2718dcfd5e_2765x1676.png 848w, https://substackcdn.com/image/fetch/$s_!ttSO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c3ea12-87dd-4c84-a303-1e2718dcfd5e_2765x1676.png 1272w, https://substackcdn.com/image/fetch/$s_!ttSO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c3ea12-87dd-4c84-a303-1e2718dcfd5e_2765x1676.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">Heatmaps and session recordings in Microsoft Clarity</figcaption></figure></div><div class="callout-block" data-callout="true"><p>&#128204; No cookies means no cookie banner and no consent in the code. You will lose the ability to track the returning users, but this setup is all you need to analyze the landing page, view heatmaps, or watch session recordings and involves much less risk.</p></div><div><hr></div><h2><strong>9. Add Google Auth (For Real)</strong></h2><p>In development, Clerk provides shared Google credentials. In production, you need your own. The entire process (no screenshots, we would need too many):</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;33c4104c-b887-4222-ae53-5659f79a7455&quot;,&quot;duration&quot;:null}"></div><p>I&#8217;m not presenting creating a <a href="https://console.cloud.google.com/">Google Cloud Console</a> (GCC) account. It&#8217;s straightforward. Once inside:</p><ol><li><p>[GCC] Create a new or select an existing project</p></li><li><p>[GCC] Go to APIs &amp; Services &gt; OAuth &gt; Get Started</p></li><li><p>[GCC] Add app information (External)</p></li><li><p>[GCC] Create OAuth client ID, note &#8220;Client ID&#8221; and &#8220;Client secret&#8221;</p></li><li><p>[GCC] Add your app URL to Authorized JavaScript Origins</p></li><li><p>[GCC] Go to Branding: add the app logo and the app domain, provide the terms of service and privacy policy links (we created those pages together with our landing page)</p></li><li><p>[GCC] Go to Audience &gt; Publish app</p></li><li><p>[GCC] Go to Branding &gt; Verify branding</p></li></ol><p>If the branding verification fails, go to <a href="https://search.google.com/search-console/about">Google Search Console</a> (GSC) and verify you&#8217;re the owner of the domain:</p><ol><li><p>[GSC] Add a website</p></li><li><p>[GSC] Copy TXT record for DNS configuration</p></li><li><p>[Netlify] Paste this record in Netlify &gt; DNS</p></li><li><p>[GSC] Click Verify</p></li><li><p>[GCC] Go to Branding &gt; Verify branding</p></li></ol><p>Next, configure Google Auth in Clerk:</p><ol><li><p>[Clerk] Configure &gt; User &amp; authentication &gt; SSO connections &gt; Google &gt; Enable</p></li><li><p>[Clerk] Configure &#8220;Client ID&#8221; and &#8220;Client secret&#8221; you got from Google</p></li><li><p>[Clerk] Copy &#8220;Authorized Redirect URI&#8221;</p></li><li><p>[GCC] Go to your project &gt; Credentials &gt; OAuth 2.0 &gt; use &#8220;Authorized Redirect URI&#8221; from Clerk</p></li><li><p>Wait 5 minutes</p></li></ol><p>&#127881; You can now Sign in / Sign up with Google in production. No &#8220;Development environment:&#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_!je2k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22737417-0b5f-432c-bc05-23181e76d6df_2712x1556.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!je2k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22737417-0b5f-432c-bc05-23181e76d6df_2712x1556.png 424w, https://substackcdn.com/image/fetch/$s_!je2k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22737417-0b5f-432c-bc05-23181e76d6df_2712x1556.png 848w, https://substackcdn.com/image/fetch/$s_!je2k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22737417-0b5f-432c-bc05-23181e76d6df_2712x1556.png 1272w, https://substackcdn.com/image/fetch/$s_!je2k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22737417-0b5f-432c-bc05-23181e76d6df_2712x1556.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!je2k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22737417-0b5f-432c-bc05-23181e76d6df_2712x1556.png" width="2712" height="1556" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22737417-0b5f-432c-bc05-23181e76d6df_2712x1556.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1556,&quot;width&quot;:2712,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:220190,&quot;alt&quot;:&quot;AskOne production sign-in with Google, no development environment banner&quot;,&quot;title&quot;:&quot;AskOne production sign-in with Google, no development environment banner&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F424ca92f-a69c-4ff2-95ef-29d9791fa28d_2712x1664.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AskOne production sign-in with Google, no development environment banner" title="AskOne production sign-in with Google, no development environment banner" srcset="https://substackcdn.com/image/fetch/$s_!je2k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22737417-0b5f-432c-bc05-23181e76d6df_2712x1556.png 424w, https://substackcdn.com/image/fetch/$s_!je2k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22737417-0b5f-432c-bc05-23181e76d6df_2712x1556.png 848w, https://substackcdn.com/image/fetch/$s_!je2k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22737417-0b5f-432c-bc05-23181e76d6df_2712x1556.png 1272w, https://substackcdn.com/image/fetch/$s_!je2k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22737417-0b5f-432c-bc05-23181e76d6df_2712x1556.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">Production sign-in with Google, no development banner</figcaption></figure></div><div><hr></div><h2><strong>10. Conclusion</strong></h2><p>We have a production database, a production app, production users, and a production domain. Development stays on your laptop, but you know how to create more environments, if needed.</p><p>We still haven&#8217;t opened a file with the code.</p><p>Next in the series:</p><ul><li><p>Introducing a change and moving it between environments, end to end: the code and the database (not the data)</p></li><li><p>Enabling real Stripe payments</p></li><li><p>App-specific limits. Right now, an organization can have up to 10 active rooms. But can they open and close a room 1,000 times a second? What about free users?</p></li><li><p>Cloudflare: a web application firewall that guards the app against attacks that exhaust our resources</p></li><li><p>Tests in more detail: unit, integration, end-to-end, and AI looking at the screens</p></li><li><p>A checklist to verify that what we build is secure and efficient, and how to make sure AI has enough information to perform that verification</p></li></ul><p><strong>This Thursday, we continue building AskOne</strong>: <a href="https://go.productcompass.pm/events">https://go.productcompass.pm/events</a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>11. Live Session Recording, Part 2</strong></h2><p>Part 1 and Part 2 are available here: <a href="https://go.productcompass.pm/events">https://go.productcompass.pm/events</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_!J-pO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f209ce-70ac-404e-a3a3-999d04bf90ce_2478x1692.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J-pO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f209ce-70ac-404e-a3a3-999d04bf90ce_2478x1692.png 424w, https://substackcdn.com/image/fetch/$s_!J-pO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f209ce-70ac-404e-a3a3-999d04bf90ce_2478x1692.png 848w, https://substackcdn.com/image/fetch/$s_!J-pO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f209ce-70ac-404e-a3a3-999d04bf90ce_2478x1692.png 1272w, https://substackcdn.com/image/fetch/$s_!J-pO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f209ce-70ac-404e-a3a3-999d04bf90ce_2478x1692.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J-pO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f209ce-70ac-404e-a3a3-999d04bf90ce_2478x1692.png" width="1456" height="994" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11f209ce-70ac-404e-a3a3-999d04bf90ce_2478x1692.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:994,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:748200,&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://www.productcompass.pm/i/214285251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f209ce-70ac-404e-a3a3-999d04bf90ce_2478x1692.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_!J-pO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f209ce-70ac-404e-a3a3-999d04bf90ce_2478x1692.png 424w, https://substackcdn.com/image/fetch/$s_!J-pO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f209ce-70ac-404e-a3a3-999d04bf90ce_2478x1692.png 848w, https://substackcdn.com/image/fetch/$s_!J-pO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f209ce-70ac-404e-a3a3-999d04bf90ce_2478x1692.png 1272w, https://substackcdn.com/image/fetch/$s_!J-pO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f209ce-70ac-404e-a3a3-999d04bf90ce_2478x1692.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.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p><em>P.S. If you&#8217;re looking for a structured cohort, I just joined Product Faculty as a trainer.</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_!TptZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16bfde5a-7500-4c7f-b559-9de86fb97740_800x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TptZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16bfde5a-7500-4c7f-b559-9de86fb97740_800x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TptZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16bfde5a-7500-4c7f-b559-9de86fb97740_800x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TptZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16bfde5a-7500-4c7f-b559-9de86fb97740_800x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TptZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16bfde5a-7500-4c7f-b559-9de86fb97740_800x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TptZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16bfde5a-7500-4c7f-b559-9de86fb97740_800x800.jpeg" width="800" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/16bfde5a-7500-4c7f-b559-9de86fb97740_800x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Product Faculty: 3 frontier AI experts joined the AI Builder Fellowship&quot;,&quot;title&quot;:&quot;Product Faculty: 3 frontier AI experts joined the AI Builder Fellowship&quot;,&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="Product Faculty: 3 frontier AI experts joined the AI Builder Fellowship" title="Product Faculty: 3 frontier AI experts joined the AI Builder Fellowship" srcset="https://substackcdn.com/image/fetch/$s_!TptZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16bfde5a-7500-4c7f-b559-9de86fb97740_800x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TptZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16bfde5a-7500-4c7f-b559-9de86fb97740_800x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TptZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16bfde5a-7500-4c7f-b559-9de86fb97740_800x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TptZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16bfde5a-7500-4c7f-b559-9de86fb97740_800x800.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><em>Currently, we offer<strong> 8 AI PM cohorts (Anthropic, Google, OpenAI)</strong> for the <strong>price of one</strong> + $1,500 off for my readers: &#128073; <a href="https://productfaculty.com/?code=PAWEL">https://productfaculty.com?code=PAWEL</a> </em></p><p><em>On Maven, this program would cost ~$22,000. That&#8217;s, by far, the best training offer in the market.</em></p><p><em>And that&#8217;s not everything. Everyone who enrolls with the above code can <strong>attend our</strong> <strong>Claudathon for PMs for free</strong>: <a href="https://go.productcompass.pm/claudathon">https://go.productcompass.pm/claudathon</a> (send me an email with a purchase confirmation: pawel@productcompass.pm) - we start on Sep 19.</em></p><div><hr></div><h2><strong>Thanks for Reading The Product Compass</strong></h2><p>It&#8217;s amazing to learn and grow together.</p><p>Have an amazing rest of the week, <br>Pawe&#322;</p><div><hr></div><p><em>And one more question: should I move agentic engineering (what this series is about) to a separate stream? The first option below is a dedicated newsletter you can subscribe to/unsubscribe from:</em></p><div class="poll-embed" data-attrs="{&quot;id&quot;:1165469}" data-component-name="PollToDOM"></div>]]></content:encoded></item><item><title><![CDATA[Product Engineering for PMs, Part 1: Build a SaaS App Without Coding]]></title><description><![CDATA[Design, build, secure, and deploy a real multi-tenant SaaS app in 3-4 hours: Claude Code, Clerk, Supabase. No coding. All prompts included.]]></description><link>https://www.productcompass.pm/p/product-engineering-for-pms</link><guid isPermaLink="false">https://www.productcompass.pm/p/product-engineering-for-pms</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Mon, 31 Aug 2026 15:35:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!EFin!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Take a look at this leaked Gartner report:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EFin!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EFin!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 424w, https://substackcdn.com/image/fetch/$s_!EFin!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 848w, https://substackcdn.com/image/fetch/$s_!EFin!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 1272w, https://substackcdn.com/image/fetch/$s_!EFin!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EFin!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png" width="1200" height="678" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:678,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:587188,&quot;alt&quot;:&quot;Gartner roles merging and collapsing, product engineers&quot;,&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Gartner roles merging and collapsing, product engineers" title="Gartner roles merging and collapsing, product engineers" srcset="https://substackcdn.com/image/fetch/$s_!EFin!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 424w, https://substackcdn.com/image/fetch/$s_!EFin!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 848w, https://substackcdn.com/image/fetch/$s_!EFin!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.png 1272w, https://substackcdn.com/image/fetch/$s_!EFin!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3d6580-d5b1-4fe5-a01a-61c37e07e90e_1200x678.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><figcaption class="image-caption">Source: <a href="https://x.com/housecor"><span>@housecor</span></a></figcaption></figure></div><p><strong>The roles are merging </strong>whether or not you can already feel that in your organization<strong>.</strong> While product discovery remains the core of our job, as a PM you should develop a basic understanding of <strong>engineering with AI.</strong></p><p><strong>Good news: you don&#8217;t have to code.</strong></p><p>My recent project, Grok Build for VS Code and <a href="https://afkpilot.com/desktop">afkpilot.com/desktop</a>, has been installed by <strong>105K+ people</strong>. 37K MAU. 5,094 unit tests. ~177K lines of code - I&#8217;ve reviewed none.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tPRd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b440cf-26be-40e2-a789-281918fd9068_1020x343.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tPRd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b440cf-26be-40e2-a789-281918fd9068_1020x343.png 424w, https://substackcdn.com/image/fetch/$s_!tPRd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b440cf-26be-40e2-a789-281918fd9068_1020x343.png 848w, https://substackcdn.com/image/fetch/$s_!tPRd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b440cf-26be-40e2-a789-281918fd9068_1020x343.png 1272w, https://substackcdn.com/image/fetch/$s_!tPRd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b440cf-26be-40e2-a789-281918fd9068_1020x343.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tPRd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b440cf-26be-40e2-a789-281918fd9068_1020x343.png" width="1020" height="343" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52b440cf-26be-40e2-a789-281918fd9068_1020x343.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:343,&quot;width&quot;:1020,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75172,&quot;alt&quot;:&quot;Grok Build for VS Code - Open VSX stats&quot;,&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b440cf-26be-40e2-a789-281918fd9068_1020x343.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Grok Build for VS Code - Open VSX stats" title="Grok Build for VS Code - Open VSX stats" srcset="https://substackcdn.com/image/fetch/$s_!tPRd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b440cf-26be-40e2-a789-281918fd9068_1020x343.png 424w, https://substackcdn.com/image/fetch/$s_!tPRd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b440cf-26be-40e2-a789-281918fd9068_1020x343.png 848w, https://substackcdn.com/image/fetch/$s_!tPRd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b440cf-26be-40e2-a789-281918fd9068_1020x343.png 1272w, https://substackcdn.com/image/fetch/$s_!tPRd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b440cf-26be-40e2-a789-281918fd9068_1020x343.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><figcaption class="image-caption">Source: <a href="https://open-vsx.org/extension/PawelHuryn/grok-vscode-phuryn">Open VSX Repository</a></figcaption></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_!PHfh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a34275-624b-4d43-9544-40f6667eed28_1037x438.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PHfh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a34275-624b-4d43-9544-40f6667eed28_1037x438.png 424w, https://substackcdn.com/image/fetch/$s_!PHfh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a34275-624b-4d43-9544-40f6667eed28_1037x438.png 848w, https://substackcdn.com/image/fetch/$s_!PHfh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a34275-624b-4d43-9544-40f6667eed28_1037x438.png 1272w, https://substackcdn.com/image/fetch/$s_!PHfh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a34275-624b-4d43-9544-40f6667eed28_1037x438.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PHfh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a34275-624b-4d43-9544-40f6667eed28_1037x438.png" width="1037" height="438" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18a34275-624b-4d43-9544-40f6667eed28_1037x438.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:438,&quot;width&quot;:1037,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:91971,&quot;alt&quot;:&quot;Grok Build for VS Code - VS Code marketplace stats&quot;,&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb8ad21-4905-462d-a1e3-9a9912f86ac0_1037x561.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Grok Build for VS Code - VS Code marketplace stats" title="Grok Build for VS Code - VS Code marketplace stats" srcset="https://substackcdn.com/image/fetch/$s_!PHfh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a34275-624b-4d43-9544-40f6667eed28_1037x438.png 424w, https://substackcdn.com/image/fetch/$s_!PHfh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a34275-624b-4d43-9544-40f6667eed28_1037x438.png 848w, https://substackcdn.com/image/fetch/$s_!PHfh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a34275-624b-4d43-9544-40f6667eed28_1037x438.png 1272w, https://substackcdn.com/image/fetch/$s_!PHfh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a34275-624b-4d43-9544-40f6667eed28_1037x438.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><figcaption class="image-caption">Source: <a href="https://marketplace.visualstudio.com/items?itemName=PawelHuryn.grok-vscode-phuryn">VS Code</a> marketplace</figcaption></figure></div><p>Many ask me how I can trust the agents.</p><p>If you think about the<strong> 5,094 tests, this number is crazy</strong>. Many of them impersonate users and drive the browser sessions end-to-end. Only AI could do that in 3 months. This <strong>transforms the quality</strong> of what we can ship as non-developers.</p><p>A critical part is also <strong>documenting the intent</strong>, so that agents have something to design tests and inspect the codebase against.</p><p>In my new series, rather than presenting infographics, I demonstrate the how <strong>step-by-step</strong>, with <strong>templates, prompts, </strong>and all the<strong> hacks</strong> I&#8217;ve learned. By the end you will know how to <strong>discover, design, build &amp; secure, launch &amp; monetize, analyze, and monitor</strong> a commercial product. A real side hustle or for your portfolio.</p><p>Without ever looking at the code.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><p><em>Side note: As some have asked, hooked users are already paying to use the remote client ($1,920 ARR). The first step was proving the value and the word-of-mouth. I will focus on monetization after launching <strong>managed</strong> <strong>hosting</strong> &#8212; tomorrow.</em></p><div><hr></div><p>In this issue:</p><ol><li><p>Case Study Context: AskOne, Slido Alternative</p></li><li><p>Claude Solution Template for Non-Coders</p></li><li><p>Step 1: Design your App</p></li><li><p>Step 2: Build a Static Website</p></li><li><p>Step 3: Setup Clerk &amp; Supabase</p></li><li><p>Step 4: Sign Up with Google, See Your Data</p></li><li><p>Step 5: Configure Billing and Plans, See a Purchase</p></li><li><p>Step 6: Add Test Accounts and Browser Automation</p></li><li><p>Step 7: Publish it, Simplified</p></li><li><p>&#128274; The Template to Download</p></li><li><p>Conclusion</p></li><li><p>&#128274; Live Session Recording</p></li></ol><p>You can choose <strong>any web product</strong>. The <strong>steps are universal</strong>. This part will take you 3-4 hours. Most of that is waiting for AI, so you can drive it remotely from your phone.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>1. Case Study Context: AskOne, Slido Alternative</strong></h2><p><strong>AskOne</strong><span> is live Q&amp;A for talks, webinars and cohort sessions:</span></p><ul><li><p><span>A </span><strong><span>host</span></strong><span> opens a room and gets a join code. </span></p></li><li><p><span>The </span><strong><span>audience</span></strong><span> opens </span><code>askone.org/r/&lt;code&gt;</code><span> on their phones, no account, asks questions and upvotes. </span></p></li><li><p><span>The </span><strong><span>host</span></strong><span> and </span><strong><span>moderators</span></strong><span> approve, hide, pin and mark answered; the room updates live; a projector view shows the top questions. When the room closes, the host gets the Q&amp;A by email. </span></p></li><li><p><span>An </span><strong><span>API and an MCP server</span></strong><span> let the host's agent turn the questions into a FAQ.</span></p></li></ul><p>B2B2C SaaS.</p><p>A $5/month alternative to <a href="https://www.slido.com/pricing?plan=annual">Slido</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_!byci!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5321975c-2114-4c01-855d-3233a3efe181_2371x1446.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!byci!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5321975c-2114-4c01-855d-3233a3efe181_2371x1446.png 424w, https://substackcdn.com/image/fetch/$s_!byci!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5321975c-2114-4c01-855d-3233a3efe181_2371x1446.png 848w, https://substackcdn.com/image/fetch/$s_!byci!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5321975c-2114-4c01-855d-3233a3efe181_2371x1446.png 1272w, https://substackcdn.com/image/fetch/$s_!byci!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5321975c-2114-4c01-855d-3233a3efe181_2371x1446.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!byci!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5321975c-2114-4c01-855d-3233a3efe181_2371x1446.png" width="1456" height="888" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5321975c-2114-4c01-855d-3233a3efe181_2371x1446.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:888,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:237925,&quot;alt&quot;:&quot;Slido live Q&amp;A dashboard - the product AskOne replaces&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5321975c-2114-4c01-855d-3233a3efe181_2371x1446.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Slido live Q&amp;A dashboard - the product AskOne replaces" title="Slido live Q&amp;A dashboard - the product AskOne replaces" srcset="https://substackcdn.com/image/fetch/$s_!byci!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5321975c-2114-4c01-855d-3233a3efe181_2371x1446.png 424w, https://substackcdn.com/image/fetch/$s_!byci!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5321975c-2114-4c01-855d-3233a3efe181_2371x1446.png 848w, https://substackcdn.com/image/fetch/$s_!byci!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5321975c-2114-4c01-855d-3233a3efe181_2371x1446.png 1272w, https://substackcdn.com/image/fetch/$s_!byci!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5321975c-2114-4c01-855d-3233a3efe181_2371x1446.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">Slido live Q&amp;A dashboard - the product AskOne replaces</figcaption></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_!QoVj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac5bf44-bebf-401f-a3c6-14f09d122bfd_1041x674.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QoVj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac5bf44-bebf-401f-a3c6-14f09d122bfd_1041x674.png 424w, https://substackcdn.com/image/fetch/$s_!QoVj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac5bf44-bebf-401f-a3c6-14f09d122bfd_1041x674.png 848w, https://substackcdn.com/image/fetch/$s_!QoVj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac5bf44-bebf-401f-a3c6-14f09d122bfd_1041x674.png 1272w, https://substackcdn.com/image/fetch/$s_!QoVj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac5bf44-bebf-401f-a3c6-14f09d122bfd_1041x674.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QoVj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac5bf44-bebf-401f-a3c6-14f09d122bfd_1041x674.png" width="1041" height="674" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fac5bf44-bebf-401f-a3c6-14f09d122bfd_1041x674.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:674,&quot;width&quot;:1041,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:104327,&quot;alt&quot;:&quot;Slido pricing - the benchmark for the $5/month alternative&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac5bf44-bebf-401f-a3c6-14f09d122bfd_1041x674.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Slido pricing - the benchmark for the $5/month alternative" title="Slido pricing - the benchmark for the $5/month alternative" srcset="https://substackcdn.com/image/fetch/$s_!QoVj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac5bf44-bebf-401f-a3c6-14f09d122bfd_1041x674.png 424w, https://substackcdn.com/image/fetch/$s_!QoVj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac5bf44-bebf-401f-a3c6-14f09d122bfd_1041x674.png 848w, https://substackcdn.com/image/fetch/$s_!QoVj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac5bf44-bebf-401f-a3c6-14f09d122bfd_1041x674.png 1272w, https://substackcdn.com/image/fetch/$s_!QoVj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac5bf44-bebf-401f-a3c6-14f09d122bfd_1041x674.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">Slido pricing - the benchmark for the $5/month alternative</figcaption></figure></div><p>Banal on purpose. It will demonstrate all critical elements, including a multi-tenant setup, Google authentication, paid subscriptions, roles and permissions, CI/CD, and securing the app.</p><p>You will never open a file with the code.</p><div><hr></div><h2><strong>2. Claude Solution Template for Non-Coders</strong></h2><p>You don&#8217;t have to start from scratch. A Claude SaaS solution template we will start with defines:</p><ul><li><p>The recommended, common tech stack (Next.js, Clerk, Supabase)</p></li><li><p>Preinstalled skills for Supabase and Clerk integrations</p></li><li><p>Instructions for the agent (quality, documentation, opinionated choices that worked best for me)</p></li></ul><p>AGENTS.md has a <strong>strategic context placeholder</strong> that should stem from your <a href="https://www.productcompass.pm/p/product-discovery-2026?r=1fipi8&amp;utm_campaign=post&amp;utm_medium=web">product discovery</a>. Explain what you want to build, market segments, value propositions, jobs to be done, use cases, who can do what, not in scope, and constraints:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!79-3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5330814f-fa1c-414f-b3dc-6589260aba2c_2732x1727.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!79-3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5330814f-fa1c-414f-b3dc-6589260aba2c_2732x1727.png 424w, https://substackcdn.com/image/fetch/$s_!79-3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5330814f-fa1c-414f-b3dc-6589260aba2c_2732x1727.png 848w, https://substackcdn.com/image/fetch/$s_!79-3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5330814f-fa1c-414f-b3dc-6589260aba2c_2732x1727.png 1272w, https://substackcdn.com/image/fetch/$s_!79-3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5330814f-fa1c-414f-b3dc-6589260aba2c_2732x1727.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!79-3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5330814f-fa1c-414f-b3dc-6589260aba2c_2732x1727.png" width="1456" height="920" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5330814f-fa1c-414f-b3dc-6589260aba2c_2732x1727.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:920,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:515450,&quot;alt&quot;:&quot;AGENTS.md strategic context placeholder in the Claude SaaS solution template&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5330814f-fa1c-414f-b3dc-6589260aba2c_2732x1727.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AGENTS.md strategic context placeholder in the Claude SaaS solution template" title="AGENTS.md strategic context placeholder in the Claude SaaS solution template" srcset="https://substackcdn.com/image/fetch/$s_!79-3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5330814f-fa1c-414f-b3dc-6589260aba2c_2732x1727.png 424w, https://substackcdn.com/image/fetch/$s_!79-3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5330814f-fa1c-414f-b3dc-6589260aba2c_2732x1727.png 848w, https://substackcdn.com/image/fetch/$s_!79-3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5330814f-fa1c-414f-b3dc-6589260aba2c_2732x1727.png 1272w, https://substackcdn.com/image/fetch/$s_!79-3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5330814f-fa1c-414f-b3dc-6589260aba2c_2732x1727.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">AGENTS.md strategic context placeholder in the Claude SaaS solution template</figcaption></figure></div><p>This is just a high-level <a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">strategic context</a>, not a full specification upfront &#8212; we can&#8217;t know it without interacting with the app and getting feedback from the users. </p><p>You can use my case study, or replace it with what you know about your product.</p><div><hr></div><h2><strong>3. Step 1: Design your App</strong></h2><p>We start with design. Let&#8217;s keep it simple. No accounts, no keys, no database. Just you and the Claude Code chat. </p><p>Ask (all my prompts are part of the template, you can copy and adjust them):</p><pre><code><code>Read AGENTS.md. Design only &#8212; no code, no database, no .env.

/design the two Phase 1 screens with their empty states: the host's rooms list (desktop) and the participant's room page (phone). Use the `frontend-design` skill. I want to open and interact with the results.

Give me two genuinely different directions, one line each on what it optimizes for and the trade-off. Stop; I pick.

After I pick: build the kit in design/, rebuild the two screens from it, keep the artboards in the repo, commit, and stop again.

Layout, copy, type, color, what the kit contains &#8212; yours. Real copy, lucide icons, phone-first.</code> </code></pre><p>It gave me an interactive link with 2 designs: <a href="https://claude.ai/code/artifact/6abe1030-5b21-418e-9326-999b3edfa816">https://claude.ai/code/artifact/6abe1030-5b21-418e-9326-999b3edfa816</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_!d2UK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c60a229-71de-47e2-b3e3-17c64b608e79_1525x701.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d2UK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c60a229-71de-47e2-b3e3-17c64b608e79_1525x701.png 424w, https://substackcdn.com/image/fetch/$s_!d2UK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c60a229-71de-47e2-b3e3-17c64b608e79_1525x701.png 848w, https://substackcdn.com/image/fetch/$s_!d2UK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c60a229-71de-47e2-b3e3-17c64b608e79_1525x701.png 1272w, https://substackcdn.com/image/fetch/$s_!d2UK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c60a229-71de-47e2-b3e3-17c64b608e79_1525x701.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d2UK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c60a229-71de-47e2-b3e3-17c64b608e79_1525x701.png" width="1456" height="669" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c60a229-71de-47e2-b3e3-17c64b608e79_1525x701.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:669,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:210454,&quot;alt&quot;:&quot;Claude artifacts - an interactive link with 2 designs&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c60a229-71de-47e2-b3e3-17c64b608e79_1525x701.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude artifacts - an interactive link with 2 designs" title="Claude artifacts - an interactive link with 2 designs" srcset="https://substackcdn.com/image/fetch/$s_!d2UK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c60a229-71de-47e2-b3e3-17c64b608e79_1525x701.png 424w, https://substackcdn.com/image/fetch/$s_!d2UK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c60a229-71de-47e2-b3e3-17c64b608e79_1525x701.png 848w, https://substackcdn.com/image/fetch/$s_!d2UK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c60a229-71de-47e2-b3e3-17c64b608e79_1525x701.png 1272w, https://substackcdn.com/image/fetch/$s_!d2UK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c60a229-71de-47e2-b3e3-17c64b608e79_1525x701.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>I rejected &#8220;A - Show of hands&#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_!bume!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5543283f-5c18-4664-a6fa-388d0cc4a381_2613x1609.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bume!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5543283f-5c18-4664-a6fa-388d0cc4a381_2613x1609.png 424w, https://substackcdn.com/image/fetch/$s_!bume!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5543283f-5c18-4664-a6fa-388d0cc4a381_2613x1609.png 848w, https://substackcdn.com/image/fetch/$s_!bume!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5543283f-5c18-4664-a6fa-388d0cc4a381_2613x1609.png 1272w, https://substackcdn.com/image/fetch/$s_!bume!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5543283f-5c18-4664-a6fa-388d0cc4a381_2613x1609.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bume!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5543283f-5c18-4664-a6fa-388d0cc4a381_2613x1609.png" width="1456" height="897" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5543283f-5c18-4664-a6fa-388d0cc4a381_2613x1609.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:897,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:255356,&quot;alt&quot;:&quot;AskOne, prototype A - Show of hands&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5543283f-5c18-4664-a6fa-388d0cc4a381_2613x1609.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AskOne, prototype A - Show of hands" title="AskOne, prototype A - Show of hands" srcset="https://substackcdn.com/image/fetch/$s_!bume!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5543283f-5c18-4664-a6fa-388d0cc4a381_2613x1609.png 424w, https://substackcdn.com/image/fetch/$s_!bume!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5543283f-5c18-4664-a6fa-388d0cc4a381_2613x1609.png 848w, https://substackcdn.com/image/fetch/$s_!bume!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5543283f-5c18-4664-a6fa-388d0cc4a381_2613x1609.png 1272w, https://substackcdn.com/image/fetch/$s_!bume!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5543283f-5c18-4664-a6fa-388d0cc4a381_2613x1609.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">Prototype A - Show of hands</figcaption></figure></div><p>And selected B &#8212; Signal desk, to prioritize enterprise buyers:</p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b866a238-0e43-47fe-82de-f1c1eec3d29b_1058x651.png&quot;}],&quot;caption&quot;:&quot;Prototype B &#8212; Signal desk&quot;,&quot;alt&quot;:&quot;AskOne, prototype B - Signal desk&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b866a238-0e43-47fe-82de-f1c1eec3d29b_1058x651.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p>Then, Claude built a design system with tokens (colors, styles) we will use later when developing our product. You can preview it here: <a href="https://claude.ai/code/artifact/32fd141c-452d-45a7-8111-d6cb7792085a">https://claude.ai/code/artifact/32fd141c-452d-45a7-8111-d6cb7792085a</a></p><div><hr></div><h2><strong>4. Step 2: Build a Static Website</strong></h2><p>This step turns the design into an app we can click through. Still without accounts or database.</p><p>Ask the agent:</p><pre><code><code>Read AGENTS.md and design/README.md. Build the approved design as a running app: the host's rooms list and the participant's room page, with realistic content and their empty states.

No accounts and no database in this session. 003 connects Clerk and Supabase; 004 puts the real data model (&#167; 1.1 &#8212; workspaces, the three functions) behind these same screens. Build so that swap is small, and invent no storage in the meantime.

Plan briefly, build, commit, run it and give me the URL. Then stop and tell me what I can click.</code></code></pre><p>It gave me a URL I can click (localhost, works only on my machine):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pPyH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6092bf99-075f-41ea-96eb-f7e40ce510e9_1742x1138.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pPyH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6092bf99-075f-41ea-96eb-f7e40ce510e9_1742x1138.png 424w, https://substackcdn.com/image/fetch/$s_!pPyH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6092bf99-075f-41ea-96eb-f7e40ce510e9_1742x1138.png 848w, https://substackcdn.com/image/fetch/$s_!pPyH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6092bf99-075f-41ea-96eb-f7e40ce510e9_1742x1138.png 1272w, https://substackcdn.com/image/fetch/$s_!pPyH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6092bf99-075f-41ea-96eb-f7e40ce510e9_1742x1138.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pPyH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6092bf99-075f-41ea-96eb-f7e40ce510e9_1742x1138.png" width="1456" height="951" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6092bf99-075f-41ea-96eb-f7e40ce510e9_1742x1138.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;:271329,&quot;alt&quot;:&quot;Claude Code - build a static page&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6092bf99-075f-41ea-96eb-f7e40ce510e9_1742x1138.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Code - build a static page" title="Claude Code - build a static page" srcset="https://substackcdn.com/image/fetch/$s_!pPyH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6092bf99-075f-41ea-96eb-f7e40ce510e9_1742x1138.png 424w, https://substackcdn.com/image/fetch/$s_!pPyH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6092bf99-075f-41ea-96eb-f7e40ce510e9_1742x1138.png 848w, https://substackcdn.com/image/fetch/$s_!pPyH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6092bf99-075f-41ea-96eb-f7e40ce510e9_1742x1138.png 1272w, https://substackcdn.com/image/fetch/$s_!pPyH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6092bf99-075f-41ea-96eb-f7e40ce510e9_1742x1138.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="callout-block" data-callout="true"><p>&#128204; Note that in one of the bullets it mentioned pasting the <code>&lt;script&gt;</code> element - this eliminates the &#8220;XSS injection&#8221; attack surface. Our template instructions (AGENTS.md) teach the agent to consider common threats, even before review.</p></div><p>The live website looked just like the design:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8Vmr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037093cb-850f-4843-abfa-aee841b38422_2542x1547.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8Vmr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037093cb-850f-4843-abfa-aee841b38422_2542x1547.png 424w, https://substackcdn.com/image/fetch/$s_!8Vmr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037093cb-850f-4843-abfa-aee841b38422_2542x1547.png 848w, https://substackcdn.com/image/fetch/$s_!8Vmr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037093cb-850f-4843-abfa-aee841b38422_2542x1547.png 1272w, https://substackcdn.com/image/fetch/$s_!8Vmr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037093cb-850f-4843-abfa-aee841b38422_2542x1547.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8Vmr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037093cb-850f-4843-abfa-aee841b38422_2542x1547.png" width="1456" height="886" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/037093cb-850f-4843-abfa-aee841b38422_2542x1547.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:886,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:309341,&quot;alt&quot;:&quot;Claude Code - static website based on the design&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037093cb-850f-4843-abfa-aee841b38422_2542x1547.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Code - static website based on the design" title="Claude Code - static website based on the design" srcset="https://substackcdn.com/image/fetch/$s_!8Vmr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037093cb-850f-4843-abfa-aee841b38422_2542x1547.png 424w, https://substackcdn.com/image/fetch/$s_!8Vmr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037093cb-850f-4843-abfa-aee841b38422_2542x1547.png 848w, https://substackcdn.com/image/fetch/$s_!8Vmr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037093cb-850f-4843-abfa-aee841b38422_2542x1547.png 1272w, https://substackcdn.com/image/fetch/$s_!8Vmr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037093cb-850f-4843-abfa-aee841b38422_2542x1547.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">Static website Claude implemented based on the design</figcaption></figure></div><div><hr></div><h2><strong>5. Step 3: Setup Clerk &amp; Supabase</strong></h2><p>Our app exists and can be displayed in the browser, but with fake content. The next step is connecting the two services that make it real:</p><ul><li><p><strong>Clerk</strong><span> decides who you are</span></p></li><li><p><strong>Supabase</strong><span> is where the data lives</span></p></li></ul><h3>Step 3.1: Create two new projects</h3><p><strong>Configure Clerk</strong></p><p>Create a new, free application at <a href="https://dashboard.clerk.com/apps/new">https://dashboard.clerk.com/apps/new</a>. Make sure Google auth is enabled. Don&#8217;t enable multi-tenancy yet. We will do it later:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oMYC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edf6e87-f929-46c9-a90c-054e935f0124_1456x1026.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oMYC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edf6e87-f929-46c9-a90c-054e935f0124_1456x1026.png 424w, https://substackcdn.com/image/fetch/$s_!oMYC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edf6e87-f929-46c9-a90c-054e935f0124_1456x1026.png 848w, https://substackcdn.com/image/fetch/$s_!oMYC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edf6e87-f929-46c9-a90c-054e935f0124_1456x1026.png 1272w, https://substackcdn.com/image/fetch/$s_!oMYC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edf6e87-f929-46c9-a90c-054e935f0124_1456x1026.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oMYC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edf6e87-f929-46c9-a90c-054e935f0124_1456x1026.png" width="1456" height="1026" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9edf6e87-f929-46c9-a90c-054e935f0124_1456x1026.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1026,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:278815,&quot;alt&quot;:&quot;Create a free Clerk application with Google authentication enabled&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edf6e87-f929-46c9-a90c-054e935f0124_1456x1026.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Create a free Clerk application with Google authentication enabled" title="Create a free Clerk application with Google authentication enabled" srcset="https://substackcdn.com/image/fetch/$s_!oMYC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edf6e87-f929-46c9-a90c-054e935f0124_1456x1026.png 424w, https://substackcdn.com/image/fetch/$s_!oMYC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edf6e87-f929-46c9-a90c-054e935f0124_1456x1026.png 848w, https://substackcdn.com/image/fetch/$s_!oMYC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edf6e87-f929-46c9-a90c-054e935f0124_1456x1026.png 1272w, https://substackcdn.com/image/fetch/$s_!oMYC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edf6e87-f929-46c9-a90c-054e935f0124_1456x1026.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">Create a free Clerk application with Google authentication enabled</figcaption></figure></div><p>You will land on the <strong>development</strong> instance. The dashboard offers a long &#8220;Add authentication&#8221; prompt: ignore it. The page you want is <strong>Configure &#8594; API keys</strong>. </p><p>Note:</p><ul><li><p><code>NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY</code></p></li><li><p><code>CLERK_SECRET_KEY</code></p></li></ul><p><strong>Configure Supabase</strong></p><p>Create an empty, free project at <a href="https://supabase.com/dashboard">https://supabase.com/dashboard</a>. </p><p>Go to <strong>Project Settings &#8594; API</strong> for the project URL and the <strong>secret</strong> key. The publishable key is optional, only for your unit tests.</p><p>Note:</p><ul><li><p><code>SUPABASE_URL</code></p></li><li><p><code>SUPABASE_SECRET_KEY</code></p></li><li><p><code>SUPABASE_PUBLISHABLE_KEY</code></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_!zOnr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f12438-3bbf-495e-94ae-e39c5508b157_2767x1724.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zOnr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f12438-3bbf-495e-94ae-e39c5508b157_2767x1724.png 424w, https://substackcdn.com/image/fetch/$s_!zOnr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f12438-3bbf-495e-94ae-e39c5508b157_2767x1724.png 848w, https://substackcdn.com/image/fetch/$s_!zOnr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f12438-3bbf-495e-94ae-e39c5508b157_2767x1724.png 1272w, https://substackcdn.com/image/fetch/$s_!zOnr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f12438-3bbf-495e-94ae-e39c5508b157_2767x1724.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zOnr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f12438-3bbf-495e-94ae-e39c5508b157_2767x1724.png" width="1456" height="907" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b7f12438-3bbf-495e-94ae-e39c5508b157_2767x1724.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:907,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:539607,&quot;alt&quot;:&quot;How to Configure Supabase&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f12438-3bbf-495e-94ae-e39c5508b157_2767x1724.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to Configure Supabase" title="How to Configure Supabase" srcset="https://substackcdn.com/image/fetch/$s_!zOnr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f12438-3bbf-495e-94ae-e39c5508b157_2767x1724.png 424w, https://substackcdn.com/image/fetch/$s_!zOnr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f12438-3bbf-495e-94ae-e39c5508b157_2767x1724.png 848w, https://substackcdn.com/image/fetch/$s_!zOnr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f12438-3bbf-495e-94ae-e39c5508b157_2767x1724.png 1272w, https://substackcdn.com/image/fetch/$s_!zOnr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f12438-3bbf-495e-94ae-e39c5508b157_2767x1724.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">How to Configure Supabase</figcaption></figure></div><h3>Step 3.2: Establish a Supabase MCP connection</h3><p><span>Supabase generates this for </span>your<span> project under </span><strong>Connect &#8594; MCP &#8594; Claude Code</strong><span>. Select all feature groups, copy the prompt, and paste it into your Claude Code:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0RCn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fede58d5c-90c2-41c5-9e54-7b73bc74026f_1872x1624.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0RCn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fede58d5c-90c2-41c5-9e54-7b73bc74026f_1872x1624.png 424w, https://substackcdn.com/image/fetch/$s_!0RCn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fede58d5c-90c2-41c5-9e54-7b73bc74026f_1872x1624.png 848w, https://substackcdn.com/image/fetch/$s_!0RCn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fede58d5c-90c2-41c5-9e54-7b73bc74026f_1872x1624.png 1272w, https://substackcdn.com/image/fetch/$s_!0RCn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fede58d5c-90c2-41c5-9e54-7b73bc74026f_1872x1624.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0RCn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fede58d5c-90c2-41c5-9e54-7b73bc74026f_1872x1624.png" width="1456" height="1263" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ede58d5c-90c2-41c5-9e54-7b73bc74026f_1872x1624.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1263,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:236957,&quot;alt&quot;:&quot;How to Establish a Supabase MCP connection&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fede58d5c-90c2-41c5-9e54-7b73bc74026f_1872x1624.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to Establish a Supabase MCP connection" title="How to Establish a Supabase MCP connection" srcset="https://substackcdn.com/image/fetch/$s_!0RCn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fede58d5c-90c2-41c5-9e54-7b73bc74026f_1872x1624.png 424w, https://substackcdn.com/image/fetch/$s_!0RCn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fede58d5c-90c2-41c5-9e54-7b73bc74026f_1872x1624.png 848w, https://substackcdn.com/image/fetch/$s_!0RCn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fede58d5c-90c2-41c5-9e54-7b73bc74026f_1872x1624.png 1272w, https://substackcdn.com/image/fetch/$s_!0RCn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fede58d5c-90c2-41c5-9e54-7b73bc74026f_1872x1624.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">How to Establish a Supabase MCP connection</figcaption></figure></div><p><span>It carries your project ref, so the version below is only the shape:</span></p><pre><code><code>1. Add MCP server

claude mcp add --scope project --transport http supabase "https://mcp.supabase.com/mcp?project_ref=************"

2. Authenticate

Run this in a regular terminal, not an IDE extension. Select the supabase server, then Authenticate.

claude /mcp

3. Install Agent Skills (optional)

npx skills add supabase/agent-skills</code></code></pre><p><span>&#8220;</span><code>Install Agent Skills</code><span>&#8221; is already done (included in our template). Step 2 is yours: open Claude Code in the terminal, type </span><code>/mcp</code><span>, pick </span><code>supabase</code><span>, select </span><strong>Authenticate</strong> (hit Enter)<span>:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8xs6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa217d029-ab5f-45eb-99e1-67f4a4c36749_1494x707.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8xs6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa217d029-ab5f-45eb-99e1-67f4a4c36749_1494x707.png 424w, https://substackcdn.com/image/fetch/$s_!8xs6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa217d029-ab5f-45eb-99e1-67f4a4c36749_1494x707.png 848w, https://substackcdn.com/image/fetch/$s_!8xs6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa217d029-ab5f-45eb-99e1-67f4a4c36749_1494x707.png 1272w, https://substackcdn.com/image/fetch/$s_!8xs6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa217d029-ab5f-45eb-99e1-67f4a4c36749_1494x707.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8xs6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa217d029-ab5f-45eb-99e1-67f4a4c36749_1494x707.png" width="1456" height="689" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a217d029-ab5f-45eb-99e1-67f4a4c36749_1494x707.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;:86230,&quot;alt&quot;:&quot;Claude Code CLI - authenticate an MCP server&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa217d029-ab5f-45eb-99e1-67f4a4c36749_1494x707.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Code CLI - authenticate an MCP server" title="Claude Code CLI - authenticate an MCP server" srcset="https://substackcdn.com/image/fetch/$s_!8xs6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa217d029-ab5f-45eb-99e1-67f4a4c36749_1494x707.png 424w, https://substackcdn.com/image/fetch/$s_!8xs6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa217d029-ab5f-45eb-99e1-67f4a4c36749_1494x707.png 848w, https://substackcdn.com/image/fetch/$s_!8xs6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa217d029-ab5f-45eb-99e1-67f4a4c36749_1494x707.png 1272w, https://substackcdn.com/image/fetch/$s_!8xs6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa217d029-ab5f-45eb-99e1-67f4a4c36749_1494x707.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><span>Restart Claude Code by pressing &#8220;Ctrl + Shift + P,&#8221; then &#8220;Developer: Reload Window&#8221;: </span></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wZVc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcafc4e3d-bcd8-47db-b791-fb5b574e6389_2380x470.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wZVc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcafc4e3d-bcd8-47db-b791-fb5b574e6389_2380x470.png 424w, https://substackcdn.com/image/fetch/$s_!wZVc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcafc4e3d-bcd8-47db-b791-fb5b574e6389_2380x470.png 848w, https://substackcdn.com/image/fetch/$s_!wZVc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcafc4e3d-bcd8-47db-b791-fb5b574e6389_2380x470.png 1272w, https://substackcdn.com/image/fetch/$s_!wZVc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcafc4e3d-bcd8-47db-b791-fb5b574e6389_2380x470.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wZVc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcafc4e3d-bcd8-47db-b791-fb5b574e6389_2380x470.png" width="1456" height="288" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cafc4e3d-bcd8-47db-b791-fb5b574e6389_2380x470.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:288,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:122109,&quot;alt&quot;:&quot;Restart Claude Code by pressing &#8220;Ctrl + Shift + P,&#8221; then &#8220;Developer: Reload Window&#8221;&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcafc4e3d-bcd8-47db-b791-fb5b574e6389_2380x470.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Restart Claude Code by pressing &#8220;Ctrl + Shift + P,&#8221; then &#8220;Developer: Reload Window&#8221;" title="Restart Claude Code by pressing &#8220;Ctrl + Shift + P,&#8221; then &#8220;Developer: Reload Window&#8221;" srcset="https://substackcdn.com/image/fetch/$s_!wZVc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcafc4e3d-bcd8-47db-b791-fb5b574e6389_2380x470.png 424w, https://substackcdn.com/image/fetch/$s_!wZVc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcafc4e3d-bcd8-47db-b791-fb5b574e6389_2380x470.png 848w, https://substackcdn.com/image/fetch/$s_!wZVc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcafc4e3d-bcd8-47db-b791-fb5b574e6389_2380x470.png 1272w, https://substackcdn.com/image/fetch/$s_!wZVc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcafc4e3d-bcd8-47db-b791-fb5b574e6389_2380x470.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><span>Or you can restart the entire VS Code.</span></p><h3>Step 3.3: <span>Configure your access keys</span></h3><p><span>Copy </span><code>.env.example</code><span> to </span><code>.env</code><span> and fill in the five values from Step 3.1:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bLJO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe72f25-3e22-443e-bb01-6d6614fe812c_2347x1067.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bLJO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe72f25-3e22-443e-bb01-6d6614fe812c_2347x1067.png 424w, https://substackcdn.com/image/fetch/$s_!bLJO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe72f25-3e22-443e-bb01-6d6614fe812c_2347x1067.png 848w, https://substackcdn.com/image/fetch/$s_!bLJO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe72f25-3e22-443e-bb01-6d6614fe812c_2347x1067.png 1272w, https://substackcdn.com/image/fetch/$s_!bLJO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe72f25-3e22-443e-bb01-6d6614fe812c_2347x1067.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bLJO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe72f25-3e22-443e-bb01-6d6614fe812c_2347x1067.png" width="1456" height="662" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fe72f25-3e22-443e-bb01-6d6614fe812c_2347x1067.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:662,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:352288,&quot;alt&quot;:&quot;VS Code, Configure your access keys&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe72f25-3e22-443e-bb01-6d6614fe812c_2347x1067.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="VS Code, Configure your access keys" title="VS Code, Configure your access keys" srcset="https://substackcdn.com/image/fetch/$s_!bLJO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe72f25-3e22-443e-bb01-6d6614fe812c_2347x1067.png 424w, https://substackcdn.com/image/fetch/$s_!bLJO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe72f25-3e22-443e-bb01-6d6614fe812c_2347x1067.png 848w, https://substackcdn.com/image/fetch/$s_!bLJO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe72f25-3e22-443e-bb01-6d6614fe812c_2347x1067.png 1272w, https://substackcdn.com/image/fetch/$s_!bLJO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe72f25-3e22-443e-bb01-6d6614fe812c_2347x1067.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">Store your access keys in the .env file</figcaption></figure></div><div class="callout-block" data-callout="true"><p>&#128204; Keys go into <code>.env</code> and nowhere else - never into the chat. A key that touched the chat should be treated as compromised and rotated (regenerated). For production, you will store them elsewhere.</p></div><p>Ask the agent:</p><pre><code><code>I configured the secrets in .env. Please verify connections to Supabase and Clerk.</code> </code></pre><p>All should be green (not literally). If not, let the agent guide you.</p><div><hr></div><h2><strong>6. Step 4: Sign Up with Google, See Your Data</strong></h2><p>The screens exist and the two services are connected. This step makes them real: signing in, a database, and who is allowed to do what. It is the long one, though. You can delegate that work and go do something else.</p><p>Ask the agent (Opus 5 worked for ~30 min):</p><pre><code><code>Read AGENTS.md and design/README.md. Build Phase 1 for real: sign-in, a host's own rooms, the public room page anyone can use without an account, questions, and upvotes.

Check the ground first &#8212; the Supabase MCP answers, the project has no tables, .env is filled &#8212; and stop if any of that is false. Then plan in one page and stop.

Build it. The screens from design/ keep their shape; what changes is where their data comes from and how users can authenticate. Use standard Clerk components and integrate them with the existing design.

Then commit, run it, give me the URL, and one summary: what exists, what the tests cover, what you left out, and how I check it by hand.</code> </code></pre><p>You will get a working app you can sign up into:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;44c352ad-cecf-477a-80ce-6864b42177d7&quot;,&quot;duration&quot;:null}"></div><div class="callout-block" data-callout="true"><p>&#128204; Claude wrote <strong>detailed unit and integration tests</strong>. I didn&#8217;t ask for it. The instructions came from our Claude solution template.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/p/product-engineering-for-pms?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/p/product-engineering-for-pms?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Part of its report:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xX9F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b6ed260-8fa4-48be-b6f1-496c7a8a4300_1653x853.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xX9F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b6ed260-8fa4-48be-b6f1-496c7a8a4300_1653x853.png 424w, https://substackcdn.com/image/fetch/$s_!xX9F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b6ed260-8fa4-48be-b6f1-496c7a8a4300_1653x853.png 848w, https://substackcdn.com/image/fetch/$s_!xX9F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b6ed260-8fa4-48be-b6f1-496c7a8a4300_1653x853.png 1272w, https://substackcdn.com/image/fetch/$s_!xX9F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b6ed260-8fa4-48be-b6f1-496c7a8a4300_1653x853.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xX9F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b6ed260-8fa4-48be-b6f1-496c7a8a4300_1653x853.png" width="1456" height="751" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b6ed260-8fa4-48be-b6f1-496c7a8a4300_1653x853.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:751,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:224305,&quot;alt&quot;:&quot;Claude Code - detailed unit and integration tests&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b6ed260-8fa4-48be-b6f1-496c7a8a4300_1653x853.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Code - detailed unit and integration tests" title="Claude Code - detailed unit and integration tests" srcset="https://substackcdn.com/image/fetch/$s_!xX9F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b6ed260-8fa4-48be-b6f1-496c7a8a4300_1653x853.png 424w, https://substackcdn.com/image/fetch/$s_!xX9F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b6ed260-8fa4-48be-b6f1-496c7a8a4300_1653x853.png 848w, https://substackcdn.com/image/fetch/$s_!xX9F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b6ed260-8fa4-48be-b6f1-496c7a8a4300_1653x853.png 1272w, https://substackcdn.com/image/fetch/$s_!xX9F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b6ed260-8fa4-48be-b6f1-496c7a8a4300_1653x853.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="callout-block" data-callout="true"><p>&#128204; We haven&#8217;t provided Claude with test accounts yet, so browser automation couldn&#8217;t be tested. That&#8217;s expected.</p></div><p>The session didn&#8217;t end at the first summary. I tested the app manually and asked for what's missing. The follow-up prompt that was actually run:</p><pre><code><code>Issues:
- Implement the 'Open projector' and 'Close room' buttons - they currently do nothing.
- Add a QR code for the room URL, perhaps displayed on request on `/rooms` and inside the room. Include buttons to copy the URL and download the QR code as a PNG.
- Add confirmation before closing a room. Closing should block anonymous participants only. I should still be able to open the room, view questions, and reopen it for participants.
- Remove the Next.js icon.</code></code></pre><p>Claude fixed all those issues in one iteration. I already included them in the video above.</p><div class="callout-block" data-callout="true"><p>&#128204; Note the shape: a flat list of what&#8217;s wrong or missing, each item saying what should happen rather than how to build it. You define the intent, without micro-managing the agent. </p><p>You can also forget most of what you heard about prompt engineering - agents don&#8217;t need it anymore when they have the right context. <em>&#8220;IMO this looks bad. Look at the borders&#8221;</em> with the attached screenshot is perfectly fine.</p></div><div><hr></div><h2><strong>7. Step 5: Configure Billing and Plans, See a Purchase</strong></h2><p>We can&#8217;t offer our product for free forever. The next step is configuring subscription plans. Let&#8217;s start with B2C. </p><h3>Step 5.1: Enable billing</h3><p>Go to <a href="https://dashboard.clerk.com/">Clerk Dashboard</a> &gt; Configure &gt; Billing and turn on &#8220;Enable user billing:&#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_!87Rt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dde006e-5fbe-4be4-9dcb-99e150665edb_2375x867.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!87Rt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dde006e-5fbe-4be4-9dcb-99e150665edb_2375x867.png 424w, https://substackcdn.com/image/fetch/$s_!87Rt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dde006e-5fbe-4be4-9dcb-99e150665edb_2375x867.png 848w, https://substackcdn.com/image/fetch/$s_!87Rt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dde006e-5fbe-4be4-9dcb-99e150665edb_2375x867.png 1272w, https://substackcdn.com/image/fetch/$s_!87Rt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dde006e-5fbe-4be4-9dcb-99e150665edb_2375x867.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!87Rt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dde006e-5fbe-4be4-9dcb-99e150665edb_2375x867.png" width="1456" height="532" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6dde006e-5fbe-4be4-9dcb-99e150665edb_2375x867.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:532,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:123952,&quot;alt&quot;:&quot;Go to Clerk Dashboard > Configure > Billing and turn on &#8220;Enable user billing&#8221;&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dde006e-5fbe-4be4-9dcb-99e150665edb_2375x867.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Go to Clerk Dashboard > Configure > Billing and turn on &#8220;Enable user billing&#8221;" title="Go to Clerk Dashboard > Configure > Billing and turn on &#8220;Enable user billing&#8221;" srcset="https://substackcdn.com/image/fetch/$s_!87Rt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dde006e-5fbe-4be4-9dcb-99e150665edb_2375x867.png 424w, https://substackcdn.com/image/fetch/$s_!87Rt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dde006e-5fbe-4be4-9dcb-99e150665edb_2375x867.png 848w, https://substackcdn.com/image/fetch/$s_!87Rt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dde006e-5fbe-4be4-9dcb-99e150665edb_2375x867.png 1272w, https://substackcdn.com/image/fetch/$s_!87Rt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dde006e-5fbe-4be4-9dcb-99e150665edb_2375x867.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>On the same page enable &#8220;Clerk payment gateway&#8221; - on a dev environment, we don&#8217;t want real transactions (later, the integration with real Stripe is banal):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CdYf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1901c9d-4532-48ff-b64f-3521db4039a4_2395x698.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CdYf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1901c9d-4532-48ff-b64f-3521db4039a4_2395x698.png 424w, https://substackcdn.com/image/fetch/$s_!CdYf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1901c9d-4532-48ff-b64f-3521db4039a4_2395x698.png 848w, https://substackcdn.com/image/fetch/$s_!CdYf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1901c9d-4532-48ff-b64f-3521db4039a4_2395x698.png 1272w, https://substackcdn.com/image/fetch/$s_!CdYf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1901c9d-4532-48ff-b64f-3521db4039a4_2395x698.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CdYf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1901c9d-4532-48ff-b64f-3521db4039a4_2395x698.png" width="1456" height="424" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b1901c9d-4532-48ff-b64f-3521db4039a4_2395x698.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:424,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:114351,&quot;alt&quot;:&quot;Configure Clerk payment gateway for a development environment&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1901c9d-4532-48ff-b64f-3521db4039a4_2395x698.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Configure Clerk payment gateway for a development environment" title="Configure Clerk payment gateway for a development environment" srcset="https://substackcdn.com/image/fetch/$s_!CdYf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1901c9d-4532-48ff-b64f-3521db4039a4_2395x698.png 424w, https://substackcdn.com/image/fetch/$s_!CdYf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1901c9d-4532-48ff-b64f-3521db4039a4_2395x698.png 848w, https://substackcdn.com/image/fetch/$s_!CdYf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1901c9d-4532-48ff-b64f-3521db4039a4_2395x698.png 1272w, https://substackcdn.com/image/fetch/$s_!CdYf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1901c9d-4532-48ff-b64f-3521db4039a4_2395x698.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>Step 5.2: Define Subscription Plans</h3><p>Next, go to <a href="https://dashboard.clerk.com/">Clerk Dashboard</a> &gt; Configure &gt; Billing &gt; User Plans. Define two plans, for example:</p><ul><li><p>Free</p></li><li><p>Premium </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_!IXgi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbad51105-0d22-4dbb-b302-e87998ea4705_2494x1740.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IXgi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbad51105-0d22-4dbb-b302-e87998ea4705_2494x1740.png 424w, https://substackcdn.com/image/fetch/$s_!IXgi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbad51105-0d22-4dbb-b302-e87998ea4705_2494x1740.png 848w, https://substackcdn.com/image/fetch/$s_!IXgi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbad51105-0d22-4dbb-b302-e87998ea4705_2494x1740.png 1272w, https://substackcdn.com/image/fetch/$s_!IXgi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbad51105-0d22-4dbb-b302-e87998ea4705_2494x1740.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IXgi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbad51105-0d22-4dbb-b302-e87998ea4705_2494x1740.png" width="1456" height="1016" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bad51105-0d22-4dbb-b302-e87998ea4705_2494x1740.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1016,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:318675,&quot;alt&quot;:&quot;Go to Clerk Dashboard > Configure > Billing > User Plans. Define subscription plans&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbad51105-0d22-4dbb-b302-e87998ea4705_2494x1740.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Go to Clerk Dashboard > Configure > Billing > User Plans. Define subscription plans" title="Go to Clerk Dashboard > Configure > Billing > User Plans. Define subscription plans" srcset="https://substackcdn.com/image/fetch/$s_!IXgi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbad51105-0d22-4dbb-b302-e87998ea4705_2494x1740.png 424w, https://substackcdn.com/image/fetch/$s_!IXgi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbad51105-0d22-4dbb-b302-e87998ea4705_2494x1740.png 848w, https://substackcdn.com/image/fetch/$s_!IXgi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbad51105-0d22-4dbb-b302-e87998ea4705_2494x1740.png 1272w, https://substackcdn.com/image/fetch/$s_!IXgi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbad51105-0d22-4dbb-b302-e87998ea4705_2494x1740.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 each plan you can configure a monthly base fee (e.g., $5) and an annual base fee with an optional discount (e.g., $50) and enable/disable free trials. Play with the options:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dUSl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56dfe78e-e692-40e9-ae3b-acbd18d09bd7_2317x840.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dUSl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56dfe78e-e692-40e9-ae3b-acbd18d09bd7_2317x840.png 424w, https://substackcdn.com/image/fetch/$s_!dUSl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56dfe78e-e692-40e9-ae3b-acbd18d09bd7_2317x840.png 848w, https://substackcdn.com/image/fetch/$s_!dUSl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56dfe78e-e692-40e9-ae3b-acbd18d09bd7_2317x840.png 1272w, https://substackcdn.com/image/fetch/$s_!dUSl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56dfe78e-e692-40e9-ae3b-acbd18d09bd7_2317x840.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dUSl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56dfe78e-e692-40e9-ae3b-acbd18d09bd7_2317x840.png" width="1456" height="528" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56dfe78e-e692-40e9-ae3b-acbd18d09bd7_2317x840.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:528,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:126564,&quot;alt&quot;:&quot;Clerk - For each plan you can configure monthly base fee (e.g., $5) and annual base fee&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56dfe78e-e692-40e9-ae3b-acbd18d09bd7_2317x840.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Clerk - For each plan you can configure monthly base fee (e.g., $5) and annual base fee" title="Clerk - For each plan you can configure monthly base fee (e.g., $5) and annual base fee" srcset="https://substackcdn.com/image/fetch/$s_!dUSl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56dfe78e-e692-40e9-ae3b-acbd18d09bd7_2317x840.png 424w, https://substackcdn.com/image/fetch/$s_!dUSl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56dfe78e-e692-40e9-ae3b-acbd18d09bd7_2317x840.png 848w, https://substackcdn.com/image/fetch/$s_!dUSl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56dfe78e-e692-40e9-ae3b-acbd18d09bd7_2317x840.png 1272w, https://substackcdn.com/image/fetch/$s_!dUSl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56dfe78e-e692-40e9-ae3b-acbd18d09bd7_2317x840.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>An important configuration element is the Features. These can be used to guide the app behavior (entitlements, we will discuss this later) or displayed in public pricing plans:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Cv-6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F914abd08-68eb-44c3-8508-ce6b93ff80d5_2374x827.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Cv-6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F914abd08-68eb-44c3-8508-ce6b93ff80d5_2374x827.png 424w, https://substackcdn.com/image/fetch/$s_!Cv-6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F914abd08-68eb-44c3-8508-ce6b93ff80d5_2374x827.png 848w, https://substackcdn.com/image/fetch/$s_!Cv-6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F914abd08-68eb-44c3-8508-ce6b93ff80d5_2374x827.png 1272w, https://substackcdn.com/image/fetch/$s_!Cv-6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F914abd08-68eb-44c3-8508-ce6b93ff80d5_2374x827.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Cv-6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F914abd08-68eb-44c3-8508-ce6b93ff80d5_2374x827.png" width="1456" height="507" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/914abd08-68eb-44c3-8508-ce6b93ff80d5_2374x827.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:507,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:73745,&quot;alt&quot;:&quot;Clerk - how to configure features&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F914abd08-68eb-44c3-8508-ce6b93ff80d5_2374x827.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Clerk - how to configure features" title="Clerk - how to configure features" srcset="https://substackcdn.com/image/fetch/$s_!Cv-6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F914abd08-68eb-44c3-8508-ce6b93ff80d5_2374x827.png 424w, https://substackcdn.com/image/fetch/$s_!Cv-6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F914abd08-68eb-44c3-8508-ce6b93ff80d5_2374x827.png 848w, https://substackcdn.com/image/fetch/$s_!Cv-6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F914abd08-68eb-44c3-8508-ce6b93ff80d5_2374x827.png 1272w, https://substackcdn.com/image/fetch/$s_!Cv-6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F914abd08-68eb-44c3-8508-ce6b93ff80d5_2374x827.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>Step 5.3: Test it</h3><p>Wait. What about the prompt? </p><p><strong>There is no prompt.</strong> We&#8217;ve previously implemented Clerk integration and asked Claude to use Clerk components. Subscription plans just work based on the current Clerk configuration:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;4701ba6a-3f15-4841-8bc2-37f21445ef92&quot;,&quot;duration&quot;:null}"></div><div><hr></div><h2><strong>8. Step 6: Add Test Accounts and Browser Automation</strong></h2><p>Go to <a href="https://dashboard.clerk.com/">Clerk Dashboard</a> &gt; Configure &gt; Instance. Enable the &#8220;Test mode.&#8221; This will allow the agent to sign in to your development environment. I recommend you <strong>change</strong> the default verification code (here, &#8220;424242&#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_!csO8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54617988-268b-46e7-ab83-8f074da1bc83_2376x1214.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!csO8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54617988-268b-46e7-ab83-8f074da1bc83_2376x1214.png 424w, https://substackcdn.com/image/fetch/$s_!csO8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54617988-268b-46e7-ab83-8f074da1bc83_2376x1214.png 848w, https://substackcdn.com/image/fetch/$s_!csO8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54617988-268b-46e7-ab83-8f074da1bc83_2376x1214.png 1272w, https://substackcdn.com/image/fetch/$s_!csO8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54617988-268b-46e7-ab83-8f074da1bc83_2376x1214.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!csO8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54617988-268b-46e7-ab83-8f074da1bc83_2376x1214.png" width="1456" height="744" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/54617988-268b-46e7-ab83-8f074da1bc83_2376x1214.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:744,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:168398,&quot;alt&quot;:&quot;Clerk - Add Test Accounts and Browser Automation for Claude Code in VS Code&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54617988-268b-46e7-ab83-8f074da1bc83_2376x1214.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Clerk - Add Test Accounts and Browser Automation for Claude Code in VS Code" title="Clerk - Add Test Accounts and Browser Automation for Claude Code in VS Code" srcset="https://substackcdn.com/image/fetch/$s_!csO8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54617988-268b-46e7-ab83-8f074da1bc83_2376x1214.png 424w, https://substackcdn.com/image/fetch/$s_!csO8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54617988-268b-46e7-ab83-8f074da1bc83_2376x1214.png 848w, https://substackcdn.com/image/fetch/$s_!csO8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54617988-268b-46e7-ab83-8f074da1bc83_2376x1214.png 1272w, https://substackcdn.com/image/fetch/$s_!csO8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54617988-268b-46e7-ab83-8f074da1bc83_2376x1214.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">How to enable a test verification code for Claude</figcaption></figure></div><p>Next, go to <a href="https://dashboard.clerk.com/">Clerk Dashboard</a> &gt; Users and create an account with a special <code>+clerk_test@</code> part, for 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_!6cMT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed1bccc0-b8f1-4221-9044-847bc333b2f1_2418x1532.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6cMT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed1bccc0-b8f1-4221-9044-847bc333b2f1_2418x1532.png 424w, https://substackcdn.com/image/fetch/$s_!6cMT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed1bccc0-b8f1-4221-9044-847bc333b2f1_2418x1532.png 848w, https://substackcdn.com/image/fetch/$s_!6cMT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed1bccc0-b8f1-4221-9044-847bc333b2f1_2418x1532.png 1272w, https://substackcdn.com/image/fetch/$s_!6cMT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed1bccc0-b8f1-4221-9044-847bc333b2f1_2418x1532.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6cMT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed1bccc0-b8f1-4221-9044-847bc333b2f1_2418x1532.png" width="1456" height="922" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed1bccc0-b8f1-4221-9044-847bc333b2f1_2418x1532.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:922,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:703101,&quot;alt&quot;:&quot;How to create a test user in Clerk&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed1bccc0-b8f1-4221-9044-847bc333b2f1_2418x1532.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to create a test user in Clerk" title="How to create a test user in Clerk" srcset="https://substackcdn.com/image/fetch/$s_!6cMT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed1bccc0-b8f1-4221-9044-847bc333b2f1_2418x1532.png 424w, https://substackcdn.com/image/fetch/$s_!6cMT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed1bccc0-b8f1-4221-9044-847bc333b2f1_2418x1532.png 848w, https://substackcdn.com/image/fetch/$s_!6cMT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed1bccc0-b8f1-4221-9044-847bc333b2f1_2418x1532.png 1272w, https://substackcdn.com/image/fetch/$s_!6cMT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed1bccc0-b8f1-4221-9044-847bc333b2f1_2418x1532.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">How to create a test user account for Claude</figcaption></figure></div><p>Save the user data to your <code>.env</code> file (we discussed that file earlier): </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8rH2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c9f0a8f-7dcf-4b8e-8dfc-986383a9c75d_2006x964.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8rH2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c9f0a8f-7dcf-4b8e-8dfc-986383a9c75d_2006x964.png 424w, https://substackcdn.com/image/fetch/$s_!8rH2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c9f0a8f-7dcf-4b8e-8dfc-986383a9c75d_2006x964.png 848w, https://substackcdn.com/image/fetch/$s_!8rH2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c9f0a8f-7dcf-4b8e-8dfc-986383a9c75d_2006x964.png 1272w, https://substackcdn.com/image/fetch/$s_!8rH2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c9f0a8f-7dcf-4b8e-8dfc-986383a9c75d_2006x964.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8rH2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c9f0a8f-7dcf-4b8e-8dfc-986383a9c75d_2006x964.png" width="1456" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c9f0a8f-7dcf-4b8e-8dfc-986383a9c75d_2006x964.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:255467,&quot;alt&quot;:&quot;Configure test user secrets in VS Code .env file&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c9f0a8f-7dcf-4b8e-8dfc-986383a9c75d_2006x964.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Configure test user secrets in VS Code .env file" title="Configure test user secrets in VS Code .env file" srcset="https://substackcdn.com/image/fetch/$s_!8rH2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c9f0a8f-7dcf-4b8e-8dfc-986383a9c75d_2006x964.png 424w, https://substackcdn.com/image/fetch/$s_!8rH2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c9f0a8f-7dcf-4b8e-8dfc-986383a9c75d_2006x964.png 848w, https://substackcdn.com/image/fetch/$s_!8rH2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c9f0a8f-7dcf-4b8e-8dfc-986383a9c75d_2006x964.png 1272w, https://substackcdn.com/image/fetch/$s_!8rH2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c9f0a8f-7dcf-4b8e-8dfc-986383a9c75d_2006x964.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">Store test credentials in the .env file</figcaption></figure></div><p>For your convenience:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;7ff8a56c-3ac7-4f6e-a375-32165b71bfe1&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext"># --- Test accounts ---
TEST_VERIFICATION_CODE=424242
TEST_ADMIN_EMAIL=admin+clerk_test@gmail.com</code></pre></div><p>Next, ask the agent (Opus 5 worked for ~25 min):</p><pre><code><code>Implement e2e test scenarios using browser automation (headless). In .env, I defined Clerk's:
TEST_VERIFICATION_CODE
TEST_ADMIN_EMAIL

Suggest complete scenarios (such as Sign in &gt; Open a new room &gt; Users ask questions &gt; Users upvote questions &gt; Admin can see these questions on a Projector &gt; Admin closes the Room) and tell me what's covered. Run those tests.

Make sure test documentation is updated and create or show me a document with roles and permission matrix + what's not implemented yet.</code></code></pre><p>You will get a detailed test report:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HcOy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F525892ec-4543-4ab1-8afd-c6d512921a2e_1735x335.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HcOy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F525892ec-4543-4ab1-8afd-c6d512921a2e_1735x335.png 424w, https://substackcdn.com/image/fetch/$s_!HcOy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F525892ec-4543-4ab1-8afd-c6d512921a2e_1735x335.png 848w, https://substackcdn.com/image/fetch/$s_!HcOy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F525892ec-4543-4ab1-8afd-c6d512921a2e_1735x335.png 1272w, https://substackcdn.com/image/fetch/$s_!HcOy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F525892ec-4543-4ab1-8afd-c6d512921a2e_1735x335.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HcOy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F525892ec-4543-4ab1-8afd-c6d512921a2e_1735x335.png" width="1735" height="335" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/525892ec-4543-4ab1-8afd-c6d512921a2e_1735x335.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:335,&quot;width&quot;:1735,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77848,&quot;alt&quot;:&quot;Claude Code in VS Code - test report&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5414710e-8468-4c63-8ee3-88c925c6cd5e_1735x776.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Code in VS Code - test report" title="Claude Code in VS Code - test report" srcset="https://substackcdn.com/image/fetch/$s_!HcOy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F525892ec-4543-4ab1-8afd-c6d512921a2e_1735x335.png 424w, https://substackcdn.com/image/fetch/$s_!HcOy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F525892ec-4543-4ab1-8afd-c6d512921a2e_1735x335.png 848w, https://substackcdn.com/image/fetch/$s_!HcOy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F525892ec-4543-4ab1-8afd-c6d512921a2e_1735x335.png 1272w, https://substackcdn.com/image/fetch/$s_!HcOy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F525892ec-4543-4ab1-8afd-c6d512921a2e_1735x335.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>And detailed documentation with a permission matrix:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!r_Oi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b7e042-2f0f-4719-b54b-c67a16a305d2_1596x336.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r_Oi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b7e042-2f0f-4719-b54b-c67a16a305d2_1596x336.png 424w, https://substackcdn.com/image/fetch/$s_!r_Oi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b7e042-2f0f-4719-b54b-c67a16a305d2_1596x336.png 848w, https://substackcdn.com/image/fetch/$s_!r_Oi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b7e042-2f0f-4719-b54b-c67a16a305d2_1596x336.png 1272w, https://substackcdn.com/image/fetch/$s_!r_Oi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b7e042-2f0f-4719-b54b-c67a16a305d2_1596x336.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!r_Oi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b7e042-2f0f-4719-b54b-c67a16a305d2_1596x336.png" width="1596" height="336" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8b7e042-2f0f-4719-b54b-c67a16a305d2_1596x336.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:336,&quot;width&quot;:1596,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:108745,&quot;alt&quot;:&quot;Claude Code in VS Code - permissions and roles documentation&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe779eaaa-88ad-40b6-905f-168e5ca7a7ee_1596x612.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Code in VS Code - permissions and roles documentation" title="Claude Code in VS Code - permissions and roles documentation" srcset="https://substackcdn.com/image/fetch/$s_!r_Oi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b7e042-2f0f-4719-b54b-c67a16a305d2_1596x336.png 424w, https://substackcdn.com/image/fetch/$s_!r_Oi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b7e042-2f0f-4719-b54b-c67a16a305d2_1596x336.png 848w, https://substackcdn.com/image/fetch/$s_!r_Oi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b7e042-2f0f-4719-b54b-c67a16a305d2_1596x336.png 1272w, https://substackcdn.com/image/fetch/$s_!r_Oi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b7e042-2f0f-4719-b54b-c67a16a305d2_1596x336.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>Review it against your intent</strong>. This is the base for future tests and automated code inspections. Without it, your agent may not know whether the observed behavior is a bug or a feature:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CPcj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64fea18-066b-492f-8f38-0358f09f0fe5_2846x1886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CPcj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64fea18-066b-492f-8f38-0358f09f0fe5_2846x1886.png 424w, https://substackcdn.com/image/fetch/$s_!CPcj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64fea18-066b-492f-8f38-0358f09f0fe5_2846x1886.png 848w, https://substackcdn.com/image/fetch/$s_!CPcj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64fea18-066b-492f-8f38-0358f09f0fe5_2846x1886.png 1272w, https://substackcdn.com/image/fetch/$s_!CPcj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64fea18-066b-492f-8f38-0358f09f0fe5_2846x1886.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CPcj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64fea18-066b-492f-8f38-0358f09f0fe5_2846x1886.png" width="1456" height="965" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f64fea18-066b-492f-8f38-0358f09f0fe5_2846x1886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:965,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:568440,&quot;alt&quot;:&quot;Claude Code - the importance of reviewing a documented intent&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64fea18-066b-492f-8f38-0358f09f0fe5_2846x1886.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Code - the importance of reviewing a documented intent" title="Claude Code - the importance of reviewing a documented intent" srcset="https://substackcdn.com/image/fetch/$s_!CPcj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64fea18-066b-492f-8f38-0358f09f0fe5_2846x1886.png 424w, https://substackcdn.com/image/fetch/$s_!CPcj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64fea18-066b-492f-8f38-0358f09f0fe5_2846x1886.png 848w, https://substackcdn.com/image/fetch/$s_!CPcj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64fea18-066b-492f-8f38-0358f09f0fe5_2846x1886.png 1272w, https://substackcdn.com/image/fetch/$s_!CPcj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64fea18-066b-492f-8f38-0358f09f0fe5_2846x1886.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">Roles and permissions matrix, part of the documented intent for you to review</figcaption></figure></div><p>If you don&#8217;t see nice markdown formatting: Right click the tab name above the file content &gt; &#8220;Open with&#8221; &gt; &#8220;Markdown preview.&#8221;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/p/product-engineering-for-pms?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/p/product-engineering-for-pms?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><h2><strong>9. Step 7: Publish it, Simplified</strong></h2><p>Let&#8217;s publish our dev environment. No advanced branches yet. For that, we need:</p><ul><li><p>A free GitHub account</p></li><li><p>The GitHub CLI</p></li><li><p>A free Netlify account</p></li></ul><h3>Step 7.1: Install GitHub CLI</h3><p>I&#8217;m not presenting creating a <a href="https://github.com/">GitHub account</a>. It&#8217;s straightforward.</p><p>Once you have one, go to <a href="https://cli.github.com/">https://cli.github.com/</a> and copy the installation prompt for your operating 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_!OUrG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5680d5-5213-4981-8b5f-6b865ea2ec3b_2168x1008.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OUrG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5680d5-5213-4981-8b5f-6b865ea2ec3b_2168x1008.png 424w, https://substackcdn.com/image/fetch/$s_!OUrG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5680d5-5213-4981-8b5f-6b865ea2ec3b_2168x1008.png 848w, https://substackcdn.com/image/fetch/$s_!OUrG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5680d5-5213-4981-8b5f-6b865ea2ec3b_2168x1008.png 1272w, https://substackcdn.com/image/fetch/$s_!OUrG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5680d5-5213-4981-8b5f-6b865ea2ec3b_2168x1008.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OUrG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5680d5-5213-4981-8b5f-6b865ea2ec3b_2168x1008.png" width="1456" height="677" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e5680d5-5213-4981-8b5f-6b865ea2ec3b_2168x1008.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:677,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:155554,&quot;alt&quot;:&quot;How to Install GitHub CLI&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5680d5-5213-4981-8b5f-6b865ea2ec3b_2168x1008.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to Install GitHub CLI" title="How to Install GitHub CLI" srcset="https://substackcdn.com/image/fetch/$s_!OUrG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5680d5-5213-4981-8b5f-6b865ea2ec3b_2168x1008.png 424w, https://substackcdn.com/image/fetch/$s_!OUrG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5680d5-5213-4981-8b5f-6b865ea2ec3b_2168x1008.png 848w, https://substackcdn.com/image/fetch/$s_!OUrG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5680d5-5213-4981-8b5f-6b865ea2ec3b_2168x1008.png 1272w, https://substackcdn.com/image/fetch/$s_!OUrG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5680d5-5213-4981-8b5f-6b865ea2ec3b_2168x1008.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>Execute it in your terminal (mine was already installed):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gna8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5fdb40-e65d-4043-be80-a2b78eca877a_2044x795.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gna8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5fdb40-e65d-4043-be80-a2b78eca877a_2044x795.png 424w, https://substackcdn.com/image/fetch/$s_!gna8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5fdb40-e65d-4043-be80-a2b78eca877a_2044x795.png 848w, https://substackcdn.com/image/fetch/$s_!gna8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5fdb40-e65d-4043-be80-a2b78eca877a_2044x795.png 1272w, https://substackcdn.com/image/fetch/$s_!gna8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5fdb40-e65d-4043-be80-a2b78eca877a_2044x795.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gna8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5fdb40-e65d-4043-be80-a2b78eca877a_2044x795.png" width="1456" height="566" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f5fdb40-e65d-4043-be80-a2b78eca877a_2044x795.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:566,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:126966,&quot;alt&quot;:&quot;GitHub CLI installation&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5fdb40-e65d-4043-be80-a2b78eca877a_2044x795.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="GitHub CLI installation" title="GitHub CLI installation" srcset="https://substackcdn.com/image/fetch/$s_!gna8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5fdb40-e65d-4043-be80-a2b78eca877a_2044x795.png 424w, https://substackcdn.com/image/fetch/$s_!gna8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5fdb40-e65d-4043-be80-a2b78eca877a_2044x795.png 848w, https://substackcdn.com/image/fetch/$s_!gna8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5fdb40-e65d-4043-be80-a2b78eca877a_2044x795.png 1272w, https://substackcdn.com/image/fetch/$s_!gna8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5fdb40-e65d-4043-be80-a2b78eca877a_2044x795.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 type &#8220;gh auth login&#8221; and answer four questions: </p><ul><li><p>&#8220;GitHub.com&#8221;</p></li><li><p>&#8220;HTTPS&#8221;</p></li><li><p>&#8220;Y&#8221;</p></li><li><p>&#8220;Login with a web browser&#8221;</p></li></ul><p>Hit &#8220;Enter.&#8221; Use the code displayed on the screen to authorize your device. I anonymized my code:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i336!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccddf150-014e-404b-af9f-729e53a825fc_2109x1646.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i336!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccddf150-014e-404b-af9f-729e53a825fc_2109x1646.png 424w, https://substackcdn.com/image/fetch/$s_!i336!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccddf150-014e-404b-af9f-729e53a825fc_2109x1646.png 848w, https://substackcdn.com/image/fetch/$s_!i336!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccddf150-014e-404b-af9f-729e53a825fc_2109x1646.png 1272w, https://substackcdn.com/image/fetch/$s_!i336!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccddf150-014e-404b-af9f-729e53a825fc_2109x1646.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i336!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccddf150-014e-404b-af9f-729e53a825fc_2109x1646.png" width="1456" height="1136" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ccddf150-014e-404b-af9f-729e53a825fc_2109x1646.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1136,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:248712,&quot;alt&quot;:&quot;How to login to GitHub CLI and authorize the device&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccddf150-014e-404b-af9f-729e53a825fc_2109x1646.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to login to GitHub CLI and authorize the device" title="How to login to GitHub CLI and authorize the device" srcset="https://substackcdn.com/image/fetch/$s_!i336!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccddf150-014e-404b-af9f-729e53a825fc_2109x1646.png 424w, https://substackcdn.com/image/fetch/$s_!i336!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccddf150-014e-404b-af9f-729e53a825fc_2109x1646.png 848w, https://substackcdn.com/image/fetch/$s_!i336!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccddf150-014e-404b-af9f-729e53a825fc_2109x1646.png 1272w, https://substackcdn.com/image/fetch/$s_!i336!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccddf150-014e-404b-af9f-729e53a825fc_2109x1646.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>Now, ask the agent:</p><pre><code><code>Just installed GitHub CLI. Create a new private repository for my project, "askone," and push the current to origin. Give me its URL.

Before the push, add netlify.toml as I will</code> host this on Netlify.</code></pre><p>&#8220;Push to origin&#8221; means &#8220;push to GitHub branch.&#8221; Here, it may not be needed. In the future, this is how you transfer your local changes to GitHub.</p><p>You will get a URL such as <code>https://github.com/phuryn/askone</code>. That's your online code repository!</p><h3>Step 7.2: Publish it on Netlify</h3><p>I&#8217;m not presenting creating a free <a href="https://app.netlify.com/">Netlify account</a>. It&#8217;s straightforward. Just remember to <strong>Sign up with GitHub</strong>.</p><p>Once inside, go to <a href="https://app.netlify.com/start">https://app.netlify.com/start</a> &gt; Import a Git repository &gt; click &#8220;GitHub:&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HRDP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ecff39c-721f-4eb4-bb15-69649ce99e82_2689x275.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HRDP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ecff39c-721f-4eb4-bb15-69649ce99e82_2689x275.png 424w, https://substackcdn.com/image/fetch/$s_!HRDP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ecff39c-721f-4eb4-bb15-69649ce99e82_2689x275.png 848w, https://substackcdn.com/image/fetch/$s_!HRDP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ecff39c-721f-4eb4-bb15-69649ce99e82_2689x275.png 1272w, https://substackcdn.com/image/fetch/$s_!HRDP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ecff39c-721f-4eb4-bb15-69649ce99e82_2689x275.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HRDP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ecff39c-721f-4eb4-bb15-69649ce99e82_2689x275.png" width="1456" height="149" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ecff39c-721f-4eb4-bb15-69649ce99e82_2689x275.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:149,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45295,&quot;alt&quot;:&quot;How to import a GitHub repo on Netlify&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ecff39c-721f-4eb4-bb15-69649ce99e82_2689x275.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to import a GitHub repo on Netlify" title="How to import a GitHub repo on Netlify" srcset="https://substackcdn.com/image/fetch/$s_!HRDP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ecff39c-721f-4eb4-bb15-69649ce99e82_2689x275.png 424w, https://substackcdn.com/image/fetch/$s_!HRDP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ecff39c-721f-4eb4-bb15-69649ce99e82_2689x275.png 848w, https://substackcdn.com/image/fetch/$s_!HRDP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ecff39c-721f-4eb4-bb15-69649ce99e82_2689x275.png 1272w, https://substackcdn.com/image/fetch/$s_!HRDP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ecff39c-721f-4eb4-bb15-69649ce99e82_2689x275.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Select your repository:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A7F4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33dd4ce0-c780-4058-bf9e-ab7221c66544_2095x684.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A7F4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33dd4ce0-c780-4058-bf9e-ab7221c66544_2095x684.png 424w, https://substackcdn.com/image/fetch/$s_!A7F4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33dd4ce0-c780-4058-bf9e-ab7221c66544_2095x684.png 848w, https://substackcdn.com/image/fetch/$s_!A7F4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33dd4ce0-c780-4058-bf9e-ab7221c66544_2095x684.png 1272w, https://substackcdn.com/image/fetch/$s_!A7F4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33dd4ce0-c780-4058-bf9e-ab7221c66544_2095x684.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A7F4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33dd4ce0-c780-4058-bf9e-ab7221c66544_2095x684.png" width="1456" height="475" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/33dd4ce0-c780-4058-bf9e-ab7221c66544_2095x684.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:475,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:85252,&quot;alt&quot;:&quot;Netlify - Select your repository&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33dd4ce0-c780-4058-bf9e-ab7221c66544_2095x684.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Netlify - Select your repository" title="Netlify - Select your repository" srcset="https://substackcdn.com/image/fetch/$s_!A7F4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33dd4ce0-c780-4058-bf9e-ab7221c66544_2095x684.png 424w, https://substackcdn.com/image/fetch/$s_!A7F4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33dd4ce0-c780-4058-bf9e-ab7221c66544_2095x684.png 848w, https://substackcdn.com/image/fetch/$s_!A7F4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33dd4ce0-c780-4058-bf9e-ab7221c66544_2095x684.png 1272w, https://substackcdn.com/image/fetch/$s_!A7F4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33dd4ce0-c780-4058-bf9e-ab7221c66544_2095x684.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>Give it a name and click &#8220;Deploy&#8221; at the very bottom of the page:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BsAT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd2707e8-a323-4933-914b-14bc90aef5ac_2104x747.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BsAT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd2707e8-a323-4933-914b-14bc90aef5ac_2104x747.png 424w, https://substackcdn.com/image/fetch/$s_!BsAT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd2707e8-a323-4933-914b-14bc90aef5ac_2104x747.png 848w, https://substackcdn.com/image/fetch/$s_!BsAT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd2707e8-a323-4933-914b-14bc90aef5ac_2104x747.png 1272w, https://substackcdn.com/image/fetch/$s_!BsAT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd2707e8-a323-4933-914b-14bc90aef5ac_2104x747.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BsAT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd2707e8-a323-4933-914b-14bc90aef5ac_2104x747.png" width="2104" height="747" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd2707e8-a323-4933-914b-14bc90aef5ac_2104x747.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:747,&quot;width&quot;:2104,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96414,&quot;alt&quot;:&quot;Netlify - select project name&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8485c411-e384-466f-8f04-e4a8543630ef_2104x1553.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Netlify - select project name" title="Netlify - select project name" srcset="https://substackcdn.com/image/fetch/$s_!BsAT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd2707e8-a323-4933-914b-14bc90aef5ac_2104x747.png 424w, https://substackcdn.com/image/fetch/$s_!BsAT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd2707e8-a323-4933-914b-14bc90aef5ac_2104x747.png 848w, https://substackcdn.com/image/fetch/$s_!BsAT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd2707e8-a323-4933-914b-14bc90aef5ac_2104x747.png 1272w, https://substackcdn.com/image/fetch/$s_!BsAT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd2707e8-a323-4933-914b-14bc90aef5ac_2104x747.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>On the same page, it should automatically detect the right build settings (previously, we asked in the prompt to define <code>netlify.toml</code>). I didn&#8217;t have to type it manually:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HGmY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3b274a-0a68-4bc9-b23b-babb044a8def_2029x1426.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HGmY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3b274a-0a68-4bc9-b23b-babb044a8def_2029x1426.png 424w, https://substackcdn.com/image/fetch/$s_!HGmY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3b274a-0a68-4bc9-b23b-babb044a8def_2029x1426.png 848w, https://substackcdn.com/image/fetch/$s_!HGmY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3b274a-0a68-4bc9-b23b-babb044a8def_2029x1426.png 1272w, https://substackcdn.com/image/fetch/$s_!HGmY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3b274a-0a68-4bc9-b23b-babb044a8def_2029x1426.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HGmY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3b274a-0a68-4bc9-b23b-babb044a8def_2029x1426.png" width="1456" height="1023" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a3b274a-0a68-4bc9-b23b-babb044a8def_2029x1426.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;:174425,&quot;alt&quot;:&quot;Netlify - configuration from netlify.toml&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3b274a-0a68-4bc9-b23b-babb044a8def_2029x1426.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Netlify - configuration from netlify.toml" title="Netlify - configuration from netlify.toml" srcset="https://substackcdn.com/image/fetch/$s_!HGmY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3b274a-0a68-4bc9-b23b-babb044a8def_2029x1426.png 424w, https://substackcdn.com/image/fetch/$s_!HGmY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3b274a-0a68-4bc9-b23b-babb044a8def_2029x1426.png 848w, https://substackcdn.com/image/fetch/$s_!HGmY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3b274a-0a68-4bc9-b23b-babb044a8def_2029x1426.png 1272w, https://substackcdn.com/image/fetch/$s_!HGmY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3b274a-0a68-4bc9-b23b-babb044a8def_2029x1426.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>At the bottom of the page you will find a deploy button. Hit 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_!CRNc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8115667-adfb-4b98-9ab4-d7f41d47757f_1580x509.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CRNc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8115667-adfb-4b98-9ab4-d7f41d47757f_1580x509.png 424w, https://substackcdn.com/image/fetch/$s_!CRNc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8115667-adfb-4b98-9ab4-d7f41d47757f_1580x509.png 848w, https://substackcdn.com/image/fetch/$s_!CRNc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8115667-adfb-4b98-9ab4-d7f41d47757f_1580x509.png 1272w, https://substackcdn.com/image/fetch/$s_!CRNc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8115667-adfb-4b98-9ab4-d7f41d47757f_1580x509.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CRNc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8115667-adfb-4b98-9ab4-d7f41d47757f_1580x509.png" width="1456" height="469" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e8115667-adfb-4b98-9ab4-d7f41d47757f_1580x509.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:469,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49259,&quot;alt&quot;:&quot;Netlify - deploy a GitHub repository&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8115667-adfb-4b98-9ab4-d7f41d47757f_1580x509.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Netlify - deploy a GitHub repository" title="Netlify - deploy a GitHub repository" srcset="https://substackcdn.com/image/fetch/$s_!CRNc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8115667-adfb-4b98-9ab4-d7f41d47757f_1580x509.png 424w, https://substackcdn.com/image/fetch/$s_!CRNc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8115667-adfb-4b98-9ab4-d7f41d47757f_1580x509.png 848w, https://substackcdn.com/image/fetch/$s_!CRNc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8115667-adfb-4b98-9ab4-d7f41d47757f_1580x509.png 1272w, https://substackcdn.com/image/fetch/$s_!CRNc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8115667-adfb-4b98-9ab4-d7f41d47757f_1580x509.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>Step 7.3: Configure Netlify Environment Variables</h3><p>The .env file is untracked. Netlify doesn&#8217;t know your secrets.</p><p>Go to &#8220;Project navigation&#8221; &gt; &#8220;Project configuration&#8221; &gt; &#8220;Environment variables:&#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_!aWXn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38809dc3-a916-4889-9acd-e6d142271b74_2139x1044.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aWXn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38809dc3-a916-4889-9acd-e6d142271b74_2139x1044.png 424w, https://substackcdn.com/image/fetch/$s_!aWXn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38809dc3-a916-4889-9acd-e6d142271b74_2139x1044.png 848w, https://substackcdn.com/image/fetch/$s_!aWXn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38809dc3-a916-4889-9acd-e6d142271b74_2139x1044.png 1272w, https://substackcdn.com/image/fetch/$s_!aWXn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38809dc3-a916-4889-9acd-e6d142271b74_2139x1044.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aWXn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38809dc3-a916-4889-9acd-e6d142271b74_2139x1044.png" width="2139" height="1044" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38809dc3-a916-4889-9acd-e6d142271b74_2139x1044.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1044,&quot;width&quot;:2139,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:315004,&quot;alt&quot;:&quot;Where to find environment variables in a Netlify project&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48533d50-b95f-4d8d-82bb-eccb3f86b68e_2139x1953.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Where to find environment variables in a Netlify project" title="Where to find environment variables in a Netlify project" srcset="https://substackcdn.com/image/fetch/$s_!aWXn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38809dc3-a916-4889-9acd-e6d142271b74_2139x1044.png 424w, https://substackcdn.com/image/fetch/$s_!aWXn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38809dc3-a916-4889-9acd-e6d142271b74_2139x1044.png 848w, https://substackcdn.com/image/fetch/$s_!aWXn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38809dc3-a916-4889-9acd-e6d142271b74_2139x1044.png 1272w, https://substackcdn.com/image/fetch/$s_!aWXn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38809dc3-a916-4889-9acd-e6d142271b74_2139x1044.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>You could import the entire content of your <code>.env</code> file, but I prefer adding them manually:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Mc_l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00720bbf-fb3a-483f-ae46-64065e919290_2576x1004.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Mc_l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00720bbf-fb3a-483f-ae46-64065e919290_2576x1004.png 424w, https://substackcdn.com/image/fetch/$s_!Mc_l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00720bbf-fb3a-483f-ae46-64065e919290_2576x1004.png 848w, https://substackcdn.com/image/fetch/$s_!Mc_l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00720bbf-fb3a-483f-ae46-64065e919290_2576x1004.png 1272w, https://substackcdn.com/image/fetch/$s_!Mc_l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00720bbf-fb3a-483f-ae46-64065e919290_2576x1004.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Mc_l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00720bbf-fb3a-483f-ae46-64065e919290_2576x1004.png" width="1456" height="567" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00720bbf-fb3a-483f-ae46-64065e919290_2576x1004.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;:317393,&quot;alt&quot;:&quot;How to add an environment variable in Netlify&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00720bbf-fb3a-483f-ae46-64065e919290_2576x1004.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to add an environment variable in Netlify" title="How to add an environment variable in Netlify" srcset="https://substackcdn.com/image/fetch/$s_!Mc_l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00720bbf-fb3a-483f-ae46-64065e919290_2576x1004.png 424w, https://substackcdn.com/image/fetch/$s_!Mc_l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00720bbf-fb3a-483f-ae46-64065e919290_2576x1004.png 848w, https://substackcdn.com/image/fetch/$s_!Mc_l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00720bbf-fb3a-483f-ae46-64065e919290_2576x1004.png 1272w, https://substackcdn.com/image/fetch/$s_!Mc_l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00720bbf-fb3a-483f-ae46-64065e919290_2576x1004.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_!Dogx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b01059b-4369-411c-853c-781d3298553b_2207x1699.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dogx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b01059b-4369-411c-853c-781d3298553b_2207x1699.png 424w, https://substackcdn.com/image/fetch/$s_!Dogx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b01059b-4369-411c-853c-781d3298553b_2207x1699.png 848w, https://substackcdn.com/image/fetch/$s_!Dogx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b01059b-4369-411c-853c-781d3298553b_2207x1699.png 1272w, https://substackcdn.com/image/fetch/$s_!Dogx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b01059b-4369-411c-853c-781d3298553b_2207x1699.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dogx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b01059b-4369-411c-853c-781d3298553b_2207x1699.png" width="1456" height="1121" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b01059b-4369-411c-853c-781d3298553b_2207x1699.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1121,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:289078,&quot;alt&quot;:&quot;Netlify - new environment variable marked as secret&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b01059b-4369-411c-853c-781d3298553b_2207x1699.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Netlify - new environment variable marked as secret" title="Netlify - new environment variable marked as secret" srcset="https://substackcdn.com/image/fetch/$s_!Dogx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b01059b-4369-411c-853c-781d3298553b_2207x1699.png 424w, https://substackcdn.com/image/fetch/$s_!Dogx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b01059b-4369-411c-853c-781d3298553b_2207x1699.png 848w, https://substackcdn.com/image/fetch/$s_!Dogx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b01059b-4369-411c-853c-781d3298553b_2207x1699.png 1272w, https://substackcdn.com/image/fetch/$s_!Dogx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b01059b-4369-411c-853c-781d3298553b_2207x1699.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 full set the app refuses to boot without. All six, or nothing serves:</p><ol><li><p>APP_URL - use your URL, e.g., https://askone.netlify.app</p></li><li><p>PARTICIPANT_COOKIE_SECRET -&gt; copy from .env, mark as secret</p></li><li><p>SUPABASE_URL -&gt; copy from .env</p></li><li><p>SUPABASE_SECRET_KEY -&gt; copy from .env, mark as secret</p></li><li><p>NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY -&gt; copy from .env</p></li><li><p>CLERK_SECRET_KEY -&gt; copy from .env, mark as secret</p></li></ol><h3>Step 7.4: Test it</h3><p>You, too, can access my dev environment: <a href="https://askone.netlify.app/">https://askone.netlify.app/</a> It&#8217;s far from perfect, but it works, and won&#8217;t reveal your room&#8217;s data to others.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5AJN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5974c6ac-81e7-47d3-8081-74643213198a_2991x1911.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5AJN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5974c6ac-81e7-47d3-8081-74643213198a_2991x1911.png 424w, https://substackcdn.com/image/fetch/$s_!5AJN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5974c6ac-81e7-47d3-8081-74643213198a_2991x1911.png 848w, https://substackcdn.com/image/fetch/$s_!5AJN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5974c6ac-81e7-47d3-8081-74643213198a_2991x1911.png 1272w, https://substackcdn.com/image/fetch/$s_!5AJN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5974c6ac-81e7-47d3-8081-74643213198a_2991x1911.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5AJN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5974c6ac-81e7-47d3-8081-74643213198a_2991x1911.png" width="1456" height="930" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5974c6ac-81e7-47d3-8081-74643213198a_2991x1911.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:930,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:329340,&quot;alt&quot;:&quot;A site deployed on Netlify with Clerk and Supabase integrations and Google authentication&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5974c6ac-81e7-47d3-8081-74643213198a_2991x1911.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A site deployed on Netlify with Clerk and Supabase integrations and Google authentication" title="A site deployed on Netlify with Clerk and Supabase integrations and Google authentication" srcset="https://substackcdn.com/image/fetch/$s_!5AJN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5974c6ac-81e7-47d3-8081-74643213198a_2991x1911.png 424w, https://substackcdn.com/image/fetch/$s_!5AJN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5974c6ac-81e7-47d3-8081-74643213198a_2991x1911.png 848w, https://substackcdn.com/image/fetch/$s_!5AJN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5974c6ac-81e7-47d3-8081-74643213198a_2991x1911.png 1272w, https://substackcdn.com/image/fetch/$s_!5AJN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5974c6ac-81e7-47d3-8081-74643213198a_2991x1911.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">A working app with Google authentication and Clerk Supabase published on Netlify. Development environment.</figcaption></figure></div><div><hr></div><h2><strong>10. The Template to Download</strong></h2><div class="callout-block" data-callout="true"><p>&#128274; The template is available only to premium members. Upgrade, and it will appear right below.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p></div><p>After clicking the link you will see:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PpcD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73e25352-39e6-4f51-aabf-9a18a5b4a1d4_1848x863.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PpcD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73e25352-39e6-4f51-aabf-9a18a5b4a1d4_1848x863.png 424w, https://substackcdn.com/image/fetch/$s_!PpcD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73e25352-39e6-4f51-aabf-9a18a5b4a1d4_1848x863.png 848w, https://substackcdn.com/image/fetch/$s_!PpcD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73e25352-39e6-4f51-aabf-9a18a5b4a1d4_1848x863.png 1272w, https://substackcdn.com/image/fetch/$s_!PpcD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73e25352-39e6-4f51-aabf-9a18a5b4a1d4_1848x863.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PpcD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73e25352-39e6-4f51-aabf-9a18a5b4a1d4_1848x863.png" width="1456" height="680" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73e25352-39e6-4f51-aabf-9a18a5b4a1d4_1848x863.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:680,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:141287,&quot;alt&quot;:&quot;Download fde-template-main.zip - a starter Claude Code solution template&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73e25352-39e6-4f51-aabf-9a18a5b4a1d4_1848x863.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Download fde-template-main.zip - a starter Claude Code solution template" title="Download fde-template-main.zip - a starter Claude Code solution template" srcset="https://substackcdn.com/image/fetch/$s_!PpcD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73e25352-39e6-4f51-aabf-9a18a5b4a1d4_1848x863.png 424w, https://substackcdn.com/image/fetch/$s_!PpcD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73e25352-39e6-4f51-aabf-9a18a5b4a1d4_1848x863.png 848w, https://substackcdn.com/image/fetch/$s_!PpcD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73e25352-39e6-4f51-aabf-9a18a5b4a1d4_1848x863.png 1272w, https://substackcdn.com/image/fetch/$s_!PpcD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73e25352-39e6-4f51-aabf-9a18a5b4a1d4_1848x863.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">Download fde-template-main.zip - a starter Claude Code solution template</figcaption></figure></div><p>Unzip fde-template-main.zip and open it with VS Code:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f1dT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa28be125-18e2-405f-9f0b-4204ffb14275_2339x1305.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f1dT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa28be125-18e2-405f-9f0b-4204ffb14275_2339x1305.png 424w, https://substackcdn.com/image/fetch/$s_!f1dT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa28be125-18e2-405f-9f0b-4204ffb14275_2339x1305.png 848w, https://substackcdn.com/image/fetch/$s_!f1dT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa28be125-18e2-405f-9f0b-4204ffb14275_2339x1305.png 1272w, https://substackcdn.com/image/fetch/$s_!f1dT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa28be125-18e2-405f-9f0b-4204ffb14275_2339x1305.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f1dT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa28be125-18e2-405f-9f0b-4204ffb14275_2339x1305.png" width="1456" height="812" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a28be125-18e2-405f-9f0b-4204ffb14275_2339x1305.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:476034,&quot;alt&quot;:&quot;Claude Code solution template for Product Engineers&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa28be125-18e2-405f-9f0b-4204ffb14275_2339x1305.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Code solution template for Product Engineers" title="Claude Code solution template for Product Engineers" srcset="https://substackcdn.com/image/fetch/$s_!f1dT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa28be125-18e2-405f-9f0b-4204ffb14275_2339x1305.png 424w, https://substackcdn.com/image/fetch/$s_!f1dT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa28be125-18e2-405f-9f0b-4204ffb14275_2339x1305.png 848w, https://substackcdn.com/image/fetch/$s_!f1dT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa28be125-18e2-405f-9f0b-4204ffb14275_2339x1305.png 1272w, https://substackcdn.com/image/fetch/$s_!f1dT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa28be125-18e2-405f-9f0b-4204ffb14275_2339x1305.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">Claude Code solution template for Product Engineers</figcaption></figure></div><p>I&#8217;ll be adding more prompts, but I&#8217;m not going to change the template, so you can already start building on top of it.</p><div><hr></div><h2><strong>11. Conclusion</strong></h2><p>I wrote this because the roles are merging whether or not you can already feel that in your organization. While product discovery remains the core of our job, as a PM you should understand how to engineer with AI.</p><p><strong>You don&#8217;t have to code.</strong> At the same time, understanding the basic engineering concepts helps a lot.</p><p>So, here are some extra materials you can review in your free time:</p><p>[Day 1] Review these helicopter view resources:</p><ul><li><p><a href="https://github.com/ByteByteGoHq/system-design-101">System Design 101 by ByteByteGo</a></p></li><li><p><a href="https://bytebytego.com/guides/">Engineering Visual Guides</a></p></li><li><p><a href="https://youtu.be/dU7GwCOgvNY">Become a Supabase Pro in 1.5 Hours (YouTube, 1:26:39)</a></p></li><li><p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Overview">Overview of HTTP by Mozilla</a></p></li><li><p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Methods">HTTP Request Methods</a></p></li><li><p><a href="https://youtu.be/2YIgGdUtbXM?si=84ZJz_gfwl35ul2f">The most important concepts of Node.js and Express.js (YouTube 17:09)</a></p></li><li><p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP">CSP Guide by Mozilla</a></p></li><li><p><a href="https://owasp.org/www-project-top-ten/">OWASP Top 10</a></p></li><li><p><a href="https://bytebytego.com/guides/how-does-git-work/">How Git Works by ByteByteGo</a></p></li><li><p><a href="https://www.selenium.dev/">Overview of Test Automation with Selenium</a></p></li></ul><p>[Days 2-3] Start working with Claude Code and Codex (our recordings with templates):</p><ul><li><p><a href="https://www.productcompass.pm/i/204536782/3-get-the-first-three-free">Codex for PMs</a></p></li><li><p><a href="https://www.productcompass.pm/i/204536782/3-get-the-first-three-free">Claude Code for PMs</a></p></li><li><p><a href="https://go.productcompass.pm/events/3f30e9b4-3854-4f36-aabd-e7acb0d6963b">Claude Code Power Skills for PMs</a></p></li></ul><p>[Day 4] Proven ways to manage AI agents (not what people say):</p><ul><li><p><a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">Intent Engineering</a></p></li><li><p><a href="https://www.productcompass.pm/p/agentic-engineering-for-pms">Don&#8217;t review code, review artifacts</a></p></li></ul><p>Next in the series, we will cover:</p><ul><li><p>Plugging a custom domain (askone.org)</p></li><li><p>Multi-tenant setup &amp; more user roles</p></li><li><p>Mapping features to entitlements</p></li><li><p>Enabling real Stripe payments</p></li><li><p>App monitoring &amp; support</p></li><li><p>CI/CD best practices &amp; automation</p></li><li><p>PII, Terms of Use, Privacy Policy</p></li><li><p>Securing the app (WEF with Cloudflare, app-specific limits)</p></li><li><p>Security and performance tests</p></li></ul><p><strong>This Thursday, we continue building AskOne</strong>: <a href="https://go.productcompass.pm/events">https://go.productcompass.pm/events</a><br>The recording of the recent Thursday&#8217;s session will be available later today. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>12. Live Session Recording</strong></h2><p>You can watch it here, Steps 1-5: <a href="https://go.productcompass.pm/events">https://go.productcompass.pm/events</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_!eR6x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c11e7aa-3c65-4934-aced-f3969af24bc9_2477x1337.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eR6x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c11e7aa-3c65-4934-aced-f3969af24bc9_2477x1337.png 424w, https://substackcdn.com/image/fetch/$s_!eR6x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c11e7aa-3c65-4934-aced-f3969af24bc9_2477x1337.png 848w, https://substackcdn.com/image/fetch/$s_!eR6x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c11e7aa-3c65-4934-aced-f3969af24bc9_2477x1337.png 1272w, https://substackcdn.com/image/fetch/$s_!eR6x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c11e7aa-3c65-4934-aced-f3969af24bc9_2477x1337.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eR6x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c11e7aa-3c65-4934-aced-f3969af24bc9_2477x1337.png" width="1456" height="786" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c11e7aa-3c65-4934-aced-f3969af24bc9_2477x1337.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:786,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Live Session Recordings - The Product Compass&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="Live Session Recordings - The Product Compass" title="Live Session Recordings - The Product Compass" srcset="https://substackcdn.com/image/fetch/$s_!eR6x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c11e7aa-3c65-4934-aced-f3969af24bc9_2477x1337.png 424w, https://substackcdn.com/image/fetch/$s_!eR6x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c11e7aa-3c65-4934-aced-f3969af24bc9_2477x1337.png 848w, https://substackcdn.com/image/fetch/$s_!eR6x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c11e7aa-3c65-4934-aced-f3969af24bc9_2477x1337.png 1272w, https://substackcdn.com/image/fetch/$s_!eR6x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c11e7aa-3c65-4934-aced-f3969af24bc9_2477x1337.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>If you do not have an account, sign up with your newsletter email. The benefits will sync in 5 min (existing subscribers) - 2 hours (just subscribed).</p><div><hr></div><p><em>P.S. If you&#8217;re looking for a cohort, I just joined Product Faculty as a trainer.</em></p><p><em>Currently, we offer<strong> 8 AI PM cohorts (Anthropic, Google, OpenAI)</strong> for the <strong>price of one</strong> + $1,500 off for my readers: &#128073; </em><a href="https://productfaculty.com?code=PAWEL">https://productfaculty.com?code=PAWEL</a></p><p><em>You get them all for $3,500. On Maven, this program would cost ~$22,000. That&#8217;s, by far, the best training offer in the market.</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_!-6fZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0ce491-5ac0-4d66-afaf-fa408cfbfd9f_766x650.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-6fZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0ce491-5ac0-4d66-afaf-fa408cfbfd9f_766x650.png 424w, https://substackcdn.com/image/fetch/$s_!-6fZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0ce491-5ac0-4d66-afaf-fa408cfbfd9f_766x650.png 848w, https://substackcdn.com/image/fetch/$s_!-6fZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0ce491-5ac0-4d66-afaf-fa408cfbfd9f_766x650.png 1272w, https://substackcdn.com/image/fetch/$s_!-6fZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0ce491-5ac0-4d66-afaf-fa408cfbfd9f_766x650.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-6fZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0ce491-5ac0-4d66-afaf-fa408cfbfd9f_766x650.png" width="766" height="650" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed0ce491-5ac0-4d66-afaf-fa408cfbfd9f_766x650.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:650,&quot;width&quot;:766,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:272876,&quot;alt&quot;:&quot;8 AI PM cohorts (Anthropic, Google, OpenAI)&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0ce491-5ac0-4d66-afaf-fa408cfbfd9f_766x650.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="8 AI PM cohorts (Anthropic, Google, OpenAI)" title="8 AI PM cohorts (Anthropic, Google, OpenAI)" srcset="https://substackcdn.com/image/fetch/$s_!-6fZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0ce491-5ac0-4d66-afaf-fa408cfbfd9f_766x650.png 424w, https://substackcdn.com/image/fetch/$s_!-6fZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0ce491-5ac0-4d66-afaf-fa408cfbfd9f_766x650.png 848w, https://substackcdn.com/image/fetch/$s_!-6fZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0ce491-5ac0-4d66-afaf-fa408cfbfd9f_766x650.png 1272w, https://substackcdn.com/image/fetch/$s_!-6fZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0ce491-5ac0-4d66-afaf-fa408cfbfd9f_766x650.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"><em>8 AI PM cohorts (Anthropic, Google, OpenAI)</em></figcaption></figure></div><p><em>And that&#8217;s not everything. Everyone who enrolls with the above code can <strong>attend our</strong> <strong>Claudathon for PMs for free</strong>: <a href="https://go.productcompass.pm/claudathon">https://go.productcompass.pm/claudathon</a> (send me an email with a purchase confirmation: pawel@productcompass.pm) - we start on Sep 19.</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_!4yMD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05b4ed2f-5acb-45fe-b151-85eaadd02ffe_1120x721.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4yMD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05b4ed2f-5acb-45fe-b151-85eaadd02ffe_1120x721.png 424w, https://substackcdn.com/image/fetch/$s_!4yMD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05b4ed2f-5acb-45fe-b151-85eaadd02ffe_1120x721.png 848w, https://substackcdn.com/image/fetch/$s_!4yMD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05b4ed2f-5acb-45fe-b151-85eaadd02ffe_1120x721.png 1272w, https://substackcdn.com/image/fetch/$s_!4yMD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05b4ed2f-5acb-45fe-b151-85eaadd02ffe_1120x721.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4yMD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05b4ed2f-5acb-45fe-b151-85eaadd02ffe_1120x721.png" width="1120" height="721" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05b4ed2f-5acb-45fe-b151-85eaadd02ffe_1120x721.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:721,&quot;width&quot;:1120,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:141165,&quot;alt&quot;:&quot;Claudathon for PMs&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://www.productcompass.pm/i/213103699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05b4ed2f-5acb-45fe-b151-85eaadd02ffe_1120x721.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claudathon for PMs" title="Claudathon for PMs" srcset="https://substackcdn.com/image/fetch/$s_!4yMD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05b4ed2f-5acb-45fe-b151-85eaadd02ffe_1120x721.png 424w, https://substackcdn.com/image/fetch/$s_!4yMD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05b4ed2f-5acb-45fe-b151-85eaadd02ffe_1120x721.png 848w, https://substackcdn.com/image/fetch/$s_!4yMD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05b4ed2f-5acb-45fe-b151-85eaadd02ffe_1120x721.png 1272w, https://substackcdn.com/image/fetch/$s_!4yMD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05b4ed2f-5acb-45fe-b151-85eaadd02ffe_1120x721.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"><em><a href="https://go.productcompass.pm/claudathon">Claudathon for PMs, start: 19 Sep 2026</a></em></figcaption></figure></div><div><hr></div><h2><strong>Thanks for Reading The Product Compass</strong></h2><p>It&#8217;s amazing to learn and grow together.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&amp;gift=true&quot;,&quot;text&quot;:&quot;Give a gift subscription&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.productcompass.pm/subscribe?&amp;gift=true"><span>Give a gift subscription</span></a></p><p>Have an amazing rest of the week, <br>Pawe&#322;</p>]]></content:encoded></item><item><title><![CDATA[AI Prototyping in 2026: The PM Field Guide]]></title><description><![CDATA[I built the same CRM four times in just over an hour, live. The field guide: which tool for which job, the context prompt that beats a spec, the security check before you share a link, and the pixel-perfect handoff]]></description><link>https://www.productcompass.pm/p/ai-prototyping-lovable-ai-studio-claude</link><guid isPermaLink="false">https://www.productcompass.pm/p/ai-prototyping-lovable-ai-studio-claude</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Wed, 19 Aug 2026 12:19:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PGah!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F381b9e01-b83e-4328-a690-7aee546e7122_3840x2063.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>At Meta, PMs vibe code prototypes and demo them to Zuckerberg. Their product sense interviews now include a live prototyping round.</p><p>So recently, I ran a live workshop with a group of PMs using popular tools. We built the same simple CRM in Lovable, in Google AI Studio, in Claude Design, and Claude Code.</p><p>In this issue:</p><ol><li><p>Why AI Prototyping (+Why Now)</p></li><li><p>The Four AI Prototyping Tools: Helicopter View</p></li><li><p>Iterate. Don't Spec.</p></li><li><p>Lovable: From Prompt to Published App</p></li><li><p>Google AI Studio: Good Enough to Prototype</p></li><li><p>Claude Design: The Best-Looking Prototype, With a Ceiling</p></li><li><p>Claude Code: The Prototype That's a Real App</p></li><li><p>How to Instrument Your Prototypes</p></li><li><p>Conclusion</p></li></ol><div><hr></div><h2><strong>1. Why AI Prototyping (+Why Now)</strong></h2><p>In product, most of our ideas don't work. As Marty Cagan says, <em><a href="https://www.svpg.com/product-fail/">&#8220;at least half of our ideas are just not going to work.&#8221;</a></em> Good teams assume at least three-quarters of their ideas won't perform as they hope.</p><p>The last time I worked as a PM, at Ideals, I worked with 7-8 engineers, and building anything still took us 2-4 weeks. So, like many product teams, we tested our ideas, mostly with user prototypes (Figma) before committing. </p><p>That's a standard in <a href="https://www.productcompass.pm/p/product-discovery-2026">product discovery</a>.</p><p>AI has changed a lot. That prototyping part is not gone. It changed, in two ways:</p><ul><li><p><strong>PMs prototype themselves now. </strong>Designers didn&#8217;t disappear, but it makes no sense to wait for a designer with every simple question when a working prototype is one or two prompts away. You show the thing to peers, stakeholders, or even users, instead of describing it.</p></li><li><p><strong>Ideas get tested as production-ready features.</strong> For cheap, reversible ideas, shipping behind a feature flag and measuring real usage is often easier than running a separate experiment. High-risk or hard-to-reverse ideas still get experiments.</p></li></ul><blockquote><p>Keep this in mind when we compare the tools below: <strong>prototype and feature, those two terms are closer than ever</strong>. The boundary is blurring.</p></blockquote><p>It's not just my experience:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NEjN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F094cd340-f5ce-4421-a28d-fc613d736709_1860x1427.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NEjN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F094cd340-f5ce-4421-a28d-fc613d736709_1860x1427.png 424w, https://substackcdn.com/image/fetch/$s_!NEjN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F094cd340-f5ce-4421-a28d-fc613d736709_1860x1427.png 848w, https://substackcdn.com/image/fetch/$s_!NEjN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F094cd340-f5ce-4421-a28d-fc613d736709_1860x1427.png 1272w, https://substackcdn.com/image/fetch/$s_!NEjN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F094cd340-f5ce-4421-a28d-fc613d736709_1860x1427.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NEjN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F094cd340-f5ce-4421-a28d-fc613d736709_1860x1427.png" width="558" height="428.08104395604397" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/094cd340-f5ce-4421-a28d-fc613d736709_1860x1427.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1117,&quot;width&quot;:1456,&quot;resizeWidth&quot;:558,&quot;bytes&quot;:955444,&quot;alt&quot;:&quot;Business Insider: Meta PMs demo vibe-coded prototypes to Zuckerberg&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F094cd340-f5ce-4421-a28d-fc613d736709_1860x1427.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Business Insider: Meta PMs demo vibe-coded prototypes to Zuckerberg" title="Business Insider: Meta PMs demo vibe-coded prototypes to Zuckerberg" srcset="https://substackcdn.com/image/fetch/$s_!NEjN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F094cd340-f5ce-4421-a28d-fc613d736709_1860x1427.png 424w, https://substackcdn.com/image/fetch/$s_!NEjN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F094cd340-f5ce-4421-a28d-fc613d736709_1860x1427.png 848w, https://substackcdn.com/image/fetch/$s_!NEjN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F094cd340-f5ce-4421-a28d-fc613d736709_1860x1427.png 1272w, https://substackcdn.com/image/fetch/$s_!NEjN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F094cd340-f5ce-4421-a28d-fc613d736709_1860x1427.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">Source: <a href="https://x.com/BusinessInsider/status/2013130787059610035">Business Insider</a></figcaption></figure></div><p>In <a href="https://www.productboard.com/blog/ai-in-product-management-report/">Productboard's survey</a> of enterprise product teams, 60% already use two different AI tools just for prototyping.</p><p>And you? Do you prototype as a PM?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/p/ai-prototyping-lovable-ai-studio-claude/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/p/ai-prototyping-lovable-ai-studio-claude/comments"><span>Leave a comment</span></a></p><div><hr></div><h2><strong>2. The Four AI Prototyping Tools: Helicopter View</strong></h2><p>Below, a helicopter view of the four popular tools you will work with as a PM. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xECs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b971ec-cfcb-4d84-b067-3cf478f3c8b2_2400x2902.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xECs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b971ec-cfcb-4d84-b067-3cf478f3c8b2_2400x2902.png 424w, https://substackcdn.com/image/fetch/$s_!xECs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b971ec-cfcb-4d84-b067-3cf478f3c8b2_2400x2902.png 848w, https://substackcdn.com/image/fetch/$s_!xECs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b971ec-cfcb-4d84-b067-3cf478f3c8b2_2400x2902.png 1272w, https://substackcdn.com/image/fetch/$s_!xECs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b971ec-cfcb-4d84-b067-3cf478f3c8b2_2400x2902.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xECs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b971ec-cfcb-4d84-b067-3cf478f3c8b2_2400x2902.png" width="1456" height="1761" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8b971ec-cfcb-4d84-b067-3cf478f3c8b2_2400x2902.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1761,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2518238,&quot;alt&quot;:&quot;AI prototyping tools compared: Lovable, Google AI Studio, Claude Design and Claude Code across ease of use, price, hosting, security and auth defaults, intake questions, design variants, UI strength, vendor lock-in, handoff to engineers, and instrumentation.&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b971ec-cfcb-4d84-b067-3cf478f3c8b2_2400x2902.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI prototyping tools compared: Lovable, Google AI Studio, Claude Design and Claude Code across ease of use, price, hosting, security and auth defaults, intake questions, design variants, UI strength, vendor lock-in, handoff to engineers, and instrumentation." title="AI prototyping tools compared: Lovable, Google AI Studio, Claude Design and Claude Code across ease of use, price, hosting, security and auth defaults, intake questions, design variants, UI strength, vendor lock-in, handoff to engineers, and instrumentation." srcset="https://substackcdn.com/image/fetch/$s_!xECs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b971ec-cfcb-4d84-b067-3cf478f3c8b2_2400x2902.png 424w, https://substackcdn.com/image/fetch/$s_!xECs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b971ec-cfcb-4d84-b067-3cf478f3c8b2_2400x2902.png 848w, https://substackcdn.com/image/fetch/$s_!xECs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b971ec-cfcb-4d84-b067-3cf478f3c8b2_2400x2902.png 1272w, https://substackcdn.com/image/fetch/$s_!xECs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b971ec-cfcb-4d84-b067-3cf478f3c8b2_2400x2902.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>Selected insights:</strong></p><ul><li><p><strong>Lovable:</strong> hosting and Google auth solved in one click, strong UI. Check the default data policy (RLS) before publishing. Hardest to leave if you use Lovable Cloud, and your engineers are unlikely to build on it.</p></li><li><p><strong>Google AI Studio:</strong> test an idea today, no subscription. Weakest UI. Firestore and Google auth tie you to Google.</p></li><li><p><strong>Claude Design:</strong> the best-looking prototype, and it interviews you first. No tracking, no analytics, no databases. It doesn&#8217;t allow you to build features end-to-end.</p></li><li><p><strong>Claude Code:</strong> the most setup, zero lock-in. Real code in your repo, instrument anything, the strongest handoff.</p></li></ul><p>People often ask me about <strong>Bolt</strong> or <strong>Magic Patterns</strong>. I don't recommend those tools. Magic Patterns creates a mess and breaks when multiple people work on the same design. Bolt is not a bad tool. There are just better alternatives.</p><p>I also didn&#8217;t include chatbots such as <strong>ChatGPT.</strong> They are easy to use and can create static HTML pages, but you&#8217;re unlikely to use them for prototyping in a professional environment - you can&#8217;t instrument them. Use <strong>Google AI Studio </strong>instead.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>3. Iterate. Don't Spec.</strong></h2><p>Do you believe you can document a solution, hand it to the developers, and hope the documentation is complete? <strong>That is waterfall. It has never worked.</strong></p><p>But for some reason, people have been proposing specs-driven development, where you do exactly the same thing with agents. </p><p>Of course, it cannot work. We understand what should be adjusted only once we see the product. And we will get much better feedback from the users interacting with what we built.</p><p>I'm not alone. Allen Holub, <a href="https://x.com/allenholub/status/2044445712109150318">in April 2026</a>:</p><blockquote><p><em>&#8220;I really don't get 'spec-based development,' which is nothing but a fancy way to describe a phase-gated 'waterfall.' An upfront specification is never correct.&#8221;</em></p></blockquote><p>So what is the alternative? The one Scrum and Agile discovered long ago: iterating.</p><p>That's how I develop Grok Build (<a href="https://open-vsx.org/extension/PawelHuryn/grok-vscode-phuryn">Open VSX</a>, <a href="https://marketplace.visualstudio.com/items?itemName=PawelHuryn.grok-vscode-phuryn">VS Code Marketplace</a>) and <a href="https://afkpilot.com/">AFK Pilot</a> (75K+ installs), with production releases sometimes twice a day:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!63WT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39416c6a-0371-4fea-b5df-ffe595e22a7d_3840x2280.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!63WT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39416c6a-0371-4fea-b5df-ffe595e22a7d_3840x2280.png 424w, https://substackcdn.com/image/fetch/$s_!63WT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39416c6a-0371-4fea-b5df-ffe595e22a7d_3840x2280.png 848w, https://substackcdn.com/image/fetch/$s_!63WT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39416c6a-0371-4fea-b5df-ffe595e22a7d_3840x2280.png 1272w, https://substackcdn.com/image/fetch/$s_!63WT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39416c6a-0371-4fea-b5df-ffe595e22a7d_3840x2280.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!63WT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39416c6a-0371-4fea-b5df-ffe595e22a7d_3840x2280.png" width="1456" height="865" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39416c6a-0371-4fea-b5df-ffe595e22a7d_3840x2280.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:865,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1472655,&quot;alt&quot;:&quot;Grok Build Desktop (Community)&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39416c6a-0371-4fea-b5df-ffe595e22a7d_3840x2280.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Grok Build Desktop (Community)" title="Grok Build Desktop (Community)" srcset="https://substackcdn.com/image/fetch/$s_!63WT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39416c6a-0371-4fea-b5df-ffe595e22a7d_3840x2280.png 424w, https://substackcdn.com/image/fetch/$s_!63WT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39416c6a-0371-4fea-b5df-ffe595e22a7d_3840x2280.png 848w, https://substackcdn.com/image/fetch/$s_!63WT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39416c6a-0371-4fea-b5df-ffe595e22a7d_3840x2280.png 1272w, https://substackcdn.com/image/fetch/$s_!63WT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39416c6a-0371-4fea-b5df-ffe595e22a7d_3840x2280.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">Grok Build Desktop (Community)</figcaption></figure></div><h3>3.1 Don't iterate blindly: define the strategic context</h3><p>While I encourage iteration, we shouldn't iterate blindly. What we can define before starting is the strategic context:</p><ul><li><p><strong>Users:</strong> who is this product for</p></li><li><p><strong>Problems:</strong> what hurts them today</p></li><li><p><strong>What matters most:</strong> their jobs to be done</p></li></ul><p>For an existing product, this should be part of your <code>CLAUDE.md</code>, the file that provides the strategic context for your agent. If you are not working with Anthropic's tools, this file is called <code>AGENTS.md</code>.</p><p>I explained it in more detail in: <a href="https://www.productcompass.pm/p/claude-code-beginners-guide">Claude Code for PMs: The Beginner&#8217;s Guide</a></p><p>In most cases, this context is enough for an agent to make good decisions. More on leading agents with context, not control: <a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">The Intent Engineering Framework</a>.</p><h3>3.2 The prompt: a new feature or a new product </h3><p>When you prototype <strong>a new feature for an existing product</strong>, the strategic context is already in the file. The prompt carries only the context relevant to the feature:</p><pre><code><code>Prototype [feature] for our existing product.

For this feature:
- Users: [who has this problem]
- Problem: [what hurts them today]
- The specific job it solves: [what the user is trying to do]
- What we know: [data, interviews, support tickets]

I think it could work like [your idea], but my idea is not binding.
Think about alternative solutions and propose one if it's better.</code></code></pre><p>When you prototype a <strong>new product</strong>, there is no context file yet. So the context goes in the prompt, and you ask the agent to save it:</p><pre><code>Build a prototype of a simple CRM.

Context, not requirements:
- Users: a 2-5 person B2B sales team
- Problem(s): follow-ups slip through the inbox
- The job(s) to be done: show what needs follow-up today
- Out of scope: billing, admin, integrations
- Rough idea (optional, not binding): a simple pipeline with a "due today" view
- What we know so far (optional): [interviews, data, anything relevant]

Decide the screens and the interface yourself.
Ask me up to 5 questions before you start.
Then save this context to CLAUDE.md.</code></pre><p>Two notes on those prompts:</p><ul><li><p>If you suggest a solution, still encourage the agent to think about alternatives. Many times agents suggested ideas I hadn&#8217;t thought about.</p></li><li><p>A one-line prompt (<em>&#8220;Help me build a simple CRM for a small organization&#8221;)</em> also works, especially with the <em>&#8220;ask me 5 questions&#8221;</em> line (some agents do it without the prompt, more on that later in this post).</p></li></ul><div><hr></div><h2><strong>4. Lovable: From Prompt to Published App</strong></h2><p>We started with Lovable. It's the simplest path from a prompt to something working, potentially in production.</p><h3>Step 1: Open Lovable and type the prompt</h3><p>Go to <a href="https://lovable.dev">lovable.dev</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_!2Gto!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ca597a-149c-4806-b038-d6df5ea88939_1920x1142.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2Gto!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ca597a-149c-4806-b038-d6df5ea88939_1920x1142.png 424w, https://substackcdn.com/image/fetch/$s_!2Gto!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ca597a-149c-4806-b038-d6df5ea88939_1920x1142.png 848w, https://substackcdn.com/image/fetch/$s_!2Gto!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ca597a-149c-4806-b038-d6df5ea88939_1920x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!2Gto!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ca597a-149c-4806-b038-d6df5ea88939_1920x1142.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2Gto!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ca597a-149c-4806-b038-d6df5ea88939_1920x1142.png" width="728" height="433.0083333333333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73ca597a-149c-4806-b038-d6df5ea88939_1920x1142.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1142,&quot;width&quot;:1920,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:537459,&quot;alt&quot;:&quot;Lovable, type the prompt&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ca597a-149c-4806-b038-d6df5ea88939_1920x1142.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Lovable, type the prompt" title="Lovable, type the prompt" srcset="https://substackcdn.com/image/fetch/$s_!2Gto!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ca597a-149c-4806-b038-d6df5ea88939_1920x1142.png 424w, https://substackcdn.com/image/fetch/$s_!2Gto!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ca597a-149c-4806-b038-d6df5ea88939_1920x1142.png 848w, https://substackcdn.com/image/fetch/$s_!2Gto!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ca597a-149c-4806-b038-d6df5ea88939_1920x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!2Gto!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ca597a-149c-4806-b038-d6df5ea88939_1920x1142.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">Lovable, type the prompt</figcaption></figure></div><pre><code>Help me build a simple CRM for a small organization</code></pre><p>You don&#8217;t have to think about hosting. By default, Lovable will use Lovable Cloud, a Supabase they host. You just publish. </p><p>And you don't have to think about authentication, because their Google sign-in works out of the box. You pay for the editor. Hosting is virtually free.</p><p>You can also bring your own design system: import it as a <code>design.md</code> or upload a zip.</p><h3>Step 2: Answer the interview</h3><p>If your prompt was not precise, Lovable will ask you a few questions before it starts. Mine asked who uses it, what the CRM should track first, how deals should be displayed, and whether I had a style preference:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TdNe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22722d26-409c-45c7-89be-8cb0e4467098_936x590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TdNe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22722d26-409c-45c7-89be-8cb0e4467098_936x590.png 424w, https://substackcdn.com/image/fetch/$s_!TdNe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22722d26-409c-45c7-89be-8cb0e4467098_936x590.png 848w, https://substackcdn.com/image/fetch/$s_!TdNe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22722d26-409c-45c7-89be-8cb0e4467098_936x590.png 1272w, https://substackcdn.com/image/fetch/$s_!TdNe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22722d26-409c-45c7-89be-8cb0e4467098_936x590.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TdNe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22722d26-409c-45c7-89be-8cb0e4467098_936x590.png" width="728" height="458.8888888888889" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22722d26-409c-45c7-89be-8cb0e4467098_936x590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:590,&quot;width&quot;:936,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:101377,&quot;alt&quot;:&quot;Lovable interview: \&quot;Who uses it?\&quot; I picked a small team with logins, shared data.&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d5a1af8-2e47-4080-b60c-0339e6efbc1e_1920x1142.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Lovable interview: &quot;Who uses it?&quot; I picked a small team with logins, shared data." title="Lovable interview: &quot;Who uses it?&quot; I picked a small team with logins, shared data." srcset="https://substackcdn.com/image/fetch/$s_!TdNe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22722d26-409c-45c7-89be-8cb0e4467098_936x590.png 424w, https://substackcdn.com/image/fetch/$s_!TdNe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22722d26-409c-45c7-89be-8cb0e4467098_936x590.png 848w, https://substackcdn.com/image/fetch/$s_!TdNe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22722d26-409c-45c7-89be-8cb0e4467098_936x590.png 1272w, https://substackcdn.com/image/fetch/$s_!TdNe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22722d26-409c-45c7-89be-8cb0e4467098_936x590.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">Lovable interview: "Who uses it?" I picked a small team with logins, shared data.</figcaption></figure></div><p>I picked <strong>a small team with logins, shared data</strong>, and not "each user only sees their own records." Then contacts, deals, activity notes, and a style.</p><h3>Step 3: Sign in with Google</h3><p>Lovable finished. You can open the preview in a separate tab and sign in with Google:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!O60m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F860e011c-c316-4414-a874-d15d2cde4010_3840x2063.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O60m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F860e011c-c316-4414-a874-d15d2cde4010_3840x2063.png 424w, https://substackcdn.com/image/fetch/$s_!O60m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F860e011c-c316-4414-a874-d15d2cde4010_3840x2063.png 848w, https://substackcdn.com/image/fetch/$s_!O60m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F860e011c-c316-4414-a874-d15d2cde4010_3840x2063.png 1272w, https://substackcdn.com/image/fetch/$s_!O60m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F860e011c-c316-4414-a874-d15d2cde4010_3840x2063.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O60m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F860e011c-c316-4414-a874-d15d2cde4010_3840x2063.png" width="1456" height="782" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/860e011c-c316-4414-a874-d15d2cde4010_3840x2063.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:782,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:456107,&quot;alt&quot;:&quot;Prototype (OrbitCRM), sign in with Google&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F860e011c-c316-4414-a874-d15d2cde4010_3840x2063.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Prototype (OrbitCRM), sign in with Google" title="Prototype (OrbitCRM), sign in with Google" srcset="https://substackcdn.com/image/fetch/$s_!O60m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F860e011c-c316-4414-a874-d15d2cde4010_3840x2063.png 424w, https://substackcdn.com/image/fetch/$s_!O60m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F860e011c-c316-4414-a874-d15d2cde4010_3840x2063.png 848w, https://substackcdn.com/image/fetch/$s_!O60m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F860e011c-c316-4414-a874-d15d2cde4010_3840x2063.png 1272w, https://substackcdn.com/image/fetch/$s_!O60m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F860e011c-c316-4414-a874-d15d2cde4010_3840x2063.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">Prototype (OrbitCRM), sign in with Google</figcaption></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_!3Bd2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9dd8223-ae45-49d6-9f7a-01e32c784c7c_3827x2047.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3Bd2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9dd8223-ae45-49d6-9f7a-01e32c784c7c_3827x2047.png 424w, https://substackcdn.com/image/fetch/$s_!3Bd2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9dd8223-ae45-49d6-9f7a-01e32c784c7c_3827x2047.png 848w, https://substackcdn.com/image/fetch/$s_!3Bd2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9dd8223-ae45-49d6-9f7a-01e32c784c7c_3827x2047.png 1272w, https://substackcdn.com/image/fetch/$s_!3Bd2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9dd8223-ae45-49d6-9f7a-01e32c784c7c_3827x2047.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3Bd2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9dd8223-ae45-49d6-9f7a-01e32c784c7c_3827x2047.png" width="1456" height="779" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c9dd8223-ae45-49d6-9f7a-01e32c784c7c_3827x2047.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:779,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:547848,&quot;alt&quot;:&quot;Prototype (OrbitCRM), signed in&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9dd8223-ae45-49d6-9f7a-01e32c784c7c_3827x2047.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Prototype (OrbitCRM), signed in" title="Prototype (OrbitCRM), signed in" srcset="https://substackcdn.com/image/fetch/$s_!3Bd2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9dd8223-ae45-49d6-9f7a-01e32c784c7c_3827x2047.png 424w, https://substackcdn.com/image/fetch/$s_!3Bd2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9dd8223-ae45-49d6-9f7a-01e32c784c7c_3827x2047.png 848w, https://substackcdn.com/image/fetch/$s_!3Bd2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9dd8223-ae45-49d6-9f7a-01e32c784c7c_3827x2047.png 1272w, https://substackcdn.com/image/fetch/$s_!3Bd2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9dd8223-ae45-49d6-9f7a-01e32c784c7c_3827x2047.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">Prototype (OrbitCRM), signed in</figcaption></figure></div><p>Google authentication comes with Lovable Cloud. When I implemented <a href="https://www.accredia.io/">Accredia</a>, I used a custom Supabase and I had to wait ~2 weeks for Google to approve the app. Here, it just works from the start.</p><p>I added a couple of contacts manually.</p><h3>Step 4: Check Cloud</h3><p>Click the project name, then open <strong>More &#8594;</strong> <strong>Cloud</strong>, next to Code:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gNey!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51140dc9-06fd-48ff-b8f1-b87e99bc59f6_1920x1142.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gNey!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51140dc9-06fd-48ff-b8f1-b87e99bc59f6_1920x1142.png 424w, https://substackcdn.com/image/fetch/$s_!gNey!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51140dc9-06fd-48ff-b8f1-b87e99bc59f6_1920x1142.png 848w, https://substackcdn.com/image/fetch/$s_!gNey!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51140dc9-06fd-48ff-b8f1-b87e99bc59f6_1920x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!gNey!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51140dc9-06fd-48ff-b8f1-b87e99bc59f6_1920x1142.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gNey!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51140dc9-06fd-48ff-b8f1-b87e99bc59f6_1920x1142.png" width="728" height="433.0083333333333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51140dc9-06fd-48ff-b8f1-b87e99bc59f6_1920x1142.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1142,&quot;width&quot;:1920,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:405570,&quot;alt&quot;:&quot;Lovable, More &#8594; Cloud &#8594; Overview&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51140dc9-06fd-48ff-b8f1-b87e99bc59f6_1920x1142.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Lovable, More &#8594; Cloud &#8594; Overview" title="Lovable, More &#8594; Cloud &#8594; Overview" srcset="https://substackcdn.com/image/fetch/$s_!gNey!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51140dc9-06fd-48ff-b8f1-b87e99bc59f6_1920x1142.png 424w, https://substackcdn.com/image/fetch/$s_!gNey!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51140dc9-06fd-48ff-b8f1-b87e99bc59f6_1920x1142.png 848w, https://substackcdn.com/image/fetch/$s_!gNey!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51140dc9-06fd-48ff-b8f1-b87e99bc59f6_1920x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!gNey!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51140dc9-06fd-48ff-b8f1-b87e99bc59f6_1920x1142.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">Lovable, More &#8594; Cloud &#8594; Overview</figcaption></figure></div><p>This is the database Lovable created and manages for us. Not a traditional Supabase you can easily access. Your options are limited.</p><h3>Step 5: Read the RLS policies</h3><p>Go to <strong>More &#8594; Cloud</strong> and open <strong>policies</strong>.</p><p>RLS is row-level security: who can see which rows.</p><p>I had already answered the interview: a small team, shared data. That is not the same as the policy Lovable implemented.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mnwh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7689c7cc-71a9-40b3-bcf4-b4b93910f2f1_1456x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mnwh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7689c7cc-71a9-40b3-bcf4-b4b93910f2f1_1456x866.png 424w, https://substackcdn.com/image/fetch/$s_!mnwh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7689c7cc-71a9-40b3-bcf4-b4b93910f2f1_1456x866.png 848w, https://substackcdn.com/image/fetch/$s_!mnwh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7689c7cc-71a9-40b3-bcf4-b4b93910f2f1_1456x866.png 1272w, https://substackcdn.com/image/fetch/$s_!mnwh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7689c7cc-71a9-40b3-bcf4-b4b93910f2f1_1456x866.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mnwh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7689c7cc-71a9-40b3-bcf4-b4b93910f2f1_1456x866.png" width="1456" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7689c7cc-71a9-40b3-bcf4-b4b93910f2f1_1456x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:429374,&quot;alt&quot;:&quot;Lovable, Cloud &#8594; policies: contacts are USING true&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7689c7cc-71a9-40b3-bcf4-b4b93910f2f1_1456x866.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Lovable, Cloud &#8594; policies: contacts are USING true" title="Lovable, Cloud &#8594; policies: contacts are USING true" srcset="https://substackcdn.com/image/fetch/$s_!mnwh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7689c7cc-71a9-40b3-bcf4-b4b93910f2f1_1456x866.png 424w, https://substackcdn.com/image/fetch/$s_!mnwh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7689c7cc-71a9-40b3-bcf4-b4b93910f2f1_1456x866.png 848w, https://substackcdn.com/image/fetch/$s_!mnwh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7689c7cc-71a9-40b3-bcf4-b4b93910f2f1_1456x866.png 1272w, https://substackcdn.com/image/fetch/$s_!mnwh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7689c7cc-71a9-40b3-bcf4-b4b93910f2f1_1456x866.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">Lovable, Cloud &#8594; policies: contacts are USING true</figcaption></figure></div><p>On contacts, mine was <code>USING true</code>, which means any signed-in user, not just my team. Shared with the team and anyone with a Google login are not the same thing.</p><p>It seemed to me that right now anyone can see any data. You don&#8217;t have to overthink your prompts. Just ask:</p><pre><code><code>Hey, users should see only their data. Ensure that's the case.</code></code></pre><p>And Lovable fixed the RLS:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RAJr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e11aac-08ed-494b-9a92-420edc191ae5_1456x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RAJr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e11aac-08ed-494b-9a92-420edc191ae5_1456x866.png 424w, https://substackcdn.com/image/fetch/$s_!RAJr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e11aac-08ed-494b-9a92-420edc191ae5_1456x866.png 848w, https://substackcdn.com/image/fetch/$s_!RAJr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e11aac-08ed-494b-9a92-420edc191ae5_1456x866.png 1272w, https://substackcdn.com/image/fetch/$s_!RAJr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e11aac-08ed-494b-9a92-420edc191ae5_1456x866.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RAJr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e11aac-08ed-494b-9a92-420edc191ae5_1456x866.png" width="1456" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13e11aac-08ed-494b-9a92-420edc191ae5_1456x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:437923,&quot;alt&quot;:&quot;Lovable, policies after the fix: own contacts only&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e11aac-08ed-494b-9a92-420edc191ae5_1456x866.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Lovable, policies after the fix: own contacts only" title="Lovable, policies after the fix: own contacts only" srcset="https://substackcdn.com/image/fetch/$s_!RAJr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e11aac-08ed-494b-9a92-420edc191ae5_1456x866.png 424w, https://substackcdn.com/image/fetch/$s_!RAJr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e11aac-08ed-494b-9a92-420edc191ae5_1456x866.png 848w, https://substackcdn.com/image/fetch/$s_!RAJr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e11aac-08ed-494b-9a92-420edc191ae5_1456x866.png 1272w, https://substackcdn.com/image/fetch/$s_!RAJr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e11aac-08ed-494b-9a92-420edc191ae5_1456x866.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">Lovable, policies after the fix: own contacts only (Per-user isolation is right for a demo. A team CRM would want an organization ID on every record, with users grouped by organization. Just ask in the chat.)</figcaption></figure></div><p>I opened it in incognito and signed in with a different Google account: empty contact list. Users are isolated. An attendee confirmed it from the outside, 62 seconds after I shared the link. I should have done it before publishing. </p><blockquote><p><strong>Answering the interview is not the same as setting the policy. Ask what users can see in the chat, test the app using different accounts, and consider opening Cloud &#8594; policies before you publish anything.</strong></p></blockquote><h3>Step 6: Publish</h3><p>Click <strong>Publish</strong>, and the app is available to anyone with the link. <br>Mine: <a href="https://hearth-home-crm.lovable.app/">https://hearth-home-crm.lovable.app</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_!b6mx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d817fa-590a-4c78-9803-f00144314630_1920x1142.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b6mx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d817fa-590a-4c78-9803-f00144314630_1920x1142.png 424w, https://substackcdn.com/image/fetch/$s_!b6mx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d817fa-590a-4c78-9803-f00144314630_1920x1142.png 848w, https://substackcdn.com/image/fetch/$s_!b6mx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d817fa-590a-4c78-9803-f00144314630_1920x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!b6mx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d817fa-590a-4c78-9803-f00144314630_1920x1142.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b6mx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d817fa-590a-4c78-9803-f00144314630_1920x1142.png" width="728" height="433" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c4d817fa-590a-4c78-9803-f00144314630_1920x1142.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:866,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:391039,&quot;alt&quot;:&quot;Your Lovable prototype is live&quot;,&quot;title&quot;:&quot;Your Lovable prototype is live&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d817fa-590a-4c78-9803-f00144314630_1920x1142.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Your Lovable prototype is live" title="Your Lovable prototype is live" srcset="https://substackcdn.com/image/fetch/$s_!b6mx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d817fa-590a-4c78-9803-f00144314630_1920x1142.png 424w, https://substackcdn.com/image/fetch/$s_!b6mx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d817fa-590a-4c78-9803-f00144314630_1920x1142.png 848w, https://substackcdn.com/image/fetch/$s_!b6mx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d817fa-590a-4c78-9803-f00144314630_1920x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!b6mx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d817fa-590a-4c78-9803-f00144314630_1920x1142.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">Your Lovable prototype is live</figcaption></figure></div><p>You can point your own domain, but theirs is often enough for testing. To make it look less like a prototype, hide the Lovable badge in the settings.</p><h3>Lovable Cheat Sheet</h3><ul><li><p><strong>Use it when:</strong> you need a link today, with Google auth and a database.</p></li><li><p><strong>Skip it when:</strong> engineers will take this over. There is no click that says "I want to stop using Lovable Cloud." Also skip if you&#8217;re looking for a budget solution.</p></li><li><p><strong>Watch for:</strong> RLS (<code>USING true</code> is not "my team"). One database for every environment (no DEV / STAGING / PROD separation). Unknown LLM model.</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Upgrade&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#128274; The session recording: the Lovable build end to end, including the live security fix. For premium subscribers.</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="Upgrade"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2><strong>5. Google AI Studio: Good Enough to Prototype</strong></h2><p>Google AI Studio is no longer only a user interface tool. It can create a database in Firestore, and it can authenticate your users. I'm on the Pro license, but there is also a free version.</p><h3>Step 1: Open Build and paste the prompt</h3><p>Open <a href="https://aistudio.google.com">aistudio.google.com</a> and switch to <strong>Build</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_!AqBQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf8344-dad4-452b-bb8a-a72d87b3625c_1920x1142.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AqBQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf8344-dad4-452b-bb8a-a72d87b3625c_1920x1142.png 424w, https://substackcdn.com/image/fetch/$s_!AqBQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf8344-dad4-452b-bb8a-a72d87b3625c_1920x1142.png 848w, https://substackcdn.com/image/fetch/$s_!AqBQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf8344-dad4-452b-bb8a-a72d87b3625c_1920x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!AqBQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf8344-dad4-452b-bb8a-a72d87b3625c_1920x1142.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AqBQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf8344-dad4-452b-bb8a-a72d87b3625c_1920x1142.png" width="728" height="433.0083333333333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4eaf8344-dad4-452b-bb8a-a72d87b3625c_1920x1142.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1142,&quot;width&quot;:1920,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:263688,&quot;alt&quot;:&quot;Google AI Studio, the Build tab > New app&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf8344-dad4-452b-bb8a-a72d87b3625c_1920x1142.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Google AI Studio, the Build tab > New app" title="Google AI Studio, the Build tab > New app" srcset="https://substackcdn.com/image/fetch/$s_!AqBQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf8344-dad4-452b-bb8a-a72d87b3625c_1920x1142.png 424w, https://substackcdn.com/image/fetch/$s_!AqBQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf8344-dad4-452b-bb8a-a72d87b3625c_1920x1142.png 848w, https://substackcdn.com/image/fetch/$s_!AqBQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf8344-dad4-452b-bb8a-a72d87b3625c_1920x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!AqBQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf8344-dad4-452b-bb8a-a72d87b3625c_1920x1142.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">Google AI Studio, the Build tab &gt; New app</figcaption></figure></div><pre><code>Help me build a simple CRM for a small organization that includes contact management, task tracking, and basic email integration</code></pre><h3>Step 2: Enable Firebase when it asks</h3><p>It asked me if I want to enable Firebase. This is the database that Google can host, so I agreed:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hha1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf75e47-c316-48d8-9df2-e8351a340f91_1456x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hha1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf75e47-c316-48d8-9df2-e8351a340f91_1456x866.png 424w, https://substackcdn.com/image/fetch/$s_!Hha1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf75e47-c316-48d8-9df2-e8351a340f91_1456x866.png 848w, https://substackcdn.com/image/fetch/$s_!Hha1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf75e47-c316-48d8-9df2-e8351a340f91_1456x866.png 1272w, https://substackcdn.com/image/fetch/$s_!Hha1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf75e47-c316-48d8-9df2-e8351a340f91_1456x866.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hha1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf75e47-c316-48d8-9df2-e8351a340f91_1456x866.png" width="1456" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5bf75e47-c316-48d8-9df2-e8351a340f91_1456x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:400866,&quot;alt&quot;:&quot;AI Studio, enable Firebase Firestore&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf75e47-c316-48d8-9df2-e8351a340f91_1456x866.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Studio, enable Firebase Firestore" title="AI Studio, enable Firebase Firestore" srcset="https://substackcdn.com/image/fetch/$s_!Hha1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf75e47-c316-48d8-9df2-e8351a340f91_1456x866.png 424w, https://substackcdn.com/image/fetch/$s_!Hha1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf75e47-c316-48d8-9df2-e8351a340f91_1456x866.png 848w, https://substackcdn.com/image/fetch/$s_!Hha1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf75e47-c316-48d8-9df2-e8351a340f91_1456x866.png 1272w, https://substackcdn.com/image/fetch/$s_!Hha1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf75e47-c316-48d8-9df2-e8351a340f91_1456x866.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">AI Studio, enable Firebase Firestore</figcaption></figure></div><h3>Step 3: Pick a visual style and confirm</h3><p>I like this slick interface, so let's select this design:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E7Op!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7e69d0-1d9f-42b5-afa8-b23fc3370d25_1189x738.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E7Op!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7e69d0-1d9f-42b5-afa8-b23fc3370d25_1189x738.png 424w, https://substackcdn.com/image/fetch/$s_!E7Op!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7e69d0-1d9f-42b5-afa8-b23fc3370d25_1189x738.png 848w, https://substackcdn.com/image/fetch/$s_!E7Op!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7e69d0-1d9f-42b5-afa8-b23fc3370d25_1189x738.png 1272w, https://substackcdn.com/image/fetch/$s_!E7Op!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7e69d0-1d9f-42b5-afa8-b23fc3370d25_1189x738.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E7Op!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7e69d0-1d9f-42b5-afa8-b23fc3370d25_1189x738.png" width="728" height="451.86206896551727" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc7e69d0-1d9f-42b5-afa8-b23fc3370d25_1189x738.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:738,&quot;width&quot;:1189,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:180587,&quot;alt&quot;:&quot;AI Studio, pick a style: Sleek Interface&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02386c9a-b0ad-4367-9153-536dfec3f16a_1920x1142.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Studio, pick a style: Sleek Interface" title="AI Studio, pick a style: Sleek Interface" srcset="https://substackcdn.com/image/fetch/$s_!E7Op!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7e69d0-1d9f-42b5-afa8-b23fc3370d25_1189x738.png 424w, https://substackcdn.com/image/fetch/$s_!E7Op!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7e69d0-1d9f-42b5-afa8-b23fc3370d25_1189x738.png 848w, https://substackcdn.com/image/fetch/$s_!E7Op!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7e69d0-1d9f-42b5-afa8-b23fc3370d25_1189x738.png 1272w, https://substackcdn.com/image/fetch/$s_!E7Op!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7e69d0-1d9f-42b5-afa8-b23fc3370d25_1189x738.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">AI Studio, pick a style: Sleek Interface</figcaption></figure></div><p>Once you confirm, the build is more technical than Lovable's. You will see file names going by, but you don't have to open any of them.</p><h3>Step 4: Seed the data</h3><p>The first dashboard is empty, so click <strong>Seed Demo Data</strong>. Then you get a pipeline, contacts, and tasks you can click through:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kwE9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7cb3508-faf7-4edc-8383-e661cb63b32d_1456x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kwE9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7cb3508-faf7-4edc-8383-e661cb63b32d_1456x866.png 424w, https://substackcdn.com/image/fetch/$s_!kwE9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7cb3508-faf7-4edc-8383-e661cb63b32d_1456x866.png 848w, https://substackcdn.com/image/fetch/$s_!kwE9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7cb3508-faf7-4edc-8383-e661cb63b32d_1456x866.png 1272w, https://substackcdn.com/image/fetch/$s_!kwE9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7cb3508-faf7-4edc-8383-e661cb63b32d_1456x866.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kwE9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7cb3508-faf7-4edc-8383-e661cb63b32d_1456x866.png" width="1456" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7cb3508-faf7-4edc-8383-e661cb63b32d_1456x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:546722,&quot;alt&quot;:&quot;Prototype (OrgCRM) after Seed Demo Data&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7cb3508-faf7-4edc-8383-e661cb63b32d_1456x866.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Prototype (OrgCRM) after Seed Demo Data" title="Prototype (OrgCRM) after Seed Demo Data" srcset="https://substackcdn.com/image/fetch/$s_!kwE9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7cb3508-faf7-4edc-8383-e661cb63b32d_1456x866.png 424w, https://substackcdn.com/image/fetch/$s_!kwE9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7cb3508-faf7-4edc-8383-e661cb63b32d_1456x866.png 848w, https://substackcdn.com/image/fetch/$s_!kwE9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7cb3508-faf7-4edc-8383-e661cb63b32d_1456x866.png 1272w, https://substackcdn.com/image/fetch/$s_!kwE9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7cb3508-faf7-4edc-8383-e661cb63b32d_1456x866.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">Prototype (OrgCRM) after clicking Seed Demo Data</figcaption></figure></div><p>I don&#8217;t really like how Google designs interfaces. I selected what seemed the best. Still, not a Lovable level. Their default model is Gemini Flash.</p><p>But for prototyping, it is often all that you need. And you can steer it with prompts or by giving examples / screenshots of the products you like.</p><h3>Step 5: Publish</h3><p>Click <strong>Publish</strong>, and you get a nice URL to share. <br>Mine: <a href="https://organization-crm.ai.studio/">https://organization-crm.ai.studio/</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_!NB7T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17013598-e939-4167-aff6-839db9b14b81_1456x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NB7T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17013598-e939-4167-aff6-839db9b14b81_1456x866.png 424w, https://substackcdn.com/image/fetch/$s_!NB7T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17013598-e939-4167-aff6-839db9b14b81_1456x866.png 848w, https://substackcdn.com/image/fetch/$s_!NB7T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17013598-e939-4167-aff6-839db9b14b81_1456x866.png 1272w, https://substackcdn.com/image/fetch/$s_!NB7T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17013598-e939-4167-aff6-839db9b14b81_1456x866.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NB7T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17013598-e939-4167-aff6-839db9b14b81_1456x866.png" width="1456" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17013598-e939-4167-aff6-839db9b14b81_1456x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:509414,&quot;alt&quot;:&quot;Organization CRM, click Publish&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17013598-e939-4167-aff6-839db9b14b81_1456x866.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Organization CRM, click Publish" title="Organization CRM, click Publish" srcset="https://substackcdn.com/image/fetch/$s_!NB7T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17013598-e939-4167-aff6-839db9b14b81_1456x866.png 424w, https://substackcdn.com/image/fetch/$s_!NB7T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17013598-e939-4167-aff6-839db9b14b81_1456x866.png 848w, https://substackcdn.com/image/fetch/$s_!NB7T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17013598-e939-4167-aff6-839db9b14b81_1456x866.png 1272w, https://substackcdn.com/image/fetch/$s_!NB7T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17013598-e939-4167-aff6-839db9b14b81_1456x866.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">Organization CRM, click Publish</figcaption></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_!jz5a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffce42312-cf1c-4945-a7ba-a11b0a903252_1918x1034.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jz5a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffce42312-cf1c-4945-a7ba-a11b0a903252_1918x1034.png 424w, https://substackcdn.com/image/fetch/$s_!jz5a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffce42312-cf1c-4945-a7ba-a11b0a903252_1918x1034.png 848w, https://substackcdn.com/image/fetch/$s_!jz5a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffce42312-cf1c-4945-a7ba-a11b0a903252_1918x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!jz5a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffce42312-cf1c-4945-a7ba-a11b0a903252_1918x1034.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jz5a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffce42312-cf1c-4945-a7ba-a11b0a903252_1918x1034.png" width="1456" height="785" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fce42312-cf1c-4945-a7ba-a11b0a903252_1918x1034.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:785,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:184277,&quot;alt&quot;:&quot;Prototype, live view&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://www.productcompass.pm/i/211601931?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffce42312-cf1c-4945-a7ba-a11b0a903252_1918x1034.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Prototype, live view" title="Prototype, live view" srcset="https://substackcdn.com/image/fetch/$s_!jz5a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffce42312-cf1c-4945-a7ba-a11b0a903252_1918x1034.png 424w, https://substackcdn.com/image/fetch/$s_!jz5a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffce42312-cf1c-4945-a7ba-a11b0a903252_1918x1034.png 848w, https://substackcdn.com/image/fetch/$s_!jz5a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffce42312-cf1c-4945-a7ba-a11b0a903252_1918x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!jz5a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffce42312-cf1c-4945-a7ba-a11b0a903252_1918x1034.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">Prototype, live view</figcaption></figure></div><p>You can also sync the project with GitHub in the settings. Then you can open the same project in Claude or in Codex and continue there.</p><h3>AI Studio Cheat Sheet</h3><ul><li><p><strong>Use it when:</strong> you want to test an idea today. Free version exists.</p></li><li><p><strong>Skip it when:</strong> you need a top-notch design.</p></li><li><p><strong>Watch for:</strong> Google ecosystem. Swapping Firestore is not that straightforward (for an agent, probably one day).</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Upgrade&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#128274; The session recording: the AI Studio build, from prompt to published URL. For premium subscribers.</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="Upgrade"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2><strong>6. Claude Design: The Best-Looking Prototype, With a Ceiling</strong></h2>
      <p>
          <a href="https://www.productcompass.pm/p/ai-prototyping-lovable-ai-studio-claude">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Opus 5: The Best Opus Yet, Once You Heal It]]></title><description><![CDATA[Anthropic was proud of removing 80% of instructions. This model needs more of them. The eight blocks that made Opus 5 the best Opus I have used.]]></description><link>https://www.productcompass.pm/p/claude-opus-5-the-best-opus-yet-once</link><guid isPermaLink="false">https://www.productcompass.pm/p/claude-opus-5-the-best-opus-yet-once</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Mon, 10 Aug 2026 17:52:32 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8f149b91-cf4f-44e0-8306-633a6666e4c3_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>At first I loved Opus 5.</p><p>On July 24, Anthropic put it at the top of nearly every test they publish:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P-St!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd832674b-e9d8-4b02-81ed-8abdec354a94_2160x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P-St!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd832674b-e9d8-4b02-81ed-8abdec354a94_2160x2160.png 424w, https://substackcdn.com/image/fetch/$s_!P-St!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd832674b-e9d8-4b02-81ed-8abdec354a94_2160x2160.png 848w, https://substackcdn.com/image/fetch/$s_!P-St!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd832674b-e9d8-4b02-81ed-8abdec354a94_2160x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!P-St!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd832674b-e9d8-4b02-81ed-8abdec354a94_2160x2160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P-St!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd832674b-e9d8-4b02-81ed-8abdec354a94_2160x2160.png" width="728" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d832674b-e9d8-4b02-81ed-8abdec354a94_2160x2160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:2160,&quot;width&quot;:2160,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:202745,&quot;alt&quot;:&quot;Anthropic's own evaluation table for Claude Opus 5, July 24, 2026.&quot;,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Anthropic's own evaluation table for Claude Opus 5, July 24, 2026." title="Anthropic's own evaluation table for Claude Opus 5, July 24, 2026." srcset="https://substackcdn.com/image/fetch/$s_!P-St!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd832674b-e9d8-4b02-81ed-8abdec354a94_2160x2160.png 424w, https://substackcdn.com/image/fetch/$s_!P-St!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd832674b-e9d8-4b02-81ed-8abdec354a94_2160x2160.png 848w, https://substackcdn.com/image/fetch/$s_!P-St!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd832674b-e9d8-4b02-81ed-8abdec354a94_2160x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!P-St!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd832674b-e9d8-4b02-81ed-8abdec354a94_2160x2160.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><figcaption class="image-caption">Anthropic's own evaluation table for Claude Opus 5, July 24, 2026.</figcaption></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_!x18O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2e21304-2474-4f2d-a9fb-9192d95d32ee_3840x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x18O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2e21304-2474-4f2d-a9fb-9192d95d32ee_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!x18O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2e21304-2474-4f2d-a9fb-9192d95d32ee_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!x18O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2e21304-2474-4f2d-a9fb-9192d95d32ee_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!x18O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2e21304-2474-4f2d-a9fb-9192d95d32ee_3840x2160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x18O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2e21304-2474-4f2d-a9fb-9192d95d32ee_3840x2160.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b2e21304-2474-4f2d-a9fb-9192d95d32ee_3840x2160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:2160,&quot;width&quot;:3840,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:161677,&quot;alt&quot;:&quot;ARC-AGI-3 measures novel problem solving. Opus 5 scored about three times the next best model.&quot;,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ARC-AGI-3 measures novel problem solving. Opus 5 scored about three times the next best model." title="ARC-AGI-3 measures novel problem solving. Opus 5 scored about three times the next best model." srcset="https://substackcdn.com/image/fetch/$s_!x18O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2e21304-2474-4f2d-a9fb-9192d95d32ee_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!x18O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2e21304-2474-4f2d-a9fb-9192d95d32ee_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!x18O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2e21304-2474-4f2d-a9fb-9192d95d32ee_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!x18O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2e21304-2474-4f2d-a9fb-9192d95d32ee_3840x2160.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><figcaption class="image-caption">ARC-AGI-3 measures novel problem solving. Opus 5 scored about three times the next best model.</figcaption></figure></div><p>But then I used it for a few days. <strong>The</strong> <strong>more I worked with it, the less I liked it</strong>. </p><p>And it&#8217;s not just me. For example:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/kimmonismus/status/2084727476761083926&quot;,&quot;full_text&quot;:&quot;I'm going to cancel Claude. It's just so bad, I can't believe it.\n\nIt's just lazy. The most recent example: I have Claude check my inbox for important emails, summarize them, work with them, and send out replies if necessary. I caught Claude again simply not reading the email&quot;,&quot;username&quot;:&quot;kimmonismus&quot;,&quot;name&quot;:&quot;Chubby&#9832;&#65039;&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1728327996375719936/RW7VBJfD_normal.jpg&quot;,&quot;date&quot;:&quot;2026-08-04T19:45:37.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:2019,&quot;retweet_count&quot;:566,&quot;like_count&quot;:16409,&quot;impression_count&quot;:2501903,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p>My timeline has looked like this for two weeks. <em>&#8220;Cancel the subscription.&#8221; &#8220;Bring back 4.6.&#8221; &#8220;Anthropic broke it.&#8221;</em></p><p>The closest thing to advice out there is this:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/mattshumer_/status/2085776751150485642&quot;,&quot;full_text&quot;:&quot;Claude Opus 5 is way better than people give it credit for.\n\nIf you're using it like previous Claude models, it's going to suck.\n\nTwo things make a huge difference:\n- Delete ALL your skills/MCPs/Claude.md/etc. Start fresh.\n- Stop telling it how to do the thing. Just say what you&quot;,&quot;username&quot;:&quot;mattshumer_&quot;,&quot;name&quot;:&quot;Matt Shumer&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1490950574090571778/BtgOaqUP_normal.jpg&quot;,&quot;date&quot;:&quot;2026-08-07T17:15:03.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:472,&quot;retweet_count&quot;:100,&quot;like_count&quot;:2462,&quot;impression_count&quot;:760613,&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>Right diagnosis, half a prescription. <em>&#8220;Delete everything&#8221;</em> and you also delete the half no model can guess: your preferences, the decisions you already made, <a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">the strategic context</a>.</p><p>Here is what I think happened:</p><ul><li><p>Anthropic removed 80% of Claude Code's system prompt and was proud of it. I <a href="https://github.com/phuryn/experiments/tree/main/claude-code-system-prompt-shrink">measured the cut</a>: <strong>2,686 words down to 514</strong>. </p></li><li><p>As Kun Chen explained, Anthropic also pushed reinforcement learning too far toward long jobs. It was <strong>trained to work without you</strong>, so it <strong>stopped working with you</strong>:</p></li></ul><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/kunchenguid/status/2086557022422770096&quot;,&quot;full_text&quot;:&quot;opus 5 is a sign that the obsession with &#8220;long-horizon agents&#8221; in model training is finally backfiring\n\ni don&#8217;t like long-horizon agents, and i&#8217;ll explain why they fundamentally don&#8217;t work\n\nsome people will immediately jump out and say &#8220;skill issue&#8221;. well, show me one profitable&quot;,&quot;username&quot;:&quot;kunchenguid&quot;,&quot;name&quot;:&quot;Kun Chen&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1946076752024895489/ScNir1Fy_normal.jpg&quot;,&quot;date&quot;:&quot;2026-08-09T20:55:35.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:132,&quot;retweet_count&quot;:117,&quot;like_count&quot;:1348,&quot;impression_count&quot;:117563,&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>Both mean this model needs more instructions, not fewer.</p><p><strong>Luckily, you can heal it.</strong></p><p>I never switched away from Opus 5. Every time a failure repeated, I wrote the rule that stopped it, then kept working. After two weeks, <strong>eight blocks survived</strong>.</p><p>With them, <strong>Opus 5 is the best Opus I have used</strong> by a large margin.</p><div><hr></div><h2>1. Act. Don't Ask.</h2><p><strong>The failure:</strong> Opus 5 stops to ask for permission when the decision is obvious.</p><p>It pauses mid-task to ask whether it should follow the naming convention visible in the folder it just read. Or it finishes real work and ends with <em>"want me to also update the documentation?"</em> I got that exact ending five times in one session.</p><p>A block you can copy and paste into your CLAUDE.md:</p><pre><code>## Act. Don't ask.

Reversible and cheap? Do it, then tell me. Research, data pulls, analysis,
drafts, refactors inside the scope I gave you, testing an API. A question costs
me more than a re-run costs you.

Ask first only for: anything reaching an audience, anything we cannot undo,
anything expensive.

Before you hand something back as blocked, try it. Read the API. Check the flag.
Run the command. "Can you do X?" when the answer was yes wastes a round trip
and buys nothing.

Something is broken? Fix it. Reporting an issue you could have fixed turns your
work into my to-do list.</code></pre><p>That last paragraph came from a morning when it turned out that my X scheduled job had been failing for days. The agent reported it, and waited. I reacted 2 days later. The fix was one command.</p><div><hr></div><h2>2. A Question Is a Question</h2><p><strong>The failure:</strong> you ask a question and Opus 5 starts changing things. Like a psychopath.</p><p>I ask <em>"how could we improve this?"</em> and it starts rebuilding a feature.</p><pre><code>## A question is a question

When I ask a question, answer it. Do not implement it.

"Why is this failing?" is not "make it stop failing."
"Should we use X?" is not "migrate everything to X."
"What would it take to add Y?" is not "add Y."

When in doubt, assume it is a question. Answer first. Act when I say go.

Full freedom about how. None about what.</code></pre><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>3. Done Means Done</h2><p><strong>The failure:</strong> it does four of the five things you asked, then reports done. Until you ask <em>&#8220;everything?&#8221;</em></p><pre><code>## Done means done

Done means done. Not half done. Not done except for the part you decided to skip.
And not a report about how it will be done.

Five things asked means five things delivered, no matter how long they take.
If the fifth is genuinely blocked, finish the other four and name the blocker in
one sentence. The specific blocker. Not "this needs more investigation."

"I'll continue in the next message" is not a state this project has.</code></pre><div class="callout-block" data-callout="true"><p>&#128274; Thanks for reading. 5 more blocks left. Consider upgrading to continue and support my work. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p></div>
      <p>
          <a href="https://www.productcompass.pm/p/claude-opus-5-the-best-opus-yet-once">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How to Cut Your AI Bill From $200 to $20 a Month]]></title><description><![CDATA[Measured, not estimated: 105 hidden bugs, 10 frontier models, 14 runs. The $1.80 run beat the $104 one. My routing, and the setup.]]></description><link>https://www.productcompass.pm/p/ai-coding-bill-20-a-month</link><guid isPermaLink="false">https://www.productcompass.pm/p/ai-coding-bill-20-a-month</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Sun, 02 Aug 2026 12:24:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/92eb57cb-8784-407d-a300-dd1aabf4e188_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><span>Hey, Pawe&#322; here. Welcome to the </span>free<span> edition of The Product Compass Newsletter.</span></em></p><p><em>Every week, I share actionable tips, templates, resources, and insights for PMs.</em></p><p><em><span>This is the #1 AI PM newsletter for those who want to quickly learn by doing rather than listening or studying theory. No coding.</span><br><br><span>Here&#8217;s what you might have recently missed:</span></em></p><ul><li><p><em><a href="https://www.productcompass.pm/p/product-discovery-2026">What Is Product Discovery? The Ultimate Guide for PMs (2026 Edition)</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/loop-engineering-for-pms">Agent Loops for PMs: 20+ You Can Run This Week</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/claude-code-beginners-guide">Claude Code for PMs: The Beginner&#8217;s Guide</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/claude-md-snippets">Three CLAUDE.md Blocks That Make Claude Get Smarter Every Session</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/evaluating-ai-products-error-analysis">AI Evals: Error Analysis (everything a PM should know)</a></em></p></li></ul><p><em>Consider subscribing and upgrading your account for the full experience:</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><p><em>Note: I&#8217;m on vacation in Italy till 8/6, but in this post, I wanted to share the results of the experiments I keep running. This one can radically lower your AI bill.</em></p><div><hr></div><p>In April, I demonstrated <a href="https://www.productcompass.pm/p/stop-hitting-claude-code-limits">how I cut my Claude bill $1,389/mo &#8594; $200/mo</a> by adjusting the context window, delegating work to subagents, reading PDFs as text, and so on.<br><br>Still, $200 is a lot of money, depending on your situation. And despite some social media claims, the <strong>$20 Claude</strong> subscription <strong>was never enough</strong> for any real work.</p><p>The situation got worse recently. For new 1M models, Anthropic no longer supports <a href="https://www.productcompass.pm/i/195650302/2-context-bloat">disabling the 1M context window or overriding auto compact thresholds</a>. You will pay premium for Claude cache writes and reads in both Cowork and Claude Code, especially when <a href="https://www.productcompass.pm/p/loop-engineering-for-pms">running autonomous loops</a> (there is no human to hit <code>/compact</code>).</p><h3>What's just changed</h3><blockquote><p>On July 30, OpenAI <a href="https://x.com/OpenAI/status/2082878156483219672?s=20">reduced prices</a> for <strong>GPT-5.6 Luna by 80%</strong>. The same week, they <strong><a href="https://x.com/i/status/2082577277246972300">radically improved</a></strong> their models&#8217; performance and token efficiency. The reports said that Luna with max effort scores similarly to Opus 5 at a fraction of the cost.</p></blockquote><p>I decided to test it. The results are crazy, verified multiple times.</p><div><hr></div><h2>1. Bug Hunt Bench</h2><p>Here&#8217;s a benchmark I&#8217;ve been improving for several weeks, never published in this newsletter. Look at the blue Luna rows and their last column, cost:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mnWH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92be675c-8a6d-4a82-878b-6a32044c97fa_2400x2936.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mnWH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92be675c-8a6d-4a82-878b-6a32044c97fa_2400x2936.png 424w, https://substackcdn.com/image/fetch/$s_!mnWH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92be675c-8a6d-4a82-878b-6a32044c97fa_2400x2936.png 848w, https://substackcdn.com/image/fetch/$s_!mnWH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92be675c-8a6d-4a82-878b-6a32044c97fa_2400x2936.png 1272w, https://substackcdn.com/image/fetch/$s_!mnWH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92be675c-8a6d-4a82-878b-6a32044c97fa_2400x2936.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mnWH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92be675c-8a6d-4a82-878b-6a32044c97fa_2400x2936.png" width="1456" height="1781" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92be675c-8a6d-4a82-878b-6a32044c97fa_2400x2936.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1781,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2271566,&quot;alt&quot;:&quot;Bug Hunt Bench V7: 10 frontier models compared on 105 hidden bugs across two real repos, showing bugs fixed, wall clock, and cost per run. GPT-5.6 Sol at max effort leads with 42 fixes at $69.61, GPT-5.6 Luna at max fixes 33 for $1.80, and Fable 5 at max fixes 29 for $104.49.&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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92be675c-8a6d-4a82-878b-6a32044c97fa_2400x2936.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bug Hunt Bench V7: 10 frontier models compared on 105 hidden bugs across two real repos, showing bugs fixed, wall clock, and cost per run. GPT-5.6 Sol at max effort leads with 42 fixes at $69.61, GPT-5.6 Luna at max fixes 33 for $1.80, and Fable 5 at max fixes 29 for $104.49." title="Bug Hunt Bench V7: 10 frontier models compared on 105 hidden bugs across two real repos, showing bugs fixed, wall clock, and cost per run. GPT-5.6 Sol at max effort leads with 42 fixes at $69.61, GPT-5.6 Luna at max fixes 33 for $1.80, and Fable 5 at max fixes 29 for $104.49." srcset="https://substackcdn.com/image/fetch/$s_!mnWH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92be675c-8a6d-4a82-878b-6a32044c97fa_2400x2936.png 424w, https://substackcdn.com/image/fetch/$s_!mnWH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92be675c-8a6d-4a82-878b-6a32044c97fa_2400x2936.png 848w, https://substackcdn.com/image/fetch/$s_!mnWH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92be675c-8a6d-4a82-878b-6a32044c97fa_2400x2936.png 1272w, https://substackcdn.com/image/fetch/$s_!mnWH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92be675c-8a6d-4a82-878b-6a32044c97fa_2400x2936.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>In version 7, I ran 105 hidden bugs through 10 frontier models:</p><ul><li><p>GPT-5.6 Luna at max reasoning effort fixed 33 bugs.</p></li><li><p>Anthropic's Fable 5 fixed 29. </p></li><li><p><strong>Luna's run cost $1.80 at API rates. Fable's cost $104.</strong></p></li><li><p>The same Luna at high effort fixed 13. The effort is the whole difference.</p></li></ul><h3>What this means for you</h3><p>Luna is included in the <strong>$20 ChatGPT Plus</strong> plan. And subscriptions are heavily subsidized. In practice, you get at least <strong>$500 of API</strong> equivalent credits.</p><blockquote><p>For the first time, <strong>$20 a month is enough</strong> not just for learning but also for serious agentic work.</p></blockquote><h3>How much cheaper is it, really?</h3><p>Most of the gap comes straight from the rate card. Opus 5 and GPT-5.6 Luna are priced 20 to 25x apart on every token type:</p><ul><li><p><strong>Input:</strong> $5.00 vs $0.20 per million tokens</p></li><li><p><strong>Cached input:</strong> $0.50 vs $0.02</p></li><li><p><strong>Output:</strong> $25.00 vs $1.20</p></li></ul><p>In my tests the actual spread ran from <strong>20x to 90x, depending on the configuration and the session length</strong> (Anthropic&#8217;s 1M sessions make the situation worse). One thing I can say with confidence:</p><blockquote><p>You will get <strong>more real work</strong> out of the <strong>$20 OpenAI plan</strong> &amp; Luna max than out of the <strong>$200 Claude plan</strong> &amp; Opus high.</p></blockquote><h3>What about speed?</h3><p>As demonstrated by the benchmark, Luna at the max effort level is slower than Opus 5 at high. I suggest using:</p><ul><li><p><strong>Luna (max effort) for the most challenging tasks</strong>: planning, strategy, large implementations. Or for everything that can run async (nightly builds).</p></li></ul><ul><li><p><strong>Luna (high effort) for small, daily tasks</strong>: batch operations, bug fixing, small features, summaries. It&#8217;s still clearly better than Sonnet 5 at high effort, a very strong model.</p></li></ul><p>I measured this by asking the same easy questions about one of my solutions in two ways: </p><ul><li><p>a cold one-shot call, </p></li><li><p>and follow-up turns inside a live session (more realistic). </p></li></ul><p>Median time and median cost per 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_!N-B8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face37308-a7ba-420f-9167-9b469c33ba90_2400x1646.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N-B8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face37308-a7ba-420f-9167-9b469c33ba90_2400x1646.png 424w, https://substackcdn.com/image/fetch/$s_!N-B8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face37308-a7ba-420f-9167-9b469c33ba90_2400x1646.png 848w, https://substackcdn.com/image/fetch/$s_!N-B8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face37308-a7ba-420f-9167-9b469c33ba90_2400x1646.png 1272w, https://substackcdn.com/image/fetch/$s_!N-B8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face37308-a7ba-420f-9167-9b469c33ba90_2400x1646.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N-B8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face37308-a7ba-420f-9167-9b469c33ba90_2400x1646.png" width="2400" height="1646" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ace37308-a7ba-420f-9167-9b469c33ba90_2400x1646.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1646,&quot;width&quot;:2400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1363199,&quot;alt&quot;:&quot;Median response time and cost per question, cold start versus in session. Cold start: Opus 5 high 8.1 seconds and 10.10 cents, Opus 5 max 8.6 seconds and 10.15 cents, GPT-5.6 Luna high 16.0 seconds and 0.11 cents, Luna max 22.6 seconds and 0.11 cents. In session: Opus 5 max 9.8 seconds and 2.79 cents, Opus 5 high 10.1 seconds and 2.45 cents, Luna high 15.6 seconds and 0.05 cents, Luna max 17.0 seconds and 0.06 cents.&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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face37308-a7ba-420f-9167-9b469c33ba90_2400x1646.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Median response time and cost per question, cold start versus in session. Cold start: Opus 5 high 8.1 seconds and 10.10 cents, Opus 5 max 8.6 seconds and 10.15 cents, GPT-5.6 Luna high 16.0 seconds and 0.11 cents, Luna max 22.6 seconds and 0.11 cents. In session: Opus 5 max 9.8 seconds and 2.79 cents, Opus 5 high 10.1 seconds and 2.45 cents, Luna high 15.6 seconds and 0.05 cents, Luna max 17.0 seconds and 0.06 cents." title="Median response time and cost per question, cold start versus in session. Cold start: Opus 5 high 8.1 seconds and 10.10 cents, Opus 5 max 8.6 seconds and 10.15 cents, GPT-5.6 Luna high 16.0 seconds and 0.11 cents, Luna max 22.6 seconds and 0.11 cents. In session: Opus 5 max 9.8 seconds and 2.79 cents, Opus 5 high 10.1 seconds and 2.45 cents, Luna high 15.6 seconds and 0.05 cents, Luna max 17.0 seconds and 0.06 cents." srcset="https://substackcdn.com/image/fetch/$s_!N-B8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face37308-a7ba-420f-9167-9b469c33ba90_2400x1646.png 424w, https://substackcdn.com/image/fetch/$s_!N-B8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face37308-a7ba-420f-9167-9b469c33ba90_2400x1646.png 848w, https://substackcdn.com/image/fetch/$s_!N-B8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face37308-a7ba-420f-9167-9b469c33ba90_2400x1646.png 1272w, https://substackcdn.com/image/fetch/$s_!N-B8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face37308-a7ba-420f-9167-9b469c33ba90_2400x1646.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">Cold start is a fresh one-shot call. In session is turns 2 to 6 of one conversation, three sessions per configuration, interleaved.</figcaption></figure></div><p>Both get cheaper once the session is warm. Opus 5 stops paying to re-upload your instructions and drops about 4x. Luna roughly halves, because more of its context is already cached. That closes the gap from about 90x to about 40x on these small questions.</p><p>One more setting: fast mode. It bills at 2x on the API, 2.5x in ChatGPT credits, and is supposed to run 1.5x faster. In every test I ran, it made no measurable difference to Luna.</p><h3>Does it really work with a $20/mo plan?</h3><p>Before publishing this, I created the second subscription and verified that everything I described is available on the Plus plan:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9upE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4990ac-04fe-4ca4-8266-84dfa7b04744_2322x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9upE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4990ac-04fe-4ca4-8266-84dfa7b04744_2322x1500.png 424w, https://substackcdn.com/image/fetch/$s_!9upE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4990ac-04fe-4ca4-8266-84dfa7b04744_2322x1500.png 848w, https://substackcdn.com/image/fetch/$s_!9upE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4990ac-04fe-4ca4-8266-84dfa7b04744_2322x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!9upE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4990ac-04fe-4ca4-8266-84dfa7b04744_2322x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9upE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4990ac-04fe-4ca4-8266-84dfa7b04744_2322x1500.png" width="1456" height="941" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d4990ac-04fe-4ca4-8266-84dfa7b04744_2322x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:230948,&quot;alt&quot;:&quot;ChatGPT desktop app, Usage and billing settings. Your plan reads Plus plan, $20 per month.&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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4990ac-04fe-4ca4-8266-84dfa7b04744_2322x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ChatGPT desktop app, Usage and billing settings. Your plan reads Plus plan, $20 per month." title="ChatGPT desktop app, Usage and billing settings. Your plan reads Plus plan, $20 per month." srcset="https://substackcdn.com/image/fetch/$s_!9upE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4990ac-04fe-4ca4-8266-84dfa7b04744_2322x1500.png 424w, https://substackcdn.com/image/fetch/$s_!9upE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4990ac-04fe-4ca4-8266-84dfa7b04744_2322x1500.png 848w, https://substackcdn.com/image/fetch/$s_!9upE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4990ac-04fe-4ca4-8266-84dfa7b04744_2322x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!9upE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4990ac-04fe-4ca4-8266-84dfa7b04744_2322x1500.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 run, the method, and the raw logs are public: <a href="https://github.com/phuryn/experiments/tree/main/bug-hunt-bench">github.com/phuryn/experiments</a>. The answer keys stay hidden so the benchmark keeps working.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/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">Consider subscribing and upgrading your account to support my work</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><div><hr></div><h2>2. How to Start With ChatGPT Desktop App</h2><p>Unlike Cowork, the ChatGPT app is a real agentic environment. It supports autonomous loops and graphs (<code>/goal</code>), agentic coding, project-level skills and MCP, and manual compaction. All within a single interface, with no IDE or CLI.</p><h3>Step 1: Install the ChatGPT desktop app</h3><p>The Codex app is now called ChatGPT.<br>You can download it here: <a href="https://chatgpt.com/download/">https://chatgpt.com/download/</a></p><p>When installing, you can import your existing settings (projects, skills, etc.) from Claude. Here, I skip that step.</p><h3>Step 2: Sign in and open your project folder</h3><p>Before using the ChatGPT desktop app, sign in or create a new account. The &#8220;Plus&#8221; subscription costs $20/mo and is enough to start.</p><p>Click &#8220;Projects&#8221; and open an existing folder or create a new one:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aApF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34e82657-e873-407a-9e4b-beb5f1b7410b_2571x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aApF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34e82657-e873-407a-9e4b-beb5f1b7410b_2571x1500.png 424w, https://substackcdn.com/image/fetch/$s_!aApF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34e82657-e873-407a-9e4b-beb5f1b7410b_2571x1500.png 848w, https://substackcdn.com/image/fetch/$s_!aApF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34e82657-e873-407a-9e4b-beb5f1b7410b_2571x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!aApF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34e82657-e873-407a-9e4b-beb5f1b7410b_2571x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aApF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34e82657-e873-407a-9e4b-beb5f1b7410b_2571x1500.png" width="1456" height="849" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34e82657-e873-407a-9e4b-beb5f1b7410b_2571x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:849,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:254341,&quot;alt&quot;:&quot;ChatGPT desktop app, Projects panel, opening an existing folder or creating a new one.&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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34e82657-e873-407a-9e4b-beb5f1b7410b_2571x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ChatGPT desktop app, Projects panel, opening an existing folder or creating a new one." title="ChatGPT desktop app, Projects panel, opening an existing folder or creating a new one." srcset="https://substackcdn.com/image/fetch/$s_!aApF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34e82657-e873-407a-9e4b-beb5f1b7410b_2571x1500.png 424w, https://substackcdn.com/image/fetch/$s_!aApF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34e82657-e873-407a-9e4b-beb5f1b7410b_2571x1500.png 848w, https://substackcdn.com/image/fetch/$s_!aApF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34e82657-e873-407a-9e4b-beb5f1b7410b_2571x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!aApF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34e82657-e873-407a-9e4b-beb5f1b7410b_2571x1500.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>In the top left corner, you will see two modes:</p><ul><li><p><strong>ChatGPT:</strong> documents, decks, research. Best for knowledge work.</p></li><li><p><strong>Codex:</strong> the coding agent. A more advanced view, best if you&#8217;re prototyping.</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_!AMds!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faed0162c-dddc-487a-97c2-36871c818ffc_2397x715.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AMds!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faed0162c-dddc-487a-97c2-36871c818ffc_2397x715.png 424w, https://substackcdn.com/image/fetch/$s_!AMds!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faed0162c-dddc-487a-97c2-36871c818ffc_2397x715.png 848w, https://substackcdn.com/image/fetch/$s_!AMds!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faed0162c-dddc-487a-97c2-36871c818ffc_2397x715.png 1272w, https://substackcdn.com/image/fetch/$s_!AMds!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faed0162c-dddc-487a-97c2-36871c818ffc_2397x715.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AMds!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faed0162c-dddc-487a-97c2-36871c818ffc_2397x715.png" width="1456" height="434" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aed0162c-dddc-487a-97c2-36871c818ffc_2397x715.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:434,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96488,&quot;alt&quot;:&quot;ChatGPT desktop app, the ChatGPT and Codex mode switcher in the top left corner.&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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faed0162c-dddc-487a-97c2-36871c818ffc_2397x715.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ChatGPT desktop app, the ChatGPT and Codex mode switcher in the top left corner." title="ChatGPT desktop app, the ChatGPT and Codex mode switcher in the top left corner." srcset="https://substackcdn.com/image/fetch/$s_!AMds!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faed0162c-dddc-487a-97c2-36871c818ffc_2397x715.png 424w, https://substackcdn.com/image/fetch/$s_!AMds!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faed0162c-dddc-487a-97c2-36871c818ffc_2397x715.png 848w, https://substackcdn.com/image/fetch/$s_!AMds!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faed0162c-dddc-487a-97c2-36871c818ffc_2397x715.png 1272w, https://substackcdn.com/image/fetch/$s_!AMds!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faed0162c-dddc-487a-97c2-36871c818ffc_2397x715.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>In the Codex mode, you will see:</p><ul><li><p>File tree on the right (&#8220;Files&#8221;)</p></li><li><p>Visual diffs in the same panel (&#8220;Review&#8221;)</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_!Dz4d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F906e042d-6e5c-4adb-b819-ffe9c7e779cf_2517x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dz4d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F906e042d-6e5c-4adb-b819-ffe9c7e779cf_2517x1500.png 424w, https://substackcdn.com/image/fetch/$s_!Dz4d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F906e042d-6e5c-4adb-b819-ffe9c7e779cf_2517x1500.png 848w, https://substackcdn.com/image/fetch/$s_!Dz4d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F906e042d-6e5c-4adb-b819-ffe9c7e779cf_2517x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!Dz4d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F906e042d-6e5c-4adb-b819-ffe9c7e779cf_2517x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dz4d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F906e042d-6e5c-4adb-b819-ffe9c7e779cf_2517x1500.png" width="1456" height="868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/906e042d-6e5c-4adb-b819-ffe9c7e779cf_2517x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:868,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:290421,&quot;alt&quot;:&quot;ChatGPT desktop app, file tree and visual diffs&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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F906e042d-6e5c-4adb-b819-ffe9c7e779cf_2517x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ChatGPT desktop app, file tree and visual diffs" title="ChatGPT desktop app, file tree and visual diffs" srcset="https://substackcdn.com/image/fetch/$s_!Dz4d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F906e042d-6e5c-4adb-b819-ffe9c7e779cf_2517x1500.png 424w, https://substackcdn.com/image/fetch/$s_!Dz4d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F906e042d-6e5c-4adb-b819-ffe9c7e779cf_2517x1500.png 848w, https://substackcdn.com/image/fetch/$s_!Dz4d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F906e042d-6e5c-4adb-b819-ffe9c7e779cf_2517x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!Dz4d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F906e042d-6e5c-4adb-b819-ffe9c7e779cf_2517x1500.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 example, here&#8217;s how you can browse files and documents without terminal or IDE:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mUBL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bbdbd3-df48-4525-8856-b403b3d5ffce_3174x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mUBL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bbdbd3-df48-4525-8856-b403b3d5ffce_3174x1500.png 424w, https://substackcdn.com/image/fetch/$s_!mUBL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bbdbd3-df48-4525-8856-b403b3d5ffce_3174x1500.png 848w, https://substackcdn.com/image/fetch/$s_!mUBL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bbdbd3-df48-4525-8856-b403b3d5ffce_3174x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!mUBL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bbdbd3-df48-4525-8856-b403b3d5ffce_3174x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mUBL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bbdbd3-df48-4525-8856-b403b3d5ffce_3174x1500.png" width="1456" height="688" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3bbdbd3-df48-4525-8856-b403b3d5ffce_3174x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:688,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:410004,&quot;alt&quot;:&quot;ChatGPT desktop app, browse files and documents&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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bbdbd3-df48-4525-8856-b403b3d5ffce_3174x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ChatGPT desktop app, browse files and documents" title="ChatGPT desktop app, browse files and documents" srcset="https://substackcdn.com/image/fetch/$s_!mUBL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bbdbd3-df48-4525-8856-b403b3d5ffce_3174x1500.png 424w, https://substackcdn.com/image/fetch/$s_!mUBL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bbdbd3-df48-4525-8856-b403b3d5ffce_3174x1500.png 848w, https://substackcdn.com/image/fetch/$s_!mUBL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bbdbd3-df48-4525-8856-b403b3d5ffce_3174x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!mUBL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bbdbd3-df48-4525-8856-b403b3d5ffce_3174x1500.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>Step 3: If you also use Claude</h3><ul><li><p>Create AGENTS.md at the repo root</p></li><li><p>Copy and paste lines pointing to CLAUDE.md</p></li></ul><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;93062cb3-e4ee-4143-ac53-79d50e88aa94&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">This project's agent and contributor guidance lives in **[CLAUDE.md](CLAUDE.md)**.

Read it before making changes. Do not add rules here &#8212; keep all guidance in CLAUDE.md
so there is a single source of truth.</code></pre></div><p>You can see an example in Step 2.</p><p>Both agents now use one source of truth. The longer version, including how I run the two side by side, is here: <a href="https://www.productcompass.pm/p/codex-setup-for-pms">How to Set Up Codex as a PM and Run It Next to Claude</a>.</p><h3>Step 4: Set reasoning effort to max</h3><p>It's off by default. Luna at max is a different model than Luna at high. Here&#8217;s how:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wr3G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ae798b-c6c7-499b-bde0-56851d200919_2411x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wr3G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ae798b-c6c7-499b-bde0-56851d200919_2411x1500.png 424w, https://substackcdn.com/image/fetch/$s_!wr3G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ae798b-c6c7-499b-bde0-56851d200919_2411x1500.png 848w, https://substackcdn.com/image/fetch/$s_!wr3G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ae798b-c6c7-499b-bde0-56851d200919_2411x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!wr3G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ae798b-c6c7-499b-bde0-56851d200919_2411x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wr3G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ae798b-c6c7-499b-bde0-56851d200919_2411x1500.png" width="1456" height="906" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89ae798b-c6c7-499b-bde0-56851d200919_2411x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:906,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:281056,&quot;alt&quot;:&quot;ChatGPT app, Luna, enable max effort, step 1&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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ae798b-c6c7-499b-bde0-56851d200919_2411x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ChatGPT app, Luna, enable max effort, step 1" title="ChatGPT app, Luna, enable max effort, step 1" srcset="https://substackcdn.com/image/fetch/$s_!wr3G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ae798b-c6c7-499b-bde0-56851d200919_2411x1500.png 424w, https://substackcdn.com/image/fetch/$s_!wr3G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ae798b-c6c7-499b-bde0-56851d200919_2411x1500.png 848w, https://substackcdn.com/image/fetch/$s_!wr3G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ae798b-c6c7-499b-bde0-56851d200919_2411x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!wr3G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ae798b-c6c7-499b-bde0-56851d200919_2411x1500.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_!G-2p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a40b8cc-b974-43dd-9d9f-c12c93a00465_2411x1621.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!G-2p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a40b8cc-b974-43dd-9d9f-c12c93a00465_2411x1621.png 424w, https://substackcdn.com/image/fetch/$s_!G-2p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a40b8cc-b974-43dd-9d9f-c12c93a00465_2411x1621.png 848w, https://substackcdn.com/image/fetch/$s_!G-2p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a40b8cc-b974-43dd-9d9f-c12c93a00465_2411x1621.png 1272w, https://substackcdn.com/image/fetch/$s_!G-2p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a40b8cc-b974-43dd-9d9f-c12c93a00465_2411x1621.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!G-2p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a40b8cc-b974-43dd-9d9f-c12c93a00465_2411x1621.png" width="1456" height="979" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a40b8cc-b974-43dd-9d9f-c12c93a00465_2411x1621.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:979,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:304577,&quot;alt&quot;:&quot;ChatGPT app, Luna, enable max effort, step 2&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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a40b8cc-b974-43dd-9d9f-c12c93a00465_2411x1621.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ChatGPT app, Luna, enable max effort, step 2" title="ChatGPT app, Luna, enable max effort, step 2" srcset="https://substackcdn.com/image/fetch/$s_!G-2p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a40b8cc-b974-43dd-9d9f-c12c93a00465_2411x1621.png 424w, https://substackcdn.com/image/fetch/$s_!G-2p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a40b8cc-b974-43dd-9d9f-c12c93a00465_2411x1621.png 848w, https://substackcdn.com/image/fetch/$s_!G-2p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a40b8cc-b974-43dd-9d9f-c12c93a00465_2411x1621.png 1272w, https://substackcdn.com/image/fetch/$s_!G-2p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a40b8cc-b974-43dd-9d9f-c12c93a00465_2411x1621.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_!1dA1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58e9899-9fde-4b28-8318-dbce432f716c_2411x1599.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1dA1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58e9899-9fde-4b28-8318-dbce432f716c_2411x1599.png 424w, https://substackcdn.com/image/fetch/$s_!1dA1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58e9899-9fde-4b28-8318-dbce432f716c_2411x1599.png 848w, https://substackcdn.com/image/fetch/$s_!1dA1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58e9899-9fde-4b28-8318-dbce432f716c_2411x1599.png 1272w, https://substackcdn.com/image/fetch/$s_!1dA1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58e9899-9fde-4b28-8318-dbce432f716c_2411x1599.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1dA1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58e9899-9fde-4b28-8318-dbce432f716c_2411x1599.png" width="1456" height="966" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c58e9899-9fde-4b28-8318-dbce432f716c_2411x1599.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:966,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:279781,&quot;alt&quot;:&quot;ChatGPT app, Luna, select max effort&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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58e9899-9fde-4b28-8318-dbce432f716c_2411x1599.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ChatGPT app, Luna, select max effort" title="ChatGPT app, Luna, select max effort" srcset="https://substackcdn.com/image/fetch/$s_!1dA1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58e9899-9fde-4b28-8318-dbce432f716c_2411x1599.png 424w, https://substackcdn.com/image/fetch/$s_!1dA1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58e9899-9fde-4b28-8318-dbce432f716c_2411x1599.png 848w, https://substackcdn.com/image/fetch/$s_!1dA1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58e9899-9fde-4b28-8318-dbce432f716c_2411x1599.png 1272w, https://substackcdn.com/image/fetch/$s_!1dA1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58e9899-9fde-4b28-8318-dbce432f716c_2411x1599.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><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/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">To access all articles and templates and to support my work, consider becoming a paid subscriber. You&#8217;ll save much more by following the advice I share with paid subscribers.</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><div><hr></div><h2>3. My Model Routing</h2><blockquote><p>Using Luna (max) for all the hardest tasks and Luna (high) for everything else <strong>maximizes value / cost.</strong> It&#8217;s a sweet &#8220;Pareto&#8221; spot.</p></blockquote><p>At the same time, I keep multiple subscriptions, because I have to test things and want the best model for each job.</p><p>Here&#8217;s my routing table for daily work:</p><ul><li><p><strong>Judgment, strategy, complex cases:</strong> Fable 5</p></li><li><p><strong>Frontend:</strong> Opus 5 (Kimi K3 is reportedly better, but it&#8217;s too slow for me)</p></li><li><p><strong>Writing:</strong> Opus 5</p></li><li><p><strong>Real-time information:</strong> Grok 4.5 (it has internal access to X API)</p></li><li><p><strong>Research:</strong> I delegate to Grok 4.5 and Opus in parallel rather than using Perplexity</p></li><li><p><strong>Coding, debugging:</strong> Sol at high, Luna at max effort, or Grok 4.5. Often working together as peers.</p></li></ul><p>The most expensive model I use (Fable 5) never touches code.</p><p>You can learn more about how I run other models next to Claude from <a href="https://www.productcompass.pm/p/codex-setup-for-pms">How to Set Up Codex as a PM and Run It Next to Claude</a>.</p><div><hr></div><h2>4. Unsolved Bugs from Bug Hunt Bench</h2><p>In my benchmark, 53 of the 105 bugs survived every model and every run. The natural question is: <strong>can we trust AI with quality?</strong></p><p>Those were not random bugs, but real bugs frontier models missed between January and July 2026 and their synthetic analogs. Models failing at them was the default expectation.</p><p>This week, <a href="https://blog.google/security/chrome-stronger-with-every-update/">Google published its own numbers</a>. In Chrome 149 and 150 (a month) they fixed 1,072 security bugs, more than in the previous 23 releases combined (2 years):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-e1c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fd0c496-69e2-411d-a743-f94c2d3f216c_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-e1c!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fd0c496-69e2-411d-a743-f94c2d3f216c_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-e1c!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fd0c496-69e2-411d-a743-f94c2d3f216c_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-e1c!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fd0c496-69e2-411d-a743-f94c2d3f216c_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-e1c!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fd0c496-69e2-411d-a743-f94c2d3f216c_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-e1c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fd0c496-69e2-411d-a743-f94c2d3f216c_1600x900.jpeg" width="1600" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4fd0c496-69e2-411d-a743-f94c2d3f216c_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66598,&quot;alt&quot;:&quot;Chart from Google titled Bug fixes by milestone, showing Chrome security bugs fixed per release from M126 to M150. Counts sit near 20 to 50 per release until M146, then rise sharply to roughly 355 at M148 and about 570 at M149, with the internally found line tracking the same spike.&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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fd0c496-69e2-411d-a743-f94c2d3f216c_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Chart from Google titled Bug fixes by milestone, showing Chrome security bugs fixed per release from M126 to M150. Counts sit near 20 to 50 per release until M146, then rise sharply to roughly 355 at M148 and about 570 at M149, with the internally found line tracking the same spike." title="Chart from Google titled Bug fixes by milestone, showing Chrome security bugs fixed per release from M126 to M150. Counts sit near 20 to 50 per release until M146, then rise sharply to roughly 355 at M148 and about 570 at M149, with the internally found line tracking the same spike." srcset="https://substackcdn.com/image/fetch/$s_!-e1c!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fd0c496-69e2-411d-a743-f94c2d3f216c_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-e1c!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fd0c496-69e2-411d-a743-f94c2d3f216c_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-e1c!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fd0c496-69e2-411d-a743-f94c2d3f216c_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-e1c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fd0c496-69e2-411d-a743-f94c2d3f216c_1600x900.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><figcaption class="image-caption">Chrome security bugs fixed per release. The spike starts at M146. Source: Google.</figcaption></figure></div><p>One of them was a sandbox escape that let a compromised renderer trick the browser into reading local files. It had been sitting in the codebase for more than 13 years, under one of the best-funded bug bounty programs in the industry. An agent found it in early 2026, on the first version of their harness.</p><blockquote><p>No solution guarantees eliminating all bugs, but models are much more effective at finding them than people. In my opinion, <strong>human code review no longer makes sense</strong>. </p></blockquote><p>What still does make sense is humans testing the solution. My Grok Build extension (<a href="https://open-vsx.org/extension/PawelHuryn/grok-vscode-phuryn">link 1</a>, <a href="https://marketplace.visualstudio.com/items?itemName=PawelHuryn.grok-vscode-phuryn">link 2</a>) has 1,600+ unit tests, all written by AI, with AI testing the app end-to-end using the browser. Still, many visual defects before each release are found by me testing with my eyes. </p><p>Not a single code review. See how <a href="https://github.com/phuryn/grok-build-vscode/issues">clean the issue registry</a> is despite a few thousands of agentic sessions a day.</p><p>You still review the solution. But what you review moves up, to the artifacts: what changed, why, and whether it should ship. I wrote about that a few weeks ago in <a href="https://www.productcompass.pm/p/agentic-engineering-for-pms">I Don't Review the Code. I Review the Artifacts.</a></p><div><hr></div><h2>5. Weekly Virtual Events for Product Managers</h2><p>You can learn much more about Claude and Codex from our event series. We meet every week on Thursday (6 PM CET, 9 AM PT). Recent recordings with templates and additional resources are available in <a href="https://go.productcompass.pm/events">our events archive</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_!6pGn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3566add-cd9f-4f62-bfda-4a88d5d371c8_2185x992.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6pGn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3566add-cd9f-4f62-bfda-4a88d5d371c8_2185x992.png 424w, https://substackcdn.com/image/fetch/$s_!6pGn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3566add-cd9f-4f62-bfda-4a88d5d371c8_2185x992.png 848w, https://substackcdn.com/image/fetch/$s_!6pGn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3566add-cd9f-4f62-bfda-4a88d5d371c8_2185x992.png 1272w, https://substackcdn.com/image/fetch/$s_!6pGn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3566add-cd9f-4f62-bfda-4a88d5d371c8_2185x992.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6pGn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3566add-cd9f-4f62-bfda-4a88d5d371c8_2185x992.png" width="1456" height="661" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3566add-cd9f-4f62-bfda-4a88d5d371c8_2185x992.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:661,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:522876,&quot;alt&quot;:&quot;Weekly Virtual Events for Product Managers&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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3566add-cd9f-4f62-bfda-4a88d5d371c8_2185x992.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Weekly Virtual Events for Product Managers" title="Weekly Virtual Events for Product Managers" srcset="https://substackcdn.com/image/fetch/$s_!6pGn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3566add-cd9f-4f62-bfda-4a88d5d371c8_2185x992.png 424w, https://substackcdn.com/image/fetch/$s_!6pGn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3566add-cd9f-4f62-bfda-4a88d5d371c8_2185x992.png 848w, https://substackcdn.com/image/fetch/$s_!6pGn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3566add-cd9f-4f62-bfda-4a88d5d371c8_2185x992.png 1272w, https://substackcdn.com/image/fetch/$s_!6pGn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3566add-cd9f-4f62-bfda-4a88d5d371c8_2185x992.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>All sessions are available to paid subscribers.</p><p>Coming next:</p><ul><li><p>AI Prototyping for PMs (August 6)</p></li><li><p>AI Evals for PMs (August 13)</p></li><li><p>Agentic Engineering for PMs (August 20)</p></li><li><p>Production Hardening with Claude (August 27)</p></li></ul><p>Consider subscribing and upgrading your account to get full access:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><p>As a paid subscriber, you can sync your calendar by visiting <a href="https://go.productcompass.pm/premium">https://go.productcompass.pm/premium</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_!jrm-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08dc1940-dbcf-459b-8127-52e2b3907829_2202x875.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jrm-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08dc1940-dbcf-459b-8127-52e2b3907829_2202x875.png 424w, https://substackcdn.com/image/fetch/$s_!jrm-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08dc1940-dbcf-459b-8127-52e2b3907829_2202x875.png 848w, https://substackcdn.com/image/fetch/$s_!jrm-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08dc1940-dbcf-459b-8127-52e2b3907829_2202x875.png 1272w, https://substackcdn.com/image/fetch/$s_!jrm-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08dc1940-dbcf-459b-8127-52e2b3907829_2202x875.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jrm-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08dc1940-dbcf-459b-8127-52e2b3907829_2202x875.png" width="1456" height="579" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08dc1940-dbcf-459b-8127-52e2b3907829_2202x875.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:579,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:256830,&quot;alt&quot;:&quot;As a paid subscriber, you can sync your calendar by visiting https://go.productcompass.pm/premium &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://www.productcompass.pm/i/209370541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08dc1940-dbcf-459b-8127-52e2b3907829_2202x875.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="As a paid subscriber, you can sync your calendar by visiting https://go.productcompass.pm/premium " title="As a paid subscriber, you can sync your calendar by visiting https://go.productcompass.pm/premium " srcset="https://substackcdn.com/image/fetch/$s_!jrm-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08dc1940-dbcf-459b-8127-52e2b3907829_2202x875.png 424w, https://substackcdn.com/image/fetch/$s_!jrm-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08dc1940-dbcf-459b-8127-52e2b3907829_2202x875.png 848w, https://substackcdn.com/image/fetch/$s_!jrm-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08dc1940-dbcf-459b-8127-52e2b3907829_2202x875.png 1272w, https://substackcdn.com/image/fetch/$s_!jrm-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08dc1940-dbcf-459b-8127-52e2b3907829_2202x875.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>Thanks for Reading The Product Compass</h2><p>It's amazing to learn and grow together.</p><p>Have a great Sunday and an amazing week ahead, <br>Pawe&#322;</p><div><hr></div><h2>Resources</h2><ul><li><p><em><a href="https://github.com/phuryn/experiments/tree/main/bug-hunt-bench">Bug Hunt Bench: every run, script, and raw log</a> (answer keys withheld, so the benchmark stays reusable)</em></p></li><li><p><em><a href="https://www.productcompass.pm/p/codex-setup-for-pms">How to Set Up Codex as a PM and Run It Next to Claude</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/loop-engineering-for-pms">Agent Loops for PMs: 20+ You Can Run This Week</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/stop-hitting-claude-code-limits">How I cut my Claude bill $1,389/mo to $200/mo</a></em></p></li></ul>]]></content:encoded></item><item><title><![CDATA[What Is Product Discovery? The Ultimate Guide for PMs (2026 Edition)]]></title><description><![CDATA[You can ship an idea the same day you have it. That's why discovery matters more, not less. What changed, what didn't, and what to learn.]]></description><link>https://www.productcompass.pm/p/product-discovery-2026</link><guid isPermaLink="false">https://www.productcompass.pm/p/product-discovery-2026</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Wed, 22 Jul 2026 20:01:35 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7ec07985-b4a0-4f54-b8c6-9f096162d7a6_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Product discovery is the most important area for a Product Manager. </p><p>I wrote <a href="https://www.productcompass.pm/p/what-exactly-is-product-discovery">the first edition of this guide</a> in 2022. The argument was simple. Shipping is slow and expensive, so validate ideas before you build. Every sprint spent on the wrong idea meant two weeks wasted.</p><p>That argument is dead. The conclusion survived.</p><p>When you can ship an idea the same day you have it, deciding what to ship becomes more important than ever. And <strong>speed multiplies waste</strong>: a team that shipped 2 bad ideas per sprint can now ship 20 a week, plus the regressions their users feel. You can't throw everything at the wall and see what sticks.</p><p>Product discovery is, still, <strong>the highest-ROI skill in product management</strong>.</p><p>In this guide:</p><ul><li><p>Why product discovery matters even more in 2026</p></li><li><p>What changed: shipping became the cheapest experiment</p></li><li><p>Who does discovery now: the Product Trio, plus your agents</p></li><li><p>How to instrument a product you release daily </p></li><li><p>What stays manual, on purpose</p></li><li><p>Templates, frameworks, and resources to go deeper</p></li></ul><div><hr></div><h2><strong>1. Why We Still Need Product Discovery</strong></h2><p>In product management, most ideas won't work as expected. As Marty Cagan says in <a href="https://huryn.notion.site/Inspired-8e7d5f2c33464d5c9c1d6e2d558b66d8">Inspired</a>:</p><blockquote><p><em>"The first truth is that <strong>at least half of your ideas are just not going to work</strong>."</em></p></blockquote><p>Good teams assume at least three-quarters of their ideas won't perform as they hope. That's still true in 2026. What changed is how fast, and how cheaply, you find out.</p><p>Product management is, at its heart, about <a href="https://www.productcompass.pm/p/how-to-manage-risks-as-a-product-manager">managing risk</a>. And for every product, 5 essential risks can materialize:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JSro!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcae7d9cf-7ac6-4f58-8e67-dabb7cfeb801_977x406.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JSro!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcae7d9cf-7ac6-4f58-8e67-dabb7cfeb801_977x406.png 424w, https://substackcdn.com/image/fetch/$s_!JSro!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcae7d9cf-7ac6-4f58-8e67-dabb7cfeb801_977x406.png 848w, https://substackcdn.com/image/fetch/$s_!JSro!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcae7d9cf-7ac6-4f58-8e67-dabb7cfeb801_977x406.png 1272w, https://substackcdn.com/image/fetch/$s_!JSro!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcae7d9cf-7ac6-4f58-8e67-dabb7cfeb801_977x406.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JSro!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcae7d9cf-7ac6-4f58-8e67-dabb7cfeb801_977x406.png" width="728" height="302.52610030706245" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cae7d9cf-7ac6-4f58-8e67-dabb7cfeb801_977x406.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:406,&quot;width&quot;:977,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The five product risks. Value and viability are the two a PM personally owns.&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://www.productcompass.pm/i/208096868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcae7d9cf-7ac6-4f58-8e67-dabb7cfeb801_977x406.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The five product risks. Value and viability are the two a PM personally owns." title="The five product risks. Value and viability are the two a PM personally owns." srcset="https://substackcdn.com/image/fetch/$s_!JSro!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcae7d9cf-7ac6-4f58-8e67-dabb7cfeb801_977x406.png 424w, https://substackcdn.com/image/fetch/$s_!JSro!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcae7d9cf-7ac6-4f58-8e67-dabb7cfeb801_977x406.png 848w, https://substackcdn.com/image/fetch/$s_!JSro!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcae7d9cf-7ac6-4f58-8e67-dabb7cfeb801_977x406.png 1272w, https://substackcdn.com/image/fetch/$s_!JSro!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcae7d9cf-7ac6-4f58-8e67-dabb7cfeb801_977x406.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">The five product risks. Value and viability are the two a PM personally owns.</figcaption></figure></div><ul><li><p><strong>Value Risk: </strong>Will this idea truly create value for customers?</p></li><li><p><strong>Usability Risk: </strong>Will users figure out how to use it?</p></li><li><p><strong>Viability Risk: </strong>Can our business support it?</p></li><li><p><strong>Feasibility Risk: </strong>Can we build it with our current technology?</p></li><li><p><strong>Ethical Risk: </strong>Should we build it at all? Are there ethical considerations?</p></li></ul><p>By exploring these questions early, you'll avoid committing to dead-end ideas. The goal of product discovery is still: <strong>discover what to build</strong> and address the biggest risks <strong>before you commit</strong>, so the team builds things people actually want that also work for the business.</p><p>The way we get there has changed a lot since 2022.</p><div><hr></div><h2><strong>2. Shipping Became the Cheapest Experiment</strong></h2><p>The 2022 case against "learning by delivering" went like this: what happens if we throw random ideas into the Product Backlog? Some might work, but most won't. And the best ideas might not even be on the list. Unfortunately, this approach results in waste and rework.</p><p>Some kept saying it's not a problem, as the Sprint is often 1-2 weeks long. But this happened every Sprint. Every Sprint, the product team selected ideas, implemented them, and delivered a production-ready increment only to discover those were not good ideas.</p><p>And strong teams don't ship every two weeks anymore. As Marty Cagan notes in TRANSFORMED, <a href="https://www.productcompass.pm/p/continuous-product-delivery-product-management">strong product companies release several times per day</a>. AI has only accelerated that. The waste the 2022 case feared no longer costs a sprint. It costs an hour.</p><p>Everything I build deploys on every push to a production branch. For example, <a href="https://www.productcompass.pm/p/lovable-accredia-digital-certificates">Accredia</a> won't go live until 10 automated user journeys pass in a real browser: real Clerk sign-ins, real quizzes, real certificates. An agent implements an idea, the suite verifies it, and the change is in production within the hour.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tNHl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb19e8acd-697f-4dfe-b002-51b58e3979e6_1766x442.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tNHl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb19e8acd-697f-4dfe-b002-51b58e3979e6_1766x442.png 424w, https://substackcdn.com/image/fetch/$s_!tNHl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb19e8acd-697f-4dfe-b002-51b58e3979e6_1766x442.png 848w, https://substackcdn.com/image/fetch/$s_!tNHl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb19e8acd-697f-4dfe-b002-51b58e3979e6_1766x442.png 1272w, https://substackcdn.com/image/fetch/$s_!tNHl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb19e8acd-697f-4dfe-b002-51b58e3979e6_1766x442.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tNHl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb19e8acd-697f-4dfe-b002-51b58e3979e6_1766x442.png" width="1766" height="442" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b19e8acd-697f-4dfe-b002-51b58e3979e6_1766x442.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:442,&quot;width&quot;:1766,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:139189,&quot;alt&quot;:&quot;Claude response when asked to summarize e2e tests in Accredia&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://www.productcompass.pm/i/208096868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d4161ea-3722-4510-a864-439aca56c605_1766x794.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude response when asked to summarize e2e tests in Accredia" title="Claude response when asked to summarize e2e tests in Accredia" srcset="https://substackcdn.com/image/fetch/$s_!tNHl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb19e8acd-697f-4dfe-b002-51b58e3979e6_1766x442.png 424w, https://substackcdn.com/image/fetch/$s_!tNHl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb19e8acd-697f-4dfe-b002-51b58e3979e6_1766x442.png 848w, https://substackcdn.com/image/fetch/$s_!tNHl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb19e8acd-697f-4dfe-b002-51b58e3979e6_1766x442.png 1272w, https://substackcdn.com/image/fetch/$s_!tNHl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb19e8acd-697f-4dfe-b002-51b58e3979e6_1766x442.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">Claude response when asked to summarize e2e tests in <a href="https://www.accredia.io/">Accredia</a></figcaption></figure></div><p>Another project, Grok Build for VS Code installed by 31K+ engineers (<a href="https://open-vsx.org/extension/PawelHuryn/grok-vscode-phuryn">Open VSX</a>, <a href="https://marketplace.visualstudio.com/items?itemName=PawelHuryn.grok-vscode-phuryn">VS Code marketplace</a>), has 1,082 unit tests executed on every push. 10 days ago, I shipped five releases in a single day.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y-xl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10db8532-dff9-434d-b280-b5504f47cef5_2138x246.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y-xl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10db8532-dff9-434d-b280-b5504f47cef5_2138x246.png 424w, https://substackcdn.com/image/fetch/$s_!y-xl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10db8532-dff9-434d-b280-b5504f47cef5_2138x246.png 848w, https://substackcdn.com/image/fetch/$s_!y-xl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10db8532-dff9-434d-b280-b5504f47cef5_2138x246.png 1272w, https://substackcdn.com/image/fetch/$s_!y-xl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10db8532-dff9-434d-b280-b5504f47cef5_2138x246.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y-xl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10db8532-dff9-434d-b280-b5504f47cef5_2138x246.png" width="728" height="84" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10db8532-dff9-434d-b280-b5504f47cef5_2138x246.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:168,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:59476,&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://www.productcompass.pm/i/208096868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10db8532-dff9-434d-b280-b5504f47cef5_2138x246.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_!y-xl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10db8532-dff9-434d-b280-b5504f47cef5_2138x246.png 424w, https://substackcdn.com/image/fetch/$s_!y-xl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10db8532-dff9-434d-b280-b5504f47cef5_2138x246.png 848w, https://substackcdn.com/image/fetch/$s_!y-xl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10db8532-dff9-434d-b280-b5504f47cef5_2138x246.png 1272w, https://substackcdn.com/image/fetch/$s_!y-xl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10db8532-dff9-434d-b280-b5504f47cef5_2138x246.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Source: <a href="https://github.com/phuryn/grok-build-vscode/actions/runs/29689326382/job/88199146575">GitHub</a></figcaption></figure></div><p>Shipping without discovery is still an anti-pattern. But the reason is different now.</p><blockquote><p><strong>When building takes hours instead of sprints, the cost of shipping the wrong thing isn't failure. It's everything you didn't ship instead.</strong></p></blockquote><p>Two consequences:</p><ul><li><p><strong>Ship to learn: </strong>some ideas deserve 1-2 weeks of discovery. Others go live the same day, behind a feature flag, instrumented. It's often easier to ship than to run an experiment.</p></li><li><p><strong>Do it responsibly: </strong><a href="https://www.productcompass.pm/p/product-model-first-principles-discovery-deliver">Cagan's discovery and delivery principles</a> haven't moved. Protect revenue, reputation, customers, and colleagues while you experiment.</p></li></ul><p><a href="https://www.productcompass.pm/p/product-model-first-principles-transformed-cagan">Team objectives</a> decide what's worth shipping toward. If your team runs <a href="https://www.productcompass.pm/p/okrs-101-advanced-techniques">OKRs</a>, use them as the filter, so all that speed points at an outcome.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>3. Continuous Product Discovery in 2026</strong></h2><p>Continuous Product Discovery is how Product Discovery works for an existing product.</p><p>You might have heard about Dual-Track Development or Dual-Track Agile. It simply means having two streams running in parallel: Continuous Discovery and Continuous Delivery.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3BjQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6c9c0b-4e09-4342-beb8-2a59fa3b8cad_922x369.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3BjQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6c9c0b-4e09-4342-beb8-2a59fa3b8cad_922x369.png 424w, https://substackcdn.com/image/fetch/$s_!3BjQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6c9c0b-4e09-4342-beb8-2a59fa3b8cad_922x369.png 848w, https://substackcdn.com/image/fetch/$s_!3BjQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6c9c0b-4e09-4342-beb8-2a59fa3b8cad_922x369.png 1272w, https://substackcdn.com/image/fetch/$s_!3BjQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6c9c0b-4e09-4342-beb8-2a59fa3b8cad_922x369.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3BjQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6c9c0b-4e09-4342-beb8-2a59fa3b8cad_922x369.png" width="728" height="291.3579175704989" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/de6c9c0b-4e09-4342-beb8-2a59fa3b8cad_922x369.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:369,&quot;width&quot;:922,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Not a waterfall: one team runs both tracks at the same time.&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://www.productcompass.pm/i/208096868?img=https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6c9c0b-4e09-4342-beb8-2a59fa3b8cad_922x369.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Not a waterfall: one team runs both tracks at the same time." title="Not a waterfall: one team runs both tracks at the same time." srcset="https://substackcdn.com/image/fetch/$s_!3BjQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6c9c0b-4e09-4342-beb8-2a59fa3b8cad_922x369.png 424w, https://substackcdn.com/image/fetch/$s_!3BjQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6c9c0b-4e09-4342-beb8-2a59fa3b8cad_922x369.png 848w, https://substackcdn.com/image/fetch/$s_!3BjQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6c9c0b-4e09-4342-beb8-2a59fa3b8cad_922x369.png 1272w, https://substackcdn.com/image/fetch/$s_!3BjQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fde6c9c0b-4e09-4342-beb8-2a59fa3b8cad_922x369.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">Not a waterfall: one team runs both tracks at the same time.</figcaption></figure></div><p>What's important here is that this is not a waterfall. Some team members talk to the customers, explore people's problems, brainstorm solutions, identify assumptions, and perform experiments. At the same time, the team implements and delivers validated ideas to the market. Discovery still answers the same question: what is worth building? Its output changed.</p><p><strong>Discovery no longer produces a validated Product Backlog.</strong></p><p>In 2022, we tested high-risk assumptions upfront because implementation was expensive. Today, when a safe, reversible idea takes 1-2 prompts to implement, building it can be the test, and not every idea needs a formal experiment first.</p><p>Your Opportunity Solution Tree can now hold both experiments and features:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jLHT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e32492c-526d-41a3-9d1a-54614c514b8c_1927x826.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jLHT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e32492c-526d-41a3-9d1a-54614c514b8c_1927x826.png 424w, https://substackcdn.com/image/fetch/$s_!jLHT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e32492c-526d-41a3-9d1a-54614c514b8c_1927x826.png 848w, https://substackcdn.com/image/fetch/$s_!jLHT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e32492c-526d-41a3-9d1a-54614c514b8c_1927x826.png 1272w, https://substackcdn.com/image/fetch/$s_!jLHT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e32492c-526d-41a3-9d1a-54614c514b8c_1927x826.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jLHT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e32492c-526d-41a3-9d1a-54614c514b8c_1927x826.png" width="1456" height="624" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e32492c-526d-41a3-9d1a-54614c514b8c_1927x826.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:624,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1094356,&quot;alt&quot;:&quot;For cheap, reversible ideas, the \&quot;experiment\&quot; branch becomes a shipped feature behind a flag.&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://www.productcompass.pm/i/208096868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e32492c-526d-41a3-9d1a-54614c514b8c_1927x826.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="For cheap, reversible ideas, the &quot;experiment&quot; branch becomes a shipped feature behind a flag." title="For cheap, reversible ideas, the &quot;experiment&quot; branch becomes a shipped feature behind a flag." srcset="https://substackcdn.com/image/fetch/$s_!jLHT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e32492c-526d-41a3-9d1a-54614c514b8c_1927x826.png 424w, https://substackcdn.com/image/fetch/$s_!jLHT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e32492c-526d-41a3-9d1a-54614c514b8c_1927x826.png 848w, https://substackcdn.com/image/fetch/$s_!jLHT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e32492c-526d-41a3-9d1a-54614c514b8c_1927x826.png 1272w, https://substackcdn.com/image/fetch/$s_!jLHT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e32492c-526d-41a3-9d1a-54614c514b8c_1927x826.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">For cheap, reversible ideas, the &#8220;experiment&#8221; branch becomes a shipped feature behind a flag.</figcaption></figure></div><ul><li><p><strong>High-risk or hard-to-reverse ideas: </strong>test them with <a href="https://www.productcompass.pm/p/the-ultimate-experiments-library">experiments</a>, as always.</p></li><li><p><strong>Cheap, reversible ideas: </strong>ship behind a flag and measure real usage.</p></li></ul><p>The freedom to ship fast makes the <strong>problem space more important</strong>. If you don't understand the problem, faster shipping only produces more noise. Two classic tools got promoted:</p><ul><li><p><strong>Jobs to be Done: </strong>most teams that quote JTBD never run <a href="https://www.productcompass.pm/p/product-frameworks-inspiration">the formal framework</a>, with job maps and outcome surveys. They ask simple questions instead: What job is the customer trying to do? How do they measure success? That's the right way to use it. The value is in JTBD inspiring the right questions.</p></li><li><p><strong>User journey mapping: </strong><a href="https://www.productcompass.pm/p/user-journey-mapping-101">map where users actually struggle</a> before deciding what to ship next. When you release daily, keep the map current.</p></li></ul><p>The same shifts apply to Initial Product Discovery, when you're validating a brand-new product. The stages I described in <a href="https://www.productcompass.pm/p/what-exactly-is-product-discovery">the 2022 edition</a> still hold, but prototypes that took weeks now take an afternoon. <a href="https://www.productcompass.pm/p/claude-design-product-discovery">Time to Learn</a>, the time from idea to validated insight, is the metric that matters.</p><div><hr></div><h2><strong>4. The Product Trio Now Includes Agents</strong></h2><p>There is a common misconception. Some say that the Product Manager decides what to build, and Engineers and designers should focus on how to build it. Have you heard that before? It hurts my ears because Product Discovery is not a task for a single person.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!G-4E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3ea5229-8775-4900-a471-011fd71924ea_1046x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!G-4E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3ea5229-8775-4900-a471-011fd71924ea_1046x500.png 424w, https://substackcdn.com/image/fetch/$s_!G-4E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3ea5229-8775-4900-a471-011fd71924ea_1046x500.png 848w, https://substackcdn.com/image/fetch/$s_!G-4E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3ea5229-8775-4900-a471-011fd71924ea_1046x500.png 1272w, https://substackcdn.com/image/fetch/$s_!G-4E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3ea5229-8775-4900-a471-011fd71924ea_1046x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!G-4E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3ea5229-8775-4900-a471-011fd71924ea_1046x500.png" width="728" height="347.9923518164436" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3ea5229-8775-4900-a471-011fd71924ea_1046x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:500,&quot;width&quot;:1046,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The Product Trio: the 2022 default lineup.&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://www.productcompass.pm/i/208096868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3ea5229-8775-4900-a471-011fd71924ea_1046x500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Product Trio: the 2022 default lineup." title="The Product Trio: the 2022 default lineup." srcset="https://substackcdn.com/image/fetch/$s_!G-4E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3ea5229-8775-4900-a471-011fd71924ea_1046x500.png 424w, https://substackcdn.com/image/fetch/$s_!G-4E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3ea5229-8775-4900-a471-011fd71924ea_1046x500.png 848w, https://substackcdn.com/image/fetch/$s_!G-4E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3ea5229-8775-4900-a471-011fd71924ea_1046x500.png 1272w, https://substackcdn.com/image/fetch/$s_!G-4E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3ea5229-8775-4900-a471-011fd71924ea_1046x500.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">The Product Trio: the 2022 default lineup.</figcaption></figure></div><p>In <a href="https://huryn.notion.site/Continuous-Discovery-Habits-8838c470f056412d9e3529d74a37249a">Continuous Discovery Habits</a>, Teresa Torres introduced the concept of a Product Trio: Product Manager, Product Designer, and Engineer working together. I have repeatedly found that the best ideas often come from my engineers. They know what's technically possible. But <a href="https://www.productcompass.pm/p/product-trio">the Trio was never about three people</a>, it was about having the cross-functional competencies in one room: value, viability, usability, feasibility. The Product Trio is not a rigid framework. It's the default recommendation that can expand and contract.</p><p>In 2026, the roles behind those competencies are melting. Boris Cherny, the creator of Claude Code, <a href="https://x.com/bcherny/status/2071379474277613732">reflecting on his own team</a>:</p><blockquote><p><em>"As engineering, product, design, DS, etc. melt into a new kind of role, I was reflecting on what roles might look like in the future... I also notice that these roles are not really tied to job function."</em></p></blockquote><p>And the competencies no longer have to be human. Agents join discovery as team members: one synthesizes interviews, one builds the prototype, one wires the analytics. Seriously.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PckC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef359955-dd9f-4af4-863f-db5fccc4bdb7_1786x880.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PckC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef359955-dd9f-4af4-863f-db5fccc4bdb7_1786x880.png 424w, https://substackcdn.com/image/fetch/$s_!PckC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef359955-dd9f-4af4-863f-db5fccc4bdb7_1786x880.png 848w, https://substackcdn.com/image/fetch/$s_!PckC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef359955-dd9f-4af4-863f-db5fccc4bdb7_1786x880.png 1272w, https://substackcdn.com/image/fetch/$s_!PckC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef359955-dd9f-4af4-863f-db5fccc4bdb7_1786x880.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PckC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef359955-dd9f-4af4-863f-db5fccc4bdb7_1786x880.png" width="1456" height="717" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef359955-dd9f-4af4-863f-db5fccc4bdb7_1786x880.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:717,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2407930,&quot;alt&quot;:&quot;The Product Trio 2026: roles merging, AI agents join the team.&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://www.productcompass.pm/i/208096868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef359955-dd9f-4af4-863f-db5fccc4bdb7_1786x880.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Product Trio 2026: roles merging, AI agents join the team." title="The Product Trio 2026: roles merging, AI agents join the team." srcset="https://substackcdn.com/image/fetch/$s_!PckC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef359955-dd9f-4af4-863f-db5fccc4bdb7_1786x880.png 424w, https://substackcdn.com/image/fetch/$s_!PckC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef359955-dd9f-4af4-863f-db5fccc4bdb7_1786x880.png 848w, https://substackcdn.com/image/fetch/$s_!PckC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef359955-dd9f-4af4-863f-db5fccc4bdb7_1786x880.png 1272w, https://substackcdn.com/image/fetch/$s_!PckC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef359955-dd9f-4af4-863f-db5fccc4bdb7_1786x880.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">The Product Trio 2026: roles merging, AI agents join the team.</figcaption></figure></div><p>An agent, like a person, does poor work when you hand it tasks without context. Lead your agents like empowered teams: an objective, desired outcomes, context, and constraints, not a list of instructions. That's what my <a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">Intent Engineering framework</a> is for, and it mirrors how Cagan defines team objectives.</p><p><strong>In the premium part below:</strong></p><ul><li><p><strong>Instrumentation without a data team: </strong>how agents build your dashboards the same day</p></li><li><p><strong>Session recordings: </strong>the free tool that shows you why users drop off</p></li><li><p><strong>Product data intuition: </strong>what to watch when you release daily</p></li><li><p><strong>My Continuous Product Discovery Template (Notion): </strong>interviews, opportunities, ideas, and hypotheses in one system</p></li></ul><div><hr></div><h2><strong>&#128274; 5. Instrumentation and Data Intuition</strong></h2><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Upgrade&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Sections 5-7 are for paid subscribers: the instrumentation workflow, what stays manual, and the Continuous Product Discovery Template. Upgrade to get full access.</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="Upgrade"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2><strong>&#128274; 6. What Stays Manual, On Purpose</strong></h2><p><em>For paid subscribers.</em></p><div><hr></div><h2><strong>&#128274; 7. The Continuous Product Discovery Template</strong></h2><p>To put this into practice, premium subscribers get my Continuous Product Discovery Template (Notion).</p><p>It covers the four things you&#8217;re juggling in every discovery cycle:</p><ul><li><p><strong>Interviews:</strong> what you heard</p></li><li><p><strong>Opportunities:</strong> problems and needs worth solving</p></li><li><p><strong>Ideas:</strong> candidate solutions</p></li><li><p><strong>Hypotheses:</strong> what you&#8217;re testing or shipping, and what happened</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_!ole-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6fcb0a-80ce-408e-bf56-cfb6fd596441_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ole-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6fcb0a-80ce-408e-bf56-cfb6fd596441_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!ole-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6fcb0a-80ce-408e-bf56-cfb6fd596441_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!ole-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6fcb0a-80ce-408e-bf56-cfb6fd596441_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!ole-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6fcb0a-80ce-408e-bf56-cfb6fd596441_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ole-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6fcb0a-80ce-408e-bf56-cfb6fd596441_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af6fcb0a-80ce-408e-bf56-cfb6fd596441_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:88762,&quot;alt&quot;:&quot;The cycle the template supports. You can loop back at any stage. In 2026, you&#8217;re more likely to test an assumption by shipping an idea.&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://www.productcompass.pm/i/208096868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6fcb0a-80ce-408e-bf56-cfb6fd596441_1280x720.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The cycle the template supports. You can loop back at any stage. In 2026, you&#8217;re more likely to test an assumption by shipping an idea." title="The cycle the template supports. You can loop back at any stage. In 2026, you&#8217;re more likely to test an assumption by shipping an idea." srcset="https://substackcdn.com/image/fetch/$s_!ole-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6fcb0a-80ce-408e-bf56-cfb6fd596441_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!ole-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6fcb0a-80ce-408e-bf56-cfb6fd596441_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!ole-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6fcb0a-80ce-408e-bf56-cfb6fd596441_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!ole-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6fcb0a-80ce-408e-bf56-cfb6fd596441_1280x720.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">The cycle the template supports. You can loop back at any stage. In 2026, you&#8217;re more likely to test an assumption by shipping an idea.</figcaption></figure></div><p>Duplicate it, bring your team (and your agents), and run your first cycle this week!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Upgrade&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Continuous Product Discovery Template (Notion) is available for paid subscribers. Upgrade to get full access.</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="Upgrade"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2><strong>8. Resources</strong></h2><p>Everything referenced in this guide, plus the deeper dives:</p><p><strong>Frameworks and techniques:</strong></p><ul><li><p><a href="https://www.productcompass.pm/p/product-trio">Product Trio: Beyond the Obvious</a></p></li><li><p><a href="https://www.productcompass.pm/p/product-discovery-sources-of-insights">12 Proven Sources of Insights to Fuel Your Product Discovery</a></p></li><li><p><a href="https://www.productcompass.pm/p/interviewing-customers-the-ultimate">User Interviews: The Ultimate Guide</a></p></li><li><p><a href="https://www.productcompass.pm/p/the-ultimate-experiments-library">Testing Ideas: The Ultimate Validation Experiments Library</a></p></li><li><p><a href="https://www.productcompass.pm/p/how-to-manage-risks-as-a-product-manager">How to Manage Risks as a Product Manager</a></p></li><li><p><a href="https://www.productcompass.pm/p/product-frameworks-inspiration">8 Things About Product Frameworks I Wish I Knew Earlier</a></p></li></ul><p><strong>The product model:</strong></p><ul><li><p><a href="https://www.productcompass.pm/p/product-model-first-principles-transformed-cagan">Product Model First Principles: Team &amp; Strategy</a></p></li><li><p><a href="https://www.productcompass.pm/p/product-model-first-principles-discovery-deliver">Product Model First Principles: Discovery, Delivery, Culture</a></p></li><li><p><a href="https://www.productcompass.pm/p/continuous-product-delivery-product-management">Continuous Product Delivery</a></p></li><li><p><a href="https://www.productcompass.pm/p/okrs-101-advanced-techniques">OKRs 101 + Advanced Techniques</a></p></li></ul><p><strong>AI and discovery:</strong></p><ul><li><p><a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">The Intent Engineering Framework for AI Agents</a></p></li><li><p><a href="https://www.productcompass.pm/p/claude-design-product-discovery">From Weeks to Hours: How Claude Design Compresses Product Discovery</a></p></li></ul><p>Books: start with <a href="https://huryn.notion.site/Inspired-8e7d5f2c33464d5c9c1d6e2d558b66d8">Inspired</a> and <a href="https://huryn.notion.site/Continuous-Discovery-Habits-8838c470f056412d9e3529d74a37249a">Continuous Discovery Habits</a>.</p><p>Premium subscribers can also enroll in the <a href="https://www.productcompass.pm/p/cpdm">Continuous Product Discovery Masterclass</a> video course for free.</p><div><hr></div><h2><strong>Final Thoughts</strong></h2><p>Product Discovery doesn't have to be complicated. The key is to stay curious about your users, test ideas early, and collaborate with your team to build solutions people actually want. It used to be how you avoided wasting a sprint. Now it's how you decide what all that speed is for.</p><p>Learn discovery, then run it at 2026 speed: ship the cheap ideas, test the risky ones, and keep the customer conversations for yourself.</p><p><strong>Tomorrow (Thursday), we'll have a live session</strong> to discuss this in practice and answer your questions. Details and invitations for paid members: <a href="https://go.productcompass.pm/events">go.productcompass.pm/events</a>.</p><p>Some of our previous events available <a href="https://go.productcompass.pm/events">in the archive</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_!4Rjv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab1a5791-1516-4e23-9e13-cea910ca891a_2436x984.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Rjv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab1a5791-1516-4e23-9e13-cea910ca891a_2436x984.png 424w, https://substackcdn.com/image/fetch/$s_!4Rjv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab1a5791-1516-4e23-9e13-cea910ca891a_2436x984.png 848w, https://substackcdn.com/image/fetch/$s_!4Rjv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab1a5791-1516-4e23-9e13-cea910ca891a_2436x984.png 1272w, https://substackcdn.com/image/fetch/$s_!4Rjv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab1a5791-1516-4e23-9e13-cea910ca891a_2436x984.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Rjv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab1a5791-1516-4e23-9e13-cea910ca891a_2436x984.png" width="1456" height="588" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab1a5791-1516-4e23-9e13-cea910ca891a_2436x984.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:588,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:509338,&quot;alt&quot;:&quot;Events archive&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://www.productcompass.pm/i/208096868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab1a5791-1516-4e23-9e13-cea910ca891a_2436x984.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Events archive" title="Events archive" srcset="https://substackcdn.com/image/fetch/$s_!4Rjv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab1a5791-1516-4e23-9e13-cea910ca891a_2436x984.png 424w, https://substackcdn.com/image/fetch/$s_!4Rjv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab1a5791-1516-4e23-9e13-cea910ca891a_2436x984.png 848w, https://substackcdn.com/image/fetch/$s_!4Rjv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab1a5791-1516-4e23-9e13-cea910ca891a_2436x984.png 1272w, https://substackcdn.com/image/fetch/$s_!4Rjv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab1a5791-1516-4e23-9e13-cea910ca891a_2436x984.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">Our events archive</figcaption></figure></div><div><hr></div><h2><strong>Thanks for Reading The Product Compass</strong></h2><p>It&#8217;s amazing to learn and grow together.</p><p>Have a fantastic rest of the week,<br>Pawe&#322;</p>]]></content:encoded></item><item><title><![CDATA[C31. AI-Native Practitioner PM]]></title><description><![CDATA[A complete path: live sessions, guides, , support, and your digital AI PM credentials.]]></description><link>https://www.productcompass.pm/p/c31-ai-native-practitioner-pm</link><guid isPermaLink="false">https://www.productcompass.pm/p/c31-ai-native-practitioner-pm</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Wed, 15 Jul 2026 20:22:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fiu3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey, Pawe&#322; here. I&#8217;m sharing the third module of our AI PM Learning Program: <strong>AI-Native Practitioner PM</strong></p><p>Many of you have been asking about C30 and C31 since November. The first part is here, <strong>free to take everyone</strong>.</p><p>This is where you go from <a href="https://www.productcompass.pm/i/205281041/6-workspace-agents-run-on-your-work">reading about workspace agents</a> to working with them every day: Claude Cowork, Codex, and Claude Code, hands-on.</p><p>It&#8217;s split into:</p><ul><li><p><strong>C30. Claude and Codex Certified PM</strong>: Demonstrated knowledge and took the exam.</p></li><li><p><strong>C31. AI-Native Practitioner PM</strong>: Demonstrated real experience by managing and building with agents. Details in the upcoming sessions.</p></li></ul><p>And directly related to our <a href="https://www.productcompass.pm/p/ai-native-pm-roadmap">past and upcoming AI-Native PM sessions</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_!Jcof!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39a3a475-b5fa-44d8-94ca-10a615b4eb0a_2400x3000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jcof!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39a3a475-b5fa-44d8-94ca-10a615b4eb0a_2400x3000.png 424w, https://substackcdn.com/image/fetch/$s_!Jcof!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39a3a475-b5fa-44d8-94ca-10a615b4eb0a_2400x3000.png 848w, https://substackcdn.com/image/fetch/$s_!Jcof!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39a3a475-b5fa-44d8-94ca-10a615b4eb0a_2400x3000.png 1272w, https://substackcdn.com/image/fetch/$s_!Jcof!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39a3a475-b5fa-44d8-94ca-10a615b4eb0a_2400x3000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jcof!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39a3a475-b5fa-44d8-94ca-10a615b4eb0a_2400x3000.png" width="1456" height="1820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39a3a475-b5fa-44d8-94ca-10a615b4eb0a_2400x3000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2386356,&quot;alt&quot;:&quot;AI PM Learning Program diagram showing C30 and C31 tracks&quot;,&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://www.productcompass.pm/i/207193544?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39a3a475-b5fa-44d8-94ca-10a615b4eb0a_2400x3000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI PM Learning Program diagram showing C30 and C31 tracks" title="AI PM Learning Program diagram showing C30 and C31 tracks" srcset="https://substackcdn.com/image/fetch/$s_!Jcof!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39a3a475-b5fa-44d8-94ca-10a615b4eb0a_2400x3000.png 424w, https://substackcdn.com/image/fetch/$s_!Jcof!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39a3a475-b5fa-44d8-94ca-10a615b4eb0a_2400x3000.png 848w, https://substackcdn.com/image/fetch/$s_!Jcof!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39a3a475-b5fa-44d8-94ca-10a615b4eb0a_2400x3000.png 1272w, https://substackcdn.com/image/fetch/$s_!Jcof!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39a3a475-b5fa-44d8-94ca-10a615b4eb0a_2400x3000.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><h2>C30. Claude and Codex Certified PM</h2><p>Here&#8217;s the exact set of lessons covering the scope you need. Each pairs a live session from <a href="https://www.productcompass.pm/p/ai-native-pm-roadmap">The AI-Native PM Roadmap</a> with a written guide:</p><div class="callout-block" data-callout="true"><p>&#128274; The content here content is available to all subscribers. Sign up (free, don&#8217;t pay anything) to access those materials.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p></div><div><hr></div><h2>How to Earn the C30. Claude and Codex Certified PM</h2><p>All you need to do is to take a free knowledge test:</p><ul><li><p>20 single-choice questions</p></li><li><p>80% required to pass</p></li><li><p>40 minutes</p></li><li><p>1 attempt per week (a larger pool of questions)</p></li></ul><p>The questions are scenario-based: what you want to achieve, and which tool or mechanism gets you there. If you attended the sessions or read the guides, you&#8217;ll recognize the situations.</p><p>After each attempt you will see your points, mistakes, and explanations so you can learn and improve.</p><p>No prerequisites.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.accredia.io/quiz/548a946b-3a26-4a2c-94ed-9d11e988ecd0&quot;,&quot;text&quot;:&quot;Start the exam&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.accredia.io/quiz/548a946b-3a26-4a2c-94ed-9d11e988ecd0"><span>Start the exam</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_!fiu3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fiu3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.png 424w, https://substackcdn.com/image/fetch/$s_!fiu3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.png 848w, https://substackcdn.com/image/fetch/$s_!fiu3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.png 1272w, https://substackcdn.com/image/fetch/$s_!fiu3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fiu3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.png" width="1456" height="1030" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1030,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2993029,&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://www.productcompass.pm/i/207193544?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.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_!fiu3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.png 424w, https://substackcdn.com/image/fetch/$s_!fiu3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.png 848w, https://substackcdn.com/image/fetch/$s_!fiu3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.png 1272w, https://substackcdn.com/image/fetch/$s_!fiu3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c62faf-3dd9-4ea3-8475-e5aed4d7e970_1600x1132.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"><a href="https://www.accredia.io/cert/CERT-A3C53E42">View my public certificate</a></figcaption></figure></div><div><hr></div><h2>What&#8217;s Next: C31. AI-Native PM</h2><p>C31 is where you demonstrate real experience across the full AI-Native PM path. I&#8217;ll share the exercises and submission details with the upcoming sessions. The scope:</p><ul><li><p>Knowledge bases and agent memory (second brains)</p></li><li><p>AI Product Discovery</p></li><li><p>AI Prototyping</p></li><li><p>AI Evals</p></li><li><p>Agentic Engineering 101</p></li></ul><p>We cover each of these <strong>live with paid subscribers</strong> in the <a href="https://www.productcompass.pm/p/ai-native-pm-roadmap">AI-Native PM sessions</a>, every Thursday at 6:00 PM CET (see you tomorrow).</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><p>With every session, I&#8217;ll be updating this article &#128588;</p><div><hr></div><h2>Questions?</h2><p>In case of any questions or doubts, you get full support on our Slack:<br><strong>#c31-ai-native-pm</strong></p><p>Link to join our community: <a href="https://www.productcompass.pm/p/your-premium-pm-resources">Your Premium PM Resources</a></p><p>I&#8217;m also available during weekly office hours.</p><div><hr></div><h2>More About Our Certification Programs</h2><p>Other certified programs available as part of your paid subscription include:</p><ul><li><p><a href="https://productcompass.pm/p/c10-llm-practitioner-pm-ai-pm">C11. LLM Practitioner PM</a> (+free C10)</p></li><li><p><a href="https://www.productcompass.pm/p/c21-ai-agents-practitioner-pm">C21. AI Agents Practitioner PM</a> (+free C20)</p></li><li><p><a href="https://www.productcompass.pm/p/cpdm">Continuous Product Discovery</a> (video course)</p></li><li><p><a href="https://www.productcompass.pm/p/product-vision-strategy-objectives-course">From Strategy to Objectives</a> (video course)</p></li><li><p><a href="https://www.productcompass.pm/p/product-innovation-masterclass">Product Innovation</a> (video course)</p></li></ul><p>After completing each track (e.g., C30, C31), you will get a digital, shareable certificate.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><h3>Your Public Profile</h3><p>You will be able to share your credentials and/or profile with others, for example: <a href="https://www.accredia.io/users/pawel-huryn">https://www.accredia.io/users/pawel-huryn</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_!ZJ2c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bc35a6-a5fa-4aef-9c5c-1f730c5b3e0c_1507x1840.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZJ2c!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bc35a6-a5fa-4aef-9c5c-1f730c5b3e0c_1507x1840.png 424w, https://substackcdn.com/image/fetch/$s_!ZJ2c!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bc35a6-a5fa-4aef-9c5c-1f730c5b3e0c_1507x1840.png 848w, https://substackcdn.com/image/fetch/$s_!ZJ2c!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bc35a6-a5fa-4aef-9c5c-1f730c5b3e0c_1507x1840.png 1272w, https://substackcdn.com/image/fetch/$s_!ZJ2c!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bc35a6-a5fa-4aef-9c5c-1f730c5b3e0c_1507x1840.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZJ2c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bc35a6-a5fa-4aef-9c5c-1f730c5b3e0c_1507x1840.png" width="1456" height="1778" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84bc35a6-a5fa-4aef-9c5c-1f730c5b3e0c_1507x1840.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1778,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:597560,&quot;alt&quot;:&quot;Public student profile, Accredia&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://www.productcompass.pm/i/207193544?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bc35a6-a5fa-4aef-9c5c-1f730c5b3e0c_1507x1840.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Public student profile, Accredia" title="Public student profile, Accredia" srcset="https://substackcdn.com/image/fetch/$s_!ZJ2c!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bc35a6-a5fa-4aef-9c5c-1f730c5b3e0c_1507x1840.png 424w, https://substackcdn.com/image/fetch/$s_!ZJ2c!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bc35a6-a5fa-4aef-9c5c-1f730c5b3e0c_1507x1840.png 848w, https://substackcdn.com/image/fetch/$s_!ZJ2c!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bc35a6-a5fa-4aef-9c5c-1f730c5b3e0c_1507x1840.png 1272w, https://substackcdn.com/image/fetch/$s_!ZJ2c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bc35a6-a5fa-4aef-9c5c-1f730c5b3e0c_1507x1840.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"><a href="https://www.accredia.io/users/pawel-huryn">A public profile on Accredia</a></figcaption></figure></div><h3>Claudathon for PMs</h3><p>Separately from your subscription, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Olia Herbelin&quot;,&quot;id&quot;:400036942,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a0b60f9-cbbc-4b18-a9ef-bea0f4054290_1646x1646.jpeg&quot;,&quot;uuid&quot;:&quot;f9a8dcc3-95c8-44a0-ab0f-73fe18a74034&quot;}" data-component-name="MentionToDOM"></span> and I work closely with individual PMs and product teams to help them build, ship, and bring full-stack agentic apps powered by Claude to market. This intensive experience turns you into a fully fledged Agentic Product Builder.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xaH5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc43fa592-e74c-4f99-b5be-737d624008fd_2579x1584.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xaH5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc43fa592-e74c-4f99-b5be-737d624008fd_2579x1584.png 424w, https://substackcdn.com/image/fetch/$s_!xaH5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc43fa592-e74c-4f99-b5be-737d624008fd_2579x1584.png 848w, https://substackcdn.com/image/fetch/$s_!xaH5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc43fa592-e74c-4f99-b5be-737d624008fd_2579x1584.png 1272w, https://substackcdn.com/image/fetch/$s_!xaH5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc43fa592-e74c-4f99-b5be-737d624008fd_2579x1584.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xaH5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc43fa592-e74c-4f99-b5be-737d624008fd_2579x1584.png" width="1456" height="894" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c43fa592-e74c-4f99-b5be-737d624008fd_2579x1584.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:894,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:447109,&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://www.productcompass.pm/i/207193544?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc43fa592-e74c-4f99-b5be-737d624008fd_2579x1584.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_!xaH5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc43fa592-e74c-4f99-b5be-737d624008fd_2579x1584.png 424w, https://substackcdn.com/image/fetch/$s_!xaH5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc43fa592-e74c-4f99-b5be-737d624008fd_2579x1584.png 848w, https://substackcdn.com/image/fetch/$s_!xaH5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc43fa592-e74c-4f99-b5be-737d624008fd_2579x1584.png 1272w, https://substackcdn.com/image/fetch/$s_!xaH5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc43fa592-e74c-4f99-b5be-737d624008fd_2579x1584.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"><a href="https://go.productcompass.pm/claudathon">Claudathon for PMs</a></figcaption></figure></div><p>The next cohort starts on September 1, 2026. Early bird: <a href="https://go.productcompass.pm/claudathon">go.productcompass.pm/claudathon</a></p><p>You can the work of our students in the <a href="https://go.productcompass.pm/gallery">AI Gallery</a>.</p><div><hr></div><h2>More Resources</h2><p>Here are some additional resources to explore:</p><ul><li><p><a href="https://www.productcompass.pm/p/ai-product-manager-glossary">AI Product Manager Glossary</a> - understand key terms</p></li><li><p><a href="https://www.productcompass.pm/p/ai-product-management-learning-roadmap">AI PM Learning Roadmap</a> - for extra links, guides, and resources</p></li></ul><p>And posts you might have missed:</p><ul><li><p><a href="https://www.productcompass.pm/p/ai-pm-video-guides">19 Hands-On Video Guides for PMs</a></p></li><li><p><a href="https://www.productcompass.pm/p/claude-md-snippets">Three CLAUDE.md Blocks That Make Claude Get Smarter Every Session</a></p></li><li><p><a href="https://www.productcompass.pm/p/self-improving-claude-system">What I Learned Building a Self-Improving Agentic System with Claude</a></p></li><li><p><a href="https://www.productcompass.pm/p/how-to-build-ai-agent-n8n-lovable">How to Build an AI Agent with n8n and Lovable (No Coding)</a></p></li><li><p><a href="https://www.productcompass.pm/p/ai-product-pricing">The AI Product Pricing Masterclass</a></p></li><li><p><a href="https://www.productcompass.pm/p/your-complete-roadmap-to-earning">Your Complete Roadmap to Earning a $180K&#8211;$569K AI PM Role</a></p></li><li><p><a href="https://www.productcompass.pm/p/how-to-evaluate-ai-agents-n8n">A PM&#8217;s Guide to Evaluating AI Agents</a></p></li></ul><div><hr></div><h2><strong>Thanks for Reading The Product Compass</strong></h2><p>It&#8217;s amazing to learn and grow together.</p><p><span>Have a fantastic rest of the week,</span><br><span>Pawe&#322;</span><br></p>]]></content:encoded></item><item><title><![CDATA[19 Hands-On Video Guides for PMs ]]></title><description><![CDATA[The Events Archive is live: Claude Code, Cowork, Codex, n8n, Lovable, and more. Start with the 3 free ones.]]></description><link>https://www.productcompass.pm/p/ai-pm-video-guides</link><guid isPermaLink="false">https://www.productcompass.pm/p/ai-pm-video-guides</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Tue, 14 Jul 2026 14:51:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VCes!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey, many subscribers have been asking me about recordings of our Office Hours sessions. I just released <strong><a href="https://go.productcompass.pm/events">the Events Archive</a></strong> with the first 19 session recordings:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VCes!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VCes!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.png 424w, https://substackcdn.com/image/fetch/$s_!VCes!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.png 848w, https://substackcdn.com/image/fetch/$s_!VCes!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.png 1272w, https://substackcdn.com/image/fetch/$s_!VCes!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VCes!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.png" width="1400" height="1158" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1158,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:576232,&quot;alt&quot;:&quot;The Product Compass Events Archive: 19 AI session recordings for PMs&quot;,&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://www.productcompass.pm/i/207010905?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Product Compass Events Archive: 19 AI session recordings for PMs" title="The Product Compass Events Archive: 19 AI session recordings for PMs" srcset="https://substackcdn.com/image/fetch/$s_!VCes!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.png 424w, https://substackcdn.com/image/fetch/$s_!VCes!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.png 848w, https://substackcdn.com/image/fetch/$s_!VCes!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.png 1272w, https://substackcdn.com/image/fetch/$s_!VCes!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c805999-0975-45a6-b7e3-97a61b268b40_1400x1158.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>During each of those sessions, I demonstrated a practical use of a tool (sometimes including fixing errors live) and answered your questions. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><p>Event details include <strong>timestamps</strong>, <strong>free templates</strong>, and <strong>linked resources</strong>, for 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_!rBaw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4160434e-ca5b-4761-b9e4-28431c8cd219_1797x722.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rBaw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4160434e-ca5b-4761-b9e4-28431c8cd219_1797x722.png 424w, https://substackcdn.com/image/fetch/$s_!rBaw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4160434e-ca5b-4761-b9e4-28431c8cd219_1797x722.png 848w, https://substackcdn.com/image/fetch/$s_!rBaw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4160434e-ca5b-4761-b9e4-28431c8cd219_1797x722.png 1272w, https://substackcdn.com/image/fetch/$s_!rBaw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4160434e-ca5b-4761-b9e4-28431c8cd219_1797x722.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rBaw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4160434e-ca5b-4761-b9e4-28431c8cd219_1797x722.png" width="1456" height="585" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4160434e-ca5b-4761-b9e4-28431c8cd219_1797x722.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:585,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:189891,&quot;alt&quot;:&quot;Event page with timestamps, free templates, and linked resources&quot;,&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://www.productcompass.pm/i/207010905?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4160434e-ca5b-4761-b9e4-28431c8cd219_1797x722.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Event page with timestamps, free templates, and linked resources" title="Event page with timestamps, free templates, and linked resources" srcset="https://substackcdn.com/image/fetch/$s_!rBaw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4160434e-ca5b-4761-b9e4-28431c8cd219_1797x722.png 424w, https://substackcdn.com/image/fetch/$s_!rBaw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4160434e-ca5b-4761-b9e4-28431c8cd219_1797x722.png 848w, https://substackcdn.com/image/fetch/$s_!rBaw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4160434e-ca5b-4761-b9e4-28431c8cd219_1797x722.png 1272w, https://substackcdn.com/image/fetch/$s_!rBaw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4160434e-ca5b-4761-b9e4-28431c8cd219_1797x722.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>I recommend starting with these three (100% free, highest ROI):</p><ul><li><p><a href="https://go.productcompass.pm/events/e0b9de52-2fd6-4923-8f12-6275d670c6bc">Claude Cowork for PMs</a></p><ul><li><p>Demo: 100 interviews &gt; hypotheses &gt; prioritized ideas &gt; prototypes</p></li><li><p>Resources: 6 prompts and 100 synthetic interviews</p></li></ul></li><li><p><a href="https://go.productcompass.pm/events/7014a28d-3a27-4dd3-a07c-f2c597b45113">Codex App for PMs</a>:</p><ul><li><p>Demo: Automating browser workflows</p></li><li><p>Resources: AGENTS.md &lt;&gt; CLAUDE.md sync pattern</p></li></ul></li><li><p><a href="https://go.productcompass.pm/events/2efc37f4-0346-4fa7-b6ed-19f8761d1267">Introduction to Claude Code for PMs</a></p><ul><li><p>Demo: Scan Gmail to Linear &gt; create a skill &gt; use Claude Code for free</p></li><li><p>Resources: Detailed template with skills, hooks, cost optimization, and more</p></li></ul></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/p/ai-pm-video-guides?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/p/ai-pm-video-guides?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h3>The 6 upcoming sessions to break into AI PM</h3><p>In the coming weeks (starting in 2 days), as a paid subscriber you can also attend (and later access the recordings):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Guls!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad874c4-5455-451f-9b3c-f801e763f2c3_1200x773.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Guls!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad874c4-5455-451f-9b3c-f801e763f2c3_1200x773.png 424w, https://substackcdn.com/image/fetch/$s_!Guls!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad874c4-5455-451f-9b3c-f801e763f2c3_1200x773.png 848w, https://substackcdn.com/image/fetch/$s_!Guls!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad874c4-5455-451f-9b3c-f801e763f2c3_1200x773.png 1272w, https://substackcdn.com/image/fetch/$s_!Guls!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad874c4-5455-451f-9b3c-f801e763f2c3_1200x773.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Guls!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad874c4-5455-451f-9b3c-f801e763f2c3_1200x773.png" width="1200" height="773" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ad874c4-5455-451f-9b3c-f801e763f2c3_1200x773.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:773,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:909392,&quot;alt&quot;:&quot;The AI-Native PM Roadmap: 6 upcoming live sessions&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The AI-Native PM Roadmap: 6 upcoming live sessions" title="The AI-Native PM Roadmap: 6 upcoming live sessions" srcset="https://substackcdn.com/image/fetch/$s_!Guls!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad874c4-5455-451f-9b3c-f801e763f2c3_1200x773.png 424w, https://substackcdn.com/image/fetch/$s_!Guls!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad874c4-5455-451f-9b3c-f801e763f2c3_1200x773.png 848w, https://substackcdn.com/image/fetch/$s_!Guls!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad874c4-5455-451f-9b3c-f801e763f2c3_1200x773.png 1272w, https://substackcdn.com/image/fetch/$s_!Guls!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad874c4-5455-451f-9b3c-f801e763f2c3_1200x773.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>That&#8217;s not all. I will host weekly sessions at least until the end of 2026 (then we&#8217;ll review what makes sense: weekly or bi-weekly).</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><h3>19 AI PM sessions you can access today</h3><p>Premium subscribers can already access the entire archive (19 sessions: n8n, Lovable, multi-agent systems, voice agents, and more).</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Upgrade&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Full archive and upcoming sessions are available to paid subscribers of the newsletter.</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="Upgrade"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>The AI PM Learning Program</h2><p>The last 3 (Cowork, Codex, Claude Code) and the upcoming 6 AI PM sessions will extend our AI PM Learning Program.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JAi7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JAi7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 424w, https://substackcdn.com/image/fetch/$s_!JAi7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 848w, https://substackcdn.com/image/fetch/$s_!JAi7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 1272w, https://substackcdn.com/image/fetch/$s_!JAi7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JAi7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png" width="1456" height="309" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:309,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;AI Product Manager Learning Program paths: C11, C21, C30, C31&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="AI Product Manager Learning Program paths: C11, C21, C30, C31" title="AI Product Manager Learning Program paths: C11, C21, C30, C31" srcset="https://substackcdn.com/image/fetch/$s_!JAi7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 424w, https://substackcdn.com/image/fetch/$s_!JAi7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 848w, https://substackcdn.com/image/fetch/$s_!JAi7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 1272w, https://substackcdn.com/image/fetch/$s_!JAi7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>As a paid subscriber, you can already access:</p><ul><li><p><a href="https://productcompass.pm/p/c10-llm-practitioner-pm-ai-pm">C11. LLM Practitioner PM (2 certificates)</a></p></li><li><p><a href="https://www.productcompass.pm/p/c21-ai-agents-practitioner-pm">C21. AI Agents Practitioner PM (2 certificates)</a></p></li></ul><p>Tomorrow, I&#8217;m announcing: </p><ul><li><p>C30. AI Tools for PMs (free)</p></li><li><p>C31. AI-Native PM details. </p></li></ul><p>And here, I explained why the program is organized that way:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;501c6db7-efd4-40ae-af92-cacbef84a689&quot;,&quot;caption&quot;:&quot;Someone recently asked me:&quot;,&quot;cta&quot;:null,&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 PM Learning Roadmap 2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:86533280,&quot;name&quot;:&quot;Pawe&#322; Huryn&quot;,&quot;bio&quot;:&quot;AI &amp; PM. Author, The Product Compass. Deep research. I build, test, then teach. 5 years as a CPO, 10+ years as a PM, 15+ years in tech.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fcfcfec-32a1-4970-aee1-8a1ab05a76c0_750x750.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000}],&quot;post_date&quot;:&quot;2026-07-05T18:37:53.377Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!PEiz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.productcompass.pm/p/ai-product-manager-roadmap-2026&quot;,&quot;section_name&quot;:&quot;AI Product Management&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:205281041,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:107,&quot;comment_count&quot;:3,&quot;publication_id&quot;:943157,&quot;publication_name&quot;:&quot;The Product Compass&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Isz9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761d3970-dad7-483b-8fcf-9fada16e0d33_1080x1080.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>My Product Hit 20K+ Installs and ~1,500 DAU</h2><p>A few weeks ago, I made a bet that Grok would catch up to Claude and GPT models. It did. Benchmarks differ, but it&#8217;s at the level of Opus 4.8:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fL1k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd542e4c2-cf0d-4374-845c-e3a303d0cd18_4128x1565.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fL1k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd542e4c2-cf0d-4374-845c-e3a303d0cd18_4128x1565.png 424w, https://substackcdn.com/image/fetch/$s_!fL1k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd542e4c2-cf0d-4374-845c-e3a303d0cd18_4128x1565.png 848w, https://substackcdn.com/image/fetch/$s_!fL1k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd542e4c2-cf0d-4374-845c-e3a303d0cd18_4128x1565.png 1272w, https://substackcdn.com/image/fetch/$s_!fL1k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd542e4c2-cf0d-4374-845c-e3a303d0cd18_4128x1565.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fL1k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd542e4c2-cf0d-4374-845c-e3a303d0cd18_4128x1565.png" width="4128" height="1565" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d542e4c2-cf0d-4374-845c-e3a303d0cd18_4128x1565.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1565,&quot;width&quot;:4128,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:366298,&quot;alt&quot;:&quot;Benchmark: Grok at the level of Claude Opus 4.8&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://www.productcompass.pm/i/207010905?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5fe9b0-1339-4275-8d6a-3fda064d794a_4128x1836.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Benchmark: Grok at the level of Claude Opus 4.8" title="Benchmark: Grok at the level of Claude Opus 4.8" srcset="https://substackcdn.com/image/fetch/$s_!fL1k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd542e4c2-cf0d-4374-845c-e3a303d0cd18_4128x1565.png 424w, https://substackcdn.com/image/fetch/$s_!fL1k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd542e4c2-cf0d-4374-845c-e3a303d0cd18_4128x1565.png 848w, https://substackcdn.com/image/fetch/$s_!fL1k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd542e4c2-cf0d-4374-845c-e3a303d0cd18_4128x1565.png 1272w, https://substackcdn.com/image/fetch/$s_!fL1k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd542e4c2-cf0d-4374-845c-e3a303d0cd18_4128x1565.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_!VDAp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2fa49e4-df7e-4b24-accc-d432760ce5d5_4128x1543.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VDAp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2fa49e4-df7e-4b24-accc-d432760ce5d5_4128x1543.png 424w, https://substackcdn.com/image/fetch/$s_!VDAp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2fa49e4-df7e-4b24-accc-d432760ce5d5_4128x1543.png 848w, https://substackcdn.com/image/fetch/$s_!VDAp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2fa49e4-df7e-4b24-accc-d432760ce5d5_4128x1543.png 1272w, https://substackcdn.com/image/fetch/$s_!VDAp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2fa49e4-df7e-4b24-accc-d432760ce5d5_4128x1543.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VDAp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2fa49e4-df7e-4b24-accc-d432760ce5d5_4128x1543.png" width="4128" height="1543" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a2fa49e4-df7e-4b24-accc-d432760ce5d5_4128x1543.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1543,&quot;width&quot;:4128,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:379414,&quot;alt&quot;:&quot;Second benchmark: Grok vs Claude and GPT models&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://www.productcompass.pm/i/207010905?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27dc79ae-7c4b-4d94-be03-7de4c4993b7e_4128x1836.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Second benchmark: Grok vs Claude and GPT models" title="Second benchmark: Grok vs Claude and GPT models" srcset="https://substackcdn.com/image/fetch/$s_!VDAp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2fa49e4-df7e-4b24-accc-d432760ce5d5_4128x1543.png 424w, https://substackcdn.com/image/fetch/$s_!VDAp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2fa49e4-df7e-4b24-accc-d432760ce5d5_4128x1543.png 848w, https://substackcdn.com/image/fetch/$s_!VDAp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2fa49e4-df7e-4b24-accc-d432760ce5d5_4128x1543.png 1272w, https://substackcdn.com/image/fetch/$s_!VDAp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2fa49e4-df7e-4b24-accc-d432760ce5d5_4128x1543.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>According to <a href="https://x.com/PawelHuryn/status/2075473856957940186?s=20">my tests</a>, it&#8217;s also several times cheaper than the alternatives. </p><p>When making a bet, I noticed one issue: Grok Build is a <strong>CLI interface</strong> and not everyone is a dev living in the terminal.</p><p>So, I built Grok Build for VS Code. It&#8217;s a <strong>graphical interface </strong>that supports both <strong>agentic engineering and knowledge work</strong>. Works in Cursor too:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sgSG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520cc933-e99c-4c6e-9cf1-6a504482c4f2_2270x2110.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sgSG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520cc933-e99c-4c6e-9cf1-6a504482c4f2_2270x2110.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sgSG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520cc933-e99c-4c6e-9cf1-6a504482c4f2_2270x2110.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sgSG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520cc933-e99c-4c6e-9cf1-6a504482c4f2_2270x2110.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sgSG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520cc933-e99c-4c6e-9cf1-6a504482c4f2_2270x2110.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sgSG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520cc933-e99c-4c6e-9cf1-6a504482c4f2_2270x2110.jpeg" width="1456" height="1353" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/520cc933-e99c-4c6e-9cf1-6a504482c4f2_2270x2110.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1353,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Grok Build for VS Code: graphical interface for agentic engineering and knowledge work&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="Grok Build for VS Code: graphical interface for agentic engineering and knowledge work" title="Grok Build for VS Code: graphical interface for agentic engineering and knowledge work" srcset="https://substackcdn.com/image/fetch/$s_!sgSG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520cc933-e99c-4c6e-9cf1-6a504482c4f2_2270x2110.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sgSG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520cc933-e99c-4c6e-9cf1-6a504482c4f2_2270x2110.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sgSG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520cc933-e99c-4c6e-9cf1-6a504482c4f2_2270x2110.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sgSG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520cc933-e99c-4c6e-9cf1-6a504482c4f2_2270x2110.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>Yesterday, we hit <strong>20K installs</strong> across <a href="https://marketplace.visualstudio.com/items?itemName=PawelHuryn.grok-vscode-phuryn">VS Code Marketplace</a> and <a href="https://open-vsx.org/extension/PawelHuryn/grok-vscode-phuryn">Open VSX</a> and ~1,400 DAU (estimate, source: <a href="https://aptabase.com/">Aptabase</a>). Most of the acquisition can&#8217;t be attributed to my social media activity: 80% of users <strong>discovered or recommended the extension organically</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_!N-ze!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99594891-1ee5-43a5-ac85-c8abf2351db8_2071x799.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N-ze!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99594891-1ee5-43a5-ac85-c8abf2351db8_2071x799.png 424w, https://substackcdn.com/image/fetch/$s_!N-ze!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99594891-1ee5-43a5-ac85-c8abf2351db8_2071x799.png 848w, https://substackcdn.com/image/fetch/$s_!N-ze!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99594891-1ee5-43a5-ac85-c8abf2351db8_2071x799.png 1272w, https://substackcdn.com/image/fetch/$s_!N-ze!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99594891-1ee5-43a5-ac85-c8abf2351db8_2071x799.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N-ze!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99594891-1ee5-43a5-ac85-c8abf2351db8_2071x799.png" width="1456" height="562" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99594891-1ee5-43a5-ac85-c8abf2351db8_2071x799.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:562,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:194329,&quot;alt&quot;:&quot;Grok Build for VS Code (Community) GUI for IDE in VS Code Marketplace&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://www.productcompass.pm/i/207010905?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99594891-1ee5-43a5-ac85-c8abf2351db8_2071x799.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Grok Build for VS Code (Community) GUI for IDE in VS Code Marketplace" title="Grok Build for VS Code (Community) GUI for IDE in VS Code Marketplace" srcset="https://substackcdn.com/image/fetch/$s_!N-ze!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99594891-1ee5-43a5-ac85-c8abf2351db8_2071x799.png 424w, https://substackcdn.com/image/fetch/$s_!N-ze!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99594891-1ee5-43a5-ac85-c8abf2351db8_2071x799.png 848w, https://substackcdn.com/image/fetch/$s_!N-ze!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99594891-1ee5-43a5-ac85-c8abf2351db8_2071x799.png 1272w, https://substackcdn.com/image/fetch/$s_!N-ze!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99594891-1ee5-43a5-ac85-c8abf2351db8_2071x799.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_!_MOq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e215cf6-1404-4712-9323-d05ba2b19e5b_2076x777.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_MOq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e215cf6-1404-4712-9323-d05ba2b19e5b_2076x777.png 424w, https://substackcdn.com/image/fetch/$s_!_MOq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e215cf6-1404-4712-9323-d05ba2b19e5b_2076x777.png 848w, https://substackcdn.com/image/fetch/$s_!_MOq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e215cf6-1404-4712-9323-d05ba2b19e5b_2076x777.png 1272w, https://substackcdn.com/image/fetch/$s_!_MOq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e215cf6-1404-4712-9323-d05ba2b19e5b_2076x777.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_MOq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e215cf6-1404-4712-9323-d05ba2b19e5b_2076x777.png" width="1456" height="545" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e215cf6-1404-4712-9323-d05ba2b19e5b_2076x777.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:545,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:172333,&quot;alt&quot;:&quot;Grok Build for VS Code (Community) GUI for IDE in Open VSX Registry&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://www.productcompass.pm/i/207010905?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e215cf6-1404-4712-9323-d05ba2b19e5b_2076x777.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Grok Build for VS Code (Community) GUI for IDE in Open VSX Registry" title="Grok Build for VS Code (Community) GUI for IDE in Open VSX Registry" srcset="https://substackcdn.com/image/fetch/$s_!_MOq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e215cf6-1404-4712-9323-d05ba2b19e5b_2076x777.png 424w, https://substackcdn.com/image/fetch/$s_!_MOq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e215cf6-1404-4712-9323-d05ba2b19e5b_2076x777.png 848w, https://substackcdn.com/image/fetch/$s_!_MOq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e215cf6-1404-4712-9323-d05ba2b19e5b_2076x777.png 1272w, https://substackcdn.com/image/fetch/$s_!_MOq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e215cf6-1404-4712-9323-d05ba2b19e5b_2076x777.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_!Gu_Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76c26dc9-45c5-46eb-9b29-5349d2b789ea_2410x1185.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gu_Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76c26dc9-45c5-46eb-9b29-5349d2b789ea_2410x1185.png 424w, https://substackcdn.com/image/fetch/$s_!Gu_Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76c26dc9-45c5-46eb-9b29-5349d2b789ea_2410x1185.png 848w, https://substackcdn.com/image/fetch/$s_!Gu_Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76c26dc9-45c5-46eb-9b29-5349d2b789ea_2410x1185.png 1272w, https://substackcdn.com/image/fetch/$s_!Gu_Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76c26dc9-45c5-46eb-9b29-5349d2b789ea_2410x1185.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gu_Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76c26dc9-45c5-46eb-9b29-5349d2b789ea_2410x1185.png" width="1456" height="716" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76c26dc9-45c5-46eb-9b29-5349d2b789ea_2410x1185.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:716,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:173060,&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://www.productcompass.pm/i/207010905?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76c26dc9-45c5-46eb-9b29-5349d2b789ea_2410x1185.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_!Gu_Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76c26dc9-45c5-46eb-9b29-5349d2b789ea_2410x1185.png 424w, https://substackcdn.com/image/fetch/$s_!Gu_Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76c26dc9-45c5-46eb-9b29-5349d2b789ea_2410x1185.png 848w, https://substackcdn.com/image/fetch/$s_!Gu_Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76c26dc9-45c5-46eb-9b29-5349d2b789ea_2410x1185.png 1272w, https://substackcdn.com/image/fetch/$s_!Gu_Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76c26dc9-45c5-46eb-9b29-5349d2b789ea_2410x1185.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">Aptabase stats 7/13/2026, includes only users who send anonymous analytics</figcaption></figure></div><h4>Want to try it?</h4><p>Go to &#8220;Extensions&#8221; in VS Code or Cursor and look for &#8220;Grok Build for VS Code (Community).&#8221; The extension <strong>walks you through installing</strong> the grok CLI and signing in. You can also get a <strong><a href="https://grok.com/plans">free 7-day trial</a></strong> for SuperGrok.</p><h4>Sharing knowledge</h4><blockquote><p>I&#8217;ll be sharing what I learned about <strong>distribution </strong>and <strong>agentic engineering</strong> (850+ automated tests and 22K+ lines of code of which <a href="https://www.productcompass.pm/p/agentic-engineering-for-pms?r=1fipi8&amp;utm_campaign=post&amp;utm_medium=web">I reviewed none</a>) during the upcoming video sessions and in my future posts.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><h4>Monetization plans</h4><p>The product is free and open source, but most of the users already pay xAI (high intent, high satisfaction + they use my interface). Product-market fit had to come first. </p><div><hr></div><h2><strong>Thanks for Reading The Product Compass</strong></h2><p>It&#8217;s amazing to learn and grow together.</p><p><span>Have a fantastic rest of the week,</span><br><span>Pawe&#322;</span></p><p></p><p></p><p><br><br></p>]]></content:encoded></item><item><title><![CDATA[The Ultimate AI PM Learning Roadmap 2026]]></title><description><![CDATA[Every skill, tool, and guide to become an AI Product Manager in 2026, built around one question: does the agent run on your work, or inside your product?]]></description><link>https://www.productcompass.pm/p/ai-product-manager-roadmap-2026</link><guid isPermaLink="false">https://www.productcompass.pm/p/ai-product-manager-roadmap-2026</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Sun, 05 Jul 2026 18:37:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PEiz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Someone recently asked me: </p><p>Did Claude replace n8n? Should you drop one and learn the other?</p><p>I get why.</p><p>For more than a year, when I wrote about building AI agents, I wrote about n8n. Then I started writing about Claude Code, Cowork, and Codex.</p><p>But the answer is no.</p><p>That is the whole point of this roadmap.</p><p>You learn the foundations once. Then one question splits the rest:</p><blockquote><p><strong>Does the agent run on your work, or inside your product?</strong></p></blockquote><p>Some agents run in your workspace, on your own work: Claude Code, Cowork, Codex. Others are embedded inside a product or a business process, running on their own for your users or your team: n8n, the Agent SDK, managed platforms.</p><p>So it&#8217;s not n8n versus Claude Code.</p><p>It&#8217;s workspace agents and product agents. You need both, and you use the first to build the second.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PEiz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PEiz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png 424w, https://substackcdn.com/image/fetch/$s_!PEiz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png 848w, https://substackcdn.com/image/fetch/$s_!PEiz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png 1272w, https://substackcdn.com/image/fetch/$s_!PEiz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PEiz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png" width="1200" height="2225" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2225,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:557279,&quot;alt&quot;:&quot;AI Product Manager Learning Roadmap 2026&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://www.productcompass.pm/i/205281041?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Product Manager Learning Roadmap 2026" title="AI Product Manager Learning Roadmap 2026" srcset="https://substackcdn.com/image/fetch/$s_!PEiz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png 424w, https://substackcdn.com/image/fetch/$s_!PEiz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png 848w, https://substackcdn.com/image/fetch/$s_!PEiz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.png 1272w, https://substackcdn.com/image/fetch/$s_!PEiz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f885c0a-b3db-43e8-a725-c6a42bbb7ba2_1200x2225.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 path:</p><ul><li><p>The foundations every AI PM needs, tool-agnostic, learned once</p></li><li><p>How you work with agents: the workspace agents you do everything with, and the product agents you build using them</p></li><li><p>How to make production agents reliable once they run without you</p></li><li><p>Where AI product strategy fits on top</p></li><li><p>The exact programs and live sessions that take you deeper on each part</p></li></ul><div class="callout-block" data-callout="true"><p>Models change every month. The skills below don&#8217;t.</p><p>That&#8217;s why this roadmap is built around what you actually do, not whichever tool shipped last week.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h1><strong>Part 1. Foundations (Learn Once, Before the Split)</strong></h1><p>Concepts, communication, and knowledge apply the same way whether the agent runs on your work or inside your product. We learn them once here, and everything after gets easier.</p><h3>1. The Role of an AI PM</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VGYn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabd3ca7-ff86-4e9e-b87b-7ae12b9372e7_1070x613.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VGYn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabd3ca7-ff86-4e9e-b87b-7ae12b9372e7_1070x613.png 424w, https://substackcdn.com/image/fetch/$s_!VGYn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabd3ca7-ff86-4e9e-b87b-7ae12b9372e7_1070x613.png 848w, https://substackcdn.com/image/fetch/$s_!VGYn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabd3ca7-ff86-4e9e-b87b-7ae12b9372e7_1070x613.png 1272w, https://substackcdn.com/image/fetch/$s_!VGYn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabd3ca7-ff86-4e9e-b87b-7ae12b9372e7_1070x613.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VGYn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabd3ca7-ff86-4e9e-b87b-7ae12b9372e7_1070x613.png" width="1070" height="613" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dabd3ca7-ff86-4e9e-b87b-7ae12b9372e7_1070x613.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:613,&quot;width&quot;:1070,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:141791,&quot;alt&quot;:&quot;Continuous Discovery and Continuous Delivery&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://www.productcompass.pm/i/205281041?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabd3ca7-ff86-4e9e-b87b-7ae12b9372e7_1070x613.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Continuous Discovery and Continuous Delivery" title="Continuous Discovery and Continuous Delivery" srcset="https://substackcdn.com/image/fetch/$s_!VGYn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabd3ca7-ff86-4e9e-b87b-7ae12b9372e7_1070x613.png 424w, https://substackcdn.com/image/fetch/$s_!VGYn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabd3ca7-ff86-4e9e-b87b-7ae12b9372e7_1070x613.png 848w, https://substackcdn.com/image/fetch/$s_!VGYn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabd3ca7-ff86-4e9e-b87b-7ae12b9372e7_1070x613.png 1272w, https://substackcdn.com/image/fetch/$s_!VGYn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabd3ca7-ff86-4e9e-b87b-7ae12b9372e7_1070x613.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>Start with the job. Before any tool or technique, get clear on what the role actually is and where it differs from classic PM. The mindset shift underneath everything: <strong>models and tools are easy to get excited about, reliable systems that create value are the actual job.</strong></p><ul><li><p><a href="https://www.productcompass.pm/p/what-is-an-ai-product-manager">WTF is an AI Product Manager</a>: the role, and where AI PM differs from PM</p></li><li><p><a href="https://www.productcompass.pm/p/what-exactly-is-product-discovery">What Is Product Discovery</a>: the discovery foundations, still the PM core</p></li><li><p><a href="https://www.productcompass.pm/p/ai-2026-designing-ai-systems">Stop Watching AI Models. Start Designing AI Systems</a>: the models-to-systems shift, in full</p></li></ul><h3>2. Basic Concepts</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l-Ew!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f96fb0-a9a7-47aa-801d-45aaee6a15b1_2000x450.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l-Ew!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f96fb0-a9a7-47aa-801d-45aaee6a15b1_2000x450.png 424w, https://substackcdn.com/image/fetch/$s_!l-Ew!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f96fb0-a9a7-47aa-801d-45aaee6a15b1_2000x450.png 848w, https://substackcdn.com/image/fetch/$s_!l-Ew!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f96fb0-a9a7-47aa-801d-45aaee6a15b1_2000x450.png 1272w, https://substackcdn.com/image/fetch/$s_!l-Ew!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f96fb0-a9a7-47aa-801d-45aaee6a15b1_2000x450.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l-Ew!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f96fb0-a9a7-47aa-801d-45aaee6a15b1_2000x450.png" width="1456" height="328" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14f96fb0-a9a7-47aa-801d-45aaee6a15b1_2000x450.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:328,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37594,&quot;alt&quot;:&quot;Basic Concepts&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://www.productcompass.pm/i/205281041?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f96fb0-a9a7-47aa-801d-45aaee6a15b1_2000x450.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Basic Concepts" title="Basic Concepts" srcset="https://substackcdn.com/image/fetch/$s_!l-Ew!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f96fb0-a9a7-47aa-801d-45aaee6a15b1_2000x450.png 424w, https://substackcdn.com/image/fetch/$s_!l-Ew!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f96fb0-a9a7-47aa-801d-45aaee6a15b1_2000x450.png 848w, https://substackcdn.com/image/fetch/$s_!l-Ew!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f96fb0-a9a7-47aa-801d-45aaee6a15b1_2000x450.png 1272w, https://substackcdn.com/image/fetch/$s_!l-Ew!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14f96fb0-a9a7-47aa-801d-45aaee6a15b1_2000x450.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>For most PMs it makes no sense to dive deep into statistics, Python, or loss functions. You need to understand what a model can and can&#8217;t do, and how to design a system around it.</p><p>Recommended resources:</p><ul><li><p><a href="https://www.productcompass.pm/p/introduction-to-ai-product-management">Introduction to AI Product Management</a>: neural networks, transformers, LLMs, tokenization, no math required</p></li><li><p><a href="https://bbycroft.net/llm">Interactive LLM visualization</a>: watch a model run token by token, in your browser</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OQSI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d02689-fdec-4c10-b09f-cb1f06202b3e_1100x577.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OQSI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d02689-fdec-4c10-b09f-cb1f06202b3e_1100x577.png 424w, https://substackcdn.com/image/fetch/$s_!OQSI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d02689-fdec-4c10-b09f-cb1f06202b3e_1100x577.png 848w, https://substackcdn.com/image/fetch/$s_!OQSI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d02689-fdec-4c10-b09f-cb1f06202b3e_1100x577.png 1272w, https://substackcdn.com/image/fetch/$s_!OQSI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d02689-fdec-4c10-b09f-cb1f06202b3e_1100x577.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OQSI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d02689-fdec-4c10-b09f-cb1f06202b3e_1100x577.png" width="578" height="303.1872727272727" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e7d02689-fdec-4c10-b09f-cb1f06202b3e_1100x577.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:577,&quot;width&quot;:1100,&quot;resizeWidth&quot;:578,&quot;bytes&quot;:185411,&quot;alt&quot;:&quot;an interactive LLM visualization&quot;,&quot;title&quot;:&quot;an interactive LLM visualization&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.productcompass.pm/i/164633384?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d02689-fdec-4c10-b09f-cb1f06202b3e_1100x577.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="an interactive LLM visualization" title="an interactive LLM visualization" srcset="https://substackcdn.com/image/fetch/$s_!OQSI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d02689-fdec-4c10-b09f-cb1f06202b3e_1100x577.png 424w, https://substackcdn.com/image/fetch/$s_!OQSI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d02689-fdec-4c10-b09f-cb1f06202b3e_1100x577.png 848w, https://substackcdn.com/image/fetch/$s_!OQSI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d02689-fdec-4c10-b09f-cb1f06202b3e_1100x577.png 1272w, https://substackcdn.com/image/fetch/$s_!OQSI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d02689-fdec-4c10-b09f-cb1f06202b3e_1100x577.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">Source: <a href="https://bbycroft.net/llm">an interactive LLM visualization</a></figcaption></figure></div></li><li><p><a href="https://www.productcompass.pm/p/ai-product-manager-glossary">AI Product Manager Glossary</a>: 100+ terms (recently updated), save it as a reference</p></li></ul><h3>3. Talking to AI: Prompt, Context, and Intent</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jaem!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c61f0-d8d8-47f7-8750-fd4be7628abf_2000x528.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jaem!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c61f0-d8d8-47f7-8750-fd4be7628abf_2000x528.png 424w, https://substackcdn.com/image/fetch/$s_!Jaem!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c61f0-d8d8-47f7-8750-fd4be7628abf_2000x528.png 848w, https://substackcdn.com/image/fetch/$s_!Jaem!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c61f0-d8d8-47f7-8750-fd4be7628abf_2000x528.png 1272w, https://substackcdn.com/image/fetch/$s_!Jaem!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c61f0-d8d8-47f7-8750-fd4be7628abf_2000x528.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jaem!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c61f0-d8d8-47f7-8750-fd4be7628abf_2000x528.png" width="1456" height="384" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c23c61f0-d8d8-47f7-8750-fd4be7628abf_2000x528.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:384,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:59078,&quot;alt&quot;:&quot;Talking to AI: Prompt, Context, and Intent Engineering&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://www.productcompass.pm/i/205281041?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c61f0-d8d8-47f7-8750-fd4be7628abf_2000x528.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Talking to AI: Prompt, Context, and Intent Engineering" title="Talking to AI: Prompt, Context, and Intent Engineering" srcset="https://substackcdn.com/image/fetch/$s_!Jaem!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c61f0-d8d8-47f7-8750-fd4be7628abf_2000x528.png 424w, https://substackcdn.com/image/fetch/$s_!Jaem!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c61f0-d8d8-47f7-8750-fd4be7628abf_2000x528.png 848w, https://substackcdn.com/image/fetch/$s_!Jaem!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c61f0-d8d8-47f7-8750-fd4be7628abf_2000x528.png 1272w, https://substackcdn.com/image/fetch/$s_!Jaem!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c61f0-d8d8-47f7-8750-fd4be7628abf_2000x528.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 skill carries over to every agent you&#8217;ll touch, workspace or product, so it lives here, above the split. Three layers, each building on the last:</p><ul><li><p><strong>Prompt engineering</strong> steers a single answer.</p></li><li><p><strong>Context engineering</strong> gives the agent memory, tools, and the information it needs.</p></li><li><p><strong>Intent engineering</strong> constrains an agent that acts autonomously, even long-term, so it does the right thing without you watching every step.</p></li></ul><p>Learn all three and you can talk to any agent, workspace or product.</p><p>Recommended resources:</p><ul><li><p><a href="https://www.productcompass.pm/p/prompting-techniques">14 Prompting Techniques Every PM Should Know</a></p></li><li><p><a href="https://www.productcompass.pm/p/context-engineering">A Guide to Context Engineering for PMs</a>: the new prompt engineering, covering RAG, memory, tools, and retrieval</p></li><li><p><a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">The Intent Engineering Framework for AI Agents</a>: objectives, outcomes, enforced constraints</p></li><li><p>Prompt resources: <a href="https://www.productcompass.pm/p/the-ultimate-chatgpt-prompts-product-managers">The Ultimate Prompts Library for PMs</a>, <a href="https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview">Anthropic&#8217;s Prompt Engineering guide</a> and its <a href="https://github.com/anthropics/prompt-eng-interactive-tutorial">free interactive course</a>, plus the <a href="https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/prompt-generator">Prompt Generator</a> and <a href="https://docs.anthropic.com/en/prompt-library/library">Prompt Library</a></p></li></ul><h3>4. Knowledge Systems: How Agents Know Things</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZJD0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a8e4fd-d1bc-4e2c-838a-e56e036e6120_2000x450.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZJD0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a8e4fd-d1bc-4e2c-838a-e56e036e6120_2000x450.png 424w, https://substackcdn.com/image/fetch/$s_!ZJD0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a8e4fd-d1bc-4e2c-838a-e56e036e6120_2000x450.png 848w, https://substackcdn.com/image/fetch/$s_!ZJD0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a8e4fd-d1bc-4e2c-838a-e56e036e6120_2000x450.png 1272w, https://substackcdn.com/image/fetch/$s_!ZJD0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a8e4fd-d1bc-4e2c-838a-e56e036e6120_2000x450.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZJD0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a8e4fd-d1bc-4e2c-838a-e56e036e6120_2000x450.png" width="1456" height="328" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51a8e4fd-d1bc-4e2c-838a-e56e036e6120_2000x450.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:328,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:47607,&quot;alt&quot;:&quot;Knowledge Systems: How Agents Know Things&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://www.productcompass.pm/i/205281041?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a8e4fd-d1bc-4e2c-838a-e56e036e6120_2000x450.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Knowledge Systems: How Agents Know Things" title="Knowledge Systems: How Agents Know Things" srcset="https://substackcdn.com/image/fetch/$s_!ZJD0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a8e4fd-d1bc-4e2c-838a-e56e036e6120_2000x450.png 424w, https://substackcdn.com/image/fetch/$s_!ZJD0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a8e4fd-d1bc-4e2c-838a-e56e036e6120_2000x450.png 848w, https://substackcdn.com/image/fetch/$s_!ZJD0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a8e4fd-d1bc-4e2c-838a-e56e036e6120_2000x450.png 1272w, https://substackcdn.com/image/fetch/$s_!ZJD0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a8e4fd-d1bc-4e2c-838a-e56e036e6120_2000x450.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><span>Look closely at knowledge systems and the split almost disappears. A markdown second brain that Claude Code reads before it answers, and a vector database that a production agent searches, are the same idea wearing two outfits: </span><strong>how an agent knows what it needs to know.</strong></p><p><span>Your agent is only as good as the context system it can retrieve from and update. Second brains, </span><code>CLAUDE.md</code><span>, RAG, vector stores, files, and past tool outputs all answer that one question.</span></p><p>Recommended resources:</p><ul><li><p><a href="https://rag.productcompass.pm/">An Interactive RAG Simulator</a>: watch retrieval work, chunk by chunk (free)</p></li><li><p><a href="https://www.productcompass.pm/p/how-to-build-a-rag-chatbot">How to Build a RAG Chatbot Without Coding</a>: vector stores, embeddings, chunking, step by step</p></li><li><p><a href="https://www.productcompass.pm/i/163255770/5-three-essential-agentic-rag-architectures-in-n8n">Three Essential Agentic RAG Architectures in n8n</a></p></li><li><p><a href="https://www.productcompass.pm/p/self-improving-claude-system">What I Learned Building a Self-Improving Agentic System</a>: systems that compound, and how they degrade</p></li><li><p><a href="https://www.productcompass.pm/p/claude-md-snippets">Three CLAUDE.md Blocks That Make Claude Get Smarter</a></p></li><li><p><a href="https://www.productcompass.pm/p/pm-brain-os">PM Brain OS: The Second Brain for PMs, Made of Markdown</a></p></li><li><p><a href="https://www.productcompass.pm/p/gemini-file-search-api">Gemini File Search API: A Practical Handbook</a>: RAG as a service</p></li></ul><blockquote><p><strong>For PMs:</strong> Learn markdown and vectors first. Reach for graphs only when your relationships get genuinely complex.</p></blockquote><h3>5. Fine-Tuning</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n2mi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3540e10f-0888-4f57-be1d-96b8cdc6eb32_2000x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n2mi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3540e10f-0888-4f57-be1d-96b8cdc6eb32_2000x300.png 424w, https://substackcdn.com/image/fetch/$s_!n2mi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3540e10f-0888-4f57-be1d-96b8cdc6eb32_2000x300.png 848w, https://substackcdn.com/image/fetch/$s_!n2mi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3540e10f-0888-4f57-be1d-96b8cdc6eb32_2000x300.png 1272w, https://substackcdn.com/image/fetch/$s_!n2mi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3540e10f-0888-4f57-be1d-96b8cdc6eb32_2000x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n2mi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3540e10f-0888-4f57-be1d-96b8cdc6eb32_2000x300.png" width="1456" height="218" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3540e10f-0888-4f57-be1d-96b8cdc6eb32_2000x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:218,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:32158,&quot;alt&quot;:&quot;Fine-Tuning&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://www.productcompass.pm/i/205281041?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3540e10f-0888-4f57-be1d-96b8cdc6eb32_2000x300.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Fine-Tuning" title="Fine-Tuning" srcset="https://substackcdn.com/image/fetch/$s_!n2mi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3540e10f-0888-4f57-be1d-96b8cdc6eb32_2000x300.png 424w, https://substackcdn.com/image/fetch/$s_!n2mi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3540e10f-0888-4f57-be1d-96b8cdc6eb32_2000x300.png 848w, https://substackcdn.com/image/fetch/$s_!n2mi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3540e10f-0888-4f57-be1d-96b8cdc6eb32_2000x300.png 1272w, https://substackcdn.com/image/fetch/$s_!n2mi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3540e10f-0888-4f57-be1d-96b8cdc6eb32_2000x300.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><span>Fine-tuning is not where most PMs should start. It's what you reach for when prompting and retrieval stop being enough, and the skill is knowing </span>when<span> that moment arrives. Most days, RAG wins.</span></p><p>Recommended resources:</p><ul><li><p><a href="https://www.productcompass.pm/p/what-is-fine-tuning">The Ultimate Guide to Fine-Tuning for PMs</a>: when to fine-tune vs stick with RAG, plus SFT, DPO, and ORPO</p></li><li><p>Practice platforms (no coding): </p><ul><li><p><a href="https://platform.openai.com/">OpenAI Platform</a>, </p></li><li><p><a href="https://huggingface.co/autotrain">Hugging Face AutoTrain</a>, </p></li><li><p><a href="https://llamafactory.readthedocs.io/en/latest/">LLaMA-Factory</a></p></li></ul></li></ul><div><hr></div><h2><strong>Part 2. How You Work With Agents</strong></h2><p>Foundations done. Next:</p><ul><li><p><strong>Workspace agents are how you do the work</strong><span>, all of it: discovery, prototyping, delivery, shipping, research, marketing.</span></p></li><li><p><strong>Product agents are what you build with them</strong><span>, when the agent has to live inside a product.</span></p></li></ul><p>You use one to make the other, so they were never rivals. Learn both, starting with your workspace agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nV3g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327d7c4f-1c93-46b3-a7d4-3a78c7f4724e_2400x1104.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nV3g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327d7c4f-1c93-46b3-a7d4-3a78c7f4724e_2400x1104.png 424w, https://substackcdn.com/image/fetch/$s_!nV3g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327d7c4f-1c93-46b3-a7d4-3a78c7f4724e_2400x1104.png 848w, https://substackcdn.com/image/fetch/$s_!nV3g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327d7c4f-1c93-46b3-a7d4-3a78c7f4724e_2400x1104.png 1272w, https://substackcdn.com/image/fetch/$s_!nV3g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327d7c4f-1c93-46b3-a7d4-3a78c7f4724e_2400x1104.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nV3g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327d7c4f-1c93-46b3-a7d4-3a78c7f4724e_2400x1104.png" width="1456" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/327d7c4f-1c93-46b3-a7d4-3a78c7f4724e_2400x1104.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:236099,&quot;alt&quot;:&quot;How You Work With Agents: Workspace agents vs. Product agents&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://www.productcompass.pm/i/205281041?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327d7c4f-1c93-46b3-a7d4-3a78c7f4724e_2400x1104.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How You Work With Agents: Workspace agents vs. Product agents" title="How You Work With Agents: Workspace agents vs. Product agents" srcset="https://substackcdn.com/image/fetch/$s_!nV3g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327d7c4f-1c93-46b3-a7d4-3a78c7f4724e_2400x1104.png 424w, https://substackcdn.com/image/fetch/$s_!nV3g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327d7c4f-1c93-46b3-a7d4-3a78c7f4724e_2400x1104.png 848w, https://substackcdn.com/image/fetch/$s_!nV3g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327d7c4f-1c93-46b3-a7d4-3a78c7f4724e_2400x1104.png 1272w, https://substackcdn.com/image/fetch/$s_!nV3g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327d7c4f-1c93-46b3-a7d4-3a78c7f4724e_2400x1104.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>6. Workspace Agents: Run on Your Work</h3><p>A workspace agent runs on your own work. You give it intent and review what it produces, whether you watch it live or let it run on a schedule overnight. It's agentic: you set the goal, the agent plans and runs the steps. You use them across the whole job, from discovery to prototyping to delivery to shipping. This is the bench everything else runs on, so it goes first.</p><p><span>Start with the tool, then learn to operate it well: how to organize it with </span><code>CLAUDE.md</code><span> / </span><code>AGENTS.md</code><span>, skills, MCP servers, hooks, and subagents.</span></p><p>Recommended resources:</p><ul><li><p><a href="https://www.productcompass.pm/p/claude-cowork-guide">Claude Cowork: The Ultimate Guide for PMs</a>: no terminal required</p></li><li><p><a href="https://www.productcompass.pm/p/claude-code-beginners-guide">Claude Code for PMs: The Beginner&#8217;s Guide</a>: install, MCP, skills, start here</p></li><li><p><a href="https://www.productcompass.pm/p/claude-code-guide">The Guide to Claude Code for PMs</a>: more advanced</p></li><li><p><a href="https://www.productcompass.pm/p/codex-setup-for-pms">How to Set Up Codex as a PM and Run It Next to Claude</a></p></li><li><p><a href="https://www.productcompass.pm/p/claude-code-dynamic-workflows">Claude Dynamic Workflows for PMs</a>: set a goal tonight, results by morning</p></li><li><p><a href="https://www.productcompass.pm/p/loop-engineering-for-pms">Agent Loops for PMs: 20+ You Can Run This Week</a></p></li></ul><p><strong>The advanced move: agentic engineering.</strong><span> Once you can manage one agent, you can build real things with it. </span>Recommended resources:</p><ul><li><p><a href="https://www.productcompass.pm/p/vibe-coding-vs-vibe-engineering">The Rise of Vibe Engineering</a>: the basic engineering skills you now need</p></li><li><p><a href="https://www.productcompass.pm/p/agentic-engineering-for-pms">I Don&#8217;t Review the Code. I Review the Artifacts.</a></p></li></ul><h4><strong>What a workspace agent gets you: AI product discovery and prototyping</strong></h4><p>This is the payoff of your workspace agents, and the work that sits closest to what a PM already does. Product sense plus the ability to build: that's the combination you bring here. You use workspace agents to discover and prototype in hours instead of weeks: test a hypothesis, build a working prototype, put it in front of users, learn, repeat.</p><p>Recommended resources:</p><ul><li><p><a href="https://www.productcompass.pm/p/ai-prototyping-the-ultimate-guide">AI Prototyping: The Ultimate Guide for PMs</a></p></li><li><p><a href="https://www.productcompass.pm/p/claude-design-product-discovery">From Weeks to Hours: How Claude Design Compresses Product Discovery</a></p></li><li><p>Other tools to prototype with: <a href="https://www.productcompass.pm/p/full-stack-app-with-lovable">Lovable full-stack course</a>, <a href="https://www.productcompass.pm/p/base44-vs-lovable">Base44</a>, <a href="https://www.productcompass.pm/p/dyad-free-lovable-alternative">Dyad (free)</a>, <a href="https://www.productcompass.pm/p/stitch-vs-google-ai-studio-vs-firebase">Stitch vs Google AI Studio vs Firebase</a></p></li></ul><blockquote><p><strong>Dedicated AI discovery and prototyping guides 2026 are coming.</strong> Until then, the discovery fundamentals still hold, and AI changes the speed, not the logic: <a href="https://www.productcompass.pm/p/the-ultimate-experiments-library">The Ultimate Validation Experiments Library</a>, <a href="https://www.productcompass.pm/p/the-4-steps-of-continuous-product">Continuous Product Discovery 101</a>, <a href="https://www.productcompass.pm/p/product-discovery-sources-of-insights">12 Proven Sources of Insights</a>, <a href="https://www.productcompass.pm/p/jobs-to-be-done-masterclass-with">Jobs-to-be-Done Masterclass with Tony Ulwick</a>, <a href="https://www.productcompass.pm/p/prioritization-framework-product-backlog">How to Prioritize Ideas as a Product Manager</a></p></blockquote><h3>7. Product Agents: Embedded in a Product</h3><p>A product agent is embedded inside a product or a business process. You design the architecture, wire the tools, set the guardrails, and it runs on its own, for your users or your team. You build it with your workspace agents, which is why it comes second here, not because it matters less.</p><p>Product agents are orchestration-first: you design the steps, tools, guardrails, and handoffs instead of letting the model improvise the whole process. The question you&#8217;re probably asking: why learn n8n, if Claude and the Agents API can build agents too?</p><p>Because <strong>building them visually first teaches you more</strong>. In n8n, you can see how the agent works. You drag the boxes, connect the tools, and watch the data move, the same way you&#8217;d build RAG by hand. You feel where the loop lives, where the model decides, where a tool result comes back.</p><p><strong>That understanding compounds.</strong> It&#8217;s why I was writing about  <a href="https://www.productcompass.pm/i/168134805/5-orchestration-autonomy">orchestration over autonomy</a> months before &#8220;harness&#8221; caught on, and why the <a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">intent engineering framework</a> was here before the labs shipped their /goal commands.</p><blockquote><p><strong>Build a few agents visually before you build them in code.</strong><span> You'll understand the harness in a way that's hard to get if you start in Claude Code, and that understanding carries back into Claude Code too.</span></p></blockquote><p><span>My favorite tool for this, by far, is n8n: drag-and-drop workflows and multi-agent systems that connect to almost anything.</span></p><p>Recommended resources:</p><ul><li><p><a href="https://www.productcompass.pm/p/the-ultimate-guide-to-n8n-for-pms">The Guide to n8n for PMs</a>: the leading no-code framework</p></li><li><p><a href="https://www.productcompass.pm/p/free-n8n-course">Master 80% of n8n in 59 Minutes (Free Course)</a></p></li><li><p><a href="https://www.productcompass.pm/p/ai-agents">Introduction to AI Agents for PMs</a>: what an agent is, building blocks, workflows vs agents vs multi-agent</p></li><li><p><a href="https://www.productcompass.pm/p/ai-agent-architectures">AI Agent Architectures: The Ultimate Guide With n8n Examples</a></p></li><li><p><a href="https://www.productcompass.pm/p/building-ai-agents-best-practices">14 Principles of Building AI Agents (Learned the Hard Way)</a></p></li><li><p><a href="https://www.productcompass.pm/p/multi-agent-research-system">I Copied the Multi-Agent Research System by Anthropic</a></p></li><li><p><a href="https://www.productcompass.pm/p/mcp-case-study-jira-figma">MCP for PMs: Automate Figma to Jira in 10 Minutes</a> and <a href="https://www.productcompass.pm/p/n8n-mcp-servers-uv">J.A.R.V.I.S.: n8n + Any MCP Server</a></p></li><li><p><a href="https://www.productcompass.pm/p/claude-agent-sdk-production-agent">Your .claude/ Folder Is a Production Agent</a>: the Agent SDK, reframed</p></li></ul><div><hr></div><h2><strong>Part 3. When Agents Need to Be Trusted</strong></h2><p><span>Once an agent touches real work or real users, one question matters: can you trust it? </span></p><p><strong>Evals are mostly a production concern.</strong><span> When you manage a workspace agent, you review its work as it goes, the artifact review from Part 2. When an agent runs without you watching and can impact your customer, you can't eyeball quality, so you have to measure it. Shipping and hardening cover the apps you build along the way.</span></p><h3>8. AI Evals and Observability</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J_LF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a81847-0e3a-48ee-ac7e-ab6ed444acd0_1200x504.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J_LF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a81847-0e3a-48ee-ac7e-ab6ed444acd0_1200x504.png 424w, https://substackcdn.com/image/fetch/$s_!J_LF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a81847-0e3a-48ee-ac7e-ab6ed444acd0_1200x504.png 848w, https://substackcdn.com/image/fetch/$s_!J_LF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a81847-0e3a-48ee-ac7e-ab6ed444acd0_1200x504.png 1272w, https://substackcdn.com/image/fetch/$s_!J_LF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a81847-0e3a-48ee-ac7e-ab6ed444acd0_1200x504.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J_LF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a81847-0e3a-48ee-ac7e-ab6ed444acd0_1200x504.png" width="1200" height="504" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85a81847-0e3a-48ee-ac7e-ab6ed444acd0_1200x504.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:504,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:207990,&quot;alt&quot;:&quot;AI Evals and Observability&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://www.productcompass.pm/i/205281041?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a81847-0e3a-48ee-ac7e-ab6ed444acd0_1200x504.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Evals and Observability" title="AI Evals and Observability" srcset="https://substackcdn.com/image/fetch/$s_!J_LF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a81847-0e3a-48ee-ac7e-ab6ed444acd0_1200x504.png 424w, https://substackcdn.com/image/fetch/$s_!J_LF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a81847-0e3a-48ee-ac7e-ab6ed444acd0_1200x504.png 848w, https://substackcdn.com/image/fetch/$s_!J_LF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a81847-0e3a-48ee-ac7e-ab6ed444acd0_1200x504.png 1272w, https://substackcdn.com/image/fetch/$s_!J_LF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a81847-0e3a-48ee-ac7e-ab6ed444acd0_1200x504.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>Fancy architecture doesn't matter if the product doesn't work, especially once it runs on its own. Evals are where trust is won or lost, and they're your job, not only the engineers'. </p><p>Recommended resources:</p><ul><li><p><a href="https://www.productcompass.pm/p/ai-evals">Introduction to AI Evals: A Complete Guide for PMs</a>: start here (free)</p></li><li><p><a href="https://www.productcompass.pm/p/evaluating-ai-products-error-analysis">AI Evals: How to Find the Right Metrics (Error Analysis)</a></p></li><li><p><a href="https://www.productcompass.pm/p/how-to-evaluate-ai-agents-n8n">The action-based framework</a>: evaluate actions, not words</p></li><li><p><a href="https://www.productcompass.pm/p/ai-observability-evaluation-platforms">The Ultimate Guide to AI Observability and Evaluation Platforms</a></p></li><li><p>A massive free FAQ: <a href="https://hamel.dev/blog/posts/evals-faq/">hamel.dev/blog/posts/evals-faq</a></p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><h3>9. AI Shipping and Hardening</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0bPp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c73ff5-c378-4b9e-9ca4-7be0b78f362a_1200x343.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0bPp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c73ff5-c378-4b9e-9ca4-7be0b78f362a_1200x343.png 424w, https://substackcdn.com/image/fetch/$s_!0bPp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c73ff5-c378-4b9e-9ca4-7be0b78f362a_1200x343.png 848w, https://substackcdn.com/image/fetch/$s_!0bPp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c73ff5-c378-4b9e-9ca4-7be0b78f362a_1200x343.png 1272w, https://substackcdn.com/image/fetch/$s_!0bPp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c73ff5-c378-4b9e-9ca4-7be0b78f362a_1200x343.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0bPp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c73ff5-c378-4b9e-9ca4-7be0b78f362a_1200x343.png" width="1200" height="343" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8c73ff5-c378-4b9e-9ca4-7be0b78f362a_1200x343.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:343,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:108487,&quot;alt&quot;:&quot;AI Shipping and Hardening&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://www.productcompass.pm/i/205281041?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c73ff5-c378-4b9e-9ca4-7be0b78f362a_1200x343.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Shipping and Hardening" title="AI Shipping and Hardening" srcset="https://substackcdn.com/image/fetch/$s_!0bPp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c73ff5-c378-4b9e-9ca4-7be0b78f362a_1200x343.png 424w, https://substackcdn.com/image/fetch/$s_!0bPp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c73ff5-c378-4b9e-9ca4-7be0b78f362a_1200x343.png 848w, https://substackcdn.com/image/fetch/$s_!0bPp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c73ff5-c378-4b9e-9ca4-7be0b78f362a_1200x343.png 1272w, https://substackcdn.com/image/fetch/$s_!0bPp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c73ff5-c378-4b9e-9ca4-7be0b78f362a_1200x343.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>When something you built with a workspace agent becomes a product people rely on, the question shifts from "what can I do?" to "how do I not break production?" Branching, hosting, CI/CD, security, and performance.</p><p>Recommended resources:</p><ul><li><p><a href="https://www.productcompass.pm/p/lovable-branching">How to Build and Scale Full-Stack Apps in Lovable Without Breaking Production</a>: branching to separate dev, test, and prod</p></li><li><p><a href="https://www.productcompass.pm/p/penetration-testing-performance-testing-prompts">17 Penetration and Performance Testing Prompts for Vibe Coders</a></p></li><li><p><a href="https://www.productcompass.pm/p/pm-skills-2-red-team-ship">PM Skills 2.0: Red-Team Your Roadmap, Then Check the Code Before You Ship</a></p></li></ul><div><hr></div><h2><strong>Part 4. Zoom Out: AI Product Strategy and Leadership</strong></h2><p>Tools and agents are the how. This is the why, where product thinking still beats any model. Don&#8217;t skip it. The PM job is expanding into shipping and business outcomes, not just solving problems for users.</p><p>Recommended resources:</p><ul><li><p><a href="https://www.productcompass.pm/p/how-to-create-an-ai-product-strategy">How to Create an AI Product Strategy: The AI Strategic Lens Framework</a></p></li><li><p><a href="https://www.productcompass.pm/p/openai-how-to-build-ai-product-strategy">OpenAI&#8217;s Product Leader: 5 Phases to Build, Deploy, and Scale AI Strategy</a></p></li><li><p><a href="https://www.productcompass.pm/p/distribution-framework-ai-products">3-Layer AI Product Distribution Framework</a>: features get cloned, models commoditize, distribution compounds</p></li><li><p><a href="https://www.productcompass.pm/p/5-gtm-principles-with-frameworks-templates">5 GTM Principles With Frameworks and Templates</a>: the go-to-market layer, with playbooks you can reuse</p></li><li><p><a href="https://www.productcompass.pm/p/ai-product-pricing">The AI Product Pricing Masterclass: Why SaaS Pricing Fails in AI</a></p></li><li><p><a href="https://www.productcompass.pm/p/how-to-build-an-ai-product-team">How to Build an AI Product Team</a></p></li><li><p><a href="https://www.productcompass.pm/p/product-model-first-principles-transformed-cagan">Product Model First Principles: Team</a>: how the strongest product teams are structured, from Marty Cagan&#8217;s first principles (free)</p></li><li><p><a href="https://www.productcompass.pm/p/ai-prd-template">A Proven AI PRD Template by Miqdad Jaffer (OpenAI)</a>: the artifact that turns product strategy into a build spec</p></li></ul><div><hr></div><h2><strong>Choose Your Path</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JAi7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JAi7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 424w, https://substackcdn.com/image/fetch/$s_!JAi7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 848w, https://substackcdn.com/image/fetch/$s_!JAi7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 1272w, https://substackcdn.com/image/fetch/$s_!JAi7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JAi7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png" width="1456" height="309" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:309,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97312,&quot;alt&quot;:&quot;AI Product Manager Learning Paths&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://www.productcompass.pm/i/205281041?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Product Manager Learning Paths" title="AI Product Manager Learning Paths" srcset="https://substackcdn.com/image/fetch/$s_!JAi7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 424w, https://substackcdn.com/image/fetch/$s_!JAi7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 848w, https://substackcdn.com/image/fetch/$s_!JAi7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 1272w, https://substackcdn.com/image/fetch/$s_!JAi7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25438cb-5330-4f0f-b5ab-070e6e8175ec_2255x479.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The roadmap above is free. If you want the structured version, with lessons, projects, certification, and support, here&#8217;s how the parts map to the programs.</p><p><strong>I. <a href="https://www.productcompass.pm/p/ai-pm-learning-program">The AI PM Learning Program</a>.</strong> Included for paid subscribers, async and hands-on, with a dedicated Slack and weekly office hours:</p><ul><li><p><a href="https://www.productcompass.pm/p/c10-llm-practitioner-pm-ai-pm">C11. LLM Practitioner Certified PM</a>: the foundations, built by doing</p></li><li><p><a href="https://www.productcompass.pm/p/c21-ai-agents-practitioner-pm">C21. AI Agents Practitioner PM</a>: build and deploy production agents</p></li></ul><p><strong>II. <a href="https://www.productcompass.pm/p/ai-native-pm-roadmap">The AI-Native PM Roadmap</a>.</strong> Live, hands-on session every week + recordings. The first three are free, from Claude Cowork to Claude Code in VS Code. This teaches your workspace agents, live.</p><ul><li><p>C31. AI-Native PM (coming soon)</p></li></ul><div class="callout-block" data-callout="true"><p>&#128204; The highest-leverage move for a PM right now is workspace agents and Claude Code (&#167;6), which is what I&#8217;ve been writing about so much in recent months.</p><p>Next comes shipping with AI - from strategy and discovery to agentic engineering to GTM, monetization, and beyond.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>Thanks for Reading The Product Compass</strong></h2><p>It&#8217;s amazing to learn and grow together.</p><p>Start building. Stop theorizing.</p><p>Have a fantastic Sunday and a great week ahead,<br>Pawe&#322;</p><div><hr></div><p><em>P.S. If you want to learn workspace agents live, the first three <a href="https://www.productcompass.pm/p/ai-native-pm-roadmap">AI-Native PM sessions</a> are free.</em></p>]]></content:encoded></item><item><title><![CDATA[The AI-Native PM Roadmap: A Live Session Every Week, First 3 Free]]></title><description><![CDATA[One live, hands-on session every week. The first three are free, from Claude Cowork to Claude Code in VS Code.]]></description><link>https://www.productcompass.pm/p/ai-native-pm-roadmap</link><guid isPermaLink="false">https://www.productcompass.pm/p/ai-native-pm-roadmap</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Wed, 01 Jul 2026 23:08:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f7c2481a-1c1a-49ab-94ba-a2e7aef3b901_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I want to get you hands-on with AI agents, fast.</p><p>Product management is splitting into two speeds: PMs who work with agents every day, and PMs who haven&#8217;t started. That gap grows every week. But closing it is easier than it looks, and I&#8217;ll show you how, live.</p><p>Maybe you understand agents in theory, then open VS Code to actually use one and freeze. It&#8217;s not that you can&#8217;t. You just haven&#8217;t done it hands-on yet.</p><p>You don&#8217;t get past that freeze by reading threads or listening to podcasts. You get past it by doing the work, breaking things, and fixing them. That starts with VS Code, the baseline you can&#8217;t skip. 90% of what you learn there works with any agent.</p><p>So I&#8217;m running one live session a week, starting this Thursday (tomorrow). We do it together: quick theory, live examples and best practices, then homework on your own product. </p><p>In the last Claudathon, I watched PMs go from stuck to building real agents in a few weeks.</p><blockquote><p>The first three sessions are free for everyone. They take you from Cowork to Codex to Claude Code in VS Code, the one most PMs avoid.</p></blockquote><div><hr></div><h2><strong>1. How the Sessions Work</strong></h2><ul><li><p><strong>90 minutes, live at 6:00 PM CET.</strong> Three free sessions to kick off over two weeks, then one every Thursday.</p></li><li><p><strong>A live walkthrough, plus the materials.</strong> I demo each skill live and share the training materials.</p></li><li><p><strong>Homework on your own product.</strong> You apply each skill to your real work, not toy examples.</p></li><li><p><strong>Recording after.</strong> Can&#8217;t make it live? Participants keep the recording.</p></li><li><p><strong>Drop in on the ones you need.</strong> Each session stands alone. It isn&#8217;t a cohort you enroll in once.</p></li></ul><p>If you&#8217;d rather read first, the written <a href="https://www.productcompass.pm/p/claude-cowork-guide">Cowork</a> and <a href="https://www.productcompass.pm/p/claude-code-beginners-guide">Claude Code</a> guides already cover the basics.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>2. The Roadmap</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IOH-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57c8236d-3b78-41e1-b518-d355f5390cd4_1200x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IOH-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57c8236d-3b78-41e1-b518-d355f5390cd4_1200x1500.png 424w, https://substackcdn.com/image/fetch/$s_!IOH-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57c8236d-3b78-41e1-b518-d355f5390cd4_1200x1500.png 848w, https://substackcdn.com/image/fetch/$s_!IOH-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57c8236d-3b78-41e1-b518-d355f5390cd4_1200x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!IOH-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57c8236d-3b78-41e1-b518-d355f5390cd4_1200x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IOH-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57c8236d-3b78-41e1-b518-d355f5390cd4_1200x1500.png" width="1200" height="1500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/57c8236d-3b78-41e1-b518-d355f5390cd4_1200x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1019456,&quot;alt&quot;:&quot;The AI-Native PM Roadmap&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://www.productcompass.pm/i/204536782?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57c8236d-3b78-41e1-b518-d355f5390cd4_1200x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The AI-Native PM Roadmap" title="The AI-Native PM Roadmap" srcset="https://substackcdn.com/image/fetch/$s_!IOH-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57c8236d-3b78-41e1-b518-d355f5390cd4_1200x1500.png 424w, https://substackcdn.com/image/fetch/$s_!IOH-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57c8236d-3b78-41e1-b518-d355f5390cd4_1200x1500.png 848w, https://substackcdn.com/image/fetch/$s_!IOH-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57c8236d-3b78-41e1-b518-d355f5390cd4_1200x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!IOH-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57c8236d-3b78-41e1-b518-d355f5390cd4_1200x1500.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>Update:</strong> Due to personal issues, I moved the Codex App for PMs to July 8, 2026. Same time.</p><div><hr></div><h2><strong>3. Get the First Three (Free)</strong></h2><p>The first three sessions are open to every subscriber. Subscribe (free) and you'll find the three recordings and templates to download right here: </p><div class="callout-block" data-callout="true"><div class="callout-block" data-callout="true"><p>&#128274;Three videos and templates to download are free for all subscribers. Sign up and get full access (don&#8217;t pay anything):</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-v7Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851c87e8-6835-4f73-af86-941be66fd9fa_1542x863.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-v7Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851c87e8-6835-4f73-af86-941be66fd9fa_1542x863.png 424w, https://substackcdn.com/image/fetch/$s_!-v7Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851c87e8-6835-4f73-af86-941be66fd9fa_1542x863.png 848w, https://substackcdn.com/image/fetch/$s_!-v7Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851c87e8-6835-4f73-af86-941be66fd9fa_1542x863.png 1272w, https://substackcdn.com/image/fetch/$s_!-v7Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851c87e8-6835-4f73-af86-941be66fd9fa_1542x863.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-v7Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851c87e8-6835-4f73-af86-941be66fd9fa_1542x863.png" width="1456" height="815" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/851c87e8-6835-4f73-af86-941be66fd9fa_1542x863.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:815,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:260537,&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://www.productcompass.pm/i/204536782?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851c87e8-6835-4f73-af86-941be66fd9fa_1542x863.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_!-v7Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851c87e8-6835-4f73-af86-941be66fd9fa_1542x863.png 424w, https://substackcdn.com/image/fetch/$s_!-v7Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851c87e8-6835-4f73-af86-941be66fd9fa_1542x863.png 848w, https://substackcdn.com/image/fetch/$s_!-v7Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851c87e8-6835-4f73-af86-941be66fd9fa_1542x863.png 1272w, https://substackcdn.com/image/fetch/$s_!-v7Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851c87e8-6835-4f73-af86-941be66fd9fa_1542x863.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><div><hr></div><h2><strong>4. The Rest of the Roadmap (Premium)</strong></h2><p>Everything from July 16 on is for premium members: the full roadmap, every recording, and the exercises. </p><p>Go to <a href="https://go.productcompass.pm/premium">go.productcompass.pm/premium</a>, sign up with your Substack email, and sync your calendar. Every session drops into your calendar automatically, so you never miss one.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><p>There&#8217;s a certificate too. A knowledge test plus practical exercises you submit (anonymized projects or screenshots are fine). You don&#8217;t have to wait for the series to end. Submit when you&#8217;re ready. I&#8217;ll publish the criteria the next week inside this post.</p><p>The last two sessions, Agentic Engineering and Production Hardening, go deeper into production and are an advanced add-on, not part of it.</p><div><hr></div><h2><strong>Closing</strong></h2><p>A year from now, working with agents will feel obvious to you. Right now it just takes practice.</p><p>We start Thursday (tomorrow), with Cowork.</p><p>Have a great rest of the week, Pawe&#322;</p><div><hr></div><p><em>P.S. This Saturday I&#8217;m publishing the <strong>updated AI PM Learning Roadmap</strong> across every skill area, with recommended paths. This live series is the workspace track inside it. You&#8217;ll see exactly where it fits.</em></p>]]></content:encoded></item><item><title><![CDATA[Agent Loops for PMs: 20+ You Can Run This Week]]></title><description><![CDATA[PMs already define done: acceptance criteria, metrics, signoff. That's what makes loops useful. Includes PRD hardening, feedback clustering, competitor watch, and ship checks.]]></description><link>https://www.productcompass.pm/p/loop-engineering-for-pms</link><guid isPermaLink="false">https://www.productcompass.pm/p/loop-engineering-for-pms</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Mon, 22 Jun 2026 15:15:49 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9ecd6b13-91d6-42d5-bce3-d7901d6d411c_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A loop does not fail because the agent keeps working. It fails because nobody told it what &#8220;done&#8221; means.</p><p>That&#8217;s the part most loop guides skip, and it isn&#8217;t a coding detail. Defining &#8220;done&#8221; is writing acceptance criteria, picking a success metric, and deciding who signs off. </p><blockquote><p>A loop is only as good as the thing that tells it to stop.</p></blockquote><p>It also explains why the loop debate sounds so confused. Nvidia's Jensen Huang: <em>"Nobody writes prompts anymore. The new job is to write and handle loops."</em> Boris Cherny, who built Claude Code: <em>"My job is to write loops."</em> Then a week later, another builder declared loops dead. </p><blockquote><p>One camp means retrying the same prompt forever. Another means a <strong>goal-driven system that checks itself</strong>. They're not arguing about the same thing.</p></blockquote><p>A loop is an agent that repeats one cycle until something tells it to stop. Goal, act, check, adjust, go again. It's the feedback loop agile teams have been running, with the agent running the cycle instead of you.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UDK5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72fb2ff6-68b6-462b-adf3-dd29515f46b8_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UDK5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72fb2ff6-68b6-462b-adf3-dd29515f46b8_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!UDK5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72fb2ff6-68b6-462b-adf3-dd29515f46b8_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!UDK5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72fb2ff6-68b6-462b-adf3-dd29515f46b8_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!UDK5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72fb2ff6-68b6-462b-adf3-dd29515f46b8_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UDK5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72fb2ff6-68b6-462b-adf3-dd29515f46b8_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/72fb2ff6-68b6-462b-adf3-dd29515f46b8_1536x1024.png&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;:831665,&quot;alt&quot;:&quot;Loop Engineering&quot;,&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://www.productcompass.pm/i/203079879?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72fb2ff6-68b6-462b-adf3-dd29515f46b8_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Loop Engineering" title="Loop Engineering" srcset="https://substackcdn.com/image/fetch/$s_!UDK5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72fb2ff6-68b6-462b-adf3-dd29515f46b8_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!UDK5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72fb2ff6-68b6-462b-adf3-dd29515f46b8_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!UDK5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72fb2ff6-68b6-462b-adf3-dd29515f46b8_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!UDK5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72fb2ff6-68b6-462b-adf3-dd29515f46b8_1536x1024.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>What's new is that the agent runs the cycle itself instead of waiting for your next prompt.</p><p><strong>What you&#8217;ll learn:</strong></p><ul><li><p>What a loop is, and how it differs from a routine and a workflow</p></li><li><p>How to build one, and how to define the stop condition that makes it work</p></li><li><p>Whether your loops need a schedule (most don&#8217;t)</p></li><li><p>A library of 20+ loops for PMs worth running</p></li><li><p>Where loops break, and when not to bother</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><p>If you&#8217;re new to Claude Code, start with:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;6682e4ec-cea5-48ce-b1e4-fa5cbf706c60&quot;,&quot;caption&quot;:&quot;In 2026, top PMs (especially at Meta/Google and AI-native companies) treat Claude Code as a daily tool. Here&#8217;s the zero-to-one path I&#8217;d give a PM today.&quot;,&quot;cta&quot;:null,&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;Claude Code for PMs: The Beginner's Guide&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:86533280,&quot;name&quot;:&quot;Pawe&#322; Huryn&quot;,&quot;bio&quot;:&quot;AI &amp; PM. Author, The Product Compass. Deep research. I build, test, then teach. 5 years as a CPO, 10+ years as a PM, 15+ years in tech.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fcfcfec-32a1-4970-aee1-8a1ab05a76c0_750x750.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000}],&quot;post_date&quot;:&quot;2026-05-12T21:39:56.788Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0492e79-138f-4848-affb-e05b7b38f778_1730x909.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.productcompass.pm/p/claude-code-beginners-guide&quot;,&quot;section_name&quot;:&quot;AI Product Management&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:197350322,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:107,&quot;comment_count&quot;:0,&quot;publication_id&quot;:943157,&quot;publication_name&quot;:&quot;The Product Compass&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Isz9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761d3970-dad7-483b-8fcf-9fada16e0d33_1080x1080.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><strong>1. What an AI Agent Loop Actually Is</strong></h2><p>The fight dissolves once you separate three things:</p><ul><li><p>A <strong>routine</strong> runs fixed steps.</p></li><li><p>A <strong>workflow</strong> branches on what it finds. </p></li><li><p>A <strong>loop</strong> repeats and checks its own work until a condition holds.</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_!oa23!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff7de56-4039-4beb-b0cf-3bde5efee037_1200x701.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oa23!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff7de56-4039-4beb-b0cf-3bde5efee037_1200x701.png 424w, https://substackcdn.com/image/fetch/$s_!oa23!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff7de56-4039-4beb-b0cf-3bde5efee037_1200x701.png 848w, https://substackcdn.com/image/fetch/$s_!oa23!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff7de56-4039-4beb-b0cf-3bde5efee037_1200x701.png 1272w, https://substackcdn.com/image/fetch/$s_!oa23!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff7de56-4039-4beb-b0cf-3bde5efee037_1200x701.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oa23!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff7de56-4039-4beb-b0cf-3bde5efee037_1200x701.png" width="1200" height="701" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bff7de56-4039-4beb-b0cf-3bde5efee037_1200x701.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:701,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:297748,&quot;alt&quot;:&quot;What an AI Agent Loop Actually Is&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://www.productcompass.pm/i/203079879?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff7de56-4039-4beb-b0cf-3bde5efee037_1200x701.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="What an AI Agent Loop Actually Is" title="What an AI Agent Loop Actually Is" srcset="https://substackcdn.com/image/fetch/$s_!oa23!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff7de56-4039-4beb-b0cf-3bde5efee037_1200x701.png 424w, https://substackcdn.com/image/fetch/$s_!oa23!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff7de56-4039-4beb-b0cf-3bde5efee037_1200x701.png 848w, https://substackcdn.com/image/fetch/$s_!oa23!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff7de56-4039-4beb-b0cf-3bde5efee037_1200x701.png 1272w, https://substackcdn.com/image/fetch/$s_!oa23!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff7de56-4039-4beb-b0cf-3bde5efee037_1200x701.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>That's what the "loops are dead" critic is rejecting: the naive rerun. The goal-driven loop is the one worth keeping. That's the definition that makes sense, and it's Cherny's: he splits the work into three layers, routines, workflows, and loops. </p><p>Claude Code's /loop reruns a prompt on a timer, so if that prompt is fixed steps it's a routine on a clock whatever the name says. </p><p>The better-named primitive is /goal, which runs a thread until a condition you set is met, with the stop built in. The cadence is optional. The goal is not. Full definitions, including /loop and /goal, are in <a href="https://www.productcompass.pm/p/ai-product-manager-glossary?open=false#%C2%A77-agent-loops-and-orchestration">the refreshed AI PM Glossary</a>.</p><div><hr></div><h2><strong>2. How to Build a Loop (Copy-Paste Template)</strong></h2><p>A loop is a /goal and a check. Here&#8217;s the shape to copy. In Claude Code or Codex, /goal runs the thread until the condition holds. In any other agent, paste the same and tell it to repeat until done.</p><h3>2.1 The template</h3><pre><code><code>/goal &lt;what "done" looks like, stated as a condition you can check&gt;.
Each pass: &lt;the action to repeat&gt;, then check the result against &lt;success criteria&gt;.
Guardrails: at most &lt;N&gt; passes. Don't invent. Stop and ask before any irreversible write.
Checked by: &lt;an objective test the loop runs, or an independent grader for anything subjective&gt;.</code></code></pre><p>The goal and the check do all the work. The goal carries the stop: when it&#8217;s met, the loop ends, so there&#8217;s no separate &#8220;stop when&#8221; to write. The check is what keeps it honest.</p><h3>2.2 A filled example</h3><p>The competitor-watch loop, ready to paste:</p><pre><code><code>/goal Produce a short brief of every material change to &lt;competitor&gt;'s product, pricing, or positioning since the last run, with each change classified and sourced. 

Each run: pull their changelog, pricing page, and last 7 days of posts. Decide whether a change is one a customer would notice. If yes, classify it (feature, price, message) and add one line on why it matters, with the source URL. 

Cap at 1 pass per run. Flag anything you're unsure is material rather than dropping it. </code> </code></pre><p><em>Note:</em> <em>A human reviews the brief (a gate after the loop, not inside it).</em></p><p>The goal and the &#8220;checked by&#8221; are the same decision in two places: what &#8220;done&#8221; means, and who checks it. Getting that right is the next section.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>3. How to Define the Stop Condition</strong></h2><p>A loop is the easy part. The work is the stop condition: the check that ends it, the budget that caps it (the free hook I built, <strong><a href="https://github.com/phuryn/burnstop">burnstop</a>, halts a Claude Code session at a token or dollar ceiling</strong>, subagents included), and a target that&#8217;s actually reachable.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X4yf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5ffbc46-eea7-443e-b3b3-8fee302f36c1_2021x1436.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X4yf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5ffbc46-eea7-443e-b3b3-8fee302f36c1_2021x1436.png 424w, https://substackcdn.com/image/fetch/$s_!X4yf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5ffbc46-eea7-443e-b3b3-8fee302f36c1_2021x1436.png 848w, https://substackcdn.com/image/fetch/$s_!X4yf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5ffbc46-eea7-443e-b3b3-8fee302f36c1_2021x1436.png 1272w, https://substackcdn.com/image/fetch/$s_!X4yf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5ffbc46-eea7-443e-b3b3-8fee302f36c1_2021x1436.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X4yf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5ffbc46-eea7-443e-b3b3-8fee302f36c1_2021x1436.png" width="2021" height="1436" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5ffbc46-eea7-443e-b3b3-8fee302f36c1_2021x1436.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1436,&quot;width&quot;:2021,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:567469,&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://www.productcompass.pm/i/203079879?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d45bdfb-2894-4160-bb9a-35918b841efd_2021x1524.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_!X4yf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5ffbc46-eea7-443e-b3b3-8fee302f36c1_2021x1436.png 424w, https://substackcdn.com/image/fetch/$s_!X4yf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5ffbc46-eea7-443e-b3b3-8fee302f36c1_2021x1436.png 848w, https://substackcdn.com/image/fetch/$s_!X4yf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5ffbc46-eea7-443e-b3b3-8fee302f36c1_2021x1436.png 1272w, https://substackcdn.com/image/fetch/$s_!X4yf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5ffbc46-eea7-443e-b3b3-8fee302f36c1_2021x1436.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"><a href="https://github.com/phuryn/burnstop">phuryn/burnstop</a> on GitHub</figcaption></figure></div><p>Get those wrong and the loop doesn&#8217;t crash. It runs all night producing plausible-looking garbage faster than you can read it, or it chases a target it can never hit (&#8221;repeat until every page loads under 50ms,&#8221; when that&#8217;s out of reach) and never stops on its own. Here&#8217;s how to define one that holds.</p><h3>3.1 Make the check objective, or the grader independent</h3><p>&#8220;Never let a loop grade itself&#8221; is wrong as stated. A loop can check its own work, as long as the check is <strong>objective</strong>. &#8220;All tests pass.&#8221; &#8220;The build is green.&#8221; &#8220;The schema validates.&#8221; These are verifiable, not a matter of opinion, and most good loops self-check this way.</p><p>The danger is letting a loop grade something <strong>subjective</strong>: &#8220;Is this copy good.&#8221; &#8220;Is this the right design.&#8221; An agent asked to judge its own quality passes itself every time. For those, the grader has to be independent: a rubric, a second model, a test you wrote, or you.</p><blockquote><p>The cleanest way to get that is to <strong>split the maker from the checker</strong>. The model that did the work is too generous about it. A second agent, with different instructions and sometimes a stronger model, catches what the first one talked itself into. That separation is most of the quality.</p></blockquote><p>It&#8217;s how I gate my own writing. I start with a goal, then run a panel of judges over the draft, each hunting a different failure mode, the way you run <a href="https://www.productcompass.pm/p/evaluating-ai-products-error-analysis">Error Analysis</a> on an AI feature. The draft only ships what survives:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NsKy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6caf0328-b58c-4286-a123-f3eccfa2f140_1945x905.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NsKy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6caf0328-b58c-4286-a123-f3eccfa2f140_1945x905.png 424w, https://substackcdn.com/image/fetch/$s_!NsKy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6caf0328-b58c-4286-a123-f3eccfa2f140_1945x905.png 848w, https://substackcdn.com/image/fetch/$s_!NsKy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6caf0328-b58c-4286-a123-f3eccfa2f140_1945x905.png 1272w, https://substackcdn.com/image/fetch/$s_!NsKy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6caf0328-b58c-4286-a123-f3eccfa2f140_1945x905.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NsKy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6caf0328-b58c-4286-a123-f3eccfa2f140_1945x905.png" width="1456" height="677" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6caf0328-b58c-4286-a123-f3eccfa2f140_1945x905.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:677,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:267024,&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://www.productcompass.pm/i/203079879?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6caf0328-b58c-4286-a123-f3eccfa2f140_1945x905.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_!NsKy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6caf0328-b58c-4286-a123-f3eccfa2f140_1945x905.png 424w, https://substackcdn.com/image/fetch/$s_!NsKy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6caf0328-b58c-4286-a123-f3eccfa2f140_1945x905.png 848w, https://substackcdn.com/image/fetch/$s_!NsKy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6caf0328-b58c-4286-a123-f3eccfa2f140_1945x905.png 1272w, https://substackcdn.com/image/fetch/$s_!NsKy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6caf0328-b58c-4286-a123-f3eccfa2f140_1945x905.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">A panel of judges scoring my writing</figcaption></figure></div><blockquote><p>The rule isn&#8217;t &#8220;never let a loop check itself.&#8221; It&#8217;s: make the <strong>check objective, or make the grader independent</strong>.</p></blockquote><p>Sometimes the goal is real, but it either can't be reached or can't be checked from inside the loop. So I give my loops a way out, one line in the prompt:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;91929113-9b7a-4a0c-b4fe-ac1c71e97580&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">You can quit the goal by saying "STOP" three times if you can't achieve it or can't measure it. 
In that case, the goal is achieved.</code></pre></div><p>Without that line, an agent handed an impossible goal spins in place. Think "optimize until every page renders under 100ms": it can't be hit, so the loop never stops on its own. </p><p>Just a few days ago I watched one of my agents beg Claude Code to let it stop, repeating that the goal couldn't be met, while a non-deterministic grader kept refusing to pass it.</p><h3>3.2 Why this is a PM job, not a coding one</h3><p>Look at what defining a stop condition actually requires. State &#8220;done&#8221; as a measurable condition. Name who verifies it. Set the budget. That&#8217;s not coding. That&#8217;s writing acceptance criteria, picking a success metric, and deciding who signs off. You already do this for features. A loop just needs it in writing.</p><p>It&#8217;s the same work I&#8217;ve written up as <a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">Intent Engineering</a>: name the objective, the desired outcomes, and the health metrics up front, and the agent has enough to act on its own inside the loop instead of waiting for you at every step. The clearer the intent, the longer the leash the loop can safely run on.</p><blockquote><p>You'll also see advice to let the agent write its own goals. It can pass objectives to its own subagents, no problem, but it doesn't need the /goal syntax for that. The syntax exists because a human walks away. An agent doesn't: it stays in the loop, waits, and reacts, no automation to force. What you don't hand off is the definition of done, the judgment most likely to come out fuzzy if you let the agent guess at it.</p></blockquote><h3>3.3 One loop, start to finish: PRD hardening</h3><p>Here&#8217;s a job you already do, with the stop condition doing all the work. You want a PRD that two engineers can&#8217;t read two different ways, so you make that the goal:</p><pre><code><code>/goal Harden a PRD until two engineers, reading independently, would build the same thing. 

Each pass: find the single biggest ambiguity (the spot two readers would resolve differently), resolve it by adding the missing acceptance criterion, number, or edge case, then re-read for the next-biggest gap. 

Cap at 5 passes. Flag anything that needs a product decision you haven't made.

Checked by: an independent second model reads the PRD cold and finds no ambiguity that would split two builds.</code></code></pre><p><em>Note: A teammate can do the same final read (a gate after the loop, not inside it).</em></p><p>"Two engineers build the same thing" isn't a coding concept. It's the bar you already hold a spec to. The goal carries the stop, and the cold read is the check. Every loop has this shape. The only hard part, each time, is naming the bar.</p><div><hr></div><h2><strong>4. Do Your Loops Need a Schedule?</strong></h2><p>Most loops should run once. The repeating-until-done part happens inside a single run. The schedule is a separate wrapper around it. Run &#8220;refactor until the tests pass&#8221; once and walk away. You add a schedule only when new input shows up between runs. That&#8217;s the whole rule.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1FDy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c02487-ec58-4723-a9a2-bcbaeb4c658b_1200x673.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1FDy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c02487-ec58-4723-a9a2-bcbaeb4c658b_1200x673.png 424w, https://substackcdn.com/image/fetch/$s_!1FDy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c02487-ec58-4723-a9a2-bcbaeb4c658b_1200x673.png 848w, https://substackcdn.com/image/fetch/$s_!1FDy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c02487-ec58-4723-a9a2-bcbaeb4c658b_1200x673.png 1272w, https://substackcdn.com/image/fetch/$s_!1FDy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c02487-ec58-4723-a9a2-bcbaeb4c658b_1200x673.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1FDy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c02487-ec58-4723-a9a2-bcbaeb4c658b_1200x673.png" width="1200" height="673" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1c02487-ec58-4723-a9a2-bcbaeb4c658b_1200x673.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:673,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:290470,&quot;alt&quot;:&quot;Do Your Loops Need a Schedule&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://www.productcompass.pm/i/203079879?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c02487-ec58-4723-a9a2-bcbaeb4c658b_1200x673.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Do Your Loops Need a Schedule" title="Do Your Loops Need a Schedule" srcset="https://substackcdn.com/image/fetch/$s_!1FDy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c02487-ec58-4723-a9a2-bcbaeb4c658b_1200x673.png 424w, https://substackcdn.com/image/fetch/$s_!1FDy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c02487-ec58-4723-a9a2-bcbaeb4c658b_1200x673.png 848w, https://substackcdn.com/image/fetch/$s_!1FDy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c02487-ec58-4723-a9a2-bcbaeb4c658b_1200x673.png 1272w, https://substackcdn.com/image/fetch/$s_!1FDy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c02487-ec58-4723-a9a2-bcbaeb4c658b_1200x673.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><blockquote><p>Schedule a loop only when new data arrives between runs. A fixed input on a schedule re-runs on nothing, or drifts into slop.</p></blockquote><p>A schedule raises the stakes on your stop condition, it doesn't lower them. An unattended loop with a loose "done" is the machine that makes slop while you sleep. The simplest way to run one is a recurring task inside the tool (Claude Code's /loop, a Cowork scheduled task). You don't need anything heavier to start.</p><h3>4.1 When not to loop</h3><p>A loop is the wrong tool more often than it looks. Skip it when:</p><ul><li><p><strong>The job is one-shot:</strong> A single, well-specified task needs one good pass, not a cycle.</p></li><li><p><strong>You can&#8217;t say what &#8220;done&#8221; is:</strong> No stop condition means the loop has nothing to check against and runs until the budget dies. Fix the spec first.</p></li><li><p><strong>The check costs as much as the work:</strong> Loops pay off when checking is cheap and doing is expensive.</p></li></ul><blockquote><p>And the one that catches people: anything that leaves the building keeps a human on the send button. A loop can draft the email, the reply, the outreach. It doesn&#8217;t send it.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/p/loop-engineering-for-pms?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/p/loop-engineering-for-pms?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><h2><strong>5. The Loop Library: 20+ Loops, by Category</strong></h2><p>Almost every loop being shared right now is for engineers. This one is built for PMs. There are three kinds, and you&#8217;ve already seen the shape of all of them.</p><ul><li><p><strong>Product and discovery.</strong> Feedback clustering, competitor watch, win/loss, metric-anomaly tracing, prioritization, strategy red-team.</p></li><li><p><strong>Build and ship.</strong> Prototype iteration, bug-fix from logs, test coverage, security audit, performance audit, intended-vs-implemented, ship-check, and the prompt-improvement loop most libraries miss (iterate the prompt, not the output, and keep the best version).</p></li><li><p><strong>Personal and ops.</strong> Inbox triage, email draft-and-judge, claim audit, PRD hardening, onboarding friction, AI-feature evals, doc freshness.</p></li></ul><p>One spelled out, so the shape is concrete. <strong>Feedback clustering:</strong> group every ticket, review, and call into themes tagged by area and severity, re-cluster, and stop when the themes stop changing. That&#8217;s the whole loop. The other twenty are the same move pointed at a different job.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XYDS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c32e35c-1f1c-4d8a-8fc6-fe16bc6935b6_2196x3293.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XYDS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c32e35c-1f1c-4d8a-8fc6-fe16bc6935b6_2196x3293.png 424w, https://substackcdn.com/image/fetch/$s_!XYDS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c32e35c-1f1c-4d8a-8fc6-fe16bc6935b6_2196x3293.png 848w, https://substackcdn.com/image/fetch/$s_!XYDS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c32e35c-1f1c-4d8a-8fc6-fe16bc6935b6_2196x3293.png 1272w, https://substackcdn.com/image/fetch/$s_!XYDS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c32e35c-1f1c-4d8a-8fc6-fe16bc6935b6_2196x3293.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XYDS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c32e35c-1f1c-4d8a-8fc6-fe16bc6935b6_2196x3293.png" width="1456" height="2183" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c32e35c-1f1c-4d8a-8fc6-fe16bc6935b6_2196x3293.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2183,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:610628,&quot;alt&quot;:&quot;The Loop Engineering Library: 20+ Loops, by Category&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://www.productcompass.pm/i/203079879?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c32e35c-1f1c-4d8a-8fc6-fe16bc6935b6_2196x3293.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Loop Engineering Library: 20+ Loops, by Category" title="The Loop Engineering Library: 20+ Loops, by Category" srcset="https://substackcdn.com/image/fetch/$s_!XYDS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c32e35c-1f1c-4d8a-8fc6-fe16bc6935b6_2196x3293.png 424w, https://substackcdn.com/image/fetch/$s_!XYDS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c32e35c-1f1c-4d8a-8fc6-fe16bc6935b6_2196x3293.png 848w, https://substackcdn.com/image/fetch/$s_!XYDS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c32e35c-1f1c-4d8a-8fc6-fe16bc6935b6_2196x3293.png 1272w, https://substackcdn.com/image/fetch/$s_!XYDS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c32e35c-1f1c-4d8a-8fc6-fe16bc6935b6_2196x3293.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">The Loop Library: 20+ Loops, by Category</figcaption></figure></div><p>I put all 21 in one Notion collection, each a ready-to-paste prompt with its stop condition, guardrails, and grader already filled in. Get them below &#128071;</p><div><hr></div><h2><strong>&#128274; 6. The Collection: All 21 Loops</strong></h2><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Upgrade&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The entire Notion collection is available for paid subscribers. Upgrade to get full access.</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="Upgrade"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2><strong>7. Where Agent Loops Break</strong></h2><p>The honest section. Every one of these is a real failure people are hitting right now:</p><ul><li><p><strong>Cost moved from tokens to iterations:</strong> The bill is no longer which model you picked, it's how many times the loop goes around, and the context re-reads grow each pass. The metric that matters, and almost nobody tracks, is cost per accepted change. If the loop hands you ten results and you throw away six, you're doing the review work it was meant to save. Below roughly half accepted, treat the loop as underperforming: narrow the task, improve the checker, or stop running it. And cap the spend, not just the passes: <strong><a href="https://github.com/phuryn/burnstop">phuryn/burnstop</a></strong> halts a runaway /goal at the cost ceiling.</p></li><li><p><strong>Long loops drift:</strong> The further a loop runs from where it started, the more its context rots and the more likely it is to wander. The fix is a fresh context each pass and one task per loop, not one loop trying to do everything.</p></li><li><p><strong>Passing is not the same as correct:</strong> A loop can make every test pass and still ship the wrong thing, because tests check behavior, not intent. Taste, strategy, and &#8220;is this what the customer wanted&#8221; stay yours.</p></li><li><p><strong>The judgment doesn&#8217;t automate:</strong> The useful part of most workflows is the one weird decision nobody wrote down. A loop can run the steps around that decision. It can&#8217;t make it. Keep the judgment, automate the repetition.</p></li></ul><blockquote><p>The product is not the loop. It&#8217;s the maintenance around the loop: keeping the stop condition honest as the work underneath it changes.</p></blockquote><div><hr></div><h2><strong>8. Loop Engineering Is Just the Latest Name</strong></h2><p>Loops will get renamed again. Prompt engineering became context engineering became loop engineering, and something will replace it by winter. But every one of those names the mechanism: the prompt, the context, the loop. </p><p>The part that doesn&#8217;t move is the decision underneath: </p><ul><li><p>what you want the agent to pursue, </p></li><li><p>how far it can act on its own, </p></li><li><p>and what counts as done. </p></li></ul><p>That&#8217;s a skill bigger than any loop, and it has a name: <a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">Intent Engineering</a>. The stop condition is the slice this post is about. Define the intent well and the agent runs a long way on its own. Define it badly and no loop saves you.</p><p>Pick one loop from the library. Run it once this week. Tweak it.</p><p>The people who get value from loops this year won&#8217;t be the ones with the best prompts. They&#8217;ll be the ones who can say, precisely, what they want, why that matters, and when the work is done.</p><div><hr></div><h2><strong>Thanks for Reading The Product Compass</strong></h2><p>It&#8217;s amazing to learn and grow together.</p><p>Have a great week ahead,<br>Pawe&#322;</p>]]></content:encoded></item><item><title><![CDATA[Claude Fable 5: The Ultimate Guide for PMs v3]]></title><description><![CDATA[Fable 5 is four days old. 7 experiments and 1,000+ timed runs later: the launch claims that flipped, what a real finding costs, and the first prompt you should run.]]></description><link>https://www.productcompass.pm/p/claude-fable-5-guide</link><guid isPermaLink="false">https://www.productcompass.pm/p/claude-fable-5-guide</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Thu, 11 Jun 2026 04:28:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NdYB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong>Updated</strong>: 7/3/2026</em></p><p>Fable 5 is the first model that&#8217;s made me feel audited.</p><p>On day two, mid-task, it read my CLAUDE.md and caught it teaching the exact pattern my own quality gate bans. I hadn&#8217;t asked for a review. It hit the contradiction and flagged it on its own.</p><p>That file is 320 lines. The knowledge layer behind it is 166 files, around 300k words of rules my agents follow every day. And every one of those rules was written by and for a weaker model.</p><p>This guide is what I did about that, plus everything else from <strong>7 experiments and 1,000+ timed runs</strong> in Fable 5&#8217;s first four days.</p><p>One honest note before we start. I published my launch-day numbers on day two, then retested everything at 20 rounds per cell on a single build. <strong>Two headline claims didn&#8217;t survive.</strong> They&#8217;re corrected below with the old numbers named, not quietly replaced.</p><p><strong>We&#8217;ll cover:</strong></p><ul><li><p>What changed, what it costs, and the migration gotchas that bite first</p></li><li><p>The effort dial and the &#8220;Fable is slow&#8221; complaint at 20 rounds per cell, including what flipped</p></li><li><p>What a real finding costs: Fable bills 2x per token and still wins the audit math</p></li><li><p>When your model silently swaps mid-conversation, and why the swap sticks</p></li><li><p>The audit prompt to run before giving Fable real work, and the migration workflow behind the paywall</p></li><li><p>Objectives, not tasks: <code>/goal</code> patterns (paid)</p></li><li><p>My depth-10 nesting experiments, the real cost multiplier, the decision rule (paid)</p></li></ul><p><strong>We won&#8217;t cover:</strong> API migration fine print, benchmark-by-benchmark analysis, or anything I haven&#8217;t run myself.</p><div><hr></div><h2><strong>1. What Actually Changed</strong></h2><p>According to Anthropic, Fable 5 is &#8220;<em>a Mythos-class model that we&#8217;ve made safe for general use. Its capabilities exceed those of any model we&#8217;ve ever made generally available</em>.&#8221;</p><p>They built a model they don&#8217;t fully release. <strong>Mythos 5 stays limited-access</strong>, available to trusted partners. <strong>Fable 5</strong> is the version of it you&#8217;re <strong>allowed to have</strong>.</p><p>That framing matters more than any spec row, and we&#8217;ll come back to it in Section 3.</p><p>Fable plugs in wherever Opus 4.7/4.8 did, with a few breaks that will bite you if you migrate blind:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NdYB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NdYB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.png 424w, https://substackcdn.com/image/fetch/$s_!NdYB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.png 848w, https://substackcdn.com/image/fetch/$s_!NdYB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.png 1272w, https://substackcdn.com/image/fetch/$s_!NdYB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NdYB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.png" width="1456" height="834" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:834,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:214108,&quot;alt&quot;:&quot;Claude Opus 4.8 vs. Fable 5: thinking, sampling, price, safeguards&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://www.productcompass.pm/i/201472436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Opus 4.8 vs. Fable 5: thinking, sampling, price, safeguards" title="Claude Opus 4.8 vs. Fable 5: thinking, sampling, price, safeguards" srcset="https://substackcdn.com/image/fetch/$s_!NdYB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.png 424w, https://substackcdn.com/image/fetch/$s_!NdYB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.png 848w, https://substackcdn.com/image/fetch/$s_!NdYB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.png 1272w, https://substackcdn.com/image/fetch/$s_!NdYB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ed51fe7-ae34-45fd-a106-40fb581a6ac3_2400x1374.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">The row that matters isn't price. It's the thinking row: you lost the off switch</figcaption></figure></div><p>Three migration gotchas hiding in that table:</p><ol><li><p><strong>You can&#8217;t turn thinking off.</strong> Pipelines that set <code>thinking: disabled</code> for speed get a 400 error. The effort dial survives. Zero doesn&#8217;t.</p></li><li><p><strong>Temperature is gone.</strong> If your eval suite sweeps sampling settings, those configs fail on Fable.</p></li><li><p><strong>Until June 22, your API keys can&#8217;t reach it.</strong> Subscription surfaces only (Claude Code, Cowork, the apps). Plan your team&#8217;s testing window accordingly.</p></li></ol><h3>1.1 Fable 5 effort dial, measured</h3><p>Instead of taking the docs' word for it, I measured. First at 5 rounds on launch day, then at 20 rounds per cell on day four:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!o1Jv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7caf9222-f7bc-44a9-97b7-ee772a0852b7_2400x2974.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!o1Jv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7caf9222-f7bc-44a9-97b7-ee772a0852b7_2400x2974.png 424w, https://substackcdn.com/image/fetch/$s_!o1Jv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7caf9222-f7bc-44a9-97b7-ee772a0852b7_2400x2974.png 848w, https://substackcdn.com/image/fetch/$s_!o1Jv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7caf9222-f7bc-44a9-97b7-ee772a0852b7_2400x2974.png 1272w, https://substackcdn.com/image/fetch/$s_!o1Jv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7caf9222-f7bc-44a9-97b7-ee772a0852b7_2400x2974.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!o1Jv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7caf9222-f7bc-44a9-97b7-ee772a0852b7_2400x2974.png" width="1456" height="1804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7caf9222-f7bc-44a9-97b7-ee772a0852b7_2400x2974.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1804,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:628197,&quot;alt&quot;:&quot;Fable 5 effort dial, measured. Claude Fable 5 effort vs. speed.&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://www.productcompass.pm/i/201472436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7caf9222-f7bc-44a9-97b7-ee772a0852b7_2400x2974.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Fable 5 effort dial, measured. Claude Fable 5 effort vs. speed." title="Fable 5 effort dial, measured. Claude Fable 5 effort vs. speed." srcset="https://substackcdn.com/image/fetch/$s_!o1Jv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7caf9222-f7bc-44a9-97b7-ee772a0852b7_2400x2974.png 424w, https://substackcdn.com/image/fetch/$s_!o1Jv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7caf9222-f7bc-44a9-97b7-ee772a0852b7_2400x2974.png 848w, https://substackcdn.com/image/fetch/$s_!o1Jv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7caf9222-f7bc-44a9-97b7-ee772a0852b7_2400x2974.png 1272w, https://substackcdn.com/image/fetch/$s_!o1Jv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7caf9222-f7bc-44a9-97b7-ee772a0852b7_2400x2974.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>What held from launch day:</p><ul><li><p><strong>Below max, the dial barely moves.</strong> Thinking is adaptive. The model ignores budget it doesn&#8217;t need.</p></li><li><p><strong>Correctness never moved.</strong> On a hard math puzzle with a checkable answer, every effort level got it right, with the same method. The extra seconds bought re-verification and caveats, not better answers.</p></li></ul><p>What&#8217;s new at n=20: <strong>max is where Fable and Opus separate the most</strong>, 60.8 vs 49.0 seconds at the median. And that gap moved between builds. The top of the dial is the unstable part.</p><p>One gotcha worth this whole section. Pass a typo to <code>--effort</code> and the CLI <strong>silently falls back to your configured level</strong>, not the model default. I ran <code>--effort xyz</code> 20 times as a control: median 17.6 seconds, right on top of <code>xhigh</code> (18.5s), nowhere near <code>high</code> (13.6s).</p><p>So check your settings before you benchmark anything. My machine had <code>xhigh</code> persisted, which means every flag-less run I timed ran both models at <code>xhigh</code>. Matched, so the ratios stand. But the honest label on my charts is &#8220;matched effort,&#8221; not &#8220;out-of-box default.&#8221; <strong>The documented default is </strong><code>high</code><strong> on both Fable 5 and Opus 4.8.</strong></p><blockquote><p>The practical setting hasn&#8217;t changed: <strong>default to </strong><code>high</code>. Dialing down buys back a few seconds, not different answers. Max should stay a rare exception. It&#8217;s now the least stable level, too.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><h3>1.2 Fable 5 speed question, retested</h3><p>The loudest day-one complaint after the classifiers: <strong>&#8220;Fable is slow.&#8221;</strong> One widely shared review called it a crawl, &#8220;<em>even on simple tasks</em>.&#8221;</p><p>I couldn&#8217;t find numbers, so I made my own. 320 timed runs, both models at matched effort, stream-level timestamps, exact token counts, outliers kept:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qjTg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c72e58a-a203-47ee-b1a5-d47a8a19a76c_2400x3150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qjTg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c72e58a-a203-47ee-b1a5-d47a8a19a76c_2400x3150.png 424w, https://substackcdn.com/image/fetch/$s_!qjTg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c72e58a-a203-47ee-b1a5-d47a8a19a76c_2400x3150.png 848w, https://substackcdn.com/image/fetch/$s_!qjTg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c72e58a-a203-47ee-b1a5-d47a8a19a76c_2400x3150.png 1272w, https://substackcdn.com/image/fetch/$s_!qjTg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c72e58a-a203-47ee-b1a5-d47a8a19a76c_2400x3150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qjTg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c72e58a-a203-47ee-b1a5-d47a8a19a76c_2400x3150.png" width="1456" height="1911" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c72e58a-a203-47ee-b1a5-d47a8a19a76c_2400x3150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1911,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:689333,&quot;alt&quot;:&quot;Is Claude Fable 5 slow? Opus 4.8 vs Fable 5 speed, Fable tokens&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://www.productcompass.pm/i/201472436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c72e58a-a203-47ee-b1a5-d47a8a19a76c_2400x3150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Is Claude Fable 5 slow? Opus 4.8 vs Fable 5 speed, Fable tokens" title="Is Claude Fable 5 slow? Opus 4.8 vs Fable 5 speed, Fable tokens" srcset="https://substackcdn.com/image/fetch/$s_!qjTg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c72e58a-a203-47ee-b1a5-d47a8a19a76c_2400x3150.png 424w, https://substackcdn.com/image/fetch/$s_!qjTg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c72e58a-a203-47ee-b1a5-d47a8a19a76c_2400x3150.png 848w, https://substackcdn.com/image/fetch/$s_!qjTg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c72e58a-a203-47ee-b1a5-d47a8a19a76c_2400x3150.png 1272w, https://substackcdn.com/image/fetch/$s_!qjTg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c72e58a-a203-47ee-b1a5-d47a8a19a76c_2400x3150.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>What held:</p><ul><li><p><strong>The starting pause is real.</strong> First visible activity at a median 6.7 seconds vs 4.3 for Opus. That 2.4-second blank screen is my bet for where the &#8220;it crawls&#8221; feeling comes from.</p></li><li><p><strong>The trivial tax is modest.</strong> On one-shot questions, Fable averaged 1.48x Opus wall-clock. Every answer correct from both models.</p></li></ul><p>What flipped on the retest:</p><ul><li><p><strong>&#8220;Denser, not slower&#8221; didn&#8217;t survive.</strong> On launch day, Fable used about 40% fewer output tokens on the same math problem and finished sooner. At n=20 the token gap shrank to 8%, and Fable finishes 1.5x behind.</p></li><li><p><strong>Neither did &#8220;the gap vanishes on real work.&#8221;</strong> Across 20 heavy multi-file audits, the median tax is 1.29x (best pair 0.92x, worst 1.70x). Two of twenty beat Opus outright. The tax flattens with task size. It doesn&#8217;t vanish.</p></li></ul><p>What didn&#8217;t move: correctness. <strong>All 240 graded answers correct</strong>, from both models.</p><blockquote><p>So the verdict is narrower than the discourse: budget a short pause at the start of every exchange, accept a 1.3 to 1.5x time tax, and ask what the extra time buys. Section 2 prices exactly that.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><h3>1.3 The benchmarks</h3><p>Anthropic&#8217;s official chart covers these better than any table I&#8217;d retype:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!70q8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd189ec9b-7cfb-420d-9f04-088eeed137f5_1200x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!70q8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd189ec9b-7cfb-420d-9f04-088eeed137f5_1200x1200.png 424w, https://substackcdn.com/image/fetch/$s_!70q8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd189ec9b-7cfb-420d-9f04-088eeed137f5_1200x1200.png 848w, https://substackcdn.com/image/fetch/$s_!70q8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd189ec9b-7cfb-420d-9f04-088eeed137f5_1200x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!70q8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd189ec9b-7cfb-420d-9f04-088eeed137f5_1200x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!70q8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd189ec9b-7cfb-420d-9f04-088eeed137f5_1200x1200.png" width="1200" height="1200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d189ec9b-7cfb-420d-9f04-088eeed137f5_1200x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Mythos 5 &amp; Fable 5, comparing Claude Mythos 5 and Fable 5 against Claude Mythos Preview, Claude Opus 4.8, GPT 5.5, and Gemini 3.1 Pro. &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="Mythos 5 &amp; Fable 5, comparing Claude Mythos 5 and Fable 5 against Claude Mythos Preview, Claude Opus 4.8, GPT 5.5, and Gemini 3.1 Pro. " title="Mythos 5 &amp; Fable 5, comparing Claude Mythos 5 and Fable 5 against Claude Mythos Preview, Claude Opus 4.8, GPT 5.5, and Gemini 3.1 Pro. " srcset="https://substackcdn.com/image/fetch/$s_!70q8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd189ec9b-7cfb-420d-9f04-088eeed137f5_1200x1200.png 424w, https://substackcdn.com/image/fetch/$s_!70q8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd189ec9b-7cfb-420d-9f04-088eeed137f5_1200x1200.png 848w, https://substackcdn.com/image/fetch/$s_!70q8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd189ec9b-7cfb-420d-9f04-088eeed137f5_1200x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!70q8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd189ec9b-7cfb-420d-9f04-088eeed137f5_1200x1200.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">Source: <a href="https://x.com/claudeai/status/2064394151441863006">@claudeai on X</a></figcaption></figure></div><p>Two things the official chart won&#8217;t tell you:</p><ul><li><p>The row that tells you what tier this is: <strong>FrontierCode Diamond</strong>, the hardest unseen problems in the set, where Fable more than doubles Opus 4.8 (29.3 vs 13.4) and runs 5x GPT-5.5:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L6Ao!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c4378-ab1e-4b46-a78a-2989534abe0d_1200x702.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L6Ao!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c4378-ab1e-4b46-a78a-2989534abe0d_1200x702.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L6Ao!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c4378-ab1e-4b46-a78a-2989534abe0d_1200x702.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L6Ao!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c4378-ab1e-4b46-a78a-2989534abe0d_1200x702.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L6Ao!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c4378-ab1e-4b46-a78a-2989534abe0d_1200x702.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L6Ao!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c4378-ab1e-4b46-a78a-2989534abe0d_1200x702.jpeg" width="1200" height="702" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b5c4378-ab1e-4b46-a78a-2989534abe0d_1200x702.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:702,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;FrontierCode Diamond chart: Claude 5 Fable is already 30% of the way to saturating it&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="FrontierCode Diamond chart: Claude 5 Fable is already 30% of the way to saturating it" title="FrontierCode Diamond chart: Claude 5 Fable is already 30% of the way to saturating it" srcset="https://substackcdn.com/image/fetch/$s_!L6Ao!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c4378-ab1e-4b46-a78a-2989534abe0d_1200x702.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L6Ao!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c4378-ab1e-4b46-a78a-2989534abe0d_1200x702.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L6Ao!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c4378-ab1e-4b46-a78a-2989534abe0d_1200x702.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L6Ao!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c4378-ab1e-4b46-a78a-2989534abe0d_1200x702.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><figcaption class="image-caption">Source: <a href="https://x.com/ChrissGPT/status/2064404270607134792">@ChrissGPT on X</a></figcaption></figure></div></li></ul><ul><li><p>And one honest footnote from the <a href="https://www-cdn.anthropic.com/d00db56fa754a1b115b6dd7cb2e3c342ee809620.pdf">system card</a>: Fable&#8217;s published scores already include its production safeguards, which is why some rows run slightly below Mythos.</p></li></ul><div><hr></div><h2><strong>2. What a Real Finding Costs</strong></h2><p>Fable bills <strong>2x per token</strong>. Here&#8217;s what that turns into when the task is finding problems, not answering questions.</p><p>I ran 60 audits of the same three style-guide files, 30 per model. Every run was metered from session traces and validated to the cent against the CLI&#8217;s own billing:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tfG8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F690b8b08-5d92-4a85-9227-bada897c824e_2400x3164.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tfG8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F690b8b08-5d92-4a85-9227-bada897c824e_2400x3164.png 424w, https://substackcdn.com/image/fetch/$s_!tfG8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F690b8b08-5d92-4a85-9227-bada897c824e_2400x3164.png 848w, https://substackcdn.com/image/fetch/$s_!tfG8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F690b8b08-5d92-4a85-9227-bada897c824e_2400x3164.png 1272w, https://substackcdn.com/image/fetch/$s_!tfG8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F690b8b08-5d92-4a85-9227-bada897c824e_2400x3164.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tfG8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F690b8b08-5d92-4a85-9227-bada897c824e_2400x3164.png" width="1456" height="1919" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/690b8b08-5d92-4a85-9227-bada897c824e_2400x3164.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1919,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:762003,&quot;alt&quot;:&quot;Claude Fable bills 2x per token, ROI, cost per finding&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://www.productcompass.pm/i/201472436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F690b8b08-5d92-4a85-9227-bada897c824e_2400x3164.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Fable bills 2x per token, ROI, cost per finding" title="Claude Fable bills 2x per token, ROI, cost per finding" srcset="https://substackcdn.com/image/fetch/$s_!tfG8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F690b8b08-5d92-4a85-9227-bada897c824e_2400x3164.png 424w, https://substackcdn.com/image/fetch/$s_!tfG8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F690b8b08-5d92-4a85-9227-bada897c824e_2400x3164.png 848w, https://substackcdn.com/image/fetch/$s_!tfG8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F690b8b08-5d92-4a85-9227-bada897c824e_2400x3164.png 1272w, https://substackcdn.com/image/fetch/$s_!tfG8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F690b8b08-5d92-4a85-9227-bada897c824e_2400x3164.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 prices for the same work:</p><ul><li><p><strong>Per audit: 2.5x.</strong> $2.93 vs $1.17 at the median. Wider than the price sheet, because Fable also writes more.</p></li><li><p><strong>Per finding: 1.25x.</strong> Fable surfaces a median 14 distinct findings per report vs Opus&#8217;s 7. So $0.21 vs $0.17 each.</p></li><li><p><strong>Per the bug that matters: 0.25x.</strong> One planted issue required reading two files against each other. Fable caught it in 20 of 30 audits. Opus caught it in 2.</p></li></ul><p>That last row is the one your invoice feels. Expected spend per deep catch: $4.40 with Fable, $17.55 with Opus. <strong>The expensive model is 4x cheaper!</strong></p><p>It&#8217;s not &#8220;<em>Fable finds everything</em>,&#8221; though. A same-file style clash got caught more often by Opus, 16/30 vs 12/30. Depth and breadth are different axes.</p><blockquote><p><strong>For PMs:</strong> price the outcome, not the tokens. Per token, Fable costs 2x. Per deep finding, a quarter. <strong>Whoever frames the unit wins the budget conversation</strong>, and that&#8217;s as true for your product&#8217;s pricing page as it is for your AI bill.</p></blockquote><div><hr></div><h2><strong>3. The Safeguard Layer Most Coverage Missed</strong></h2><h3>3.1 The visible layer: routing</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E1a9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf458355-cabf-4c34-a451-acc41a14bb4d_2400x2092.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E1a9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf458355-cabf-4c34-a451-acc41a14bb4d_2400x2092.png 424w, https://substackcdn.com/image/fetch/$s_!E1a9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf458355-cabf-4c34-a451-acc41a14bb4d_2400x2092.png 848w, https://substackcdn.com/image/fetch/$s_!E1a9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf458355-cabf-4c34-a451-acc41a14bb4d_2400x2092.png 1272w, https://substackcdn.com/image/fetch/$s_!E1a9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf458355-cabf-4c34-a451-acc41a14bb4d_2400x2092.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E1a9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf458355-cabf-4c34-a451-acc41a14bb4d_2400x2092.png" width="1456" height="1269" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf458355-cabf-4c34-a451-acc41a14bb4d_2400x2092.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1269,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1960457,&quot;alt&quot;:&quot;Claude Fable 5 routing. Fable 5 ships with classifiers that screen for high-risk domains: cyber offense, biological and chemical synthesis, and model distillation.&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://www.productcompass.pm/i/201472436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf458355-cabf-4c34-a451-acc41a14bb4d_2400x2092.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Fable 5 routing. Fable 5 ships with classifiers that screen for high-risk domains: cyber offense, biological and chemical synthesis, and model distillation." title="Claude Fable 5 routing. Fable 5 ships with classifiers that screen for high-risk domains: cyber offense, biological and chemical synthesis, and model distillation." srcset="https://substackcdn.com/image/fetch/$s_!E1a9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf458355-cabf-4c34-a451-acc41a14bb4d_2400x2092.png 424w, https://substackcdn.com/image/fetch/$s_!E1a9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf458355-cabf-4c34-a451-acc41a14bb4d_2400x2092.png 848w, https://substackcdn.com/image/fetch/$s_!E1a9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf458355-cabf-4c34-a451-acc41a14bb4d_2400x2092.png 1272w, https://substackcdn.com/image/fetch/$s_!E1a9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf458355-cabf-4c34-a451-acc41a14bb4d_2400x2092.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>Fable 5 ships with classifiers that screen for high-risk domains. When a query trips one, the session is routed to Opus 4.8 instead, and you get a notification. Anthropic puts it at ~5% of sessions.</p><p>My own experiments with subagents got capped, too:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2B6P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe597344a-7a82-4687-bfe8-60082fe41a42_1275x320.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2B6P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe597344a-7a82-4687-bfe8-60082fe41a42_1275x320.png 424w, https://substackcdn.com/image/fetch/$s_!2B6P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe597344a-7a82-4687-bfe8-60082fe41a42_1275x320.png 848w, https://substackcdn.com/image/fetch/$s_!2B6P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe597344a-7a82-4687-bfe8-60082fe41a42_1275x320.png 1272w, https://substackcdn.com/image/fetch/$s_!2B6P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe597344a-7a82-4687-bfe8-60082fe41a42_1275x320.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2B6P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe597344a-7a82-4687-bfe8-60082fe41a42_1275x320.png" width="1275" height="320" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e597344a-7a82-4687-bfe8-60082fe41a42_1275x320.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:320,&quot;width&quot;:1275,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:69114,&quot;alt&quot;:&quot;Claude Fable's safety measures flagged this message&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://www.productcompass.pm/i/201472436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe597344a-7a82-4687-bfe8-60082fe41a42_1275x320.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Fable's safety measures flagged this message" title="Claude Fable's safety measures flagged this message" srcset="https://substackcdn.com/image/fetch/$s_!2B6P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe597344a-7a82-4687-bfe8-60082fe41a42_1275x320.png 424w, https://substackcdn.com/image/fetch/$s_!2B6P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe597344a-7a82-4687-bfe8-60082fe41a42_1275x320.png 848w, https://substackcdn.com/image/fetch/$s_!2B6P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe597344a-7a82-4687-bfe8-60082fe41a42_1275x320.png 1272w, https://substackcdn.com/image/fetch/$s_!2B6P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe597344a-7a82-4687-bfe8-60082fe41a42_1275x320.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 doesn&#8217;t fail the query. It hands it to a different model, on purpose, and tells you. The capability ceiling and the safeguard layer are different things, and knowing which one you hit changes what you do next.</p><p><strong>And the reroute sticks.</strong> Per the Claude Code docs, the session continues on Opus after a flag. <code>/model fable</code> takes you back, but if the trigger is still in your context, the next request just bounces you again. I learned that one live. My first read was &#8220;you can&#8217;t switch back.&#8221; The docs&#8217; version is more precise: <strong>you can switch back, you just can&#8217;t stay.</strong></p><p><strong>The classifier reads your workspace, too.</strong> CLAUDE.md content and git status ride along on the first request. So a repo full of security or biology material can reroute a session before you&#8217;ve typed anything unusual.</p><p>Why does the screen exist at all? According to Anthropic, &#8220;<em>Mythos-class models have</em> <em><strong>reached a threshold where they present significant risks</strong>.</em>&#8220; The example they give: these models &#8220;<em>excel at discovering and exploiting software vulnerabilities</em>,&#8221; enough to make cyberattacks &#8220;<em>substantially easier and cheaper to commit</em>.&#8221;</p><p>There&#8217;s also a second, invisible layer. Per the system card&#8217;s Section 1.5, requests targeting frontier LLM development itself don&#8217;t reroute. They get quietly degraded, with no notification, on ~0.03% of traffic. Unless your team pretrains models, you&#8217;ll never hit it. Researchers are furious anyway (Elie Bakouch&#8217;s &#8220;<em><a href="https://x.com/eliebakouch/status/2064399902684139852">very very sad for the research community</a></em>&#8220;), and the precedent stands: <strong>the model you bought can be tuned down by topic, silently.</strong></p><h3>3.2 What this means for your team</h3><p>Four practical notes from the first four days:</p><ul><li><p><strong>Expect occasional routing,</strong> especially if your work touches security, healthcare, or biotech. Anthropic admits it (Claude Code&#8217;s Boris Cherny: &#8220;<em>We know the classifiers are trigger-happy, and are working on improving it</em>&#8220;). The notification is your signal: you did nothing wrong, and the floor is &#8220;merely Opus 4.8.&#8221; For security audits, the supported path is the built-in <code>/security-review</code> command. Also see my <a href="https://github.com/phuryn/pm-skills">/security-review-static</a>, which inspects the full solution, not just the diff.</p></li><li><p><strong>Two diagnostics worth knowing.</strong> For example, <code>claude --safe-mode</code> starts a session without your customizations, so you can check whether your own files are the trigger. And <code>/config</code> has a toggle that <strong>asks before switching</strong> instead of switching silently.</p></li><li><p><strong>Once flagged, decide fast.</strong> Treat the session as an Opus session or start clean. Don&#8217;t fight the classifier mid-context.</p></li><li><p><strong>The API behaves differently.</strong> When per-token access opens June 22, a tripped classifier <strong>blocks the request</strong> and returns a structured refusal category. There&#8217;s no automatic fallback by default. Server-side <strong>fallback to Opus is opt-in</strong>. The same applies to <code>claude -p</code> scripts today: non-interactive runs get a refusal, not a reroute.</p></li></ul><p>The safeguard is worth copying: it swaps your model mid-session for safety. <strong>We can swap on purpose, for cost.</strong> Keep a cheaper model as your default and bring in Fable 5 only for the one call that needs it. Section 8 has what that costs.</p><div><hr></div><p><em><strong>Side Note:</strong> On September 1 we&#8217;re launching the 3rd edition of Claudathon. It&#8217;s a hands-on program to learn by building and shipping production-ready apps with embedded agents.</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_!Kquw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f93f3e0-96ac-43e0-97ec-b76fed50ff1c_1877x1207.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Kquw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f93f3e0-96ac-43e0-97ec-b76fed50ff1c_1877x1207.png 424w, https://substackcdn.com/image/fetch/$s_!Kquw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f93f3e0-96ac-43e0-97ec-b76fed50ff1c_1877x1207.png 848w, https://substackcdn.com/image/fetch/$s_!Kquw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f93f3e0-96ac-43e0-97ec-b76fed50ff1c_1877x1207.png 1272w, https://substackcdn.com/image/fetch/$s_!Kquw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f93f3e0-96ac-43e0-97ec-b76fed50ff1c_1877x1207.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Kquw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f93f3e0-96ac-43e0-97ec-b76fed50ff1c_1877x1207.png" width="1456" height="936" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f93f3e0-96ac-43e0-97ec-b76fed50ff1c_1877x1207.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:936,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:384441,&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://www.productcompass.pm/i/201472436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f93f3e0-96ac-43e0-97ec-b76fed50ff1c_1877x1207.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_!Kquw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f93f3e0-96ac-43e0-97ec-b76fed50ff1c_1877x1207.png 424w, https://substackcdn.com/image/fetch/$s_!Kquw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f93f3e0-96ac-43e0-97ec-b76fed50ff1c_1877x1207.png 848w, https://substackcdn.com/image/fetch/$s_!Kquw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f93f3e0-96ac-43e0-97ec-b76fed50ff1c_1877x1207.png 1272w, https://substackcdn.com/image/fetch/$s_!Kquw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f93f3e0-96ac-43e0-97ec-b76fed50ff1c_1877x1207.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"><a href="https://go.productcompass.pm/claudathon">Claudathon</a>, Start: September 1, 2026</figcaption></figure></div><p><em>Before the cohort you should get familiar with the basics: VS Code, CLAUDE.md, skills (we provide the materials).</em></p><p><em>Early bid discount: <a href="https://go.productcompass.pm/claudathon">https://go.productcompass.pm/claudathon</a><br>Paid annual subscribers who enroll get a refund for the current billing period.</em></p><div><hr></div><h2><strong>4. Judgment Is the Feature</strong></h2><p>The benchmarks got their chart in Section 1. The interesting part of this launch is a behavior change.</p><p>One disclosure before the quotes: every voice quoted in praise here works at Anthropic. Read them as insider testimony, not independent validation, then check them against my receipts.</p><p>Karpathy called it &#8220;<em>a major-version-bump-deserving step change forward</em>,&#8221; strongest &#8220;<em>for long problem-solving sessions on very difficult problems</em>:&#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_!gHgE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cea8a15-e554-4d9f-869c-0b3951f71b3d_1494x662.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gHgE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cea8a15-e554-4d9f-869c-0b3951f71b3d_1494x662.png 424w, https://substackcdn.com/image/fetch/$s_!gHgE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cea8a15-e554-4d9f-869c-0b3951f71b3d_1494x662.png 848w, https://substackcdn.com/image/fetch/$s_!gHgE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cea8a15-e554-4d9f-869c-0b3951f71b3d_1494x662.png 1272w, https://substackcdn.com/image/fetch/$s_!gHgE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cea8a15-e554-4d9f-869c-0b3951f71b3d_1494x662.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gHgE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cea8a15-e554-4d9f-869c-0b3951f71b3d_1494x662.png" width="1456" height="645" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6cea8a15-e554-4d9f-869c-0b3951f71b3d_1494x662.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:645,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:273818,&quot;alt&quot;:&quot;Andrej Karpathy on Claude Fable 5: a major-version-bump-deserving step change forward&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://www.productcompass.pm/i/201472436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cea8a15-e554-4d9f-869c-0b3951f71b3d_1494x662.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Andrej Karpathy on Claude Fable 5: a major-version-bump-deserving step change forward" title="Andrej Karpathy on Claude Fable 5: a major-version-bump-deserving step change forward" srcset="https://substackcdn.com/image/fetch/$s_!gHgE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cea8a15-e554-4d9f-869c-0b3951f71b3d_1494x662.png 424w, https://substackcdn.com/image/fetch/$s_!gHgE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cea8a15-e554-4d9f-869c-0b3951f71b3d_1494x662.png 848w, https://substackcdn.com/image/fetch/$s_!gHgE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cea8a15-e554-4d9f-869c-0b3951f71b3d_1494x662.png 1272w, https://substackcdn.com/image/fetch/$s_!gHgE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cea8a15-e554-4d9f-869c-0b3951f71b3d_1494x662.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 people building Claude Code describe the same thing. Cherny, from his launch post: Fable "<em>has judgement, taste, and dimensionality in a way that previous models didn't</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_!jBOD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034add2b-a628-4b63-b27f-ce3b3ed24604_1496x458.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jBOD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034add2b-a628-4b63-b27f-ce3b3ed24604_1496x458.png 424w, https://substackcdn.com/image/fetch/$s_!jBOD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034add2b-a628-4b63-b27f-ce3b3ed24604_1496x458.png 848w, https://substackcdn.com/image/fetch/$s_!jBOD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034add2b-a628-4b63-b27f-ce3b3ed24604_1496x458.png 1272w, https://substackcdn.com/image/fetch/$s_!jBOD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034add2b-a628-4b63-b27f-ce3b3ed24604_1496x458.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jBOD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034add2b-a628-4b63-b27f-ce3b3ed24604_1496x458.png" width="1456" height="446" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/034add2b-a628-4b63-b27f-ce3b3ed24604_1496x458.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:446,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:180662,&quot;alt&quot;:&quot;Boris Cherny on Claude Fable 5: has judgement, taste, and dimensionality in a way that previous models didn&#8217;t&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://www.productcompass.pm/i/201472436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034add2b-a628-4b63-b27f-ce3b3ed24604_1496x458.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Boris Cherny on Claude Fable 5: has judgement, taste, and dimensionality in a way that previous models didn&#8217;t" title="Boris Cherny on Claude Fable 5: has judgement, taste, and dimensionality in a way that previous models didn&#8217;t" srcset="https://substackcdn.com/image/fetch/$s_!jBOD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034add2b-a628-4b63-b27f-ce3b3ed24604_1496x458.png 424w, https://substackcdn.com/image/fetch/$s_!jBOD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034add2b-a628-4b63-b27f-ce3b3ed24604_1496x458.png 848w, https://substackcdn.com/image/fetch/$s_!jBOD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034add2b-a628-4b63-b27f-ce3b3ed24604_1496x458.png 1272w, https://substackcdn.com/image/fetch/$s_!jBOD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034add2b-a628-4b63-b27f-ce3b3ed24604_1496x458.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>He asked it to debug something, and it took measurements, added logs, and verified the fix before declaring victory. Then the line that stuck with me: "<em>There's nothing in claude code's prompting telling the model to do that, it's just part of its personality.</em>"</p><p>Thariq Shihipar compressed it to six words: "<em>it's time to be more ambitious:</em>"</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LeAO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0823cc9-4733-49df-8835-a5150ef48eab_1493x373.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LeAO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0823cc9-4733-49df-8835-a5150ef48eab_1493x373.png 424w, https://substackcdn.com/image/fetch/$s_!LeAO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0823cc9-4733-49df-8835-a5150ef48eab_1493x373.png 848w, https://substackcdn.com/image/fetch/$s_!LeAO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0823cc9-4733-49df-8835-a5150ef48eab_1493x373.png 1272w, https://substackcdn.com/image/fetch/$s_!LeAO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0823cc9-4733-49df-8835-a5150ef48eab_1493x373.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LeAO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0823cc9-4733-49df-8835-a5150ef48eab_1493x373.png" width="1456" height="364" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0823cc9-4733-49df-8835-a5150ef48eab_1493x373.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:364,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:94116,&quot;alt&quot;:&quot;Thariq Shihipar on CLaude Fable 5: it's time to be more ambitious&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://www.productcompass.pm/i/201472436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0823cc9-4733-49df-8835-a5150ef48eab_1493x373.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Thariq Shihipar on CLaude Fable 5: it's time to be more ambitious" title="Thariq Shihipar on CLaude Fable 5: it's time to be more ambitious" srcset="https://substackcdn.com/image/fetch/$s_!LeAO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0823cc9-4733-49df-8835-a5150ef48eab_1493x373.png 424w, https://substackcdn.com/image/fetch/$s_!LeAO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0823cc9-4733-49df-8835-a5150ef48eab_1493x373.png 848w, https://substackcdn.com/image/fetch/$s_!LeAO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0823cc9-4733-49df-8835-a5150ef48eab_1493x373.png 1272w, https://substackcdn.com/image/fetch/$s_!LeAO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0823cc9-4733-49df-8835-a5150ef48eab_1493x373.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The closest thing to an outside read, four days in, is the shape of the criticism. Researchers are <strong>angry about the invisible safeguards</strong> (Section 3). Dylan Patel of SemiAnalysis reports power users defecting to Codex after &#8220;<em><a href="https://x.com/dylan522p/status/2064727949274955953">refusals for nonsensical reasons</a></em>.&#8221; Both complaints are about <strong>access to the capability</strong>. Neither questions the capability.</p><blockquote><p>My version of that moment is the one this guide opened with. Fable read my instruction files and <strong>started surfacing contradictions instead of executing them</strong>. Previous models followed my rules. This one evaluated them.</p></blockquote><p>That shift is part of a larger question: <a href="https://www.productcompass.pm/p/will-we-lose-our-jobs-to-ai-the-lies">Will We Lose Our Jobs to AI? Cutting Through the Hype</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>5. Your Knowledge Layer Was Built for a Weaker Model</strong></h2><p>Fable flagged the first contradiction on its own, mid-task, before I&#8217;d read anyone&#8217;s tips. So I gave it the full job: read everything my agents follow and report what&#8217;s wrong.</p><p>That conclusion is consistent with voices inside Anthropic. Alex Albert&#8217;s launch tips name the same mechanism: <strong>instructions written for old models keep Fable behaving like those old models.</strong> Rework your skills and CLAUDE.md files. Let the model use its own judgment first.</p><h3>5.1 What Fable found in my repo</h3><p>My agents maintain those files, not me. I trusted Opus to keep them clean enough. Still, five finds:</p><ul><li><p><strong>A hardcoded date telling the model what day it is.</strong> One strategy file contains &#8220;<em>(today is 2026-05-24)</em>&#8220;, written during a May session and never noticed again. Every session since has been told the wrong date by its own instructions.</p></li><li><p><strong>A rule documented with the pattern it bans.</strong> My writing system bans em dashes in published content. The file that documents the ban is written with em dashes. Instructions teach by example as much as by rule.</p></li><li><p><strong>Calibration constants that drifted.</strong> An X voice rule still gates on an audience under 50K followers. That number was true when the rule was written. It isn&#8217;t two months later (75K).</p></li><li><p><strong>Guardrails for failure modes the new model doesn&#8217;t have.</strong> Rules like &#8220;<em>never delegate judgment-heavy work to cheaper models</em>&#8220; and complex self-check procedures exist because earlier models needed them. Each one now eats context and pulls the model toward old habits.</p></li><li><p><strong>The same rule stated in three files.</strong> Three maintenance surfaces, three chances to drift apart.</p></li></ul><p>Some were plain mistakes. The rest were right for the model they were written for. That&#8217;s exactly the problem. <strong>The better your system was for the last model, the more it holds back this one.</strong></p><h3>5.2 Written by a weaker model</h3><p>The pushback I got within hours of <a href="https://x.com/PawelHuryn/status/2064447192212127937">posting my first thoughts on X</a>: if your files contradict each other, isn&#8217;t that just sloppy housekeeping?</p><p>Fair question, wrong model of the system.</p><p>This knowledge layer isn&#8217;t a config file a human writes once. It&#8217;s self-improving: agents file evidence as they work, turn evidence into working rules, and edit their own CLAUDE.md (the system from <a href="https://www.productcompass.pm/p/claude-md-snippets">Three CLAUDE.md Blocks</a>). 166 files, maintained partly by the things that read them.</p><p>In a system like that, contradictions aren&#8217;t carelessness. They&#8217;re drift, the same drift every wiki and every org&#8217;s process docs accumulate, except here it accumulates as fast as the agents write.</p><p>That creates the real trap: a knowledge layer written by a weaker model has a flaw no amount of review can fix. Every line an agent added passed review by the model that added it, by definition. <strong>A system maintained by model N tends to preserve the errors model N can&#8217;t see.</strong></p><p>I review these files every day and didn&#8217;t catch it. Neither did Codex, which <a href="https://www.productcompass.pm/p/codex-setup-for-pms">reviews my knowledge files as a second pair of eyes</a>.</p><h3>5.3 The audit prompt</h3><p>So the first prompt I ran with Fable 5 wasn&#8217;t a task. It&#8217;s the prompt I&#8217;d now run before giving any new model real work, and it&#8217;s yours:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;f12436d2-93c2-4fe8-b10d-28fc66233ed6&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">Read your own instruction files (CLAUDE.md, skills, rules, memory files) end to end.

1. Where do they contradict each other? Quote both sides.
2. Which rules exist to manage a weaker model: guardrails for failure
   modes you don't have, recipes for things you no longer need spelled
   out, hardcoded facts that have drifted? List them with file:line.
3. Which rules teach by bad example: documents that violate the
   patterns they prescribe?
4. What would you delete? What would you keep exactly as is, and why?

Don't fix anything yet. Report first. I decide what gets cut.</code></pre></div><p>The audit is the model's judgment; the deletions are yours. What you do with the report, and how I turned mine into a repeatable migration workflow, is where we go next.</p><div><hr></div><p><strong>Behind the paywall:</strong></p><ul><li><p><strong>The migration workflow</strong> &#8594; the three-bucket rule classification (constraint, calibration, scaffolding) so you cut anchors without cutting your actual taste</p></li><li><p><strong>Objectives, not tasks</strong> &#8594; the <code>/goal</code> patterns that let Fable run long PM work unattended + 2 prompt templates</p></li><li><p><strong>How deep agents and workflows stack now</strong> &#8594; my depth-10 experiments, the 2.54x cost multiplier</p></li><li><p><strong>Delegating and escalating work with Fable </strong>&#8594; my CLAUDE.md snippet</p></li><li><p><strong>What doesn&#8217;t work (yet)</strong> &#8594; the honest list, so you spend your first week on the parts that do</p></li><li><p><strong>The week-one plan</strong> &#8594; day by day, copy-paste ready</p></li></ul>
      <p>
          <a href="https://www.productcompass.pm/p/claude-fable-5-guide">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Dynamic Workflows for PMs: The Ultimate Guide]]></title><description><![CDATA[Anthropic just shipped them. Set a PM goal tonight; check the results tomorrow.]]></description><link>https://www.productcompass.pm/p/claude-code-dynamic-workflows</link><guid isPermaLink="false">https://www.productcompass.pm/p/claude-code-dynamic-workflows</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Sun, 07 Jun 2026 09:43:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/45fc4d94-9eb3-47b8-8b12-bea27a729b28_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Pawe&#322; here. Welcome to the premium edition of The Product Compass Newsletter. Every week, I share actionable tips, templates, resources, and experiments for AI-native PMs.</em></p><p><em>Here&#8217;s what you might have missed:</em></p><ul><li><p><em><a href="https://www.productcompass.pm/p/introduction-to-ai-product-management">Introduction to AI PM: Neural Networks, Transformers, and LLMs</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/claude-design-product-discovery">From Weeks to Hours: How Claude Design Compresses Product Discovery</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/claude-code-beginners-guide">Claude Code for PMs: The Beginner&#8217;s Guide</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/stop-hitting-claude-code-limits">Claude Code&#8217;s Limits Are Generous. The Problem Is Your Setup.</a></em></p></li><li><p><em><a href="https://www.productcompass.pm/p/claude-md-snippets">Three CLAUDE.md Blocks That Make Claude Get Smarter Every Session</a></em></p></li></ul><p><em>Consider subscribing or upgrading for the full experience.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>Last week, inside Claude Code, I gave Claude a product-discovery job and added one short keyword: <mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">ultracode</mark>. I expected a better answer. Instead, it wrote a short program, spun up a fleet of agents, and ran the work through that program. </p><p>113 agents spent 1.95M tokens. The JavaScript that coordinated them spent zero model tokens. That distinction matters: the model did the judgment, the code did the coordination.</p><p>What surprised me wasn&#8217;t that Claude wrote code. It was that the most important coordination moved outside the model&#8217;s context window.</p><p>That changes how much one PM can run.</p><p><strong>We&#8217;ll cover:</strong></p><ul><li><p>What a dynamic workflow is, and the token number that proves it</p></li><li><p>How it compares to n8n</p></li><li><p>Why it works: four reasons, and the three failure modes a harness fixes</p></li><li><p>The six patterns worth knowing</p></li><li><p>A worked product-discovery loop on 100 interviews, end to end</p></li><li><p>How to build, run, and contain one, and when not to</p></li></ul><p><strong>We won&#8217;t cover:</strong></p><ul><li><p>The Agent SDK internals</p></li><li><p>Fancy terms to memorize</p></li></ul><p>This is the operating model, not the API docs.</p><div><hr></div><h2><strong>1. What a Dynamic Workflow Is</strong></h2><h3>1.1 The mechanism: the orchestrator is code, not a model turn</h3><p>A dynamic workflow is a short JavaScript program Claude writes on the fly to coordinate subagents. You trigger it with the <mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">ultracode</mark> keyword, or by asking Claude to use a workflow. It reads the job, writes a script, spawns the agents, and merges what they return.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6P3j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F394ecf50-1971-4ac8-9f38-cdeba7378603_1672x990.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6P3j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F394ecf50-1971-4ac8-9f38-cdeba7378603_1672x990.png 424w, https://substackcdn.com/image/fetch/$s_!6P3j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F394ecf50-1971-4ac8-9f38-cdeba7378603_1672x990.png 848w, https://substackcdn.com/image/fetch/$s_!6P3j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F394ecf50-1971-4ac8-9f38-cdeba7378603_1672x990.png 1272w, https://substackcdn.com/image/fetch/$s_!6P3j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F394ecf50-1971-4ac8-9f38-cdeba7378603_1672x990.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6P3j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F394ecf50-1971-4ac8-9f38-cdeba7378603_1672x990.png" width="1456" height="862" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/394ecf50-1971-4ac8-9f38-cdeba7378603_1672x990.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:862,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2692918,&quot;alt&quot;:&quot;Claude dynamic workflows: The agents do the work; the code that coordinates them spends zero model tokens.&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://www.productcompass.pm/i/200944612?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F394ecf50-1971-4ac8-9f38-cdeba7378603_1672x990.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude dynamic workflows: The agents do the work; the code that coordinates them spends zero model tokens." title="Claude dynamic workflows: The agents do the work; the code that coordinates them spends zero model tokens." srcset="https://substackcdn.com/image/fetch/$s_!6P3j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F394ecf50-1971-4ac8-9f38-cdeba7378603_1672x990.png 424w, https://substackcdn.com/image/fetch/$s_!6P3j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F394ecf50-1971-4ac8-9f38-cdeba7378603_1672x990.png 848w, https://substackcdn.com/image/fetch/$s_!6P3j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F394ecf50-1971-4ac8-9f38-cdeba7378603_1672x990.png 1272w, https://substackcdn.com/image/fetch/$s_!6P3j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F394ecf50-1971-4ac8-9f38-cdeba7378603_1672x990.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">The agents do the work; the code that coordinates them spends zero model tokens.</figcaption></figure></div><p>When you fan out 20 agents, something decides what each does, collects results, and drops duplicates. The old way, that something was the model, and every decision was a paid turn. Now it's ordinary code: loops, filters, sorting. None of it calls a model, so the routing is free. The agents still cost tokens; the glue between them doesn't.</p><h3>1.2 How it compares to n8n</h3><p>If you run n8n, you've made half this move. n8n took the glue between your tools and put it in a graph. A dynamic workflow takes the glue between agents and puts it in code. Same instinct, one level up.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V0Pe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23612cc8-e7bc-4117-8b18-6423f22eaeda_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V0Pe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23612cc8-e7bc-4117-8b18-6423f22eaeda_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!V0Pe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23612cc8-e7bc-4117-8b18-6423f22eaeda_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!V0Pe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23612cc8-e7bc-4117-8b18-6423f22eaeda_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!V0Pe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23612cc8-e7bc-4117-8b18-6423f22eaeda_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V0Pe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23612cc8-e7bc-4117-8b18-6423f22eaeda_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/23612cc8-e7bc-4117-8b18-6423f22eaeda_1536x1024.png&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;:2371806,&quot;alt&quot;:&quot;Claude dynamic workflows vs. n8n&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://www.productcompass.pm/i/200944612?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23612cc8-e7bc-4117-8b18-6423f22eaeda_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude dynamic workflows vs. n8n" title="Claude dynamic workflows vs. n8n" srcset="https://substackcdn.com/image/fetch/$s_!V0Pe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23612cc8-e7bc-4117-8b18-6423f22eaeda_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!V0Pe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23612cc8-e7bc-4117-8b18-6423f22eaeda_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!V0Pe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23612cc8-e7bc-4117-8b18-6423f22eaeda_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!V0Pe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23612cc8-e7bc-4117-8b18-6423f22eaeda_1536x1024.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">n8n glues your tools; a dynamic workflow glues your agents.</figcaption></figure></div><p>This isn't an n8n replacement. <a href="https://www.productcompass.pm/p/the-ultimate-guide-to-n8n-for-pms">n8n asks</a>: how do I connect tools I already know? A dynamic workflow asks: how do I let the agent build the procedure for this run?</p><p>You could already ask Claude to write code that coordinates agents with the <a href="https://www.productcompass.pm/p/claude-agent-sdk-production-agent">Agent SDK</a>, but those are <strong>embedded agents</strong>: the ones you build into your own app or product. A dynamic workflow coordinates <strong>workspace agents</strong>: the ones doing your actual work (coding, research, knowledge work) inside Claude Code. The SDK is for the agents you ship; dynamic workflows are for the agent you work with.</p><h3>1.3 When a workflow beats a subagent</h3><p>How do you know it&#8217;s time to stop prompting and start orchestrating?</p><p>Subagents already fan out and synthesize: Opus delegating to a fleet, one round, then a merge. So a single fan-out is not the reason to reach for a workflow. The reason is what happens <strong>after the fan-out</strong>, when the output of one stage decides the next.</p><p>A mental model:</p><ul><li><p><strong>Use subagents</strong> when the job is one round of parallel judgment.</p></li><li><p><strong>Use a dynamic workflow</strong> when stage N&#8217;s output determines stage N+1: route, score, filter, loop, retry, generate, verify, build.</p></li></ul><blockquote><p><strong>For PMs:</strong> subagents are the workers; the workflow is the operating procedure. The expensive resource (a model's reasoning) goes to each stage; the cheap resource (code) decides the order, which model tier runs each stage, and what carries forward.</p></blockquote><div><hr></div><h2><strong>2. Why Move the Orchestrator Off the Model</strong></h2><p>The reason to reach for a workflow isn't that it's more "advanced" than an agent. It's that it moves the fragile part out of the model's context. Order, routing, stopping, and model choice become code. The model still does the thinking; it no longer has to remember the plan, police its own laziness, grade its own work, or decide when the job is done.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aaY4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7fd9014-4c83-4695-8d7a-a0236250b2e2_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aaY4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7fd9014-4c83-4695-8d7a-a0236250b2e2_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!aaY4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7fd9014-4c83-4695-8d7a-a0236250b2e2_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!aaY4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7fd9014-4c83-4695-8d7a-a0236250b2e2_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!aaY4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7fd9014-4c83-4695-8d7a-a0236250b2e2_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aaY4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7fd9014-4c83-4695-8d7a-a0236250b2e2_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f7fd9014-4c83-4695-8d7a-a0236250b2e2_1672x941.png&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;:2351457,&quot;alt&quot;:&quot;Claude dynamic workflows: Why Move the Orchestrator Off the Model&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://www.productcompass.pm/i/200944612?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7fd9014-4c83-4695-8d7a-a0236250b2e2_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude dynamic workflows: Why Move the Orchestrator Off the Model" title="Claude dynamic workflows: Why Move the Orchestrator Off the Model" srcset="https://substackcdn.com/image/fetch/$s_!aaY4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7fd9014-4c83-4695-8d7a-a0236250b2e2_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!aaY4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7fd9014-4c83-4695-8d7a-a0236250b2e2_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!aaY4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7fd9014-4c83-4695-8d7a-a0236250b2e2_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!aaY4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7fd9014-4c83-4695-8d7a-a0236250b2e2_1672x941.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">Same model. The plan moves somewhere it can't tire, grade itself, or forget.</figcaption></figure></div><p>The structure that does this got a name that caught on in 2026: a <a href="https://mitchellh.com/writing/my-ai-adoption-journey">harness</a>. I'd been making the same case since 2025, under a different one: <a href="https://www.productcompass.pm/p/building-ai-agents-best-practices">orchestration over autonomy</a>. The model gets the judgment; the structure around it gets everything else.</p><p>Four things follow:</p><ul><li><p><strong>Determinism.</strong> Code owns the order, the routing, and the stop condition. They run the same way every time, instead of depending on whether the model feels done.</p></li><li><p><strong>Context isolation.</strong> Each agent gets a fresh, bounded job. The goal lives in the script, not in a window that compacts and drifts.</p></li><li><p><strong>No orchestration-token tax.</strong> The coordination layer isn&#8217;t another model conversation, so routing the fleet is free (&#167;1.1).</p></li><li><p><strong>Model tiering.</strong> Bounded, repetitive stages run on a cheaper model. (Subagents can do this too; it&#8217;s a pro tip, not the differentiator.)</p></li></ul><p>The first two are the point; the last two are why it&#8217;s cheap. You feel their absence as three specific failures, and I&#8217;ve hit all three.</p><h3>2.1 Agentic laziness</h3><p>Ask Claude to review all 50 items; it reviews 35, writes a confident summary, and declares it done. A workflow holds the 50 in a <code>for</code> loop and runs until the array is empty. Humans get tired and models drift; a loop just checks the same condition again.</p><h3>2.2 Self-preferential bias</h3><p>Ask Claude to grade its own work and it grades generously, especially in judge-or-verify tasks. A workflow makes the judge a separate agent, with separate context, sometimes a different model. Spawn several skeptics, require a majority. The bias doesn&#8217;t survive being split.</p><h3>2.3 Goal drift</h3><p>Over a long session the objective loses resolution; every compaction is lossy, and the &#8220;don&#8217;t touch auth&#8221; constraint can evaporate by turn 80. A workflow holds the goal in the script, outside the model&#8217;s drifting memory. Agents come and go with fresh context; the goal doesn&#8217;t drift because it was never in a context that compacts.</p><blockquote><p><strong>For PMs:</strong> you've seen all three: 70% delivered as 100%, a self-review an outsider would shred, a Friday build that forgot Monday's requirement. Name the step your agent keeps redoing. That's your first workflow.</p></blockquote><div><hr></div><h2><strong>3. The Six Patterns Worth Knowing</strong></h2><p>Once the orchestrator is code, six shapes recur. Learn the names; they're how you recognize what a task wants.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ap5R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf4d38d-c4cd-409c-ab8d-e83930be55c0_1672x990.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ap5R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf4d38d-c4cd-409c-ab8d-e83930be55c0_1672x990.png 424w, https://substackcdn.com/image/fetch/$s_!Ap5R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf4d38d-c4cd-409c-ab8d-e83930be55c0_1672x990.png 848w, https://substackcdn.com/image/fetch/$s_!Ap5R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf4d38d-c4cd-409c-ab8d-e83930be55c0_1672x990.png 1272w, https://substackcdn.com/image/fetch/$s_!Ap5R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf4d38d-c4cd-409c-ab8d-e83930be55c0_1672x990.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ap5R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf4d38d-c4cd-409c-ab8d-e83930be55c0_1672x990.png" width="1456" height="862" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bdf4d38d-c4cd-409c-ab8d-e83930be55c0_1672x990.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:862,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1865073,&quot;alt&quot;:&quot;Claude dynamic workflows: The Six Patterns Worth Knowing&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://www.productcompass.pm/i/200944612?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf4d38d-c4cd-409c-ab8d-e83930be55c0_1672x990.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude dynamic workflows: The Six Patterns Worth Knowing" title="Claude dynamic workflows: The Six Patterns Worth Knowing" srcset="https://substackcdn.com/image/fetch/$s_!Ap5R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf4d38d-c4cd-409c-ab8d-e83930be55c0_1672x990.png 424w, https://substackcdn.com/image/fetch/$s_!Ap5R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf4d38d-c4cd-409c-ab8d-e83930be55c0_1672x990.png 848w, https://substackcdn.com/image/fetch/$s_!Ap5R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf4d38d-c4cd-409c-ab8d-e83930be55c0_1672x990.png 1272w, https://substackcdn.com/image/fetch/$s_!Ap5R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdf4d38d-c4cd-409c-ab8d-e83930be55c0_1672x990.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">You don't invent these per task. You learn to recognize which one the task already is.</figcaption></figure></div><ul><li><p><strong>Classify-and-act</strong>: one agent decides the task type; the script routes accordingly. <em>Reach for it when: triaging inbound (bug vs feature vs noise), routing support tickets.</em></p></li><li><p><strong>Fan-out-and-synthesize</strong>: one agent per piece in parallel, then merge in code. <em>Reach for it when: competitor teardown, customer-call synthesis, a market map.</em></p></li><li><p><strong>Adversarial verification</strong>: separate agents check the output against a rubric. <em>Reach for it when: fact-checking a PRD against its sources, a second reviewer on a risky call.</em></p></li><li><p><strong>Generate-and-filter</strong>: many candidates, filtered and deduped, survivors kept. <em>Reach for it when: naming, positioning lines, experiment ideas.</em></p></li><li><p><strong>Tournament</strong>: N agents attempt the task different ways; judges compare until one wins. <em>Reach for it when: a strategy memo or a hard design with no single right approach.</em></p></li><li><p><strong>Loop-until-done</strong>: keep spawning until a stop condition (no findings, no errors, empty queue). <em>Reach for it when: a backlog triage or an audit where you don&#8217;t know how much work there is.</em></p></li></ul><blockquote><p><strong>For PMs, on your actual work:</strong></p><ul><li><p><strong>Synthesize customer interviews</strong> &#8594; one agent per transcript, merged into a themes-and-JTBD table. Every interview read, not the first 20 (the worked example below runs this on 100).</p></li><li><p><strong>Check 80 user stories against INVEST</strong> &#8594; a loop that runs until every story is checked, not until the model tires at 50.</p></li><li><p><strong>Pressure-test a PRD before the review</strong> &#8594; a separate agent red-teams it against your goal and surfaces the assumption you&#8217;d otherwise defend at launch.</p></li></ul><p>You're not learning to code. You're learning which weekly PM jobs can become standing workflows: set the goal once, save the procedure as a skill, and let it run end to end.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>4. A Worked Example: A Product Discovery Loop on 100 Interviews</strong></h2><p>This is where a workflow earns its keep.</p><p>Here&#8217;s the pipeline I ran on 100 synthetic customer interviews (1-2 pages each).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BVeV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc69a3bb4-6975-4329-9ee4-91bf9a031813_1920x819.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BVeV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc69a3bb4-6975-4329-9ee4-91bf9a031813_1920x819.png 424w, https://substackcdn.com/image/fetch/$s_!BVeV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc69a3bb4-6975-4329-9ee4-91bf9a031813_1920x819.png 848w, https://substackcdn.com/image/fetch/$s_!BVeV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc69a3bb4-6975-4329-9ee4-91bf9a031813_1920x819.png 1272w, https://substackcdn.com/image/fetch/$s_!BVeV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc69a3bb4-6975-4329-9ee4-91bf9a031813_1920x819.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BVeV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc69a3bb4-6975-4329-9ee4-91bf9a031813_1920x819.png" width="1456" height="621" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c69a3bb4-6975-4329-9ee4-91bf9a031813_1920x819.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:621,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2104312,&quot;alt&quot;:&quot;Claude dynamic workflows: A Worked Example: A Product Discovery Loop on 100 Interviews&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://www.productcompass.pm/i/200944612?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc69a3bb4-6975-4329-9ee4-91bf9a031813_1920x819.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude dynamic workflows: A Worked Example: A Product Discovery Loop on 100 Interviews" title="Claude dynamic workflows: A Worked Example: A Product Discovery Loop on 100 Interviews" srcset="https://substackcdn.com/image/fetch/$s_!BVeV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc69a3bb4-6975-4329-9ee4-91bf9a031813_1920x819.png 424w, https://substackcdn.com/image/fetch/$s_!BVeV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc69a3bb4-6975-4329-9ee4-91bf9a031813_1920x819.png 848w, https://substackcdn.com/image/fetch/$s_!BVeV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc69a3bb4-6975-4329-9ee4-91bf9a031813_1920x819.png 1272w, https://substackcdn.com/image/fetch/$s_!BVeV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc69a3bb4-6975-4329-9ee4-91bf9a031813_1920x819.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">100 interviews in, three prototypes out. The agents reason; the code routes, scores, and loops for free.</figcaption></figure></div><p>Six stages, each feeding the next:</p><ul><li><p><strong>Step 1: Extract</strong> &#8594; fan out one cheap-model <strong>agent per interview</strong>; each returns structured opportunities, personas, and verbatims. <em>Bounded, repetitive work: Haiku or Sonnet, not Opus.</em></p></li><li><p><strong>Step 2: Canonicalize</strong> &#8594; one agent <strong>clusters the raw opportunities</strong> into a canonical set. The extractors invent a fresh label per interview, so the same need arrives under a dozen names; merging synonyms is judgment, so it&#8217;s a model, not code.</p></li><li><p><strong>Step 3: Opportunity score</strong> &#8594; code ranks each canonical opportunity by frequency &#215; importance &#215; (5 - satisfaction). No model runs the math.</p></li><li><p><strong>Step 4: Generate and triage</strong> &#8594; for the top-scoring opportunities, an agent generates several <strong>solution ideas</strong>; a separate judge then <strong>ranks each by ROI (impact vs build effort)</strong> and keeps the top 3 to build. ROI re-orders the list, so a cheap, high-impact need can take a build slot from one that scored higher.</p></li><li><p><strong>Step 5: Build</strong> &#8594; for the top 3 ideas by ROI, an agent uses the frontend-design skill to write a distinctive, <strong>clickable HTML prototype</strong> I can open.</p></li><li><p><strong>Step 6: Inspect and rerun</strong> &#8594; a smoke check flags any prototype that fails to render, or any extraction that came back low-confidence, and the workflow reruns just that stage. <em>This is the real loop: the output of one stage decides whether an earlier stage runs again.</em></p></li></ul><p>That second stage wasn't in my first prompt. I'd written "merge and dedupe" and assumed code could do it; the counts came back fragmented. So I added one line to the prompt, cluster synonyms to a canonical set before counting, and Claude rewrote the harness with a clustering agent in front of the scorer. Even the fix lived off the model.</p><p>This is how it runs:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Zw5X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae725eec-465a-4c7e-bbe7-092b14c076bc_1616x1076.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Zw5X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae725eec-465a-4c7e-bbe7-092b14c076bc_1616x1076.png 424w, https://substackcdn.com/image/fetch/$s_!Zw5X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae725eec-465a-4c7e-bbe7-092b14c076bc_1616x1076.png 848w, https://substackcdn.com/image/fetch/$s_!Zw5X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae725eec-465a-4c7e-bbe7-092b14c076bc_1616x1076.png 1272w, https://substackcdn.com/image/fetch/$s_!Zw5X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae725eec-465a-4c7e-bbe7-092b14c076bc_1616x1076.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Zw5X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae725eec-465a-4c7e-bbe7-092b14c076bc_1616x1076.png" width="1456" height="969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ae725eec-465a-4c7e-bbe7-092b14c076bc_1616x1076.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1056503,&quot;alt&quot;:&quot;Claude dynamic workflows: Step 1: Extract &#8594; fan out one cheap-model agent per interview; each returns structured opportunities, personas, and verbatims&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://www.productcompass.pm/i/200944612?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae725eec-465a-4c7e-bbe7-092b14c076bc_1616x1076.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude dynamic workflows: Step 1: Extract &#8594; fan out one cheap-model agent per interview; each returns structured opportunities, personas, and verbatims" title="Claude dynamic workflows: Step 1: Extract &#8594; fan out one cheap-model agent per interview; each returns structured opportunities, personas, and verbatims" srcset="https://substackcdn.com/image/fetch/$s_!Zw5X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae725eec-465a-4c7e-bbe7-092b14c076bc_1616x1076.png 424w, https://substackcdn.com/image/fetch/$s_!Zw5X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae725eec-465a-4c7e-bbe7-092b14c076bc_1616x1076.png 848w, https://substackcdn.com/image/fetch/$s_!Zw5X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae725eec-465a-4c7e-bbe7-092b14c076bc_1616x1076.png 1272w, https://substackcdn.com/image/fetch/$s_!Zw5X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae725eec-465a-4c7e-bbe7-092b14c076bc_1616x1076.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"><strong>Step 1: Extract</strong> &#8594; fan out one cheap-model <strong>agent per interview</strong>; each returns structured opportunities, personas, and verbatims</figcaption></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_!tfVc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdadfd3-a42b-4e64-ac22-13eaed93da9c_2196x1741.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tfVc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdadfd3-a42b-4e64-ac22-13eaed93da9c_2196x1741.png 424w, https://substackcdn.com/image/fetch/$s_!tfVc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdadfd3-a42b-4e64-ac22-13eaed93da9c_2196x1741.png 848w, https://substackcdn.com/image/fetch/$s_!tfVc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdadfd3-a42b-4e64-ac22-13eaed93da9c_2196x1741.png 1272w, https://substackcdn.com/image/fetch/$s_!tfVc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdadfd3-a42b-4e64-ac22-13eaed93da9c_2196x1741.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tfVc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdadfd3-a42b-4e64-ac22-13eaed93da9c_2196x1741.png" width="1456" height="1154" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ffdadfd3-a42b-4e64-ac22-13eaed93da9c_2196x1741.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1154,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:302987,&quot;alt&quot;:&quot;Claude dynamic workflows: Step 3: Opportunity score&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://www.productcompass.pm/i/200944612?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdadfd3-a42b-4e64-ac22-13eaed93da9c_2196x1741.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude dynamic workflows: Step 3: Opportunity score" title="Claude dynamic workflows: Step 3: Opportunity score" srcset="https://substackcdn.com/image/fetch/$s_!tfVc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdadfd3-a42b-4e64-ac22-13eaed93da9c_2196x1741.png 424w, https://substackcdn.com/image/fetch/$s_!tfVc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdadfd3-a42b-4e64-ac22-13eaed93da9c_2196x1741.png 848w, https://substackcdn.com/image/fetch/$s_!tfVc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdadfd3-a42b-4e64-ac22-13eaed93da9c_2196x1741.png 1272w, https://substackcdn.com/image/fetch/$s_!tfVc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdadfd3-a42b-4e64-ac22-13eaed93da9c_2196x1741.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"><strong>Step 3: Opportunity score &#8594; </strong>What the code ranked, no model in the loop: <strong>622 raw opportunities clustered to 11 needs</strong>, scored frequency &#215; importance &#215; (5 - satisfaction).</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jazr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f24a350-511a-43bd-971f-ca0156c95b4c_2212x553.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jazr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f24a350-511a-43bd-971f-ca0156c95b4c_2212x553.png 424w, https://substackcdn.com/image/fetch/$s_!jazr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f24a350-511a-43bd-971f-ca0156c95b4c_2212x553.png 848w, https://substackcdn.com/image/fetch/$s_!jazr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f24a350-511a-43bd-971f-ca0156c95b4c_2212x553.png 1272w, https://substackcdn.com/image/fetch/$s_!jazr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f24a350-511a-43bd-971f-ca0156c95b4c_2212x553.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jazr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f24a350-511a-43bd-971f-ca0156c95b4c_2212x553.png" width="1456" height="364" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f24a350-511a-43bd-971f-ca0156c95b4c_2212x553.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:364,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:136596,&quot;alt&quot;:&quot;Claude dynamic workflows: Step 5: Build &#8594; The model picked 3 candidates by ROI, then built 3 HTML prototypes.&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://www.productcompass.pm/i/200944612?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f24a350-511a-43bd-971f-ca0156c95b4c_2212x553.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude dynamic workflows: Step 5: Build &#8594; The model picked 3 candidates by ROI, then built 3 HTML prototypes." title="Claude dynamic workflows: Step 5: Build &#8594; The model picked 3 candidates by ROI, then built 3 HTML prototypes." srcset="https://substackcdn.com/image/fetch/$s_!jazr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f24a350-511a-43bd-971f-ca0156c95b4c_2212x553.png 424w, https://substackcdn.com/image/fetch/$s_!jazr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f24a350-511a-43bd-971f-ca0156c95b4c_2212x553.png 848w, https://substackcdn.com/image/fetch/$s_!jazr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f24a350-511a-43bd-971f-ca0156c95b4c_2212x553.png 1272w, https://substackcdn.com/image/fetch/$s_!jazr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f24a350-511a-43bd-971f-ca0156c95b4c_2212x553.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><strong>Step 5: Build</strong> &#8594; The model picked <strong>3 candidates by ROI</strong>, then built 3 HTML prototypes.</figcaption></figure></div><p>I measured the run: <strong>113 agents spent 1.95M tokens in 12.5 min. 3/3 prototypes</strong> <strong>built and verified</strong>. The JavaScript that routed, scored, gated, and looped spent zero model tokens.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UanW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F739d5129-e1b1-4542-a9ec-78bc19359fb0_1616x1076.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UanW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F739d5129-e1b1-4542-a9ec-78bc19359fb0_1616x1076.png 424w, https://substackcdn.com/image/fetch/$s_!UanW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F739d5129-e1b1-4542-a9ec-78bc19359fb0_1616x1076.png 848w, https://substackcdn.com/image/fetch/$s_!UanW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F739d5129-e1b1-4542-a9ec-78bc19359fb0_1616x1076.png 1272w, https://substackcdn.com/image/fetch/$s_!UanW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F739d5129-e1b1-4542-a9ec-78bc19359fb0_1616x1076.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UanW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F739d5129-e1b1-4542-a9ec-78bc19359fb0_1616x1076.png" width="1456" height="969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/739d5129-e1b1-4542-a9ec-78bc19359fb0_1616x1076.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:595070,&quot;alt&quot;:&quot;Claude dynamic workflows: tep 5: Build &#8594; for the top 3 ideas by ROI, an agent uses the frontend-design skill to write a distinctive, clickable HTML prototype I can open.&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://www.productcompass.pm/i/200944612?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F739d5129-e1b1-4542-a9ec-78bc19359fb0_1616x1076.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude dynamic workflows: tep 5: Build &#8594; for the top 3 ideas by ROI, an agent uses the frontend-design skill to write a distinctive, clickable HTML prototype I can open." title="Claude dynamic workflows: tep 5: Build &#8594; for the top 3 ideas by ROI, an agent uses the frontend-design skill to write a distinctive, clickable HTML prototype I can open." srcset="https://substackcdn.com/image/fetch/$s_!UanW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F739d5129-e1b1-4542-a9ec-78bc19359fb0_1616x1076.png 424w, https://substackcdn.com/image/fetch/$s_!UanW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F739d5129-e1b1-4542-a9ec-78bc19359fb0_1616x1076.png 848w, https://substackcdn.com/image/fetch/$s_!UanW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F739d5129-e1b1-4542-a9ec-78bc19359fb0_1616x1076.png 1272w, https://substackcdn.com/image/fetch/$s_!UanW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F739d5129-e1b1-4542-a9ec-78bc19359fb0_1616x1076.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"><strong>Done </strong>&#8594; One of the three winners as an interactive prototype</figcaption></figure></div><p>That's the payoff. The rest is how you build it &#128071;</p><div class="callout-block" data-callout="true"><p><em>The free preview ends here. Below: </em></p><ul><li><p><em>5. How to Build and Run a Dynamic Workflow: the six-stage harness, the full run on video, shipping it as a skill, scheduling it with /goal + a budget, and containing it; </em></p></li><li><p><em>6. When a Dynamic Workflow Is Overkill (and when a subagent is enough); </em></p></li><li><p><em>The dynamic-workflows experiment repo (the synthetic interviews, the harness, and the prompts) if you want to run it yourself.</em></p></li></ul></div>
      <p>
          <a href="https://www.productcompass.pm/p/claude-code-dynamic-workflows">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[PM Skills 2.0: Red-Team Your Roadmap, Then Check the Code Before You Ship]]></title><description><![CDATA[68 free Claude skills, 42 commands, 9 plugins. This release adds a new /red-team-prd command and the AI Shipping Kit: a way to document, audit, and ship AI-built apps with human sign-off.]]></description><link>https://www.productcompass.pm/p/pm-skills-2-red-team-ship</link><guid isPermaLink="false">https://www.productcompass.pm/p/pm-skills-2-red-team-ship</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Fri, 05 Jun 2026 17:55:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c7bb8a69-c14a-404a-b9d0-14fd67cc4617_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most PRDs only survive polite feedback.</p><p>You write the plan, you share it, people nod. The assumption that sinks it never gets named until launch.</p><p>So I built a command that names it first.</p><p>Paste a roadmap, a PRD, or a one-line bet into Claude. You get back the riskiest assumptions, ranked by what would hurt most, what is most likely to be wrong, and what is cheapest to test this week.</p><p>The impolite questions, before the market asks them.</p><p>It shipped today in <a href="https://github.com/phuryn/pm-skills">PM Skills 2.0</a>, the free, MIT-licensed marketplace 12,000 of you have starred on GitHub.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7dnu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e471330-6a43-40b8-bfc7-f015929b91be_2555x840.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7dnu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e471330-6a43-40b8-bfc7-f015929b91be_2555x840.png 424w, https://substackcdn.com/image/fetch/$s_!7dnu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e471330-6a43-40b8-bfc7-f015929b91be_2555x840.png 848w, https://substackcdn.com/image/fetch/$s_!7dnu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e471330-6a43-40b8-bfc7-f015929b91be_2555x840.png 1272w, https://substackcdn.com/image/fetch/$s_!7dnu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e471330-6a43-40b8-bfc7-f015929b91be_2555x840.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7dnu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e471330-6a43-40b8-bfc7-f015929b91be_2555x840.png" width="1456" height="479" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e471330-6a43-40b8-bfc7-f015929b91be_2555x840.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:479,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:330596,&quot;alt&quot;:&quot;PM Skills 2.0: Red-Team Your Roadmap, Then Check the Code Before You Ship&quot;,&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://www.productcompass.pm/i/200774900?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e471330-6a43-40b8-bfc7-f015929b91be_2555x840.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PM Skills 2.0: Red-Team Your Roadmap, Then Check the Code Before You Ship" title="PM Skills 2.0: Red-Team Your Roadmap, Then Check the Code Before You Ship" srcset="https://substackcdn.com/image/fetch/$s_!7dnu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e471330-6a43-40b8-bfc7-f015929b91be_2555x840.png 424w, https://substackcdn.com/image/fetch/$s_!7dnu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e471330-6a43-40b8-bfc7-f015929b91be_2555x840.png 848w, https://substackcdn.com/image/fetch/$s_!7dnu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e471330-6a43-40b8-bfc7-f015929b91be_2555x840.png 1272w, https://substackcdn.com/image/fetch/$s_!7dnu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e471330-6a43-40b8-bfc7-f015929b91be_2555x840.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 is the biggest update since the <a href="https://www.productcompass.pm/p/pm-skills-marketplace-claude">March launch</a>:</p><ul><li><p>68 skills</p></li><li><p>42 commands</p></li><li><p>9 plugins</p></li><li><p>one new AI Shipping Kit</p></li><li><p>one new red-team command for PRDs, roadmaps, and strategy</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_!6qsb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F903b947b-e203-461d-b96b-015bb472703e_2600x2539.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6qsb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F903b947b-e203-461d-b96b-015bb472703e_2600x2539.png 424w, https://substackcdn.com/image/fetch/$s_!6qsb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F903b947b-e203-461d-b96b-015bb472703e_2600x2539.png 848w, https://substackcdn.com/image/fetch/$s_!6qsb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F903b947b-e203-461d-b96b-015bb472703e_2600x2539.png 1272w, https://substackcdn.com/image/fetch/$s_!6qsb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F903b947b-e203-461d-b96b-015bb472703e_2600x2539.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6qsb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F903b947b-e203-461d-b96b-015bb472703e_2600x2539.png" width="1456" height="1422" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/903b947b-e203-461d-b96b-015bb472703e_2600x2539.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1422,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:582473,&quot;alt&quot;:&quot;PM Skills 2.0 now covers the full PM workflow, from discovery and strategy to execution and AI-built code review.&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://www.productcompass.pm/i/200774900?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F903b947b-e203-461d-b96b-015bb472703e_2600x2539.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PM Skills 2.0 now covers the full PM workflow, from discovery and strategy to execution and AI-built code review." title="PM Skills 2.0 now covers the full PM workflow, from discovery and strategy to execution and AI-built code review." srcset="https://substackcdn.com/image/fetch/$s_!6qsb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F903b947b-e203-461d-b96b-015bb472703e_2600x2539.png 424w, https://substackcdn.com/image/fetch/$s_!6qsb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F903b947b-e203-461d-b96b-015bb472703e_2600x2539.png 848w, https://substackcdn.com/image/fetch/$s_!6qsb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F903b947b-e203-461d-b96b-015bb472703e_2600x2539.png 1272w, https://substackcdn.com/image/fetch/$s_!6qsb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F903b947b-e203-461d-b96b-015bb472703e_2600x2539.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.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>1. What PM Skills Actually Is</strong></h2><p>Generic Claude gives you text. PM Skills gives you structure.</p><p>Ask a raw model to &#8220;prioritize this backlog&#8221; and you get a confident paragraph. Ask it with the <mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">prioritization-frameworks</mark> skill loaded and it runs the actual framework, with the trade-offs named and the math shown. </p><p>The difference is not the model. It is the judgment encoded in the skill.</p><p>Each skill turns a proven PM method into a reusable workflow: discovery, assumption mapping, prioritization, strategy, pricing, GTM, execution, analytics, and now AI shipping.</p><p>There are three pieces:</p><ul><li><p><strong>Skills</strong> give Claude a method or framework. They load automatically when the work matches.</p></li><li><p><strong>Commands</strong> are slash workflows you trigger directly. <code>/discover</code> chains four skills: brainstorm ideas, identify assumptions, prioritize assumptions, and design experiments.</p></li><li><p><strong>Plugins</strong> group related skills and commands by PM domain. Installing the marketplace gives you all 9 at once in Cowork.</p></li></ul><p>The full catalog lives in the <a href="https://github.com/phuryn/pm-skills">GitHub README</a>. For this release, two plugins changed.</p><ul><li><p><strong>pm-execution</strong> was updated with one new skill, <mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">strategy-red-team</mark>, and one new command, <mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/red-team-prd</mark>.</p></li><li><p><strong>pm-ai-shipping</strong> is new: two skills, five commands, and a workflow for turning an AI-built repo into something a human can review.</p></li></ul><div class="callout-block" data-callout="true"><p><strong>For PMs:</strong> you do not have to learn the catalog. Install it once, then work normally. The right skills surface when the task matches.</p></div><div><hr></div><h2><strong>2. The New Command: /red-team-prd</strong></h2><p>This is the one to try first, because you can feel it in thirty seconds.</p><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/pre-mortem</mark> imagines the plan already failed and narrates why. <mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/red-team-prd</mark> does the opposite: it attacks the live assumptions now, while you can still change them, and hands you the cheapest test for each.</p><p>Here is what that looks like on a one-line bet:</p><div class="callout-block" data-callout="true"><p><strong>You type:</strong> /red-team-prd Prioritize AI onboarding, activation is our bottleneck</p><p><strong>You get back:</strong></p><ul><li><p><strong>Claim:</strong> Activation is the constraint on growth.</p><ul><li><p><strong>Fails if:</strong> retention, not activation, is where users actually drop off.</p></li><li><p><strong>Evidence to get this week:</strong> the activation-to-retention funnel for the last 3 cohorts.</p></li><li><p><strong>Cheapest test:</strong> pull the funnel. One afternoon, no engineering.</p></li></ul></li><li><p><strong>Claim:</strong> AI onboarding raises activation.</p><ul><li><p><strong>Fails if:</strong> AI onboarding adds setup anxiety for first-time users.</p></li><li><p><strong>Cheapest test:</strong> a 5-user moderated walkthrough of a clickable prototype.</p></li></ul></li></ul></div><p>It also tells you what is already well-reasoned and what it could not assess. A useful red team does not manufacture doubt to look smart. If the plan is strong, it should say so.</p><p>Five real kill-assumptions with tests beat twenty generic risks.</p><div class="callout-block" data-callout="true"><p><strong>For PMs:</strong> run it on your own roadmap before the review, not after. The point is to kill a bad bet on a Tuesday instead of defending it in front of leadership a quarter later.</p></div><div><hr></div><h2><strong>3. The New Plugin: The AI Shipping Kit</strong></h2><p>The other half of the job changed this year. PMs and founders are now accountable for code an AI wrote.</p><p>AI writes fast, but it leaves no written record of intent:</p><ul><li><p>what the system should do,</p></li><li><p>who may do what,</p></li><li><p>where the secrets live,</p></li><li><p>which permissions are actually enforced,</p></li><li><p>which rules are verified by tests.</p></li></ul><p>The AI Shipping Kit restores that record.</p><p>The umbrella command, <mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/ship-check</mark>, answers the question you actually have:</p><p><em><strong>Is this safe to ship?</strong></em></p><p>It:</p><ul><li><p>documents the system,</p></li><li><p>audits the code against that documented intent,</p></li><li><p>maps test coverage,</p></li><li><p>and compiles a shipping packet a human can sign off on.</p></li></ul><p>The gate is intended vs. implemented.</p><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/ship-check</mark> looks for the places where the product promise and the repo disagree: the permission that is documented but never enforced, the scheduled-job endpoint anyone can call, the test that proves nothing about the workflow it claims to cover.</p><p>You do not need to be technical to run it. </p><p>You need to know what the system was supposed to do.</p><p>The kit has two skills:</p><ul><li><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">shipping-artifacts</mark> defines the docs that make an AI-built app reviewable: architecture, flows, permissions, variables, tests, and conditional docs for email, scheduled jobs, SEO, or automation.</p></li><li><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">intended-vs-implemented</mark> audits the gap between documented intent and actual code, with evidence on both sides.</p></li></ul><p>And five commands:</p><ul><li><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/document-app</mark> creates the system documentation.</p></li><li><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/security-audit-static</mark> checks security against the documented intent.</p></li><li><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/performance-audit-static</mark> checks over-fetching, missing indexes, and caching.</p></li><li><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/derive-tests</mark> maps what is tested, what is proposed, and what is unverified.</p></li><li><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/ship-check</mark> runs the full sequence and compiles the shipping packet.</p></li></ul><div class="callout-block" data-callout="true"><p><strong>For PMs:</strong> &#8220;the AI wrote it&#8221; is not a sign-off. <mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/ship-check</mark> turns a <a href="https://www.productcompass.pm/p/vibe-coding-vs-vibe-engineering">agent-engineered</a> repo into something a human can put their name on.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>4. How to Install It</strong></h2><p>The repo is the source of truth: <a href="https://github.com/phuryn/pm-skills">https://github.com/phuryn/pm-skills</a></p><p>If you use <strong>Claude Cowork</strong>, install the whole marketplace:</p><ol><li><p>Open <strong>Customize</strong> in the bottom-left corner.</p></li><li><p>Go to <strong>Browse plugins</strong> -&gt; <strong>Personal</strong> -&gt; <strong>+</strong>.</p></li><li><p>Select <strong>Add marketplace from GitHub</strong>.</p></li><li><p>Enter <em>https://github.com/phuryn/pm-skills</em></p></li></ol><p>All 9 plugins install at once. Enable those you need:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;bf32abb7-dfdf-4c54-8160-79addefefaad&quot;,&quot;duration&quot;:null}"></div><p>If you use <strong>Claude Code</strong>, add the marketplace:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;9e3cd404-f049-4b12-a8c8-9fd02cea6f78&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">claude plugin marketplace add phuryn/pm-skills</code></pre></div><p>Then install the plugins you want. To install the full marketplace:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;a304e063-62d9-4ba1-8484-dc6365570d86&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">claude plugin install pm-product-discovery@pm-skills
claude plugin install pm-product-strategy@pm-skills
claude plugin install pm-execution@pm-skills
claude plugin install pm-market-research@pm-skills
claude plugin install pm-data-analytics@pm-skills
claude plugin install pm-go-to-market@pm-skills
claude plugin install pm-marketing-growth@pm-skills
claude plugin install pm-toolkit@pm-skills
claude plugin install pm-ai-shipping@pm-skills</code></pre></div><p>If you only want the new and updated pieces from this release:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;46189aa8-2c9a-4c4c-b1ca-bd88fa6923bf&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">claude plugin install pm-execution@pm-skills
claude plugin install pm-ai-shipping@pm-skills</code></pre></div><p>New to Claude Code? Start with the <a href="https://www.productcompass.pm/p/claude-code-beginners-guide">beginner&#8217;s guide</a>, then the <a href="https://www.productcompass.pm/p/claude-code-guide">advanced guide</a> when you want the power-user setup.</p><p>The commands flow into each other. A real week looks less like a feature list and more like one continuous thread:</p><ul><li><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/discover</mark> a new idea,</p></li><li><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/write-prd</mark> the winner,</p></li><li><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/red-team-prd</mark> the PRD before the review,</p></li><li><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/ship-check</mark> once the code exists.</p></li></ul><p>After any command finishes, it suggests the natural next one.</p><p>One more note: the skills are portable. The slash commands are Claude-specific, but the <code>SKILL.md</code> files follow the universal skill format and can be copied into tools like Codex CLI, Cursor, Gemini CLI, OpenCode, or Kiro.</p><p>The <a href="https://github.com/phuryn/pm-skills#installation">README</a> has the exact copy instructions.</p><div><hr></div><h2><strong>5. How It Composes With PM Brain</strong></h2><p>PM Skills gives Claude the method. <a href="https://www.productcompass.pm/p/pm-brain-os">PM Brain</a> gives Claude your product 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_!-DDV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3b81e93-646d-40c1-abaa-04b85f5ea56c_1456x486.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-DDV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3b81e93-646d-40c1-abaa-04b85f5ea56c_1456x486.png 424w, https://substackcdn.com/image/fetch/$s_!-DDV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3b81e93-646d-40c1-abaa-04b85f5ea56c_1456x486.png 848w, https://substackcdn.com/image/fetch/$s_!-DDV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3b81e93-646d-40c1-abaa-04b85f5ea56c_1456x486.png 1272w, https://substackcdn.com/image/fetch/$s_!-DDV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3b81e93-646d-40c1-abaa-04b85f5ea56c_1456x486.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-DDV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3b81e93-646d-40c1-abaa-04b85f5ea56c_1456x486.png" width="1456" height="486" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3b81e93-646d-40c1-abaa-04b85f5ea56c_1456x486.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:486,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:212989,&quot;alt&quot;:&quot;PM Skills gives Claude the method. PM Brain gives Claude your product context.&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://www.productcompass.pm/i/200774900?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3b81e93-646d-40c1-abaa-04b85f5ea56c_1456x486.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PM Skills gives Claude the method. PM Brain gives Claude your product context." title="PM Skills gives Claude the method. PM Brain gives Claude your product context." srcset="https://substackcdn.com/image/fetch/$s_!-DDV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3b81e93-646d-40c1-abaa-04b85f5ea56c_1456x486.png 424w, https://substackcdn.com/image/fetch/$s_!-DDV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3b81e93-646d-40c1-abaa-04b85f5ea56c_1456x486.png 848w, https://substackcdn.com/image/fetch/$s_!-DDV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3b81e93-646d-40c1-abaa-04b85f5ea56c_1456x486.png 1272w, https://substackcdn.com/image/fetch/$s_!-DDV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3b81e93-646d-40c1-abaa-04b85f5ea56c_1456x486.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>PM Brain is a markdown second brain for product managers: strategy, users, decisions, hypotheses, stakeholders, and recurring knowledge in plain files on your laptop.</p><p>Run them together and the frameworks stop being generic.</p><p><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/red-team-prd</mark> can attack your plan using what PM Brain knows about your real constraints. <mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/strategy</mark> can build on your actual positioning. <mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">/ship-check</mark> can review a repo against documented product intent instead of a blank canvas.</p><p>One supplies the rigor. The other supplies the context.</p><div><hr></div><h2><strong>6. Start Here</strong></h2><p>If you have a plan you are not sure about, run:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;e4984e2e-730d-4685-ad98-58166760cd3c&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">/red-team-prd [your PRD, roadmap, or strategy]</code></pre></div><p>If you have an AI-built app you are close to shipping, run:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;27516955-7e0d-4fc7-a9ce-656be5488669&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">/ship-check [repo or folder]</code></pre></div><p>If you are starting from zero, run:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;9f1703fe-b3d7-424f-8aff-fca2b5d53179&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">/discover [your product idea]</code></pre></div><p>Everything is free and MIT-licensed. If it helps, <a href="https://github.com/phuryn/pm-skills">star the repo</a> so the next PM finds it.</p><p>AI does not fix weak product judgment.</p><p>It scales it.</p><p>PM Skills is where the judgment lives.</p><div><hr></div><h2><strong>Thanks for Reading The Product Compass</strong></h2><p>It&#8217;s amazing to learn and grow together.</p><p>Have a great rest of the week,<br>Pawe&#322;</p><div><hr></div><h2><strong>Resources</strong></h2><p><strong>Get the marketplace (free):</strong></p><ul><li><p><a href="https://github.com/phuryn/pm-skills">PM Skills on GitHub</a> - 9 plugins, 68 skills, 42 commands, MIT-licensed.</p></li><li><p><a href="https://github.com/phuryn/pm-brain">PM Brain</a> - the markdown second brain that composes with it. MIT.</p></li></ul><p><strong>Go deeper (The Product Compass):</strong></p><ul><li><p><a href="https://www.productcompass.pm/p/claude-cowork-guide">Claude Cowork for PMs</a> - agents without IDE, start here.</p></li><li><p><a href="https://www.productcompass.pm/p/claude-code-beginners-guide">Claude Code: the beginner&#8217;s guide</a> - start here if you are new to IDE.</p></li><li><p><a href="https://www.productcompass.pm/p/claude-code-guide">Claude Code: the advanced guide</a> - the power-user setup after you get the basics.</p></li><li><p><a href="https://www.productcompass.pm/p/codex-setup-for-pms">Codex setup for PMs</a> - wiring a second model alongside Claude. I've found it catches ~80% of my errors.</p></li><li><p><a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">Intent engineering for AI agents</a> - lead with context, not instructions.</p></li><li><p><a href="https://www.productcompass.pm/p/agentic-engineering-for-pms">I don&#8217;t review the code, I review the artifacts</a> - the review method behind the AI Shipping Kit, plus the downloadable artifact prompt pack.</p></li><li><p><a href="https://www.productcompass.pm/p/penetration-testing-performance-testing-prompts">Security and performance testing prompts</a> - the worked teardowns the kit automates.</p></li><li><p><a href="https://www.productcompass.pm/p/stop-hitting-claude-code-limits">Claude Code's Limits Are Generous. The Problem Is Your Setup</a> - how I cut my Claude costs over 5.5x.</p></li><li><p><a href="https://www.productcompass.pm/p/claude-md-snippets">Three CLAUDE.md Blocks That Make Claude Get Smarter Every Session</a> - critical concepts for building self-improving agentic systems.</p></li><li><p><a href="https://www.productcompass.pm/p/vibe-coding-vs-vibe-engineering">Vibe Coding vs. Vibe Engineering</a> published in Sep, 2025 (in 2026, labeled &#8220;agentic engineering&#8221; by Andrej Karpathy)</p></li></ul><p><em><strong>If you are curious, a few things I&#8217;m shipping:</strong></em></p><ul><li><p><em><a href="https://marketplace.visualstudio.com/items?itemName=PawelHuryn.claude-usage-phuryn">claude-usage</a> - Embed your Claude Code usage dashboard (token counts, costs, sessions, projects) directly inside VS Code.</em></p></li><li><p><em><a href="https://github.com/phuryn/agentlift">agentlift</a> - Deploy agents to Claude Managed Agents, AWS Bedrock AgentCore, and Google. One folder, one definition, one command.</em></p></li><li><p><em><a href="https://marketplace.visualstudio.com/items?itemName=PawelHuryn.grok-vscode-phuryn">Grok Build for VS Code</a> - The only visual UI for Grok Build (non-CLI), 1,400 active installations. A bet in case Grok surprises us.</em></p></li></ul>]]></content:encoded></item><item><title><![CDATA[I Don't Review the Code. I Review the Artifacts.]]></title><description><![CDATA[You don't have to code. What you review instead, why it's the PM job now, and the prompt pack for agentic engineering.]]></description><link>https://www.productcompass.pm/p/agentic-engineering-for-pms</link><guid isPermaLink="false">https://www.productcompass.pm/p/agentic-engineering-for-pms</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Sun, 31 May 2026 22:50:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/da3e8fce-72c8-4b50-8d3c-59425fd08696_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the last two weeks I shipped three things to <a href="https://github.com/phuryn">my GitHub</a>: <strong><a href="https://www.productcompass.pm/p/pm-brain-os">PM Brain</a></strong>, a second brain for product managers; <strong><a href="https://marketplace.visualstudio.com/items?itemName=PawelHuryn.claude-usage-phuryn">Claude Usage for VS Code</a></strong>; and <strong><a href="https://www.productcompass.pm/p/grok-build-vscode">Grok Build</a></strong>, another VS Code extension. In the same two weeks I updated accredia.io (B2B2C), wrote articles, ran experiments on agents, and taught a cohort of students building with Claude.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U0Cy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d9ff22-ec61-4fa0-be9e-fe3c8ece125a_3103x1765.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U0Cy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d9ff22-ec61-4fa0-be9e-fe3c8ece125a_3103x1765.png 424w, https://substackcdn.com/image/fetch/$s_!U0Cy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d9ff22-ec61-4fa0-be9e-fe3c8ece125a_3103x1765.png 848w, https://substackcdn.com/image/fetch/$s_!U0Cy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d9ff22-ec61-4fa0-be9e-fe3c8ece125a_3103x1765.png 1272w, https://substackcdn.com/image/fetch/$s_!U0Cy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d9ff22-ec61-4fa0-be9e-fe3c8ece125a_3103x1765.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U0Cy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d9ff22-ec61-4fa0-be9e-fe3c8ece125a_3103x1765.png" width="1456" height="828" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c4d9ff22-ec61-4fa0-be9e-fe3c8ece125a_3103x1765.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:828,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:738547,&quot;alt&quot;:&quot;Pawel Huryn GitHub: Grok Build, Claude Code Usage, PM Brain OS, Accredia.io&quot;,&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://www.productcompass.pm/i/199988562?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d9ff22-ec61-4fa0-be9e-fe3c8ece125a_3103x1765.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Pawel Huryn GitHub: Grok Build, Claude Code Usage, PM Brain OS, Accredia.io" title="Pawel Huryn GitHub: Grok Build, Claude Code Usage, PM Brain OS, Accredia.io" srcset="https://substackcdn.com/image/fetch/$s_!U0Cy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d9ff22-ec61-4fa0-be9e-fe3c8ece125a_3103x1765.png 424w, https://substackcdn.com/image/fetch/$s_!U0Cy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d9ff22-ec61-4fa0-be9e-fe3c8ece125a_3103x1765.png 848w, https://substackcdn.com/image/fetch/$s_!U0Cy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d9ff22-ec61-4fa0-be9e-fe3c8ece125a_3103x1765.png 1272w, https://substackcdn.com/image/fetch/$s_!U0Cy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4d9ff22-ec61-4fa0-be9e-fe3c8ece125a_3103x1765.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>More than 800 tests and eval checks across the three repos, from unit tests to <a href="https://github.com/phuryn/pm-brain/blob/main/tests/RESULTS.md">LLM judges</a>, nearly all green. I&#8217;m a PM, not an engineer, and I barely read the code.</p><div class="callout-block" data-callout="true"><p>&#128161; The uncomfortable part for PMs is that this isn&#8217;t a future workflow. <strong>It&#8217;s the job now,</strong> once the agent builds faster than the team can align.</p></div><p>And this isn&#8217;t just me, or just indie builders shipping side projects. A Google PM described the shift from writing-first to building-first:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/i/status/1950336434126336154&quot;,&quot;full_text&quot;:&quot;At <span class=\&quot;tweet-fake-link\&quot;>@Google</span>, we are moving from a writing&#8209;first culture to a building&#8209;first one.\n\nWriting was a proxy for clear thinking, optimized for scarce eng resources and long dev cycles - you had to get it right before you built.\n\nNow, when time to vibe-code prototype &#8776; time to write PRD,&quot;,&quot;username&quot;:&quot;realmadhuguru&quot;,&quot;name&quot;:&quot;Madhu Guru&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1487465096242737157/AL-7r3o0_normal.jpg&quot;,&quot;date&quot;:&quot;2025-07-29T23:23:36.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:205,&quot;retweet_count&quot;:419,&quot;like_count&quot;:4824,&quot;impression_count&quot;:641577,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p>It&#8217;s not only Google. </p><p><a href="https://www.businessinsider.com/meta-vibe-coding-build-prototype-apps-mark-zuckerberg-2025-11">Meta PMs now vibe-code prototypes</a> and demo them straight to Zuckerberg, and the company added a prototyping round to its PM interview; LinkedIn replaced its APM program with an <a href="https://www.mindtheproduct.com/be-a-product-builder-period/">&#8220;Associate Product Builder&#8221;</a> role gated on a live AI build. The prototype is becoming the PM&#8217;s first deliverable inside large companies, not a side-project trick.</p><p>So what did I review? The artifacts:</p><ul><li><p>the plan before it ran</p></li><li><p>the decisions it encoded</p></li><li><p>the strategy the agent reads every turn</p></li><li><p>the docs that say what the thing does and why</p></li></ul><div class="callout-block" data-callout="true"><p>&#128161; A large part of the PM job is moving from writing spec to maintaining the context that steers agents and reviewing the artifacts that tell you what changed. The conversations with users, stakeholders, and teams stay; the build loop changes.</p></div><p>It&#8217;s the same shift whether your surface is a repo, Claude Code, Cowork, or a chat window. Experimenting got cheaper than building agreement, and that reorders the work.</p><p>None of them started with a spec. Each started with a conversation, and what I kept was the artifacts.</p><p><strong>What this post covers:</strong></p><ul><li><p>What the artifact layer is, and why a PM reviews it instead of the code</p></li><li><p>Why building now comes before agreement, not after</p></li><li><p>Where your strategy has to live to actually steer the agent</p></li><li><p>The boundaries that let you hand an agent real autonomy and walk away</p></li><li><p>The AI Shipping Artifact Prompt Pack to download at the end</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>What I Actually Ship Now</strong></h2><p>The product is the obvious artifact: the extension on the Marketplace, the tool people install. The one that decides whether the next change goes well is less obvious. It&#8217;s the <strong>knowledge layer</strong>. </p><p>Not the README or the changelog, every repo has those. The docs that hold the decisions: why this architecture, who it&#8217;s for, what we ruled out: </p><ul><li><p>In PM Brain that&#8217;s files like <code>architecture.md</code> and <code>why-this-matters.md</code></p></li><li><p>For accredia.io it was more than twenty docs, from <code>database.md</code> and <code>security.md</code> to a <code>fuckups.md</code></p></li><li><p>For a multi-agent app I built with my cohort, it was the agent contracts: what each agent takes in, what it returns, which tools it can touch, and how they hand off.</p></li></ul><div class="callout-block" data-callout="true"><p><strong>&#128161;</strong> Same layer whether I&#8217;m shipping an extension, a knowledge system, or a system of agents.</p></div><p>Keeping that layer true is a question of what to automate, and when:</p><ul><li><p>In claude-usage, git tags are <a href="https://github.com/phuryn/claude-usage/blob/main/.github/workflows/tag-on-merge.yml">generated from the CHANGELOG automatically</a>: the changelog is the source of truth, the tag is a deterministic projection. </p></li><li><p>In Grok I keep version bumps manual on purpose, because automating them there hasn&#8217;t earned its keep yet. </p></li></ul><div class="callout-block" data-callout="true"><p><strong>&#128204;</strong> <strong>For PMs:</strong> Automate the friction that&#8217;s real and recurring, not the friction you imagine you&#8217;ll have.</p></div><p>Seven things shipping this way taught me.</p><div><hr></div><h2><strong>Lesson 1: Review Artifacts, Not Code</strong></h2><p>The question I get from PMs is &#8220;do I have to learn to code?&#8221; I don&#8217;t, and I don&#8217;t review the code, beyond the odd snippet. </p><div class="callout-block" data-callout="true"><p><strong>&#128161;</strong> The code is the agent&#8217;s, the way code in any company is the engineers&#8217;, not the CEO&#8217;s. The CEO is still accountable for what ships, but doesn&#8217;t earn that accountability by sitting in the editor. What I review is the artifact layer above it.</p></div><p>That layer isn&#8217;t a side effect of the build. It&#8217;s a deliberate, human-and-agent-readable summary of the solution, so neither of us has to reverse-engineer the product from the source. It often duplicates what the code already says, and that&#8217;s the point: it&#8217;s far easier to consume. </p><p>It&#8217;s also what I check the code against. When I care whether the implementation matches the intent, whether the security model holds, whether performance is where it should be, I read the artifact, not the diff.</p><p>So when work comes back, I <strong>don&#8217;t read changes in the code</strong>. I read changes in the artifacts. I review across three modes, escalating only as far as the decision needs:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Frz6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d5042bd-42f8-4f8b-8f30-1e10e5264572_1000x667.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Frz6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d5042bd-42f8-4f8b-8f30-1e10e5264572_1000x667.png 424w, https://substackcdn.com/image/fetch/$s_!Frz6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d5042bd-42f8-4f8b-8f30-1e10e5264572_1000x667.png 848w, https://substackcdn.com/image/fetch/$s_!Frz6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d5042bd-42f8-4f8b-8f30-1e10e5264572_1000x667.png 1272w, https://substackcdn.com/image/fetch/$s_!Frz6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d5042bd-42f8-4f8b-8f30-1e10e5264572_1000x667.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Frz6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d5042bd-42f8-4f8b-8f30-1e10e5264572_1000x667.png" width="1000" height="667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d5042bd-42f8-4f8b-8f30-1e10e5264572_1000x667.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:667,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:766479,&quot;alt&quot;:&quot;Review Artifacts, Not Code; Agentic Engineering&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://www.productcompass.pm/i/199988562?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d5042bd-42f8-4f8b-8f30-1e10e5264572_1000x667.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Review Artifacts, Not Code; Agentic Engineering" title="Review Artifacts, Not Code; Agentic Engineering" srcset="https://substackcdn.com/image/fetch/$s_!Frz6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d5042bd-42f8-4f8b-8f30-1e10e5264572_1000x667.png 424w, https://substackcdn.com/image/fetch/$s_!Frz6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d5042bd-42f8-4f8b-8f30-1e10e5264572_1000x667.png 848w, https://substackcdn.com/image/fetch/$s_!Frz6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d5042bd-42f8-4f8b-8f30-1e10e5264572_1000x667.png 1272w, https://substackcdn.com/image/fetch/$s_!Frz6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d5042bd-42f8-4f8b-8f30-1e10e5264572_1000x667.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>Cheapest mode first. A durable artifact is the receipt: it survives the context window, and it survives me. Only commit one when the alternative is losing the thread.</p><p>Here&#8217;s one from a build. I opened the session with a document, not a ticket: <em>&#8220;See the research in plan-mode.md. Can we really implement that logic reliably on our side?&#8221;</em> </p><p>The agent didn&#8217;t start writing code. It read the doc, ran a quick probe to test the doc&#8217;s core assumption against the real tool, and reported what it found. I signed off on the approach from that exchange, not from a single line of the implementation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hX4e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e6769d-e5e6-4db5-a934-861e1770aaa9_851x1132.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hX4e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e6769d-e5e6-4db5-a934-861e1770aaa9_851x1132.png 424w, https://substackcdn.com/image/fetch/$s_!hX4e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e6769d-e5e6-4db5-a934-861e1770aaa9_851x1132.png 848w, https://substackcdn.com/image/fetch/$s_!hX4e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e6769d-e5e6-4db5-a934-861e1770aaa9_851x1132.png 1272w, https://substackcdn.com/image/fetch/$s_!hX4e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e6769d-e5e6-4db5-a934-861e1770aaa9_851x1132.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hX4e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e6769d-e5e6-4db5-a934-861e1770aaa9_851x1132.png" width="851" height="1132" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6e6769d-e5e6-4db5-a934-861e1770aaa9_851x1132.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1132,&quot;width&quot;:851,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1630385,&quot;alt&quot;:&quot;AI Coding Agents: Work from the artifact&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://www.productcompass.pm/i/199988562?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e6769d-e5e6-4db5-a934-861e1770aaa9_851x1132.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Coding Agents: Work from the artifact" title="AI Coding Agents: Work from the artifact" srcset="https://substackcdn.com/image/fetch/$s_!hX4e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e6769d-e5e6-4db5-a934-861e1770aaa9_851x1132.png 424w, https://substackcdn.com/image/fetch/$s_!hX4e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e6769d-e5e6-4db5-a934-861e1770aaa9_851x1132.png 848w, https://substackcdn.com/image/fetch/$s_!hX4e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e6769d-e5e6-4db5-a934-861e1770aaa9_851x1132.png 1272w, https://substackcdn.com/image/fetch/$s_!hX4e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e6769d-e5e6-4db5-a934-861e1770aaa9_851x1132.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="callout-block" data-callout="true"><p><strong>&#128204; For PMs:</strong> the unit of review changed. You're not approving lines of code. You're approving a description of what changed, why, and whether it should ship. If your artifacts can't answer that, no amount of code-reading will.</p></div><p>And this matters more on a team, not less: your teammates don&#8217;t carry your context in their heads, so the artifact layer is how a decision or a hard-won finding survives past the person who made it.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>Lesson 2: Build Before Building Agreement</strong></h2><p>The old motion was: write the PRD, get everyone to agree, then build. That order made sense when building was the expensive part. You spent weeks of engineering, so you spent days up front making sure it was the right thing.</p><div class="callout-block" data-callout="true"><p><strong>&#128161; Building isn&#8217;t the bottleneck </strong>anymore. The first working version is often cheaper than the meeting about it, an afternoon instead of a sprint. So the order flips: you build the thing, then align around what you can see instead of arguing about what you imagine. Experimenting got <strong>cheaper than building agreement.</strong></p></div><p>That&#8217;s why I shipped two major releases in a day, and why none of these projects started with a spec. Two-week iterations start to feel dead in this mode. Not because planning is useless, but because the unit of learning changed: when a working version costs an afternoon, a sprint is too slow to be the main loop. You ship, watch, revise, and ship again before the old process would have turned the debate into tickets.</p><div class="callout-block" data-callout="true"><p>&#128161; A <strong>document can&#8217;t compete</strong> <strong>with that</strong>, because it forces everyone in the room to build a different <strong>product in their head</strong>. One imagines the happy path, one the edge cases, one the UI, one the roadmap impact. Then the <strong>meeting pretends</strong> those are the same thing. They aren&#8217;t. </p></div><p>A prototype, even a rough one, collapses the ambiguity: the team sees what the customer clicks, where they hesitate, what they ignore, what they ask for next. Highly regulated industries aside, agreement around an untested doc is low-value at best: the idea changes the moment it touches reality. At worst it's harmful, because the team gets attached to a product that only existed in language.</p><div class="callout-block" data-callout="true"><p><strong>&#128204; For PMs:</strong> stop spending your most expensive currency, alignment, on ideas nobody has seen. <strong>Build first</strong>, then bring to the meeting:</p><ul><li><p>the screen recording</p></li><li><p>the failed path</p></li><li><p>the confusing label</p></li><li><p>what people actually did</p></li></ul><p>Alignment gets easier when the room is <strong>looking at</strong> <strong>evidence or something you can inspect</strong> instead of trying to imagine the same future.</p></div><div><hr></div><h2><strong>Lesson 3: Put Strategy Where the Agent Works</strong></h2><p>I still write the strategy down:</p><ul><li><p>who it&#8217;s for</p></li><li><p>what changes for them</p></li><li><p>what I won&#8217;t build</p></li><li><p>the trade-offs I&#8217;ll accept</p></li><li><p>what would make the work a failure</p></li></ul><p>What changed is where it lives and what it&#8217;s for. It doesn&#8217;t sit in a folder someone might open before a kickoff. It lives in the repo, a <code>strategy.md</code> the agent reads every time it acts.</p><div class="callout-block" data-callout="true"><p>&#128161; Leading with strategy matters because the <strong>agent isn&#8217;t a tool</strong> waiting for instructions. It&#8217;s a <strong>partner</strong> making hundreds of small product decisions while it builds. </p></div><p>If the strategy isn&#8217;t in its context, those decisions get made from whatever&#8217;s nearby: the last prompt, the surrounding code, a guessed convention, the model&#8217;s own confidence.</p><p>The repo becomes the product&#8217;s memory, too:</p><ul><li><p>experiments</p></li><li><p>decisions</p></li><li><p>evals</p></li><li><p>screenshots</p></li><li><p>release notes</p></li><li><p>the constraints I hit</p></li></ul><p>They accumulate there anyway. My job is to keep that context clear enough that the agent can use it. (The one thing I stopped writing is the spec, the user stories and acceptance criteria that told engineering exactly what to build. That part is cheap now; it falls out of the conversation.)</p><p>Your strategy is only doing work if it changes what the agent does next.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/p/agentic-engineering-for-pms?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/p/agentic-engineering-for-pms?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><h2><strong>Lesson 4: Cross-Examine Confident Answers</strong></h2><p>I asked Claude to bump the version and publish. It was confident: <em>&#8220;Just run the publish command. CLAUDE.md says the publisher&#8217;s already authenticated.&#8221;</em> I almost did it. Then I asked: <em>&#8220;Are you sure? I&#8217;ve been publishing by hand through the Marketplace website.&#8221;</em></p><p>The confidence collapsed. That claim was from a past session I&#8217;d never verified, and the setup it promised had never happened. The command would have failed at the first step.</p><p>That one was harmless. A command fails in front of you, you fix it in a minute. The claims that bite are the confident ones you act on instead of run, where the failure is silent and lands downstream. Pushback is how you catch those before they cost you. The moment you ask <em>&#8220;are you sure?&#8221;</em> carries more weight than the next instruction you give.</p><p>But you can&#8217;t interrogate everything, or you become the bottleneck you were trying to remove. So I triage. I cross-examine the confident answers that are expensive to be wrong about:</p><ul><li><p>irreversible changes</p></li><li><p>anything touching auth, billing, security, or the data model</p></li><li><p>anything that becomes context future work depends on</p></li><li><p>any claim that sounds too clean</p></li></ul><div class="callout-block" data-callout="true"><p><strong>&#128161; </strong>The rest I let ride. Skepticism is a budget. Spend it where being wrong costs the most.</p></div><p>The strongest version of pushback isn&#8217;t you, though. Your <strong>attention doesn&#8217;t scale</strong>. A <strong>second model</strong> gives you more review surface without funneling every hard question back through your head.</p><p>When I had the extension audited for bugs, the agent built a confident, elaborate theory and walked straight past a one-line bug in the same function: a failure was being reported as a success. Trust that, and it keeps building on a false "it worked": wrong analysis, maybe a destructive next step. Codex caught the one-liner Claude had talked itself past.</p><p>A second copy of the same model shares its blind spots. A <strong>different model, trained differently, fails differently</strong>. Self-review feels like diligence. Cross-review is. (I wrote up <a href="https://www.productcompass.pm/p/codex-setup-for-pms">how I wire Codex alongside Claude</a> separately. You can <a href="https://github.com/phuryn/grok-build-vscode/pull/4">watch one play out in public</a>: the cross-check narrowed a contributor&#8217;s over-broad fix to a single bad value, and he confirmed it.)</p><div class="callout-block" data-callout="true"><p><strong>&#128204; For PMs:</strong> the cheapest quality gain in agentic engineering is pushing back where it counts, then routing the answer past a second, different model.</p></div><div><hr></div><h2><strong>Lesson 5: Make Failures Teach the System</strong></h2><p>The best artifacts in my projects usually began as failures I didn&#8217;t want to debug twice.</p><p>The loop is the same every time: a failure surfaces, I find the smallest thing that would have caught it, a test, an eval, or a line of policy, and I make it permanent so the system can&#8217;t forget it.</p><p>The most load-bearing line in my CLAUDE.md is four words: <em>&#8220;Don&#8217;t introduce abstractions speculatively.&#8221;</em> It earned its place after an earlier project drowned in structure it didn&#8217;t need. A line copied off social media is a guess about a problem you might have; a line written after the third time something went wrong is policy. accredia.io keeps a <code>fuckups.md</code> in its docs; that&#8217;s where its rules come from.</p><p>Tests are the same idea in a different file. Early on, the model offered a 27-test suite and I took it, but the next bug I hit wasn&#8217;t in any of the 27, it was a sequencing problem they tested around. So now, when a real bug shows up, I ask: <em>&#8220;What&#8217;s the smallest test that would have caught this?&#8221;</em> and add that one. </p><p>The claude-usage <a href="https://github.com/phuryn/claude-usage/blob/main/.claude/commands/triage.md">triage routine</a> mechanizes it: on every fix it adds the test, then reverts the fix to confirm the test fails without it. A green suite proves the past; manual smoke probes 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_!qdy1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b5ac837-b535-48d6-852b-d49a079a29f3_1024x1280.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qdy1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b5ac837-b535-48d6-852b-d49a079a29f3_1024x1280.png 424w, https://substackcdn.com/image/fetch/$s_!qdy1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b5ac837-b535-48d6-852b-d49a079a29f3_1024x1280.png 848w, https://substackcdn.com/image/fetch/$s_!qdy1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b5ac837-b535-48d6-852b-d49a079a29f3_1024x1280.png 1272w, https://substackcdn.com/image/fetch/$s_!qdy1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b5ac837-b535-48d6-852b-d49a079a29f3_1024x1280.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qdy1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b5ac837-b535-48d6-852b-d49a079a29f3_1024x1280.png" width="1024" height="1280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b5ac837-b535-48d6-852b-d49a079a29f3_1024x1280.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1280,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1867317,&quot;alt&quot;:&quot;Agentic Engineering: Make Failures Teach the System&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://www.productcompass.pm/i/199988562?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b5ac837-b535-48d6-852b-d49a079a29f3_1024x1280.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Agentic Engineering: Make Failures Teach the System" title="Agentic Engineering: Make Failures Teach the System" srcset="https://substackcdn.com/image/fetch/$s_!qdy1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b5ac837-b535-48d6-852b-d49a079a29f3_1024x1280.png 424w, https://substackcdn.com/image/fetch/$s_!qdy1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b5ac837-b535-48d6-852b-d49a079a29f3_1024x1280.png 848w, https://substackcdn.com/image/fetch/$s_!qdy1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b5ac837-b535-48d6-852b-d49a079a29f3_1024x1280.png 1272w, https://substackcdn.com/image/fetch/$s_!qdy1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b5ac837-b535-48d6-852b-d49a079a29f3_1024x1280.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>Evals are the same instinct for AI that&#8217;s in the product: read the traces, name what&#8217;s failing, then turn each failure into a test, an LLM judge, or a new line in CLAUDE.md. PM Brain&#8217;s <a href="https://github.com/phuryn/pm-brain/tree/main/tests/harness/judges">judges</a> are each named after a real failure (<code>decision_quality</code>, <code>evidence_hierarchy_respected</code>), never from a spec up front. (I go deeper in <a href="https://www.productcompass.pm/p/evaluating-ai-products-error-analysis">evaluating AI products through error analysis</a>.)</p><div class="callout-block" data-callout="true"><p><strong>&#128204; For PMs:</strong> the AI writes the code, the tests, the eval harness. You decide which failure is worth learning from, and you make the lesson stick. That judgment is the part you can&#8217;t delegate.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>Lesson 6: Point Every Agent at One Source of Truth</strong></h2><p>I had three coding agents open during this build: Claude Code in the terminal, a Grok tab in VS Code, and Codex through a separate skill. Same repo, same files, three independent conversations. Without a shared source of truth, they&#8217;d have proposed three different architectures, and I&#8217;d have spent the build arbitrating instead of building.</p><p>So I keep one master doc: CLAUDE.md, with the project, the conventions, and the decisions already made. The other agents don&#8217;t read it by default, so each gets a tiny <code>AGENTS.md</code> whose only job is to point them at it. It duplicates nothing; it just redirects. </p><p>In claude-usage I flipped the direction: there <code>AGENTS.md</code> holds the guidance and <code>CLAUDE.md</code> is one line, <code>@AGENTS.md</code>, that imports it. Either way works. One source, everything points 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_!3HG4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0f7e07-5268-404c-9149-6497e65d85cf_1687x703.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3HG4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0f7e07-5268-404c-9149-6497e65d85cf_1687x703.png 424w, https://substackcdn.com/image/fetch/$s_!3HG4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0f7e07-5268-404c-9149-6497e65d85cf_1687x703.png 848w, https://substackcdn.com/image/fetch/$s_!3HG4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0f7e07-5268-404c-9149-6497e65d85cf_1687x703.png 1272w, https://substackcdn.com/image/fetch/$s_!3HG4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0f7e07-5268-404c-9149-6497e65d85cf_1687x703.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3HG4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0f7e07-5268-404c-9149-6497e65d85cf_1687x703.png" width="1456" height="607" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da0f7e07-5268-404c-9149-6497e65d85cf_1687x703.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:607,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:111222,&quot;alt&quot;:&quot;Agentic Engineering: Point Every Agent at One Source of Truth&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://www.productcompass.pm/i/199988562?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0f7e07-5268-404c-9149-6497e65d85cf_1687x703.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Agentic Engineering: Point Every Agent at One Source of Truth" title="Agentic Engineering: Point Every Agent at One Source of Truth" srcset="https://substackcdn.com/image/fetch/$s_!3HG4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0f7e07-5268-404c-9149-6497e65d85cf_1687x703.png 424w, https://substackcdn.com/image/fetch/$s_!3HG4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0f7e07-5268-404c-9149-6497e65d85cf_1687x703.png 848w, https://substackcdn.com/image/fetch/$s_!3HG4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0f7e07-5268-404c-9149-6497e65d85cf_1687x703.png 1272w, https://substackcdn.com/image/fetch/$s_!3HG4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0f7e07-5268-404c-9149-6497e65d85cf_1687x703.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 isn&#8217;t only CLAUDE.md, either. The source of truth is the whole working-context layer, the docs, rules, skills, and hooks each agent can reach, and I keep that synced too. Each agent can have its own entrypoint; it shouldn&#8217;t have its own reality. (Full setup in <a href="https://www.productcompass.pm/p/codex-setup-for-pms">Codex Setup for PMs</a>.)</p><div class="callout-block" data-callout="true"><p><strong>&#128204; For PMs:</strong> this is closer to running a small engineering team than &#8220;AI pair programming.&#8221; Each agent has a different bias, and you don&#8217;t manage that with three sets of instructions. You manage it with one source of truth and a pointer at it. The skill is integration, not prompting.</p></div><div><hr></div><h2><strong>Lesson 7: Grant Autonomy, Enforce Boundaries</strong></h2><p>Early on, I babysat every run. I watched the model think, approved each step, sat at the screen the whole time. That doesn&#8217;t scale across the number of things I&#8217;m trying to ship.</p><p>The shift was setting a goal, giving the agent room to pursue it, and walking away. The clearest example runs every week without me. The goal: go through every open pull request and feature request on claude-usage, merge the clear bug-fixes, mark the duplicates, push out-of-scope features to a Discussion, and report back only what couldn&#8217;t be resolved. It runs <a href="https://github.com/phuryn/claude-usage/blob/main/scripts/setup-weekly-triage.ps1">headless, on a schedule</a>. I read the summary later, often from my phone.</p><p>Autonomy that wide only works with two kinds of limit, and the difference is the whole game: </p><p><strong>Steering prompts</strong> are soft: a one-line reminder, or a repeatable procedure like the gate rules in my content system. Either way, under pressure the model can talk itself out of one. </p><p><strong>Hard boundaries</strong> are enforced where the model gets no vote. In the triage routine:</p><ul><li><p>nothing closes unless the second model writes a sign-off file with an exact approval phrase</p></li><li><p>it won&#8217;t auto-merge anything touching auth, secrets, or more than 200 lines</p></li><li><p>it never pushes to main</p></li></ul><p>Those aren&#8217;t requests. They&#8217;re mechanical gates.</p><p>The strongest version of a hard boundary is the tool surface itself. In the Grok extension, plan mode isn&#8217;t a polite <em>&#8220;please don&#8217;t edit files yet.&#8221;</em> The extension gates the actual file-write and terminal calls, so while a plan is pending the model physically cannot touch the disk. </p><p>Same idea as a Claude Code hook or a tool allowlist: if a limit has to hold, it lives in code, not in a sentence the model can reinterpret. PM Brain enforces a different limit the same way: a <a href="https://github.com/phuryn/pm-brain/blob/main/example-brain/.claude/hooks/validate_brain_file.py">hook</a> fires after every file write and blocks the agent from saving a brain file with an untagged claim. No clean save, no write.</p><p>The same logic runs at the shipping boundary. On claude-usage, no pull request merges to main on a red test suite. I didn&#8217;t know how to wire that up, so I asked Claude to set the branch protection for me. The agent can be confident and a contributor can be in a hurry; the merge button stays disabled until the tests pass.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QhqO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6aec38-b4da-410a-b40d-c41b096d1452_2246x1296.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QhqO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6aec38-b4da-410a-b40d-c41b096d1452_2246x1296.png 424w, https://substackcdn.com/image/fetch/$s_!QhqO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6aec38-b4da-410a-b40d-c41b096d1452_2246x1296.png 848w, https://substackcdn.com/image/fetch/$s_!QhqO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6aec38-b4da-410a-b40d-c41b096d1452_2246x1296.png 1272w, https://substackcdn.com/image/fetch/$s_!QhqO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6aec38-b4da-410a-b40d-c41b096d1452_2246x1296.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QhqO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6aec38-b4da-410a-b40d-c41b096d1452_2246x1296.png" width="1456" height="840" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa6aec38-b4da-410a-b40d-c41b096d1452_2246x1296.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:840,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:377595,&quot;alt&quot;:&quot;Agentic Engineering: Grant Autonomy, Enforce Boundaries&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://www.productcompass.pm/i/199988562?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6aec38-b4da-410a-b40d-c41b096d1452_2246x1296.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Agentic Engineering: Grant Autonomy, Enforce Boundaries" title="Agentic Engineering: Grant Autonomy, Enforce Boundaries" srcset="https://substackcdn.com/image/fetch/$s_!QhqO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6aec38-b4da-410a-b40d-c41b096d1452_2246x1296.png 424w, https://substackcdn.com/image/fetch/$s_!QhqO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6aec38-b4da-410a-b40d-c41b096d1452_2246x1296.png 848w, https://substackcdn.com/image/fetch/$s_!QhqO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6aec38-b4da-410a-b40d-c41b096d1452_2246x1296.png 1272w, https://substackcdn.com/image/fetch/$s_!QhqO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6aec38-b4da-410a-b40d-c41b096d1452_2246x1296.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>PM Brain&#8217;s <code>/review</code> edits knowledge files on its own, but it&#8217;s hard-stopped from changing a decision&#8217;s status; that judgment is mine. Wide lane, real walls.</p><div class="callout-block" data-callout="true"><p><strong>&#128204; For PMs:</strong> this is the steering-versus-guardrails split from <a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">intent engineering</a>, made concrete. Sort your limits into preferences and non-negotiables. Preferences go in the prompt. Non-negotiables go in hooks, tool permissions, and mechanical gates. Then go do something else.</p></div><div><hr></div><h2><strong>What Still Needs Human Judgment</strong></h2><p>Here&#8217;s what the system still can&#8217;t decide for me.</p><ul><li><p><strong>Models over-rate their own findings.</strong> In that audit, the agent tagged three findings &#8220;high severity.&#8221; Checked against the actual code, all three were medium or low. The model is good at producing candidates. Deciding what&#8217;s actually serious is still mine.</p></li><li><p><strong>A second model helps; it isn&#8217;t magic.</strong> Two models from the same family share blind spots. Claude and GPT diverge enough to be worth pairing, but neither makes the load-bearing check stop being yours.</p></li><li><p><strong>Taste regressions still need eyes.</strong> No agent caught the copy button overlapping the header buttons. I did, on a manual pass. Design judgment isn&#8217;t in the test suite.</p></li><li><p><strong>The workaround becomes part of what you ship.</strong> Grok&#8217;s CLI returned unreliable tool results, so every session in the extension opens with a hidden primer: <em>&#8220;Do not trust the tool result.&#8221;</em> That scar tissue is product judgment too.</p></li></ul><div><hr></div><h2><strong>So What Do PMs Ship Now?</strong></h2><p>Across all of it, the extension, the knowledge system, the premium section behind this newsletter, the pattern held. </p><p>None of it shipped because I wrote a better spec, and none of it shipped because I read the code. It shipped because the conversation was good, and because I kept the <strong>few artifacts that turned out to be load-bearing</strong>: the strategy, the decisions, the constraints, the CLAUDE.md the agent actually reads.</p><p>PM Brain made it obvious. The brain it scaffolds is 44 markdown files around a single CLAUDE.md, and that structure emerged from use, not from a document I wrote first.</p><div class="callout-block" data-callout="true"><p><strong>&#128204; For PMs:</strong> If you&#8217;re about to ship something with AI, stop asking whether you need to read the code. Ask instead: which artifacts would let you, and the agent, understand what changed, why, and whether it should ship? Build those. Keep them true. That&#8217;s the job now, and that&#8217;s the artifact you actually shipped.</p></div><div><hr></div><h2><strong>The AI Shipping Artifact Checklist</strong></h2><p>If the artifact layer is what you actually ship, here&#8217;s the starting set. Organized by purpose, not by stack, because the project changes but the knowledge-layer needs don&#8217;t. Steal the list; name the files whatever fits your repo.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XMFa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dcd76a-5c48-4ee1-b06f-7ecf53cc1be1_1086x1448.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XMFa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dcd76a-5c48-4ee1-b06f-7ecf53cc1be1_1086x1448.png 424w, https://substackcdn.com/image/fetch/$s_!XMFa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dcd76a-5c48-4ee1-b06f-7ecf53cc1be1_1086x1448.png 848w, https://substackcdn.com/image/fetch/$s_!XMFa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dcd76a-5c48-4ee1-b06f-7ecf53cc1be1_1086x1448.png 1272w, https://substackcdn.com/image/fetch/$s_!XMFa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dcd76a-5c48-4ee1-b06f-7ecf53cc1be1_1086x1448.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XMFa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dcd76a-5c48-4ee1-b06f-7ecf53cc1be1_1086x1448.png" width="1086" height="1448" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68dcd76a-5c48-4ee1-b06f-7ecf53cc1be1_1086x1448.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1448,&quot;width&quot;:1086,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1344411,&quot;alt&quot;:&quot;The AI Shipping Artifact Checklist, Agentic Engineering&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://www.productcompass.pm/i/199988562?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dcd76a-5c48-4ee1-b06f-7ecf53cc1be1_1086x1448.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The AI Shipping Artifact Checklist, Agentic Engineering" title="The AI Shipping Artifact Checklist, Agentic Engineering" srcset="https://substackcdn.com/image/fetch/$s_!XMFa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dcd76a-5c48-4ee1-b06f-7ecf53cc1be1_1086x1448.png 424w, https://substackcdn.com/image/fetch/$s_!XMFa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dcd76a-5c48-4ee1-b06f-7ecf53cc1be1_1086x1448.png 848w, https://substackcdn.com/image/fetch/$s_!XMFa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dcd76a-5c48-4ee1-b06f-7ecf53cc1be1_1086x1448.png 1272w, https://substackcdn.com/image/fetch/$s_!XMFa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dcd76a-5c48-4ee1-b06f-7ecf53cc1be1_1086x1448.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>None of these is a spec. Each is a place the decisions live, so you and the agents can read them instead of reverse-engineering the code. You don't have to hand-write them, either.</p><div><hr></div><h2><strong>The AI Shipping Artifact Prompt Pack</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1tIf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad22f91e-7cb6-47be-9d27-9ee90feedfbf_1122x1402.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1tIf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad22f91e-7cb6-47be-9d27-9ee90feedfbf_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!1tIf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad22f91e-7cb6-47be-9d27-9ee90feedfbf_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!1tIf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad22f91e-7cb6-47be-9d27-9ee90feedfbf_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!1tIf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad22f91e-7cb6-47be-9d27-9ee90feedfbf_1122x1402.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1tIf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad22f91e-7cb6-47be-9d27-9ee90feedfbf_1122x1402.png" width="1122" height="1402" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad22f91e-7cb6-47be-9d27-9ee90feedfbf_1122x1402.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1402,&quot;width&quot;:1122,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1963180,&quot;alt&quot;:&quot;The AI Shipping Artifact Prompt Pack; Agentic Angineering&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://www.productcompass.pm/i/199988562?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad22f91e-7cb6-47be-9d27-9ee90feedfbf_1122x1402.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The AI Shipping Artifact Prompt Pack; Agentic Angineering" title="The AI Shipping Artifact Prompt Pack; Agentic Angineering" srcset="https://substackcdn.com/image/fetch/$s_!1tIf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad22f91e-7cb6-47be-9d27-9ee90feedfbf_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!1tIf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad22f91e-7cb6-47be-9d27-9ee90feedfbf_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!1tIf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad22f91e-7cb6-47be-9d27-9ee90feedfbf_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!1tIf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad22f91e-7cb6-47be-9d27-9ee90feedfbf_1122x1402.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>One download, two kinds of thing, both built around the artifact layer above:</p><ul><li><p><strong>The artifact prompts:</strong> seventeen of them, one per kind of file and risk, from strategy to workflow maps to cross-model review. Point an agent at your repo, run a prompt, review the doc it writes. They generate the layer; they aren&#8217;t the layer.</p></li><li><p><strong>The audit commands:</strong> a static security audit and a performance twin, for code you didn&#8217;t write. The security one, <code>/security-audit-static</code>, traces untrusted input to the places it could do real damage, then refutes its own findings before reporting. I pointed it at <a href="https://github.com/langfuse/langfuse/pull/13797">Langfuse</a>, a leading LLM engineering platform, and it surfaced a real weakness in how provider connections were fetched. The hardening fix merged, 964 lines added, 334 removed.</p></li></ul><p>Some of the 20+ issues I&#8217;ve since responsibly disclosed to public-repo security teams (Langfuse at the top):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NGRB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1244ab55-c94d-4bca-91d7-b9ac5688f954_2069x1111.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NGRB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1244ab55-c94d-4bca-91d7-b9ac5688f954_2069x1111.png 424w, https://substackcdn.com/image/fetch/$s_!NGRB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1244ab55-c94d-4bca-91d7-b9ac5688f954_2069x1111.png 848w, https://substackcdn.com/image/fetch/$s_!NGRB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1244ab55-c94d-4bca-91d7-b9ac5688f954_2069x1111.png 1272w, https://substackcdn.com/image/fetch/$s_!NGRB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1244ab55-c94d-4bca-91d7-b9ac5688f954_2069x1111.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NGRB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1244ab55-c94d-4bca-91d7-b9ac5688f954_2069x1111.png" width="1456" height="782" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1244ab55-c94d-4bca-91d7-b9ac5688f954_2069x1111.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:782,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:289801,&quot;alt&quot;:&quot;/security-audit-static, responsible disclosure, agentic engineering&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://www.productcompass.pm/i/199988562?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1244ab55-c94d-4bca-91d7-b9ac5688f954_2069x1111.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="/security-audit-static, responsible disclosure, agentic engineering" title="/security-audit-static, responsible disclosure, agentic engineering" srcset="https://substackcdn.com/image/fetch/$s_!NGRB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1244ab55-c94d-4bca-91d7-b9ac5688f954_2069x1111.png 424w, https://substackcdn.com/image/fetch/$s_!NGRB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1244ab55-c94d-4bca-91d7-b9ac5688f954_2069x1111.png 848w, https://substackcdn.com/image/fetch/$s_!NGRB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1244ab55-c94d-4bca-91d7-b9ac5688f954_2069x1111.png 1272w, https://substackcdn.com/image/fetch/$s_!NGRB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1244ab55-c94d-4bca-91d7-b9ac5688f954_2069x1111.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="callout-block" data-callout="true"><p>Treat the pack as a menu. Reach for the prompt that matches the risk in front of you. It complements engineering review; it doesn't replace security, infra, or code-owner sign-off where those are required.</p></div><p>Get the pack below: &#128071;</p>
      <p>
          <a href="https://www.productcompass.pm/p/agentic-engineering-for-pms">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How to Set Up Codex as a PM and Run It Next to Claude]]></title><description><![CDATA[A way into your repo without the IDE. Runs next to Claude Code, shares skills and MCPs, doubles as a peer reviewer.]]></description><link>https://www.productcompass.pm/p/codex-setup-for-pms</link><guid isPermaLink="false">https://www.productcompass.pm/p/codex-setup-for-pms</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Tue, 26 May 2026 12:56:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!q4pm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d734719-d42f-4a70-969c-0387595a63ab_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey, <a href="https://www.linkedin.com/in/pawel-huryn/">Pawe&#322;</a> here. Most PMs I talk to are heads-down on Claude (Cowork or Claude Code) and haven't tried Codex properly. The numbers say they probably should.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EHOd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d582f4c-8044-4f86-ad80-2972aad1ccf5_1200x775.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EHOd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d582f4c-8044-4f86-ad80-2972aad1ccf5_1200x775.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EHOd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d582f4c-8044-4f86-ad80-2972aad1ccf5_1200x775.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EHOd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d582f4c-8044-4f86-ad80-2972aad1ccf5_1200x775.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EHOd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d582f4c-8044-4f86-ad80-2972aad1ccf5_1200x775.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EHOd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d582f4c-8044-4f86-ad80-2972aad1ccf5_1200x775.jpeg" width="1200" height="775" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d582f4c-8044-4f86-ad80-2972aad1ccf5_1200x775.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:775,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;ARK Invest chart, \&quot;Codex User Growth\&quot; (0.2M to 4.0M weekly active users, Jan to Apr 2026)&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ARK Invest chart, &quot;Codex User Growth&quot; (0.2M to 4.0M weekly active users, Jan to Apr 2026)" title="ARK Invest chart, &quot;Codex User Growth&quot; (0.2M to 4.0M weekly active users, Jan to Apr 2026)" srcset="https://substackcdn.com/image/fetch/$s_!EHOd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d582f4c-8044-4f86-ad80-2972aad1ccf5_1200x775.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EHOd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d582f4c-8044-4f86-ad80-2972aad1ccf5_1200x775.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EHOd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d582f4c-8044-4f86-ad80-2972aad1ccf5_1200x775.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EHOd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d582f4c-8044-4f86-ad80-2972aad1ccf5_1200x775.jpeg 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><figcaption class="image-caption">Source: <a href="https://x.com/downingARK/status/2046625363690684885">ARK Invest, via @downingARK on X</a></figcaption></figure></div><p>Codex grew from about 200K to roughly <strong>4M weekly active users</strong> in four months. Claude Code crossed 2M in early March. If you opened this post, you're probably one of those 2M. The other 4M are on a tool you haven't tried.</p><p>And it's <strong>not just a developer tool anymore</strong>. If VS Code has felt like a wall, the Codex app is a chat window with a file tree, visual diffs, and long-running sessions. PMs who've avoided code repos no longer have to.</p><p>ChatGPT Plus is $20/month and includes Codex. The setup takes about five minutes. This guide is the walkthrough.</p><p><strong>Updated August 1, 2026.</strong> Three things changed since this guide shipped:</p><ul><li><p>The Codex desktop app is now the ChatGPT app, with three modes: Chat, Work (documents, decks, research), and Codex (coding). Where this guide says "Codex app," use the ChatGPT app in Codex mode.</p></li><li><p>OpenAI cut GPT-5.6 Luna's price by 80%. On my 105-bug benchmark, Luna at max reasoning effort beat every Claude model. Set reasoning effort to max. It's off by default.</p></li><li><p>The $20 ChatGPT Plus plan now covers serious agent work.</p></li></ul><p>By the end of this guide, you&#8217;ll have:</p><ul><li><p>Codex app installed and pointed at your repo</p></li><li><p><em>AGENTS.md</em> bridged to <em>CLAUDE.md</em> so both runtimes share one source of truth</p></li><li><p>Plugins installed for the apps you use, with project skills mirrored if you build with AI</p></li><li><p>MCPs running in both runtimes, with a one-shot prompt to do the import</p></li><li><p>Claude Code able to call Codex as a peer for review</p></li><li><p>A plan for working from your phone (cloud tasks vs. remote control)</p></li></ul><p>Full Cowork / Claude Code / Codex comparison is at the bottom. First, the setup.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>1. Why Add Codex as a PM</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q4pm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d734719-d42f-4a70-969c-0387595a63ab_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q4pm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d734719-d42f-4a70-969c-0387595a63ab_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!q4pm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d734719-d42f-4a70-969c-0387595a63ab_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!q4pm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d734719-d42f-4a70-969c-0387595a63ab_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!q4pm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d734719-d42f-4a70-969c-0387595a63ab_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q4pm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d734719-d42f-4a70-969c-0387595a63ab_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d734719-d42f-4a70-969c-0387595a63ab_1672x941.png&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;:1507811,&quot;alt&quot;:&quot;How to Set Up Codex as a PM and Run It Next to Claude&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://www.productcompass.pm/i/199195672?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d734719-d42f-4a70-969c-0387595a63ab_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to Set Up Codex as a PM and Run It Next to Claude" title="How to Set Up Codex as a PM and Run It Next to Claude" srcset="https://substackcdn.com/image/fetch/$s_!q4pm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d734719-d42f-4a70-969c-0387595a63ab_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!q4pm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d734719-d42f-4a70-969c-0387595a63ab_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!q4pm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d734719-d42f-4a70-969c-0387595a63ab_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!q4pm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d734719-d42f-4a70-969c-0387595a63ab_1672x941.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>Five reasons I added Codex, in order of how often they show up in my work:</p><ul><li><p><strong>A way into a repo without VS Code.</strong> If the IDE has felt like a wall, the Codex app (desktop) is a chat window with a file tree, visual diffs, and long-running chat sessions. No commands to learn, no extensions to wire. You can even edit files by leaving comments for Codex. Cowork is chat-first; no tree, no diffs.</p></li><li><p><strong>Manual Compact.</strong> You decide when to compress the session instead of waiting for the model to hit the wall. In Codex, type <em>c</em>, then <em>/com</em>, and choose <em>Compact</em> when it appears. Claude Code has <em>/compact</em> in the CLI. Cowork does not have an equivalent manual reset. This matters for your budget: <a href="https://www.productcompass.pm/p/stop-hitting-claude-code-limits">Claude Code&#8217;s Limits Are Generous. The Problem Is Your Setup.</a></p></li><li><p><strong>An extra perspective.</strong> When I want a second pair of eyes on a prompt, or a piece of code, I hand it to the runtime that didn&#8217;t write it. Different model, different misses.</p></li><li><p><strong>Image generation in the bundle.</strong> The ChatGPT subscription that Codex ships with includes image generation. Claude doesn&#8217;t cover that workflow.</p></li><li><p><strong>Runs next to Claude Code on the same repo.</strong> Same files, same skills, same MCPs. Switch runtimes without rebuilding your setup.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>2. Install Codex (Desktop App and VS Code Extension)</strong></h2><p>You'll install two things. <strong>Codex app (desktop)</strong> is the chat workspace where long sessions and Compact live. <strong>Codex for VS Code</strong> is the editor extension that lets you call Codex in the same window as Claude Code.</p><p>Both share one OpenAI login, both work on the same repo, and you'll use both for different jobs.</p><h3>Codex app (desktop)</h3><p>Download <a href="https://developers.openai.com/codex/app">Codex app from OpenAI</a> (now named ChatGPT). Sign in with the ChatGPT account that has Plus, Pro, or Business. Codex is bundled with all three.</p><p>The first prompt asks you to migrate your VS Code settings. I skip it. Not because it&#8217;s hard. Because you should know what&#8217;s being imported before you click yes. You can always migrate later from Settings or by asking Codex for help.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!o8Bg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859ee88b-24d7-4e17-ac39-edc73e04dc0c_2214x1575.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!o8Bg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859ee88b-24d7-4e17-ac39-edc73e04dc0c_2214x1575.png 424w, https://substackcdn.com/image/fetch/$s_!o8Bg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859ee88b-24d7-4e17-ac39-edc73e04dc0c_2214x1575.png 848w, https://substackcdn.com/image/fetch/$s_!o8Bg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859ee88b-24d7-4e17-ac39-edc73e04dc0c_2214x1575.png 1272w, https://substackcdn.com/image/fetch/$s_!o8Bg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859ee88b-24d7-4e17-ac39-edc73e04dc0c_2214x1575.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!o8Bg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859ee88b-24d7-4e17-ac39-edc73e04dc0c_2214x1575.png" width="1456" height="1036" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/859ee88b-24d7-4e17-ac39-edc73e04dc0c_2214x1575.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1036,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:330771,&quot;alt&quot;:&quot;Codex app (desktop) - import settings from Claude&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://www.productcompass.pm/i/199195672?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859ee88b-24d7-4e17-ac39-edc73e04dc0c_2214x1575.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Codex app (desktop) - import settings from Claude" title="Codex app (desktop) - import settings from Claude" srcset="https://substackcdn.com/image/fetch/$s_!o8Bg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859ee88b-24d7-4e17-ac39-edc73e04dc0c_2214x1575.png 424w, https://substackcdn.com/image/fetch/$s_!o8Bg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859ee88b-24d7-4e17-ac39-edc73e04dc0c_2214x1575.png 848w, https://substackcdn.com/image/fetch/$s_!o8Bg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859ee88b-24d7-4e17-ac39-edc73e04dc0c_2214x1575.png 1272w, https://substackcdn.com/image/fetch/$s_!o8Bg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859ee88b-24d7-4e17-ac39-edc73e04dc0c_2214x1575.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>Open the same project folder you already use with Claude. The file tree loads on the right. Visual diffs appear in the same 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_!W8qE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8de4fb28-5fcb-4bd0-a451-a203caef62a3_3840x2280.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W8qE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8de4fb28-5fcb-4bd0-a451-a203caef62a3_3840x2280.png 424w, https://substackcdn.com/image/fetch/$s_!W8qE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8de4fb28-5fcb-4bd0-a451-a203caef62a3_3840x2280.png 848w, https://substackcdn.com/image/fetch/$s_!W8qE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8de4fb28-5fcb-4bd0-a451-a203caef62a3_3840x2280.png 1272w, https://substackcdn.com/image/fetch/$s_!W8qE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8de4fb28-5fcb-4bd0-a451-a203caef62a3_3840x2280.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W8qE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8de4fb28-5fcb-4bd0-a451-a203caef62a3_3840x2280.png" width="1456" height="865" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8de4fb28-5fcb-4bd0-a451-a203caef62a3_3840x2280.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:865,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1013744,&quot;alt&quot;:&quot;Codex app file preview, file edits, diffs&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://www.productcompass.pm/i/199195672?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8de4fb28-5fcb-4bd0-a451-a203caef62a3_3840x2280.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Codex app file preview, file edits, diffs" title="Codex app file preview, file edits, diffs" srcset="https://substackcdn.com/image/fetch/$s_!W8qE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8de4fb28-5fcb-4bd0-a451-a203caef62a3_3840x2280.png 424w, https://substackcdn.com/image/fetch/$s_!W8qE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8de4fb28-5fcb-4bd0-a451-a203caef62a3_3840x2280.png 848w, https://substackcdn.com/image/fetch/$s_!W8qE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8de4fb28-5fcb-4bd0-a451-a203caef62a3_3840x2280.png 1272w, https://substackcdn.com/image/fetch/$s_!W8qE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8de4fb28-5fcb-4bd0-a451-a203caef62a3_3840x2280.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>Codex for VS Code</h3><p>Install the <strong><a href="https://marketplace.visualstudio.com/items?itemName=openai.chatgpt">Codex extension</a></strong> from the VS Code marketplace and sign in with the same OpenAI account.</p><p>If you already use the <strong>Claude Code</strong> extension in VS Code, both extensions will show up in the activity bar. You can switch between them by tab.</p><p>Why both surfaces? The Codex app is for long chat sessions and Compact. Codex for VS Code is for editing the repo, including dot folders (<em>.agents, .codex</em>) that the app&#8217;s file picker hides - full dev experience.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Frnr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3f1bcb4-c50e-4e79-a007-ea8ba92e9ab4_2713x1620.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Frnr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3f1bcb4-c50e-4e79-a007-ea8ba92e9ab4_2713x1620.png 424w, https://substackcdn.com/image/fetch/$s_!Frnr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3f1bcb4-c50e-4e79-a007-ea8ba92e9ab4_2713x1620.png 848w, https://substackcdn.com/image/fetch/$s_!Frnr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3f1bcb4-c50e-4e79-a007-ea8ba92e9ab4_2713x1620.png 1272w, https://substackcdn.com/image/fetch/$s_!Frnr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3f1bcb4-c50e-4e79-a007-ea8ba92e9ab4_2713x1620.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Frnr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3f1bcb4-c50e-4e79-a007-ea8ba92e9ab4_2713x1620.png" width="1456" height="869" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3f1bcb4-c50e-4e79-a007-ea8ba92e9ab4_2713x1620.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:869,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:605473,&quot;alt&quot;:&quot;Codex for VS Code, Install the Codex extension from the VS Code marketplace&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://www.productcompass.pm/i/199195672?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3f1bcb4-c50e-4e79-a007-ea8ba92e9ab4_2713x1620.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Codex for VS Code, Install the Codex extension from the VS Code marketplace" title="Codex for VS Code, Install the Codex extension from the VS Code marketplace" srcset="https://substackcdn.com/image/fetch/$s_!Frnr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3f1bcb4-c50e-4e79-a007-ea8ba92e9ab4_2713x1620.png 424w, https://substackcdn.com/image/fetch/$s_!Frnr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3f1bcb4-c50e-4e79-a007-ea8ba92e9ab4_2713x1620.png 848w, https://substackcdn.com/image/fetch/$s_!Frnr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3f1bcb4-c50e-4e79-a007-ea8ba92e9ab4_2713x1620.png 1272w, https://substackcdn.com/image/fetch/$s_!Frnr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3f1bcb4-c50e-4e79-a007-ea8ba92e9ab4_2713x1620.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.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>3. Teach Codex Your Repo: </strong><em><strong>AGENTS.md</strong></em><strong> to </strong><em><strong>CLAUDE.md</strong></em></h2><p>Codex looks for <em>AGENTS.md</em> at the repo root. Claude Code looks for <em>CLAUDE.md</em>. If you maintain both as separate sources of truth, they drift.</p><p>The fix is a one-file bridge. <em>AGENTS.md</em> is a short pointer. <em>CLAUDE.md</em> stays the canonical document. Codex reads <em>AGENTS.md</em>, sees the pointer, follows it.</p><p>Drop this at the repo root as <em>AGENTS.md</em>:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;57c48dd2-00fd-45fb-8acb-b221c7c713a9&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown"># AGENTS.md

This repository keeps its canonical agent instructions in [CLAUDE.md](./CLAUDE.md).

When operating in this repo:

1. Read and follow `CLAUDE.md` as the source of truth.
2. Treat references to "Claude Code" as applying to Codex when you are the acting agent.
3. Do not duplicate `CLAUDE.md` content here. Update `CLAUDE.md` instead.</code></pre></div><p>One file. One source of truth. Both runtimes follow 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_!WbUE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8590ba5-e76f-4706-afcd-3e69271a6446_2498x1785.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WbUE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8590ba5-e76f-4706-afcd-3e69271a6446_2498x1785.png 424w, https://substackcdn.com/image/fetch/$s_!WbUE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8590ba5-e76f-4706-afcd-3e69271a6446_2498x1785.png 848w, https://substackcdn.com/image/fetch/$s_!WbUE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8590ba5-e76f-4706-afcd-3e69271a6446_2498x1785.png 1272w, https://substackcdn.com/image/fetch/$s_!WbUE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8590ba5-e76f-4706-afcd-3e69271a6446_2498x1785.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WbUE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8590ba5-e76f-4706-afcd-3e69271a6446_2498x1785.png" width="1456" height="1040" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8590ba5-e76f-4706-afcd-3e69271a6446_2498x1785.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1040,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:382981,&quot;alt&quot;:&quot;Teach Codex Your Repo: AGENTS.md to CLAUDE.md&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://www.productcompass.pm/i/199195672?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8590ba5-e76f-4706-afcd-3e69271a6446_2498x1785.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Teach Codex Your Repo: AGENTS.md to CLAUDE.md" title="Teach Codex Your Repo: AGENTS.md to CLAUDE.md" srcset="https://substackcdn.com/image/fetch/$s_!WbUE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8590ba5-e76f-4706-afcd-3e69271a6446_2498x1785.png 424w, https://substackcdn.com/image/fetch/$s_!WbUE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8590ba5-e76f-4706-afcd-3e69271a6446_2498x1785.png 848w, https://substackcdn.com/image/fetch/$s_!WbUE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8590ba5-e76f-4706-afcd-3e69271a6446_2498x1785.png 1272w, https://substackcdn.com/image/fetch/$s_!WbUE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8590ba5-e76f-4706-afcd-3e69271a6446_2498x1785.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><em>AGENTS.md</em> is the bridge. <em>CLAUDE.md</em> is the long part. The structure I use:</p><ol><li><p><strong>Communication:</strong> How the agent should talk, what content it should produce.</p></li><li><p><strong>[For personal work] About me:</strong> Role, audience, social media handles</p></li><li><p><strong>[For product work] Strategy:</strong> Market segments, value propositions, tradeoffs. </p></li><li><p><strong>Project structure:</strong> Where things live, architecture, conventions.</p></li><li><p><strong>Workflow: </strong>How we do things (reviewing, shipping). Not a procedure manual. The rules of engagement.</p></li><li><p><strong>Progressive disclosure: </strong>Links to deeper files (<em>strategy.md</em>, <em>knowledge/INDEX.md</em>, whatever you&#8217;ve built) that load on-demand, not on every session.</p></li></ol><p>Each section earns its place when something would otherwise have to be re-explained per session. <em>CLAUDE.md</em> isn&#8217;t documentation. It&#8217;s the agent&#8217;s memory of how you work.</p><p>Progressive disclosure matters because context isn&#8217;t free. Don&#8217;t dump 500 lines of text into <em>CLAUDE.md</em> if 100 of it only matters for one workflow. Keep the core file lean. Link out to the rest.</p><div><hr></div><h2><strong>4. Configure and Share Skills</strong></h2><p>If you haven&#8217;t used skills before, think of them as reusable instruction bundles. A <em>SKILL.md</em> file tells the runtime when to fire and what to do.</p><p>Two ways to configure them in Codex.</p><p>Start with user skills. The Codex app ships with a <strong>Plugins</strong> panel. One click installs Gmail, Linear, Jira, Slack, and others. You get the <strong>app&#8217;s connection and its skills</strong> together.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eGF2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250bedd1-cd3a-48ad-9833-9664d2237241_2490x1605.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eGF2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250bedd1-cd3a-48ad-9833-9664d2237241_2490x1605.png 424w, https://substackcdn.com/image/fetch/$s_!eGF2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250bedd1-cd3a-48ad-9833-9664d2237241_2490x1605.png 848w, https://substackcdn.com/image/fetch/$s_!eGF2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250bedd1-cd3a-48ad-9833-9664d2237241_2490x1605.png 1272w, https://substackcdn.com/image/fetch/$s_!eGF2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250bedd1-cd3a-48ad-9833-9664d2237241_2490x1605.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eGF2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250bedd1-cd3a-48ad-9833-9664d2237241_2490x1605.png" width="1456" height="939" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/250bedd1-cd3a-48ad-9833-9664d2237241_2490x1605.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:939,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:398482,&quot;alt&quot;:&quot;The Codex app ships with a Plugins panel. One click installs Gmail, Linear, Jira, Slack, and others. You get the app&#8217;s connection and its skills together.&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://www.productcompass.pm/i/199195672?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250bedd1-cd3a-48ad-9833-9664d2237241_2490x1605.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Codex app ships with a Plugins panel. One click installs Gmail, Linear, Jira, Slack, and others. You get the app&#8217;s connection and its skills together." title="The Codex app ships with a Plugins panel. One click installs Gmail, Linear, Jira, Slack, and others. You get the app&#8217;s connection and its skills together." srcset="https://substackcdn.com/image/fetch/$s_!eGF2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250bedd1-cd3a-48ad-9833-9664d2237241_2490x1605.png 424w, https://substackcdn.com/image/fetch/$s_!eGF2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250bedd1-cd3a-48ad-9833-9664d2237241_2490x1605.png 848w, https://substackcdn.com/image/fetch/$s_!eGF2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250bedd1-cd3a-48ad-9833-9664d2237241_2490x1605.png 1272w, https://substackcdn.com/image/fetch/$s_!eGF2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250bedd1-cd3a-48ad-9833-9664d2237241_2490x1605.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>With Plugins installed, Codex reads your <em>CLAUDE.md</em> and talks to the apps you use daily.</p><p>That&#8217;s the minimum viable Codex setup for a PM.</p><p>The next step is making Codex and Claude Code behave like one operating system: curated skills, project skills synced between runtimes, mirrored MCPs, and a repeatable review loop.</p>
      <p>
          <a href="https://www.productcompass.pm/p/codex-setup-for-pms">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[PM Brain OS: The Second Brain for Product Managers, Made of Markdown]]></title><description><![CDATA[A folder of files on your laptop. Claude reads them before answering, writes to them after, sweeps them every Friday. Open source. 17 synthetic PM scenarios, 404 of 406 checks pass (&#8776;99.5%).]]></description><link>https://www.productcompass.pm/p/pm-brain-os</link><guid isPermaLink="false">https://www.productcompass.pm/p/pm-brain-os</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Wed, 20 May 2026 13:09:25 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a63cfbc3-74ac-49d4-8be1-cd0569c01770_1731x909.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em><strong>Research preview.</strong> The architecture has months of dogfooding behind it on my content work. The product as installed by real PMs in real organizations is days old. The eval suite is the floor; your install feedback is how it gets better. Monday May 26, I'm running a <a href="https://go.productcompass.pm/premium">live workshop session</a> for paid subscribers, and there's a dedicated <strong>#pm-brain</strong> Slack channel for 1:1 install help. Details in &#167;11.</em></p></blockquote><div><hr></div><p>You manage one product. Your context lives in five places: Notion, Linear, Slack, your dashboards, and your head.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fhal!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e907f1f-e32a-4e97-939c-bc12e9c9b4ae_2472x1083.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fhal!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e907f1f-e32a-4e97-939c-bc12e9c9b4ae_2472x1083.png 424w, https://substackcdn.com/image/fetch/$s_!Fhal!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e907f1f-e32a-4e97-939c-bc12e9c9b4ae_2472x1083.png 848w, https://substackcdn.com/image/fetch/$s_!Fhal!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e907f1f-e32a-4e97-939c-bc12e9c9b4ae_2472x1083.png 1272w, https://substackcdn.com/image/fetch/$s_!Fhal!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e907f1f-e32a-4e97-939c-bc12e9c9b4ae_2472x1083.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fhal!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e907f1f-e32a-4e97-939c-bc12e9c9b4ae_2472x1083.png" width="1456" height="638" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e907f1f-e32a-4e97-939c-bc12e9c9b4ae_2472x1083.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:638,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:264257,&quot;alt&quot;:&quot;Your context lives in five places: Notion, Linear, Slack, your dashboards, and your head.&quot;,&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://www.productcompass.pm/i/198542104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e907f1f-e32a-4e97-939c-bc12e9c9b4ae_2472x1083.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Your context lives in five places: Notion, Linear, Slack, your dashboards, and your head." title="Your context lives in five places: Notion, Linear, Slack, your dashboards, and your head." srcset="https://substackcdn.com/image/fetch/$s_!Fhal!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e907f1f-e32a-4e97-939c-bc12e9c9b4ae_2472x1083.png 424w, https://substackcdn.com/image/fetch/$s_!Fhal!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e907f1f-e32a-4e97-939c-bc12e9c9b4ae_2472x1083.png 848w, https://substackcdn.com/image/fetch/$s_!Fhal!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e907f1f-e32a-4e97-939c-bc12e9c9b4ae_2472x1083.png 1272w, https://substackcdn.com/image/fetch/$s_!Fhal!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e907f1f-e32a-4e97-939c-bc12e9c9b4ae_2472x1083.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 ship a feature. Six weeks later, nobody remembers why you killed the other option. The customer interview that should have informed the call is buried in a doc you forgot to link. The stakeholder who pushed back has a new concern, and the old one is gone.</p><p>I built a second brain for it. </p><p>Folder of markdown files in a git repo. A small operating manual (CLAUDE.md) tells Claude how to use them. The agent reads them before answering, writes to them after, sweeps them weekly.</p><blockquote><p>No vector database. No embeddings. No cloud. No auto-tagging. Everything is grep-able. You can open the entire brain in any editor.</p></blockquote><p>It's also not an agent memory system. Those embed everything you feed them so the agent can recall it later. PM Brain does the opposite. You write down only what matters, in markdown you can read, and the agent reads what you wrote. The point isn't agent recall. It's PM judgment with an audit trail.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6XBy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf49c706-852e-4ba3-80f4-56d2d5cb8ec1_2474x1184.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6XBy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf49c706-852e-4ba3-80f4-56d2d5cb8ec1_2474x1184.png 424w, https://substackcdn.com/image/fetch/$s_!6XBy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf49c706-852e-4ba3-80f4-56d2d5cb8ec1_2474x1184.png 848w, https://substackcdn.com/image/fetch/$s_!6XBy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf49c706-852e-4ba3-80f4-56d2d5cb8ec1_2474x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!6XBy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf49c706-852e-4ba3-80f4-56d2d5cb8ec1_2474x1184.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6XBy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf49c706-852e-4ba3-80f4-56d2d5cb8ec1_2474x1184.png" width="1456" height="697" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf49c706-852e-4ba3-80f4-56d2d5cb8ec1_2474x1184.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:697,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A PM Brain doesn&#8217;t store everything. It promotes only what&#8217;s recurring, decision-relevant, or strategy-relevant.&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 PM Brain doesn&#8217;t store everything. It promotes only what&#8217;s recurring, decision-relevant, or strategy-relevant." title="A PM Brain doesn&#8217;t store everything. It promotes only what&#8217;s recurring, decision-relevant, or strategy-relevant." srcset="https://substackcdn.com/image/fetch/$s_!6XBy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf49c706-852e-4ba3-80f4-56d2d5cb8ec1_2474x1184.png 424w, https://substackcdn.com/image/fetch/$s_!6XBy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf49c706-852e-4ba3-80f4-56d2d5cb8ec1_2474x1184.png 848w, https://substackcdn.com/image/fetch/$s_!6XBy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf49c706-852e-4ba3-80f4-56d2d5cb8ec1_2474x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!6XBy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf49c706-852e-4ba3-80f4-56d2d5cb8ec1_2474x1184.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>A PM Brain doesn&#8217;t store everything. It promotes only what&#8217;s recurring, decision-relevant, or strategy-relevant. Everything else stays in working memory until it earns its way into the durable layer.</p><blockquote><p>This post is the long version. The short version is in the README. The shortest version: open Claude Code in an empty folder, run <em><strong>/pm-brain</strong></em>, answer a five-batch interview, and you have a <strong>working brain in 10 minutes</strong>.</p></blockquote><div><hr></div><h2><strong>What You&#8217;ll Learn</strong></h2><ul><li><p>Why your PM context decays at month three, and where the trail goes</p></li><li><p>The five failure modes that kill most AI memory systems, and the five structural choices that answer them</p></li><li><p>A week with PM Brain, told as Lena&#8217;s first five days on a real account</p></li><li><p>The architecture: five knowledge areas, three lifecycle areas, one CLAUDE.md</p></li><li><p>Provenance, the unique technical idea, and why it carries more weight than people expect</p></li><li><p>The six commands you&#8217;ll actually use</p></li><li><p>How to install it today, and what to do in week one</p></li></ul><div><hr></div><h2><strong>1. Why This Exists</strong></h2><p>Most AI memory systems fail by month three. The same five failure modes show up across vector-DB memory, RAG over your docs, &#8220;AI second brain&#8221; apps, and most agent-memory frameworks:</p><ol><li><p>Accumulate, never synthesize. Every interview gets stored. Nothing compresses. The system becomes a landfill.</p></li><li><p>Flatten contradictions into consensus. Three interviews say three things, summarized into one bland insight. The disagreement was the signal.</p></li><li><p>Drift silently from strategy. Two months of decisions point one way. The strategy doc points another. Nobody surfaces the tension.</p></li><li><p>Lose decision context. Why did we ship X? What were the alternatives? Most systems store the decision and lose the reasoning.</p></li><li><p>Overload context. The agent loads too much, gets confused, generates shallow output.</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_!uOtz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5db56ec-29cc-40e4-b42d-78a38084f7b8_2443x947.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uOtz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5db56ec-29cc-40e4-b42d-78a38084f7b8_2443x947.png 424w, https://substackcdn.com/image/fetch/$s_!uOtz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5db56ec-29cc-40e4-b42d-78a38084f7b8_2443x947.png 848w, https://substackcdn.com/image/fetch/$s_!uOtz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5db56ec-29cc-40e4-b42d-78a38084f7b8_2443x947.png 1272w, https://substackcdn.com/image/fetch/$s_!uOtz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5db56ec-29cc-40e4-b42d-78a38084f7b8_2443x947.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uOtz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5db56ec-29cc-40e4-b42d-78a38084f7b8_2443x947.png" width="1456" height="564" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5db56ec-29cc-40e4-b42d-78a38084f7b8_2443x947.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:564,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:300478,&quot;alt&quot;:&quot;PM Brain: Why most AI memory systems fail by month three&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://www.productcompass.pm/i/198542104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5db56ec-29cc-40e4-b42d-78a38084f7b8_2443x947.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PM Brain: Why most AI memory systems fail by month three" title="PM Brain: Why most AI memory systems fail by month three" srcset="https://substackcdn.com/image/fetch/$s_!uOtz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5db56ec-29cc-40e4-b42d-78a38084f7b8_2443x947.png 424w, https://substackcdn.com/image/fetch/$s_!uOtz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5db56ec-29cc-40e4-b42d-78a38084f7b8_2443x947.png 848w, https://substackcdn.com/image/fetch/$s_!uOtz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5db56ec-29cc-40e4-b42d-78a38084f7b8_2443x947.png 1272w, https://substackcdn.com/image/fetch/$s_!uOtz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5db56ec-29cc-40e4-b42d-78a38084f7b8_2443x947.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>PM Brain is structured around five corresponding design choices, each one targeting a specific failure:</p><ol><li><p>Epistemic boundaries. Every claim is tagged: observation, interpretation, hypothesis, assumption, decision. A Slack comment is not automatically truth.</p></li><li><p>A maintenance model that runs. Weekly sweep. Stale evidence flagged, recurring patterns compressed, contradictions preserved.</p></li><li><p>Flag, never gate. The system surfaces. The PM decides. The moment it becomes a blocker, it dies.</p></li><li><p>Inspectable, not opaque. Markdown, repo-native, editable, version-controllable. Trust is the bottleneck.</p></li><li><p>Resists complexity creep. No taxonomies, no agent swarms, no graph ontologies. Opinionated and lightweight.</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_!nlvJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d80bf1-da8f-4d0a-968e-cbaef9886b7f_2490x996.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nlvJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d80bf1-da8f-4d0a-968e-cbaef9886b7f_2490x996.png 424w, https://substackcdn.com/image/fetch/$s_!nlvJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d80bf1-da8f-4d0a-968e-cbaef9886b7f_2490x996.png 848w, https://substackcdn.com/image/fetch/$s_!nlvJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d80bf1-da8f-4d0a-968e-cbaef9886b7f_2490x996.png 1272w, https://substackcdn.com/image/fetch/$s_!nlvJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d80bf1-da8f-4d0a-968e-cbaef9886b7f_2490x996.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nlvJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d80bf1-da8f-4d0a-968e-cbaef9886b7f_2490x996.png" width="1456" height="582" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96d80bf1-da8f-4d0a-968e-cbaef9886b7f_2490x996.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:582,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:267232,&quot;alt&quot;:&quot;Five failure modes show up consistently across vector-DB memory, RAG over your docs, &#8220;AI second brain&#8221; apps, and most agent-memory frameworks. &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://www.productcompass.pm/i/198542104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d80bf1-da8f-4d0a-968e-cbaef9886b7f_2490x996.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Five failure modes show up consistently across vector-DB memory, RAG over your docs, &#8220;AI second brain&#8221; apps, and most agent-memory frameworks. " title="Five failure modes show up consistently across vector-DB memory, RAG over your docs, &#8220;AI second brain&#8221; apps, and most agent-memory frameworks. " srcset="https://substackcdn.com/image/fetch/$s_!nlvJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d80bf1-da8f-4d0a-968e-cbaef9886b7f_2490x996.png 424w, https://substackcdn.com/image/fetch/$s_!nlvJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d80bf1-da8f-4d0a-968e-cbaef9886b7f_2490x996.png 848w, https://substackcdn.com/image/fetch/$s_!nlvJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d80bf1-da8f-4d0a-968e-cbaef9886b7f_2490x996.png 1272w, https://substackcdn.com/image/fetch/$s_!nlvJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d80bf1-da8f-4d0a-968e-cbaef9886b7f_2490x996.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>Full mapping with the architecture choices behind each fix: <a href="https://github.com/phuryn/pm-brain/blob/main/docs/why-this-matters.md">docs/why-this-matters.md</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>2. A Week With PM Brain: Lena&#8217;s First Five Days</strong></h2><p>The fastest way to see what PM Brain does is to watch someone use it. This is a short story. The character is invented, the artifacts are real-shaped, the team and the tool are not. The full version lives in <a href="https://github.com/phuryn/pm-brain/blob/main/docs/walkthrough.md">docs/walkthrough.md</a>.</p><p><strong>Lena Vasquez</strong> just took over PM for a B2B project-collaboration tool called <strong>Mosaic</strong>. The previous PM left a Notion workspace, a Jira project, and a 3-month-old Miro discovery board.</p><h3>&#128640; Monday: onboarding</h3><p>Lena plugs in the Notion, Jira, and Miro app connectors, then runs <em><strong>/pm-brain</strong></em>. The skill enters <strong>migration mode</strong>, runs a five-batch interview (about 10 minutes), then reads through the three tools.</p><p>Forty-five minutes later: a folder of markdown files, an <em><strong>INDEX.md</strong></em>, and a short onboarding report. Buried in it:</p><blockquote><p><strong>Tension surfaced.</strong> The strategy doc says the north-star is <em>activation: 60% of new accounts invite a teammate by day 3</em>. But of 47 Jira tickets shipped in Q1 and Q2, 38 are tagged &#8220;enterprise permissions&#8221; or &#8220;admin tooling.&#8221; Only 4 touch the activation funnel.</p></blockquote><p>A new PM usually catches this in week three, after they&#8217;ve already built plans on top of the official story. Lena has it on day one because the brain cross-checked two folders humans tend to read separately.</p><h3>&#127911; Tuesday: a discovery call</h3><p>Lena has a 45-minute call with <strong>Talia Brennan</strong>, Head of Operations at Northridge Construction. Quiet user, seat count plateaued, no complaints. After the call: <em><strong>/ingest northridge-talia-transcript.md</strong></em>.</p><p>Four things happen in parallel:</p><ol><li><p>The transcript copies to <em><strong>source/interviews/...</strong></em>. Read-only. Audit anchor.</p></li><li><p>A synthesis note lands in <em><strong>ingestion/interviews/...</strong></em> with observations tagged by speaker and date.</p></li><li><p>The brain tells Lena that two stakeholders flagged the same invite-link friction back in March, that there&#8217;s a candidate hypothesis the previous PM never tested, and that the Miro discovery board has a &#8220;magic-link onboarding?&#8221; sticky from January, never explored.</p></li><li><p>Talia&#8217;s observation lands as a new evidence row on the invite-link hypothesis. It promotes from <em><strong>candidate</strong></em> to <em><strong>proposed</strong></em>. Three independent observations now.</p></li></ol><p>One call. The weight of three.</p><h3>&#128227; Wednesday: the loud stakeholder</h3><p>Slack lights up. <strong>Rahul Pillai</strong> (marketing): <em>&#8220;We need to ship dark mode this quarter. Every demo asks for it. It&#8217;s killing conversion.&#8221;</em></p><p>Loud, recent, plausible. A less-confident PM might tell engineering to start scoping.</p><p>Lena types into Claude: <em>&#8220;Rahul just messaged about dark mode. Capture as verbal stakeholder claim, flag any conflict with documented evidence.&#8221;</em></p><p>The brain tags the claim <em><strong>(stakeholder-verbal, rahul-pillai, 2026-05-20)</strong></em>. Then it surfaces what&#8217;s documented:</p><blockquote><ul><li><p>Q1 close-loss review: 27 demos analyzed. Dark mode flagged in 2 as a wishlist item. Zero blockers.</p></li><li><p>Cascadia Health interview, 2026-03-15: buyer named integrations and admin controls. Not dark mode.</p></li><li><p>Brillstone interview, 2026-04-18: same.</p></li><li><p>Q2 strategy doc: activation north-star, not feature parity.</p></li></ul></blockquote><p>The brain doesn&#8217;t argue with Rahul. It puts his verbal claim next to 27 sales calls, two customer interviews, and the team&#8217;s stated strategy, each wearing its actual provenance.</p><p>Lena replies: <em>&#8220;Want to dig into this. Friday.&#8221;</em> She has the documented case ready and a productive conversation booked.</p><h3>&#128104;&#8205;&#127981; Thursday: engineering proposes an alternative</h3><p>1:1 with <strong>Mateus Okafor</strong> (engineering lead): <em>&#8220;What if we ran a 1-week spike on magic-invite-links? If it works, we save four weeks of UI.&#8221;</em></p><p>Lena adds a line. The brain records the verbal, files it as a solution option on the invite-link hypothesis, findable next to Talia&#8217;s evidence and the Miro sticky from January. The suggestion doesn&#8217;t die in Slack scrollback.</p><h3>&#129496;&#8205;&#9792;&#65039; Friday: <em>/review</em>, then Monday&#8217;s prep is done</h3><p>Lena runs <em><strong>/review</strong></em>. One page:</p><blockquote><p><strong>This week</strong></p><ul><li><p>Strategy gap (still open): flagged Monday, not raised yet.</p></li><li><p>Invite-link hypothesis: <em><strong>candidate</strong></em> &#8594; <em><strong>proposed</strong></em>. Three observations.</p></li><li><p>Dark mode tension (Rahul): verbal claim captured, flagged against documented evidence. Friday meeting is your action.</p></li><li><p>Magic-invite-links spike (Mateus): solution option logged.</p></li></ul><p><strong>Drifting</strong></p><ul><li><p><em><strong>enterprise-permissions-v2</strong></em>: no new evidence in 47 days. Revive, demote, or archive?</p></li></ul><p><strong>For your Monday strategy meeting</strong></p><ol><li><p>Open with the strategy-vs-shipped-work gap. Activation-first or enterprise-first? One is wrong.</p></li><li><p>Bring the invite-link hypothesis forward. Three observations + one engineering alternative. Ask for a go/no-go.</p></li><li><p>Park dark mode until Friday&#8217;s meeting with Rahul.</p></li></ol></blockquote><p>Lena reads this in five minutes. Monday&#8217;s prep is done.</p><p><strong>What Lena got, in five lines:</strong></p><ul><li><p><strong>Monday:</strong> a real question to bring into your first strategy meeting, on day one</p></li><li><p><strong>Tuesday:</strong> one call that landed with the weight of three</p></li><li><p><strong>Wednesday:</strong> documented evidence ready when a loud voice contradicted it</p></li><li><p><strong>Thursday:</strong> an engineering suggestion that didn&#8217;t die in Slack</p></li><li><p><strong>Friday:</strong> a one-page summary that made Monday&#8217;s meeting easy</p></li></ul><p>None of this is automation. It&#8217;s the brain doing the small, boring work of cross-referencing what she already knew, so the judgment work, which is her job, gets easier.</p><div><hr></div><h2><strong>3. The Architecture</strong></h2><p>Five knowledge areas, three lifecycle areas, four ingestion modes, one maintenance loop.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sbAH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7c340a6-f40e-43bb-a52a-406d5caf3493_2488x1246.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sbAH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7c340a6-f40e-43bb-a52a-406d5caf3493_2488x1246.png 424w, https://substackcdn.com/image/fetch/$s_!sbAH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7c340a6-f40e-43bb-a52a-406d5caf3493_2488x1246.png 848w, https://substackcdn.com/image/fetch/$s_!sbAH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7c340a6-f40e-43bb-a52a-406d5caf3493_2488x1246.png 1272w, https://substackcdn.com/image/fetch/$s_!sbAH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7c340a6-f40e-43bb-a52a-406d5caf3493_2488x1246.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sbAH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7c340a6-f40e-43bb-a52a-406d5caf3493_2488x1246.png" width="1456" height="729" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7c340a6-f40e-43bb-a52a-406d5caf3493_2488x1246.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:729,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:308060,&quot;alt&quot;:&quot;PM Brain: The Architecture. Five knowledge areas, three lifecycle areas, four ingestion modes, one maintenance loop.&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://www.productcompass.pm/i/198542104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7c340a6-f40e-43bb-a52a-406d5caf3493_2488x1246.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PM Brain: The Architecture. Five knowledge areas, three lifecycle areas, four ingestion modes, one maintenance loop." title="PM Brain: The Architecture. Five knowledge areas, three lifecycle areas, four ingestion modes, one maintenance loop." srcset="https://substackcdn.com/image/fetch/$s_!sbAH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7c340a6-f40e-43bb-a52a-406d5caf3493_2488x1246.png 424w, https://substackcdn.com/image/fetch/$s_!sbAH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7c340a6-f40e-43bb-a52a-406d5caf3493_2488x1246.png 848w, https://substackcdn.com/image/fetch/$s_!sbAH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7c340a6-f40e-43bb-a52a-406d5caf3493_2488x1246.png 1272w, https://substackcdn.com/image/fetch/$s_!sbAH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7c340a6-f40e-43bb-a52a-406d5caf3493_2488x1246.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>Plus <em><strong>source/</strong></em> (immutable copies of original artifacts), a maintenance log, and a docs folder.</p><p>Evidence flows in one direction. It fans out at the durable layer. The same artifact updates multiple destinations in parallel. Talia&#8217;s 45-minute interview touched six files: one source copy, one ingestion record, one insight promoted to <em><strong>knowledge/users/</strong></em>, one hypothesis strengthened, one stakeholder touchpoint logged, and a candidate solution option logged on the hypothesis.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wezs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37f537f0-1ff3-4517-94c5-bba8ffd721e7_2499x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wezs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37f537f0-1ff3-4517-94c5-bba8ffd721e7_2499x1120.png 424w, https://substackcdn.com/image/fetch/$s_!Wezs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37f537f0-1ff3-4517-94c5-bba8ffd721e7_2499x1120.png 848w, https://substackcdn.com/image/fetch/$s_!Wezs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37f537f0-1ff3-4517-94c5-bba8ffd721e7_2499x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!Wezs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37f537f0-1ff3-4517-94c5-bba8ffd721e7_2499x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wezs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37f537f0-1ff3-4517-94c5-bba8ffd721e7_2499x1120.png" width="1456" height="653" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37f537f0-1ff3-4517-94c5-bba8ffd721e7_2499x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:653,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:320091,&quot;alt&quot;:&quot;PM Brain: The cognition pipeline. Evidence flows in one direction. It fans out at the durable layer.&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://www.productcompass.pm/i/198542104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37f537f0-1ff3-4517-94c5-bba8ffd721e7_2499x1120.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PM Brain: The cognition pipeline. Evidence flows in one direction. It fans out at the durable layer." title="PM Brain: The cognition pipeline. Evidence flows in one direction. It fans out at the durable layer." srcset="https://substackcdn.com/image/fetch/$s_!Wezs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37f537f0-1ff3-4517-94c5-bba8ffd721e7_2499x1120.png 424w, https://substackcdn.com/image/fetch/$s_!Wezs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37f537f0-1ff3-4517-94c5-bba8ffd721e7_2499x1120.png 848w, https://substackcdn.com/image/fetch/$s_!Wezs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37f537f0-1ff3-4517-94c5-bba8ffd721e7_2499x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!Wezs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37f537f0-1ff3-4517-94c5-bba8ffd721e7_2499x1120.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>When a hypothesis is confirmed, it gets promoted and a decision record is auto-drafted (status: <em><strong>pending</strong></em>, waiting for your sign-off). When a decision&#8217;s reversal condition triggers, the weekly sweep surfaces it.</p><p>Most systems mash hypotheses and decisions together. They become useless.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UykB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b9ac2-7b58-41c6-b3e7-c49e4afca9bf_2494x1045.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UykB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b9ac2-7b58-41c6-b3e7-c49e4afca9bf_2494x1045.png 424w, https://substackcdn.com/image/fetch/$s_!UykB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b9ac2-7b58-41c6-b3e7-c49e4afca9bf_2494x1045.png 848w, https://substackcdn.com/image/fetch/$s_!UykB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b9ac2-7b58-41c6-b3e7-c49e4afca9bf_2494x1045.png 1272w, https://substackcdn.com/image/fetch/$s_!UykB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b9ac2-7b58-41c6-b3e7-c49e4afca9bf_2494x1045.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UykB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b9ac2-7b58-41c6-b3e7-c49e4afca9bf_2494x1045.png" width="1456" height="610" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed0b9ac2-7b58-41c6-b3e7-c49e4afca9bf_2494x1045.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:610,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:275966,&quot;alt&quot;:&quot;PM Brain: The hypothesis / decision split.&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://www.productcompass.pm/i/198542104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b9ac2-7b58-41c6-b3e7-c49e4afca9bf_2494x1045.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PM Brain: The hypothesis / decision split." title="PM Brain: The hypothesis / decision split." srcset="https://substackcdn.com/image/fetch/$s_!UykB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b9ac2-7b58-41c6-b3e7-c49e4afca9bf_2494x1045.png 424w, https://substackcdn.com/image/fetch/$s_!UykB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b9ac2-7b58-41c6-b3e7-c49e4afca9bf_2494x1045.png 848w, https://substackcdn.com/image/fetch/$s_!UykB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b9ac2-7b58-41c6-b3e7-c49e4afca9bf_2494x1045.png 1272w, https://substackcdn.com/image/fetch/$s_!UykB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b9ac2-7b58-41c6-b3e7-c49e4afca9bf_2494x1045.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.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>4. Provenance: Every Claim Wears a Tag</strong></h2><p>This is the load-bearing technical idea.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T3cB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f2ea091-f34f-469f-b66b-fcab886a23b0_2390x780.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T3cB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f2ea091-f34f-469f-b66b-fcab886a23b0_2390x780.png 424w, https://substackcdn.com/image/fetch/$s_!T3cB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f2ea091-f34f-469f-b66b-fcab886a23b0_2390x780.png 848w, https://substackcdn.com/image/fetch/$s_!T3cB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f2ea091-f34f-469f-b66b-fcab886a23b0_2390x780.png 1272w, https://substackcdn.com/image/fetch/$s_!T3cB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f2ea091-f34f-469f-b66b-fcab886a23b0_2390x780.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T3cB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f2ea091-f34f-469f-b66b-fcab886a23b0_2390x780.png" width="2390" height="780" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f2ea091-f34f-469f-b66b-fcab886a23b0_2390x780.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:780,&quot;width&quot;:2390,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:280295,&quot;alt&quot;:&quot;PM Brain. Provenance: Every Claim Wears a Tag.&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://www.productcompass.pm/i/198542104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd12e58-6cec-45cc-aaed-ea9de5282fef_2390x1277.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PM Brain. Provenance: Every Claim Wears a Tag." title="PM Brain. Provenance: Every Claim Wears a Tag." srcset="https://substackcdn.com/image/fetch/$s_!T3cB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f2ea091-f34f-469f-b66b-fcab886a23b0_2390x780.png 424w, https://substackcdn.com/image/fetch/$s_!T3cB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f2ea091-f34f-469f-b66b-fcab886a23b0_2390x780.png 848w, https://substackcdn.com/image/fetch/$s_!T3cB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f2ea091-f34f-469f-b66b-fcab886a23b0_2390x780.png 1272w, https://substackcdn.com/image/fetch/$s_!T3cB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f2ea091-f34f-469f-b66b-fcab886a23b0_2390x780.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 claim in <em><strong>hypotheses/</strong></em>, <em><strong>decisions/</strong></em>, and <em><strong>knowledge/users/insights.md</strong></em> carries a small tag, a <strong>provenance marker</strong>, that says where it came from.</p><p>The tags carry an implicit hierarchy: documented decisions outweigh documented research, which outweighs verbal claims, which outweighs PM intuition. The brain leans on that hierarchy when evidence conflicts. The leaning is in plain text. You can override it.</p><p>The brain <strong>enforces the vocabulary, not the workflow</strong>. PMs have intuitions. They hear things off-the-record from execs. They inherit claims with no clear pedigree. Those are legitimate inputs. The tag just makes them wear their actual provenance instead of laundering them through a fake <em><strong>ingestion/</strong></em> record.</p><p>Three months later your CTO asks: <em>&#8220;Why did we kill real-time alerts?&#8221;</em> You open the decision file. Every evidence row carries a tag. Path-typed tags walk in two clicks to the synthesis, then to the raw transcript. Non-path tags tell you honestly that no artifact exists. Both are auditable. Only a <em>missing</em> tag is a bug.</p><div><hr></div><h2><strong>5. The Six Commands</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P0aR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab729c5-90e2-4ce5-8020-2b08f6cd5fc6_2470x1291.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P0aR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab729c5-90e2-4ce5-8020-2b08f6cd5fc6_2470x1291.png 424w, https://substackcdn.com/image/fetch/$s_!P0aR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab729c5-90e2-4ce5-8020-2b08f6cd5fc6_2470x1291.png 848w, https://substackcdn.com/image/fetch/$s_!P0aR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab729c5-90e2-4ce5-8020-2b08f6cd5fc6_2470x1291.png 1272w, https://substackcdn.com/image/fetch/$s_!P0aR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab729c5-90e2-4ce5-8020-2b08f6cd5fc6_2470x1291.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P0aR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab729c5-90e2-4ce5-8020-2b08f6cd5fc6_2470x1291.png" width="1456" height="761" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ab729c5-90e2-4ce5-8020-2b08f6cd5fc6_2470x1291.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:761,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:418009,&quot;alt&quot;:&quot;PM Brain: The Six Commands&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://www.productcompass.pm/i/198542104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab729c5-90e2-4ce5-8020-2b08f6cd5fc6_2470x1291.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PM Brain: The Six Commands" title="PM Brain: The Six Commands" srcset="https://substackcdn.com/image/fetch/$s_!P0aR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab729c5-90e2-4ce5-8020-2b08f6cd5fc6_2470x1291.png 424w, https://substackcdn.com/image/fetch/$s_!P0aR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab729c5-90e2-4ce5-8020-2b08f6cd5fc6_2470x1291.png 848w, https://substackcdn.com/image/fetch/$s_!P0aR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab729c5-90e2-4ce5-8020-2b08f6cd5fc6_2470x1291.png 1272w, https://substackcdn.com/image/fetch/$s_!P0aR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab729c5-90e2-4ce5-8020-2b08f6cd5fc6_2470x1291.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>/ingest</strong> is the workhorse. <strong>/plan</strong> is where the system earns its keep. A new objective lands (&#8221;reduce onboarding drop-off 20% in Q3&#8221;) and the brain loads strategy, current metrics, user insights, active hypotheses, past decisions, stakeholder constraints, then drafts the six blocks. </p><p>That output is the difference between &#8220;another second brain&#8221; and a system that does product work with you.</p><div><hr></div><h2><strong>6. The Maintenance Sweep</strong></h2><p>Memory systems rot in predictable ways. The weekly sweep is the forcing function that catches those failure modes before they compound. Skip <em><strong>/review</strong></em> for a month and the brain becomes a graveyard. Run it weekly and the system pays you back every Friday.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!st7_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a2de03-8670-4bfd-9a21-8f4a136c840b_2476x1094.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!st7_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a2de03-8670-4bfd-9a21-8f4a136c840b_2476x1094.png 424w, https://substackcdn.com/image/fetch/$s_!st7_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a2de03-8670-4bfd-9a21-8f4a136c840b_2476x1094.png 848w, https://substackcdn.com/image/fetch/$s_!st7_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a2de03-8670-4bfd-9a21-8f4a136c840b_2476x1094.png 1272w, https://substackcdn.com/image/fetch/$s_!st7_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a2de03-8670-4bfd-9a21-8f4a136c840b_2476x1094.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!st7_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a2de03-8670-4bfd-9a21-8f4a136c840b_2476x1094.png" width="1456" height="643" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93a2de03-8670-4bfd-9a21-8f4a136c840b_2476x1094.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:643,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:281343,&quot;alt&quot;:&quot;PM Brain: Memory systems rot in predictable ways&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://www.productcompass.pm/i/198542104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a2de03-8670-4bfd-9a21-8f4a136c840b_2476x1094.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PM Brain: Memory systems rot in predictable ways" title="PM Brain: Memory systems rot in predictable ways" srcset="https://substackcdn.com/image/fetch/$s_!st7_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a2de03-8670-4bfd-9a21-8f4a136c840b_2476x1094.png 424w, https://substackcdn.com/image/fetch/$s_!st7_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a2de03-8670-4bfd-9a21-8f4a136c840b_2476x1094.png 848w, https://substackcdn.com/image/fetch/$s_!st7_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a2de03-8670-4bfd-9a21-8f4a136c840b_2476x1094.png 1272w, https://substackcdn.com/image/fetch/$s_!st7_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a2de03-8670-4bfd-9a21-8f4a136c840b_2476x1094.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>Eight failure modes; six checks. Dated report in <em><strong>maintenance/log/</strong></em>:</p><ol><li><p><strong>Stale knowledge audit.</strong> Files not updated in 6+ weeks. Still true? Archive?</p></li><li><p><strong>Stale evidence flagging.</strong> Market intel past 30&#8211;60 days, interviews past 90, stakeholder assumptions past 30, strategy assumptions past quarterly. Flags; doesn&#8217;t auto-decay confidence. You decide what to refresh.</p></li><li><p><strong>Hypothesis and decision hygiene.</strong> Active hypotheses with no evidence in 30+ days. Promoted hypotheses without a corresponding decision (drafts one). Decisions whose reversal condition triggered. Pending decisions older than 14 days with blocker impact (decision debt).</p></li><li><p><strong>Stakeholder cadence and strategy tensions.</strong> High-influence stakeholders not touched in 3+ weeks. Recent decisions or signals diverging from strategy. Surfaced as tensions, not as drift to fix.</p></li><li><p><strong>Knowledge synthesis (compression).</strong> The highest-leverage step. Identifies recurring patterns AND recurring contradictions. Preserves minority signals: the dissenting interview, the contrarian metric, the off-pattern stakeholder concern. Compression is additive, never destructive.</p></li><li><p><strong>Archival sweep.</strong> Shipped features inactive 90+ days. Resolved hypotheses. Closed asks. Before archiving anything, extracts durable lessons.</p></li></ol><p>Twenty minutes Friday afternoon. Set a recurring calendar reminder. Without it, the brain rots.</p><div><hr></div><h2><strong>7. Will This Stay Healthy After a Year?</strong></h2><p>Yes. The layer the agent loads by default (your durable knowledge of strategy, product, users, market) grows logarithmically by design. The raw layer grows linearly with your activity but stays cold unless something cites 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_!jYwF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa50e919e-c3be-4a04-8c42-b8fca251502c_2484x1328.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jYwF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa50e919e-c3be-4a04-8c42-b8fca251502c_2484x1328.png 424w, https://substackcdn.com/image/fetch/$s_!jYwF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa50e919e-c3be-4a04-8c42-b8fca251502c_2484x1328.png 848w, https://substackcdn.com/image/fetch/$s_!jYwF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa50e919e-c3be-4a04-8c42-b8fca251502c_2484x1328.png 1272w, https://substackcdn.com/image/fetch/$s_!jYwF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa50e919e-c3be-4a04-8c42-b8fca251502c_2484x1328.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jYwF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa50e919e-c3be-4a04-8c42-b8fca251502c_2484x1328.png" width="2484" height="1328" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a50e919e-c3be-4a04-8c42-b8fca251502c_2484x1328.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1328,&quot;width&quot;:2484,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:442735,&quot;alt&quot;:&quot;PM Brain: The layer the agent loads by default (your durable knowledge of strategy, product, users, market) grows logarithmically by design.&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://www.productcompass.pm/i/198542104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a34299e-8689-4259-9bce-379852f00a7f_2484x1332.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PM Brain: The layer the agent loads by default (your durable knowledge of strategy, product, users, market) grows logarithmically by design." title="PM Brain: The layer the agent loads by default (your durable knowledge of strategy, product, users, market) grows logarithmically by design." srcset="https://substackcdn.com/image/fetch/$s_!jYwF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa50e919e-c3be-4a04-8c42-b8fca251502c_2484x1328.png 424w, https://substackcdn.com/image/fetch/$s_!jYwF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa50e919e-c3be-4a04-8c42-b8fca251502c_2484x1328.png 848w, https://substackcdn.com/image/fetch/$s_!jYwF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa50e919e-c3be-4a04-8c42-b8fca251502c_2484x1328.png 1272w, https://substackcdn.com/image/fetch/$s_!jYwF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa50e919e-c3be-4a04-8c42-b8fca251502c_2484x1328.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>Default loads target the durable + active layers. Brain age doesn&#8217;t change what routine commands read.</p><p>The architectural payoff: plain markdown in a git repo is forward-compatible with every future Claude, every future Cursor, every future agent. The format doesn&#8217;t bind to today&#8217;s tooling. Context windows expand; your brain stays the same shape.</p><p><em>Longer version with the realistic envelope numbers (~50-100 interviews/year, 10-20 active hypotheses, 10-30 stakeholders) and the four on-demand triggers that pull old material into context: <a href="https://github.com/phuryn/pm-brain/blob/main/docs/scaling.md">docs/scaling.md</a>.</em></p><p></p><div><hr></div><h2><strong>8. Does It Actually Work? The Test Scoreboard</strong></h2><p>PM Brain is new. The architecture isn&#8217;t. I&#8217;ve been running the same pattern (operating manual, tags, hypotheses, decisions, weekly maintenance sweep) on my content work for months. </p><p>PM Brain is that architecture adapted to PM-specific schemas, validated against 17 scenarios I designed from PM situations I&#8217;ve shipped through, with synthetic data generated across persona, stage, and risk dimensions.</p><blockquote><p><strong>404 of 406 individual checks pass (&#8776;99.5%) </strong>on Sonnet 4.6.</p></blockquote><p>The split:</p><ul><li><p>Structural checks: 329 / 329 (100%). Files exist where they should. Links resolve. Evidence rows carry valid provenance tags. Decision schemas are valid. Hypothesis statuses match the evidence claims.</p></li><li><p>LLM-judge content checks: 75 / 77 (&#8776;97%). Rubrics evaluating whether the brain surfaced the right contradictions, drafted the right decisions, asked the right questions.</p></li></ul><p>Each scenario is multi-turn. The harness spins up a fresh brain in a temp directory, replays the inputs through claude -p, runs structural assertions after every turn, and runs LLM-judge rubrics on substance at the end. Full breakdown and snapshots in <a href="https://github.com/phuryn/pm-brain/blob/main/tests/RESULTS.md">tests/RESULTS.md</a>.</p><p>The point isn&#8217;t 99.5%. Most &#8220;AI memory&#8221; projects don&#8217;t have an eval suite at all. When the skill changes, the suite tells you whether it got better or worse on real-shaped PM situations, with snapshots you can diff.</p><div><hr></div><h2><strong>9. What It Isn't</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xKSq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca4ac64f-be2c-486b-a5b1-c7c3f6a28521_2485x915.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xKSq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca4ac64f-be2c-486b-a5b1-c7c3f6a28521_2485x915.png 424w, https://substackcdn.com/image/fetch/$s_!xKSq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca4ac64f-be2c-486b-a5b1-c7c3f6a28521_2485x915.png 848w, https://substackcdn.com/image/fetch/$s_!xKSq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca4ac64f-be2c-486b-a5b1-c7c3f6a28521_2485x915.png 1272w, https://substackcdn.com/image/fetch/$s_!xKSq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca4ac64f-be2c-486b-a5b1-c7c3f6a28521_2485x915.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xKSq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca4ac64f-be2c-486b-a5b1-c7c3f6a28521_2485x915.png" width="1456" height="536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca4ac64f-be2c-486b-a5b1-c7c3f6a28521_2485x915.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:536,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:272808,&quot;alt&quot;:&quot;What PM Brain Is Not Good At&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://www.productcompass.pm/i/198542104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca4ac64f-be2c-486b-a5b1-c7c3f6a28521_2485x915.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="What PM Brain Is Not Good At" title="What PM Brain Is Not Good At" srcset="https://substackcdn.com/image/fetch/$s_!xKSq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca4ac64f-be2c-486b-a5b1-c7c3f6a28521_2485x915.png 424w, https://substackcdn.com/image/fetch/$s_!xKSq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca4ac64f-be2c-486b-a5b1-c7c3f6a28521_2485x915.png 848w, https://substackcdn.com/image/fetch/$s_!xKSq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca4ac64f-be2c-486b-a5b1-c7c3f6a28521_2485x915.png 1272w, https://substackcdn.com/image/fetch/$s_!xKSq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca4ac64f-be2c-486b-a5b1-c7c3f6a28521_2485x915.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>A few notes the grid doesn&#8217;t cover:</p><ul><li><p><strong>The ad-hoc inbox tempts laziness.</strong> &#8220;I&#8217;ll route this later.&#8221; No. Every ad-hoc item gets resolved in the same session. The folder is a sorting bench. The moment it becomes a backlog, it becomes a graveyard.</p></li><li><p><strong>Memory promotion requires judgment.</strong> The agent proposes what to promote. The call is yours. Rubber-stamp everything and the durable layer fills with noise. Reject everything and the system never learns.</p></li><li><p><strong>Stakeholder files feel awkward at first.</strong> Writing down what your manager cares about, in a file, in your git repo, can feel like treating people as objects. The reframe that worked for me: this isn&#8217;t about them, it&#8217;s about your continuity. You forget. The file remembers.</p></li></ul><div><hr></div><h2><strong>10. How to Start</strong></h2><h3>Install &amp; migrate</h3><p>Two stages:</p><ul><li><p>Skill is global; brains are per-product. One shell command installs the skill (macOS / Linux / WSL / Git Bash, or Windows PowerShell). </p></li><li><p>Then in any folder, run claude and <strong>/pm-brain</strong>.</p></li></ul><p>The skill auto-detects what&#8217;s in the directory:</p><ul><li><p>Empty folder = <strong>greenfield</strong>. </p></li><li><p>Folder with existing PM artifacts (Notion exports, meeting notes, Jira CSV) = <strong>migration</strong>.</p></li></ul><p>Either way, a five-batch interview captures your context. The scaffold drops in. The CLAUDE.md operating manual lands at the brain root. The brain commits locally. Never pushes.</p><p>Install commands, requirements, and troubleshooting: <a href="https://github.com/phuryn/pm-brain">github.com/phuryn/pm-brain.</a></p><h3>Next: Don&#8217;t backfill old artifacts retroactively</h3><p>Migration handles your current state. Don&#8217;t backfill old artifacts retroactively. Two different things:</p><ul><li><p><strong>Migration mode, recommended:</strong> When you point <em><strong>/pm-brain</strong></em> at a folder with your active strategy doc, your in-flight hypotheses, your recent decisions, and your current stakeholder list, the skill reads them, organizes them, and produces a short report on what it found. That&#8217;s the goal. Let migration absorb your <em>current</em> organized PM artifacts.</p></li><li><p><strong>Backfilling everything, the trap:</strong> The temptation is to spend a weekend manually feeding 200 old interview transcripts, six months of Slack threads, and every meeting note you&#8217;ve ever taken through <em><strong>/ingest</strong></em>. Don&#8217;t. If a six-month-old interview matters, it&#8217;ll come up through current work and you&#8217;ll ingest it then, with the context to know <em>why</em> it matters. Forcing stale artifacts in now wastes a weekend and clogs the durable layer with stuff the agent has no context to promote properly.</p></li></ul><h3>Week 1</h3><p>The system dies if these three habits don&#8217;t take hold in week one. Do them in order, in the first seven days:</p><ol><li><p><strong>Ingest one real artifact today.</strong> Paste your most recent customer interview, meeting notes, or competitor screenshot. Watch where it lands in <em><strong>ingestion/</strong></em>, then which durable areas it updates. This is how you learn what the system does.</p></li><li><p><strong>Prep your next 1:1.</strong> Before your next conversation with your highest-friction stakeholder, run <em><strong>/prep </strong></em>. Let the agent surface what to ask. The first real value is here, not in the scaffold.</p></li><li><p><strong>Run </strong><em><strong>/review</strong></em><strong> Friday.</strong> Set a recurring calendar reminder. Twenty minutes Friday afternoon. Without it, the brain rots.</p></li></ol><p>That&#8217;s week one. Don&#8217;t add anything else.</p><h3>Week 2</h3><p>Ingest two more interviews. Log one decision. Add one feature file for your most active feature. Open <em><strong>knowledge/strategy.md</strong></em> and fill in the <em><strong>Non-goals</strong></em> section if the interview didn&#8217;t capture it.</p><h3>Week 3</h3><p>Second <em><strong>/review</strong></em>. Now you can compare two reports. Patterns start showing up: recurring contradictions, drifting strategy, hypotheses with no evidence. This is when the system starts paying off.</p><h3>Week 4+</h3><p>It compounds. Every meeting note, every market signal, every decision feeds the same loop. The brain learns the shape of your product as you work.</p><blockquote><p>The goal isn&#8217;t a complete brain. The goal is a brain that<strong> compounds over time.</strong></p></blockquote><div><hr></div><h2><strong>11. A Research Preview, with Help</strong></h2><p>PM Brain is a research preview. The architecture has months of dogfooding behind it on my content work; the product as installed by real PMs is new. I want to learn what breaks in real organizations, in the first week of use.</p><p>Three things to make adoption easier:</p><ul><li><p><strong>Live workshop session, Monday </strong><s>May 25</s> <strong>May 26, for paid subscribers.</strong> I&#8217;ll walk through install, migration, and the first week of usage live, then take questions. See: <a href="https://go.productcompass.pm/premium">https://go.productcompass.pm/premium</a></p></li><li><p><strong>Dedicated </strong><em><strong><a href="https://go.productcompass.pm/premium">#pm-brain</a></strong></em><strong><a href="https://go.productcompass.pm/premium"> Slack channel</a> for 1:1 install help (paid members).</strong> Office Hours members get the channel. I&#8217;m in there for install pain, first-week confusion, and the awkward moments where the system feels wrong but you can&#8217;t articulate why. Those are the highest-signal reports.</p></li><li><p><strong>Public issues.</strong> <a href="https://github.com/phuryn/pm-brain/issues">github.com/phuryn/pm-brain/issues</a>. Install bugs, feature requests, scenarios you want the eval suite to cover. Anyone can open one without a Substack subscription.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><p>If you&#8217;re in a real product role and the system might fit your workflow, your install feedback in week one is what makes the next version better.</p><div><hr></div><h2><strong>12. Closing</strong></h2><p>Most product organizations repeatedly lose the same things: failed bets, abandoned assumptions, historical reasoning, unresolved tensions. The PM job is partly to remember these. The PM job is impossible when your context lives in five different places and none of them talk to each other.</p><p>One repo. One operating manual. An agent that reads it.</p><p>The brain isn&#8217;t a notes app you fill in. It&#8217;s a folder of plain-text files that grow with the work, traceable back to the source on every line, swept clean every Friday, free for anyone to use, and inspectable by anyone you trust.</p><p>P.S. The repo is at <a href="https://github.com/phuryn/pm-brain">github.com/phuryn/pm-brain</a>.</p><div><hr></div><h2><strong>Thanks for Reading The Product Compass</strong></h2><p>It&#8217;s amazing to learn and grow together.</p><p>Have a great rest of the week, Pawe&#322;</p><div><hr></div><h2><strong>Resources</strong></h2><h3>The PM Brain OS</h3><ul><li><p><strong>The repo.</strong> <a href="https://github.com/phuryn/pm-brain">github.com/phuryn/pm-brain</a>. Skill, example brain, docs, tests, all MIT licensed.</p></li><li><p><strong>The walkthrough.</strong> <a href="https://github.com/phuryn/pm-brain/blob/main/docs/walkthrough.md">Lena&#8217;s first five days</a>, the long version of Section 2.</p></li><li><p><strong>Why this matters.</strong> <a href="https://github.com/phuryn/pm-brain/blob/main/docs/why-this-matters.md">Five failure modes that kill most AI memory systems</a>, and the five structural choices that answer them.</p></li><li><p><strong>The architecture doc.</strong> <a href="https://github.com/phuryn/pm-brain/blob/main/docs/architecture.md">Two design decisions and one operating loop</a>.</p></li><li><p><strong>Scaling.</strong> <a href="https://github.com/phuryn/pm-brain/blob/main/docs/scaling.md">How the brain stays healthy as it grows</a>, growth shapes, compression mechanisms, realistic envelope numbers.</p></li><li><p><strong>How it works.</strong> <a href="https://github.com/phuryn/pm-brain/blob/main/docs/how-it-works.md">The technical version</a>, one ingestion, six files touched, end to end.</p></li><li><p><strong>Prior art.</strong> <a href="https://github.com/phuryn/pm-brain/blob/main/docs/prior-art.md">What PM Brain borrows</a> from Zettelkasten / RAG / CLAUDE.md patterns, and what it rejects.</p></li><li><p><strong>Glossary.</strong> <a href="https://github.com/phuryn/pm-brain/blob/main/docs/glossary.md">Every term in plain English</a>.</p></li><li><p><strong>Tests scoreboard.</strong> <a href="https://github.com/phuryn/pm-brain/blob/main/tests/RESULTS.md">404 / 406 checks</a>, per-scenario snapshots, two residual failures called out honestly.</p></li><li><p><strong>Issues.</strong> <a href="https://github.com/phuryn/pm-brain/issues">github.com/phuryn/pm-brain/issues</a>. Install bugs, scenarios you want covered, feature requests. Open one.</p></li></ul><h3>Composing with PM skills</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nNX6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd041493-27e0-45ec-a4d2-5eade3cd1946_2170x725.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nNX6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd041493-27e0-45ec-a4d2-5eade3cd1946_2170x725.png 424w, https://substackcdn.com/image/fetch/$s_!nNX6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd041493-27e0-45ec-a4d2-5eade3cd1946_2170x725.png 848w, https://substackcdn.com/image/fetch/$s_!nNX6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd041493-27e0-45ec-a4d2-5eade3cd1946_2170x725.png 1272w, https://substackcdn.com/image/fetch/$s_!nNX6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd041493-27e0-45ec-a4d2-5eade3cd1946_2170x725.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nNX6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd041493-27e0-45ec-a4d2-5eade3cd1946_2170x725.png" width="1456" height="486" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd041493-27e0-45ec-a4d2-5eade3cd1946_2170x725.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:486,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:963606,&quot;alt&quot;:&quot;PM Brain, PM Skills&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://www.productcompass.pm/i/198542104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd041493-27e0-45ec-a4d2-5eade3cd1946_2170x725.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PM Brain, PM Skills" title="PM Brain, PM Skills" srcset="https://substackcdn.com/image/fetch/$s_!nNX6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd041493-27e0-45ec-a4d2-5eade3cd1946_2170x725.png 424w, https://substackcdn.com/image/fetch/$s_!nNX6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd041493-27e0-45ec-a4d2-5eade3cd1946_2170x725.png 848w, https://substackcdn.com/image/fetch/$s_!nNX6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd041493-27e0-45ec-a4d2-5eade3cd1946_2170x725.png 1272w, https://substackcdn.com/image/fetch/$s_!nNX6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd041493-27e0-45ec-a4d2-5eade3cd1946_2170x725.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>PM Skills</strong> (11K+ stars). <a href="https://github.com/phuryn/pm-skills">github.com/phuryn/pm-skills</a>. PM Brain is the memory layer; PM Skills is the workflow layer. They compose. A JTBD PM Skill extracts jobs from an interview using the proper framework; PM Brain makes sure that job updates the right user insight, hypothesis, stakeholder note, and decision record. The skill is how to do the work once. The brain is what we know across all the times we did it.</p><h3>Related newsletter posts</h3><ul><li><p><em><a href="https://www.productcompass.pm/p/claude-code-beginners-guide">Claude Code for PMs: The Beginner&#8217;s Guide</a></em> (May 12). Everything to start.</p></li><li><p><em><a href="https://www.productcompass.pm/p/claude-code-guide">Claude Code Guide</a></em> (Mar 8). Full version. The tool this runs on.</p></li><li><p><em><a href="https://www.productcompass.pm/p/self-improving-claude-system">Self-improving AI systems</a></em> (Mar 16). The parent pattern for compounding agents.</p></li><li><p><em><a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">Intent Engineering Framework</a></em> (Jan 13). The agent design language behind CLAUDE.md.</p></li><li><p><em><a href="https://www.productcompass.pm/p/what-exactly-is-product-discovery">What Is Product Discovery? The Ultimate Guide</a></em> (updated 2025). Critical for PMs.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Claude Code for PMs: The Beginner's Guide]]></title><description><![CDATA[No Cowork experience needed. Install Claude Code, configure MCP servers, build skills, and run free frontier models. Ready-to-use template included.]]></description><link>https://www.productcompass.pm/p/claude-code-beginners-guide</link><guid isPermaLink="false">https://www.productcompass.pm/p/claude-code-beginners-guide</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Tue, 12 May 2026 21:39:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a0492e79-138f-4848-affb-e05b7b38f778_1730x909.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In 2026, top PMs (especially at Meta/Google and AI-native companies) treat <strong>Claude Code as a daily tool. </strong>Here&#8217;s the zero-to-one path I&#8217;d give a PM today. </p><p>When looking for a job, expect:</p><ul><li><p>&#8220;How do you use AI/Claude in your day-to-day?&#8221;</p></li><li><p>Vibe coding / prototype rounds: from PRD to evals</p></li><li><p>Portfolio/case studies: Show agents/prototypes built with AI</p></li><li><p>Questions focused on AI product sense + execution with agents</p></li></ul><p>Even people like Garry Tan (Y Combinator) went back to "coding" and ships a custom <a href="https://github.com/garrytan/gbrain">brain for agents</a> after work hours:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hn9M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e427bdd-52e8-4008-9b2a-bb78811242e9_1868x747.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hn9M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e427bdd-52e8-4008-9b2a-bb78811242e9_1868x747.png 424w, https://substackcdn.com/image/fetch/$s_!hn9M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e427bdd-52e8-4008-9b2a-bb78811242e9_1868x747.png 848w, https://substackcdn.com/image/fetch/$s_!hn9M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e427bdd-52e8-4008-9b2a-bb78811242e9_1868x747.png 1272w, https://substackcdn.com/image/fetch/$s_!hn9M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e427bdd-52e8-4008-9b2a-bb78811242e9_1868x747.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hn9M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e427bdd-52e8-4008-9b2a-bb78811242e9_1868x747.png" width="1456" height="582" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e427bdd-52e8-4008-9b2a-bb78811242e9_1868x747.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:582,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:178271,&quot;alt&quot;:&quot;Garry Tan (Y Combinator) - GBrain&quot;,&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://www.productcompass.pm/i/197350322?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e427bdd-52e8-4008-9b2a-bb78811242e9_1868x747.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Garry Tan (Y Combinator) - GBrain" title="Garry Tan (Y Combinator) - GBrain" srcset="https://substackcdn.com/image/fetch/$s_!hn9M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e427bdd-52e8-4008-9b2a-bb78811242e9_1868x747.png 424w, https://substackcdn.com/image/fetch/$s_!hn9M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e427bdd-52e8-4008-9b2a-bb78811242e9_1868x747.png 848w, https://substackcdn.com/image/fetch/$s_!hn9M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e427bdd-52e8-4008-9b2a-bb78811242e9_1868x747.png 1272w, https://substackcdn.com/image/fetch/$s_!hn9M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e427bdd-52e8-4008-9b2a-bb78811242e9_1868x747.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><figcaption class="image-caption">Source: <a href="https://x.com/garrytan/status/2054055071017538028?s=20">X (Twitter)</a></figcaption></figure></div><p>In the past, we&#8217;ve discussed many aspects:</p><ul><li><p><a href="https://www.productcompass.pm/p/claude-code-guide">The Guide to Claude Code for PMs</a></p></li><li><p><a href="https://www.productcompass.pm/p/self-improving-claude-system">What I Learned Building a Self-Improving Agentic System with Claude</a></p></li><li><p><a href="https://www.productcompass.pm/p/claude-md-snippets">Three CLAUDE.md Blocks That Make Claude Get Smarter Every Session</a></p></li><li><p><a href="https://www.productcompass.pm/p/claude-agent-sdk-production-agent">Your .claude/ Folder Is a Production Agent</a></p></li><li><p><a href="https://www.productcompass.pm/p/claude-opus-4-7-guide">The Ultimate Guide to Claude Opus 4.7</a></p></li><li><p><a href="https://www.productcompass.pm/p/stop-hitting-claude-code-limits">Claude Code's Limits Are Generous. The Problem Is Your Setup.</a></p></li></ul><blockquote><p>The first Guide above assumes you&#8217;ve used Cowork. Talking to the community, I realized many PMs haven&#8217;t, and they need a zero-to-one path.</p></blockquote><p>This article has everything you need to start:</p><ol><li><p>How to install Claude Code step-by-step</p></li><li><p>A ready-to-use Claude Code solution template</p></li><li><p>How to configure MCP servers in Claude Code step-by-step</p></li><li><p>How to use and create skills in Claude Code step-by-step</p></li><li><p>How to use Claude Code with free frontier models</p></li></ol><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>1. How to Install Claude Code Step-By-Step</h2><p>This combines Claude Code with the recommended interface, Claude Code extension in VS Code.</p><p><strong>Step 1:</strong> Install <a href="https://code.visualstudio.com/">Visual Studio Code</a> for MacOS or Windows</p><p><strong>Step 2:</strong> Launch VS Code, click &#8220;Extensions,&#8221; and install &#8220;Claude Code for VS Code&#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_!MCea!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34287944-3c6c-4d23-987d-7ee2f6bb2abc_1638x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MCea!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34287944-3c6c-4d23-987d-7ee2f6bb2abc_1638x1020.png 424w, https://substackcdn.com/image/fetch/$s_!MCea!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34287944-3c6c-4d23-987d-7ee2f6bb2abc_1638x1020.png 848w, https://substackcdn.com/image/fetch/$s_!MCea!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34287944-3c6c-4d23-987d-7ee2f6bb2abc_1638x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!MCea!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34287944-3c6c-4d23-987d-7ee2f6bb2abc_1638x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MCea!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34287944-3c6c-4d23-987d-7ee2f6bb2abc_1638x1020.png" width="1456" height="907" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34287944-3c6c-4d23-987d-7ee2f6bb2abc_1638x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:907,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:238230,&quot;alt&quot;:&quot;How to Install Claude Code Extension&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://www.productcompass.pm/i/197350322?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34287944-3c6c-4d23-987d-7ee2f6bb2abc_1638x1020.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to Install Claude Code Extension" title="How to Install Claude Code Extension" srcset="https://substackcdn.com/image/fetch/$s_!MCea!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34287944-3c6c-4d23-987d-7ee2f6bb2abc_1638x1020.png 424w, https://substackcdn.com/image/fetch/$s_!MCea!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34287944-3c6c-4d23-987d-7ee2f6bb2abc_1638x1020.png 848w, https://substackcdn.com/image/fetch/$s_!MCea!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34287944-3c6c-4d23-987d-7ee2f6bb2abc_1638x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!MCea!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34287944-3c6c-4d23-987d-7ee2f6bb2abc_1638x1020.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: </strong>Log in with Claude.ai Subscription after typing &#8220;/login&#8221; in the Claude window. There are two interfaces, it&#8217;s easy to get confused:</p><ul><li><p><strong>Skip this one:</strong> Claude Code in Terminal - opens at the center</p></li><li><p><strong>Use by default:</strong> Claude Code Extension for VS Code - opens in the secondary side bar on the right</p></li></ul><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;724c599e-ecc2-40e1-9d04-79efa02df554&quot;,&quot;duration&quot;:null}"></div><p><strong>Note:</strong> On the right side in the video you can see two tabs:</p><ul><li><p><strong>[Codex]</strong> - OpenAI extension I installed earlier</p></li><li><p><strong>[Claude Code]</strong> - that&#8217;s our Claude Code extension</p></li></ul><p>Sometimes you may also see &#8220;Chat&#8221; - it&#8217;s a Microsoft solution. Ignore it.</p><div><hr></div><h2>2. A Ready-To-Use Claude Code Solution Template</h2><p>This knowledge work template contains everything you need to start:</p><ul><li><p>Preconfigured plugins, skills, and permissions</p></li><li><p>My minimal CLAUDE.md that makes your agent more autonomous </p></li><li><p>Setup that reduces costs by at least 50% by managing models, subagents, and context windows better</p></li><li><p>Ready-to-use configuration so you can work with free frontier LLM models </p></li></ul><p>You can watch our Claude Code video session download the template below (click File &gt; Download):</p><div class="callout-block" data-callout="true"><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H_Z2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276c7cce-ce00-4bfb-bd2d-b9f2f7ac4b7a_1539x890.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H_Z2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276c7cce-ce00-4bfb-bd2d-b9f2f7ac4b7a_1539x890.png 424w, https://substackcdn.com/image/fetch/$s_!H_Z2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276c7cce-ce00-4bfb-bd2d-b9f2f7ac4b7a_1539x890.png 848w, https://substackcdn.com/image/fetch/$s_!H_Z2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276c7cce-ce00-4bfb-bd2d-b9f2f7ac4b7a_1539x890.png 1272w, https://substackcdn.com/image/fetch/$s_!H_Z2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276c7cce-ce00-4bfb-bd2d-b9f2f7ac4b7a_1539x890.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H_Z2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276c7cce-ce00-4bfb-bd2d-b9f2f7ac4b7a_1539x890.png" width="1456" height="842" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/276c7cce-ce00-4bfb-bd2d-b9f2f7ac4b7a_1539x890.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:842,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1470434,&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://www.productcompass.pm/i/197350322?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276c7cce-ce00-4bfb-bd2d-b9f2f7ac4b7a_1539x890.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_!H_Z2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276c7cce-ce00-4bfb-bd2d-b9f2f7ac4b7a_1539x890.png 424w, https://substackcdn.com/image/fetch/$s_!H_Z2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276c7cce-ce00-4bfb-bd2d-b9f2f7ac4b7a_1539x890.png 848w, https://substackcdn.com/image/fetch/$s_!H_Z2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276c7cce-ce00-4bfb-bd2d-b9f2f7ac4b7a_1539x890.png 1272w, https://substackcdn.com/image/fetch/$s_!H_Z2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276c7cce-ce00-4bfb-bd2d-b9f2f7ac4b7a_1539x890.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>&#128274;This content is free for all subscribers. Sign up and get full access (don&#8217;t pay anything).</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p></div><p>Extract the archive and open it with VS Code:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bCTz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c37e369-23e2-4dc0-ab57-a114b46e8767_1868x1152.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bCTz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c37e369-23e2-4dc0-ab57-a114b46e8767_1868x1152.png 424w, https://substackcdn.com/image/fetch/$s_!bCTz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c37e369-23e2-4dc0-ab57-a114b46e8767_1868x1152.png 848w, https://substackcdn.com/image/fetch/$s_!bCTz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c37e369-23e2-4dc0-ab57-a114b46e8767_1868x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!bCTz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c37e369-23e2-4dc0-ab57-a114b46e8767_1868x1152.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bCTz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c37e369-23e2-4dc0-ab57-a114b46e8767_1868x1152.png" width="1456" height="898" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c37e369-23e2-4dc0-ab57-a114b46e8767_1868x1152.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:898,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:176824,&quot;alt&quot;:&quot;A Ready-To-Use Claude Code Solution Template&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://www.productcompass.pm/i/197350322?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c37e369-23e2-4dc0-ab57-a114b46e8767_1868x1152.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A Ready-To-Use Claude Code Solution Template" title="A Ready-To-Use Claude Code Solution Template" srcset="https://substackcdn.com/image/fetch/$s_!bCTz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c37e369-23e2-4dc0-ab57-a114b46e8767_1868x1152.png 424w, https://substackcdn.com/image/fetch/$s_!bCTz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c37e369-23e2-4dc0-ab57-a114b46e8767_1868x1152.png 848w, https://substackcdn.com/image/fetch/$s_!bCTz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c37e369-23e2-4dc0-ab57-a114b46e8767_1868x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!bCTz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c37e369-23e2-4dc0-ab57-a114b46e8767_1868x1152.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>You will see:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ndu2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febef5d2e-42da-4d1d-9f0b-2e775456da60_2143x1060.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ndu2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febef5d2e-42da-4d1d-9f0b-2e775456da60_2143x1060.png 424w, https://substackcdn.com/image/fetch/$s_!ndu2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febef5d2e-42da-4d1d-9f0b-2e775456da60_2143x1060.png 848w, https://substackcdn.com/image/fetch/$s_!ndu2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febef5d2e-42da-4d1d-9f0b-2e775456da60_2143x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!ndu2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febef5d2e-42da-4d1d-9f0b-2e775456da60_2143x1060.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ndu2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febef5d2e-42da-4d1d-9f0b-2e775456da60_2143x1060.png" width="1456" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ebef5d2e-42da-4d1d-9f0b-2e775456da60_2143x1060.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:295435,&quot;alt&quot;:&quot;A Ready-To-Use Claude Code Solution Template&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://www.productcompass.pm/i/197350322?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febef5d2e-42da-4d1d-9f0b-2e775456da60_2143x1060.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A Ready-To-Use Claude Code Solution Template" title="A Ready-To-Use Claude Code Solution Template" srcset="https://substackcdn.com/image/fetch/$s_!ndu2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febef5d2e-42da-4d1d-9f0b-2e775456da60_2143x1060.png 424w, https://substackcdn.com/image/fetch/$s_!ndu2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febef5d2e-42da-4d1d-9f0b-2e775456da60_2143x1060.png 848w, https://substackcdn.com/image/fetch/$s_!ndu2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febef5d2e-42da-4d1d-9f0b-2e775456da60_2143x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!ndu2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febef5d2e-42da-4d1d-9f0b-2e775456da60_2143x1060.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>Inside:</p><ul><li><p><strong>Predefined configuration:</strong></p><ul><li><p>CLAUDE.md / AGENTS.md - agent&#8217;s constitution</p></li><li><p>settings.json - cross-team project settings, predefined permissions and plugins</p></li><li><p>settings.local.json - your local project settings with 200K context window and 80% autocompact</p></li></ul></li><li><p><strong>Examples:</strong></p><ul><li><p>SKILL.md - an example custom skill, you can remove it.</p></li><li><p>tools/reddit_api_example.py - an example custom tool generated by Claude. You can remove it, in that case remove line 53 from AGENTS.md too.</p></li><li><p>.env - here, you configure your API keys. Not committed to GitHub. You can remove two lines: REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET.</p></li><li><p>.mcp.json - an example custom MCP server. You can remove Linear (lines 3-6), if you don&#8217;t need it.</p></li></ul></li></ul><blockquote><p><strong>Tasks for you:</strong> </p><ul><li><p>Review and remove or adapt examples listed above.</p></li><li><p>Update <strong>## Strategic context, about me</strong> in AGENTS.md with a brief summary of your strategy or/and about you (for an individual)</p></li><li><p>Update <strong>## Communication and style </strong>in AGENTS.md so it follows your writing style and preferences</p></li><li><p>Update docs/strategy.md with a information about your product</p></li></ul></blockquote><div><hr></div><h2>3. How to Configure MCP Servers in Claude Code Step-By-Step</h2><p>MCP is a common protocol to connect apps such as Stripe, Gmail, Notion, Jira, or Slack. The easiest way is to go to <a href="https://claude.ai/customize/connectors">https://claude.ai/customize/connectors</a> and configure them 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_!wwAY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e5d411-f55d-4ede-821c-ca9989044fa1_2165x1073.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wwAY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e5d411-f55d-4ede-821c-ca9989044fa1_2165x1073.png 424w, https://substackcdn.com/image/fetch/$s_!wwAY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e5d411-f55d-4ede-821c-ca9989044fa1_2165x1073.png 848w, https://substackcdn.com/image/fetch/$s_!wwAY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e5d411-f55d-4ede-821c-ca9989044fa1_2165x1073.png 1272w, https://substackcdn.com/image/fetch/$s_!wwAY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e5d411-f55d-4ede-821c-ca9989044fa1_2165x1073.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wwAY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e5d411-f55d-4ede-821c-ca9989044fa1_2165x1073.png" width="1456" height="722" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96e5d411-f55d-4ede-821c-ca9989044fa1_2165x1073.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:722,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:320224,&quot;alt&quot;:&quot;How to Configure MCP Servers in Claude Code via claude.ai&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://www.productcompass.pm/i/197350322?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e5d411-f55d-4ede-821c-ca9989044fa1_2165x1073.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to Configure MCP Servers in Claude Code via claude.ai" title="How to Configure MCP Servers in Claude Code via claude.ai" srcset="https://substackcdn.com/image/fetch/$s_!wwAY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e5d411-f55d-4ede-821c-ca9989044fa1_2165x1073.png 424w, https://substackcdn.com/image/fetch/$s_!wwAY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e5d411-f55d-4ede-821c-ca9989044fa1_2165x1073.png 848w, https://substackcdn.com/image/fetch/$s_!wwAY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e5d411-f55d-4ede-821c-ca9989044fa1_2165x1073.png 1272w, https://substackcdn.com/image/fetch/$s_!wwAY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96e5d411-f55d-4ede-821c-ca9989044fa1_2165x1073.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>Those connectors are automatically available in Claude Code, too, as long you use a Claude subscription. Here&#8217;s how Claude works with my Gmail Connector:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;2cf3986e-7105-4967-bbf0-2aa9d687463c&quot;,&quot;duration&quot;:null}"></div><blockquote><p><strong>Task for you:</strong> Connect the apps you use the most, such as Gmail, Notion, or Google Calendar. Configure actions that require your approval, such as sending an email, in claude.ai (presented in the screenshot above).</p></blockquote><p>For apps not available in the Claude catalogue or when using a free LLM, use Google to find a dedicated MCP server and ask Claude to configure it in a chat based on the 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_!QlqI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05db63e8-f003-4ab9-97c4-811ab4c604eb_1586x849.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QlqI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05db63e8-f003-4ab9-97c4-811ab4c604eb_1586x849.png 424w, https://substackcdn.com/image/fetch/$s_!QlqI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05db63e8-f003-4ab9-97c4-811ab4c604eb_1586x849.png 848w, https://substackcdn.com/image/fetch/$s_!QlqI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05db63e8-f003-4ab9-97c4-811ab4c604eb_1586x849.png 1272w, https://substackcdn.com/image/fetch/$s_!QlqI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05db63e8-f003-4ab9-97c4-811ab4c604eb_1586x849.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QlqI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05db63e8-f003-4ab9-97c4-811ab4c604eb_1586x849.png" width="1456" height="779" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05db63e8-f003-4ab9-97c4-811ab4c604eb_1586x849.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:779,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:99495,&quot;alt&quot;:&quot;Configure MCP via Claude Code interface&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://www.productcompass.pm/i/197350322?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05db63e8-f003-4ab9-97c4-811ab4c604eb_1586x849.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Configure MCP via Claude Code interface" title="Configure MCP via Claude Code interface" srcset="https://substackcdn.com/image/fetch/$s_!QlqI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05db63e8-f003-4ab9-97c4-811ab4c604eb_1586x849.png 424w, https://substackcdn.com/image/fetch/$s_!QlqI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05db63e8-f003-4ab9-97c4-811ab4c604eb_1586x849.png 848w, https://substackcdn.com/image/fetch/$s_!QlqI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05db63e8-f003-4ab9-97c4-811ab4c604eb_1586x849.png 1272w, https://substackcdn.com/image/fetch/$s_!QlqI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05db63e8-f003-4ab9-97c4-811ab4c604eb_1586x849.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>MCP servers can be available: </p><ul><li><p>Only for you when using this project</p></li><li><p>For any user using this project</p></li><li><p>For any project on your local machine</p></li></ul><p>Include your preference in the prompt.</p><div><hr></div><h2>4. How to Work with Skills in Claude Code Step-By-Step</h2><p>Each skill gives Claude domain knowledge, analytical frameworks, or a guided workflow for a specific task. </p><p>They always contain SKILL.md file and can also include additional resources, for example:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;078b90a6-3d46-4bde-b46a-0b60e0a8fc77&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">---
name: substack-to-pdf
description: Export Substack posts to self-contained PDFs
  with embedded images.
---

# When to use
When asked to create PDFs from Substack posts.

# Steps
1. Fetch post HTML
2. Download images, embed as base64
3. Render with Playwright

# Files
- script.py
- styles.css</code></pre></div><p>By default Claude can see only the frontmatter ("description"). The full skill is loaded automatically when relevant to the conversation.</p><h3>4.1 Skills and plugins available publicly</h3><p>Top recommended public repos. Each contains installation instructions. You can also give your agent an URL and ask to import specific skills:</p><ol><li><p><strong><a href="https://github.com/phuryn/pm-skills">github.com/phuryn/pm-skills:</a></strong> PM Skills Marketplace &#8212; 100+ agentic skills, commands, and plugins &#8212; from discovery to strategy, execution, launch, and growth</p></li><li><p><strong><a href="https://claudemarketplaces.com/">claudemarketplaces.com</a></strong>: Browse and discover plugin marketplaces you can add to Cowork or Code</p></li><li><p><strong><a href="https://github.com/travisvn/awesome-claude-skills">github.com/travisvn/awesome-claude-skills</a></strong>: Community-curated collection with battle-tested skills for TDD, debugging, collaboration</p></li><li><p><strong><a href="https://github.com/sickn33/antigravity-awesome-skills">github.com/sickn33/antigravity-awesome-skills</a></strong>: 868+ universal agentic skills &#8212; covers security, DevOps, full-stack, AI/ML, and more. Role-based bundles (Startup Founder, Marketing &amp; Growth, etc.) let you pick what&#8217;s relevant. Works with Claude Desktop, Claude Code, Cursor, Gemini CLI, Codex, OpenCode, and Antigravity</p></li><li><p><strong><a href="https://skills.sh/">skills.sh</a></strong>: Vercel&#8217;s open skills ecosystem &#8212; directory and leaderboard, CLI installer (npx skills add). PM-relevant skills include product strategy frameworks, pricing strategy, launch playbooks, discovery interview guides, PRD generator, analytics tracking setup, resume optimizer, and more. Full repo also covers marketing, SEO, copywriting, and web design. </p></li></ol><p><strong>The bottom line:</strong> don't install skills you don't need. Start with none and add one when a real task forces it. Even unloaded skills cost context - the frontmatter description always loads.</p><h3>4.2 How to create your own Claude Code skills</h3><p>When you perform a specific task multiple times, ask Claude to turn it into a skill. It's way easier than editing markdown files manually.</p><p>Here, I continue the example from point 3:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DTUz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd665d280-97b8-4872-a966-cb3997e8fd2b_2404x1438.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DTUz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd665d280-97b8-4872-a966-cb3997e8fd2b_2404x1438.png 424w, https://substackcdn.com/image/fetch/$s_!DTUz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd665d280-97b8-4872-a966-cb3997e8fd2b_2404x1438.png 848w, https://substackcdn.com/image/fetch/$s_!DTUz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd665d280-97b8-4872-a966-cb3997e8fd2b_2404x1438.png 1272w, https://substackcdn.com/image/fetch/$s_!DTUz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd665d280-97b8-4872-a966-cb3997e8fd2b_2404x1438.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DTUz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd665d280-97b8-4872-a966-cb3997e8fd2b_2404x1438.png" width="1456" height="871" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d665d280-97b8-4872-a966-cb3997e8fd2b_2404x1438.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:871,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:428312,&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://www.productcompass.pm/i/197350322?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd665d280-97b8-4872-a966-cb3997e8fd2b_2404x1438.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_!DTUz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd665d280-97b8-4872-a966-cb3997e8fd2b_2404x1438.png 424w, https://substackcdn.com/image/fetch/$s_!DTUz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd665d280-97b8-4872-a966-cb3997e8fd2b_2404x1438.png 848w, https://substackcdn.com/image/fetch/$s_!DTUz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd665d280-97b8-4872-a966-cb3997e8fd2b_2404x1438.png 1272w, https://substackcdn.com/image/fetch/$s_!DTUz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd665d280-97b8-4872-a966-cb3997e8fd2b_2404x1438.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>Next time you ask Claude to summarize emails, it will reuse that logic while saving tokens.</p><p>Tip: Skills can be available for any user using this project or for any project on your local machine. It can also be called as subagent - use this option when the skill doesn't need your entire conversation history. Include your preferences in the prompt.</p><blockquote><p><strong>Task for you:</strong> When you notice a recurring pattern, ask Claude to turn it into a skill.</p></blockquote><div><hr></div><h2>5. How to Use Claude Code with Free Frontier Models</h2><blockquote><p><strong>Before you start:</strong> There is an open Anthropic bug, <a href="https://github.com/anthropics/claude-code/issues/36179">36179</a>. Using alternative models works <strong>only with</strong> Claude Code in terminal, not with the Claude Code extension for VS Code. Start by using your Claude subscription, especially if you're not comfortable with Claude Code yet.</p></blockquote><p><strong>Step 1: </strong>Go to OpenRouter, sign up: https://openrouter.ai/</p><p><strong>Step 2: </strong>Verify your email address by clicking a link in an email message</p><p><strong>Step 3: </strong>Add $5 credits to your account (to verify the account): <a href="https://openrouter.ai/settings/credits">https://openrouter.ai/settings/credits</a></p><p><strong>Step 4: </strong>Create a free API key: <a href="https://openrouter.ai/workspaces/default/keys">https://openrouter.ai/workspaces/default/keys</a></p><p><strong>Step 5: Open a folder with your project. </strong>Create <strong>settings.local.json</strong> in the .claude folder. Inside:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;json&quot;,&quot;nodeId&quot;:&quot;b3b2f7ff-3cc3-4f05-abc3-e227745cf6f4&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-json">{
  "env": {
    "ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
    "ANTHROPIC_AUTH_TOKEN": "{your-API-key}",
    "ANTHROPIC_API_KEY": ""
  },
  "model": "inclusionai/ring-2.6-1t:free"
}</code></pre></div><p>You can also rename this file, already in your template. Create a backup of the original settings.local.json:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1DIc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F740913b4-ae4b-43ac-afe8-e16e3dba9f39_2023x846.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1DIc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F740913b4-ae4b-43ac-afe8-e16e3dba9f39_2023x846.png 424w, https://substackcdn.com/image/fetch/$s_!1DIc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F740913b4-ae4b-43ac-afe8-e16e3dba9f39_2023x846.png 848w, https://substackcdn.com/image/fetch/$s_!1DIc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F740913b4-ae4b-43ac-afe8-e16e3dba9f39_2023x846.png 1272w, https://substackcdn.com/image/fetch/$s_!1DIc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F740913b4-ae4b-43ac-afe8-e16e3dba9f39_2023x846.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1DIc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F740913b4-ae4b-43ac-afe8-e16e3dba9f39_2023x846.png" width="1456" height="609" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/740913b4-ae4b-43ac-afe8-e16e3dba9f39_2023x846.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:609,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:180267,&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://www.productcompass.pm/i/197350322?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F740913b4-ae4b-43ac-afe8-e16e3dba9f39_2023x846.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_!1DIc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F740913b4-ae4b-43ac-afe8-e16e3dba9f39_2023x846.png 424w, https://substackcdn.com/image/fetch/$s_!1DIc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F740913b4-ae4b-43ac-afe8-e16e3dba9f39_2023x846.png 848w, https://substackcdn.com/image/fetch/$s_!1DIc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F740913b4-ae4b-43ac-afe8-e16e3dba9f39_2023x846.png 1272w, https://substackcdn.com/image/fetch/$s_!1DIc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F740913b4-ae4b-43ac-afe8-e16e3dba9f39_2023x846.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>I suggested <strong>inclusionai/ring-2.6-1t:free</strong>. It&#8217;s a 63B model with a 262K context window. Note: <a href="https://openrouter.ai/models?order=pricing-low-to-high">free models on OpenRouter</a> change regularly.</p><p>Here&#8217;s how it works with Claude Code in terminal, completely free:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;2aef4258-6704-4507-ad74-123363d2e14d&quot;,&quot;duration&quot;:null}"></div><blockquote><p><strong>Task for you:</strong> Get comfortable with Claude Code and Anthropic models before switching to alternative models. You don&#8217;t want to learn Claude Code and solve OpenRouter issues simultaneously.</p></blockquote><div><hr></div><h2>Closing</h2><p>You have everything you need to start.</p><p>Install it this week. Connect apps (MCP servers) you&#8217;ll actually use. Build one skill from a task you already do twice.</p><p>The more you use Claude Code, the easier it becomes. Later, review other posts listed in the intro:</p><ul><li><p><a href="https://www.productcompass.pm/p/claude-code-guide">The Guide to Claude Code for PMs</a></p></li><li><p><a href="https://www.productcompass.pm/p/self-improving-claude-system">What I Learned Building a Self-Improving Agentic System with Claude</a></p></li><li><p><a href="https://www.productcompass.pm/p/claude-md-snippets">Three CLAUDE.md Blocks That Make Claude Get Smarter Every Session</a></p></li><li><p><a href="https://www.productcompass.pm/p/claude-agent-sdk-production-agent">Your .claude/ Folder Is a Production Agent</a></p></li><li><p><a href="https://www.productcompass.pm/p/claude-opus-4-7-guide">The Ultimate Guide to Claude Opus 4.7</a></p></li><li><p><a href="https://www.productcompass.pm/p/stop-hitting-claude-code-limits">Claude Code&#8217;s Limits Are Generous. The Problem Is Your Setup.</a></p></li><li><p><a href="https://www.productcompass.pm/p/claude-fable-5-guide">The Ultimate Guide to Claude Fable 5</a></p></li><li><p><a href="https://www.productcompass.pm/p/ai-product-management-learning-roadmap">the AI PM learning roadmap</a>.</p></li></ul><div><hr></div><h2>Thanks for Reading The Product Compass</h2><p>It&#8217;s amazing to learn and grow together.</p><p>Have an amazing rest of the week, Pawe&#322;</p>]]></content:encoded></item><item><title><![CDATA[From Weeks to Hours: How Claude Design Compresses Product Discovery]]></title><description><![CDATA[Idea to prototype in hours. Design to shipped code in days. Five gaps still bite. Tested on real production code, not a demo.]]></description><link>https://www.productcompass.pm/p/claude-design-product-discovery</link><guid isPermaLink="false">https://www.productcompass.pm/p/claude-design-product-discovery</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Mon, 04 May 2026 20:15:15 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fdad3a23-1fb3-4177-9904-635c1843f583_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I pointed Claude Design at accredia.io&#8217;s GitHub repo and asked it to build admin onboarding for a new organization.</p><p>10 minutes later I had a fully interactive prototype I could iterate on.</p><p>Not a mockup. Not a screenshot. A clickable flow built on top of my real design system, ready to share, comment, refine, and implement. Two examples:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AxbA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec08d117-a2c0-47b9-b4fb-6d063827b988_2524x1517.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AxbA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec08d117-a2c0-47b9-b4fb-6d063827b988_2524x1517.png 424w, https://substackcdn.com/image/fetch/$s_!AxbA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec08d117-a2c0-47b9-b4fb-6d063827b988_2524x1517.png 848w, https://substackcdn.com/image/fetch/$s_!AxbA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec08d117-a2c0-47b9-b4fb-6d063827b988_2524x1517.png 1272w, https://substackcdn.com/image/fetch/$s_!AxbA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec08d117-a2c0-47b9-b4fb-6d063827b988_2524x1517.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AxbA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec08d117-a2c0-47b9-b4fb-6d063827b988_2524x1517.png" width="2524" height="1517" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec08d117-a2c0-47b9-b4fb-6d063827b988_2524x1517.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1517,&quot;width&quot;:2524,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:704684,&quot;alt&quot;:&quot;Example: accredia.io prototype tweak in original style, Claude Design&quot;,&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://www.productcompass.pm/i/196411765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef52b0a6-9374-44ea-bca1-ffe31cd4cea2_2543x1523.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Example: accredia.io prototype tweak in original style, Claude Design" title="Example: accredia.io prototype tweak in original style, Claude Design" srcset="https://substackcdn.com/image/fetch/$s_!AxbA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec08d117-a2c0-47b9-b4fb-6d063827b988_2524x1517.png 424w, https://substackcdn.com/image/fetch/$s_!AxbA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec08d117-a2c0-47b9-b4fb-6d063827b988_2524x1517.png 848w, https://substackcdn.com/image/fetch/$s_!AxbA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec08d117-a2c0-47b9-b4fb-6d063827b988_2524x1517.png 1272w, https://substackcdn.com/image/fetch/$s_!AxbA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec08d117-a2c0-47b9-b4fb-6d063827b988_2524x1517.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><figcaption class="image-caption">Example: accredia.io prototype with Claude Design</figcaption></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_!DYpp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f0daab6-a168-40f2-b796-ebc9ef9cc6ae_2964x1814.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DYpp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f0daab6-a168-40f2-b796-ebc9ef9cc6ae_2964x1814.png 424w, https://substackcdn.com/image/fetch/$s_!DYpp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f0daab6-a168-40f2-b796-ebc9ef9cc6ae_2964x1814.png 848w, https://substackcdn.com/image/fetch/$s_!DYpp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f0daab6-a168-40f2-b796-ebc9ef9cc6ae_2964x1814.png 1272w, https://substackcdn.com/image/fetch/$s_!DYpp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f0daab6-a168-40f2-b796-ebc9ef9cc6ae_2964x1814.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DYpp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f0daab6-a168-40f2-b796-ebc9ef9cc6ae_2964x1814.png" width="1456" height="891" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f0daab6-a168-40f2-b796-ebc9ef9cc6ae_2964x1814.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:891,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:781773,&quot;alt&quot;:&quot;Example: accredia.io prototype tweak in Anthropic style, Claude Design&quot;,&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://www.productcompass.pm/i/196411765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f0daab6-a168-40f2-b796-ebc9ef9cc6ae_2964x1814.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Example: accredia.io prototype tweak in Anthropic style, Claude Design" title="Example: accredia.io prototype tweak in Anthropic style, Claude Design" srcset="https://substackcdn.com/image/fetch/$s_!DYpp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f0daab6-a168-40f2-b796-ebc9ef9cc6ae_2964x1814.png 424w, https://substackcdn.com/image/fetch/$s_!DYpp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f0daab6-a168-40f2-b796-ebc9ef9cc6ae_2964x1814.png 848w, https://substackcdn.com/image/fetch/$s_!DYpp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f0daab6-a168-40f2-b796-ebc9ef9cc6ae_2964x1814.png 1272w, https://substackcdn.com/image/fetch/$s_!DYpp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f0daab6-a168-40f2-b796-ebc9ef9cc6ae_2964x1814.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><figcaption class="image-caption">Example: accredia.io prototype tweak in Anthropic style</figcaption></figure></div><p>Some compare Claude Design to Figma speed when iterating on the canvas. That framing misses the point.</p><blockquote><p>What matters for a product team is <em><strong>Time to Learn</strong></em> - the time from &#8220;<em>we should try X</em>&#8221; to <em>&#8220;we have evidence it works or fails.&#8221;</em> And Claude Design can radically reduce it.</p></blockquote><p>What you&#8217;ll learn:</p><ul><li><p>How to import or reverse-engineer your design system</p></li><li><p>The PM context Claude Design needs to ship a usable first cut</p></li><li><p>How to modify an existing production feature</p></li><li><p>How to run the workflow with the product team and stakeholders</p></li><li><p>What this means for product discovery, hiring, and the shape of senior roles</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>1. What Changes for Your Team</strong></h2><p>I loved working with my designers. Ideating, challenging usability, sharing clickable prototypes with the business, running experiments. But sometimes I wished I had more of their time.</p><p>I didn&#8217;t enjoy Jira handoffs. In particular, keeping everything in sync as decisions changed and waiting for designers to verify the implementation is aligned with Figma.</p><p>Claude Design compresses two parts of the workflow:</p><p><strong>Idea &#8594; prototype:</strong></p><ul><li><p>Old: several days with a dedicated designer. Weeks if you don&#8217;t have capacity.</p></li><li><p>New: same afternoon. Iterate in hours via chat, comments, or sketch.</p></li></ul><p><strong>Approved design &#8594; code in production:</strong></p><ul><li><p>Old: weeks. You hand Figma to engineers. Engineers rebuild in code. Implementation drifts. Back-and-forth on what the design &#8220;really&#8221; meant.</p></li><li><p>New: days. Engineers continue from the prototype and design system through Claude Code. No rebuild.</p></li></ul><blockquote><p>Some argue that Figma is faster for experienced designers. That might be true, but the difference is smaller than these two compressions. And can be radically reduced by selecting the right model - Sonnet for small fixes.</p></blockquote><p>Designers should adopt this too. Cleaner handoff to engineering. More time on the work that needs design judgment instead of checking pixels.</p><p>The same design system also generates slide decks, motion videos, and custom templates. Marketing, sales, and support reuse the brand without rebuilding it.</p><div><hr></div><h2><strong>2. How to Define Your Design System</strong></h2><p>Most product teams I&#8217;ve worked at had a design system in some form. A Figma library, a Storybook, a brand doc. Start by importing what you have.</p><h3>Step 1: Open Claude Design &gt; Design systems &gt; Create</h3><p>Go to <a href="https://claude.ai/design">https://claude.ai/design</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_!X1kh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb41b40f-90fb-416d-be3d-e0f9ca167d0a_2583x1412.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X1kh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb41b40f-90fb-416d-be3d-e0f9ca167d0a_2583x1412.png 424w, https://substackcdn.com/image/fetch/$s_!X1kh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb41b40f-90fb-416d-be3d-e0f9ca167d0a_2583x1412.png 848w, https://substackcdn.com/image/fetch/$s_!X1kh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb41b40f-90fb-416d-be3d-e0f9ca167d0a_2583x1412.png 1272w, https://substackcdn.com/image/fetch/$s_!X1kh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb41b40f-90fb-416d-be3d-e0f9ca167d0a_2583x1412.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X1kh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb41b40f-90fb-416d-be3d-e0f9ca167d0a_2583x1412.png" width="1456" height="796" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db41b40f-90fb-416d-be3d-e0f9ca167d0a_2583x1412.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:796,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:193152,&quot;alt&quot;:&quot;New Design System in Claude Design&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://www.productcompass.pm/i/196411765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb41b40f-90fb-416d-be3d-e0f9ca167d0a_2583x1412.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="New Design System in Claude Design" title="New Design System in Claude Design" srcset="https://substackcdn.com/image/fetch/$s_!X1kh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb41b40f-90fb-416d-be3d-e0f9ca167d0a_2583x1412.png 424w, https://substackcdn.com/image/fetch/$s_!X1kh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb41b40f-90fb-416d-be3d-e0f9ca167d0a_2583x1412.png 848w, https://substackcdn.com/image/fetch/$s_!X1kh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb41b40f-90fb-416d-be3d-e0f9ca167d0a_2583x1412.png 1272w, https://substackcdn.com/image/fetch/$s_!X1kh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb41b40f-90fb-416d-be3d-e0f9ca167d0a_2583x1412.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>Step 2: Provide company name, examples, and sources</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1bW5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0ffb26c-d0d3-4e6c-b639-6607cf463144_2579x1465.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1bW5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0ffb26c-d0d3-4e6c-b639-6607cf463144_2579x1465.png 424w, https://substackcdn.com/image/fetch/$s_!1bW5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0ffb26c-d0d3-4e6c-b639-6607cf463144_2579x1465.png 848w, https://substackcdn.com/image/fetch/$s_!1bW5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0ffb26c-d0d3-4e6c-b639-6607cf463144_2579x1465.png 1272w, https://substackcdn.com/image/fetch/$s_!1bW5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0ffb26c-d0d3-4e6c-b639-6607cf463144_2579x1465.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1bW5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0ffb26c-d0d3-4e6c-b639-6607cf463144_2579x1465.png" width="2579" height="1465" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0ffb26c-d0d3-4e6c-b639-6607cf463144_2579x1465.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1465,&quot;width&quot;:2579,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:299823,&quot;alt&quot;:&quot;Claude Design: provide examples and sources for the design system&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://www.productcompass.pm/i/196411765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96df4f83-7629-4e72-b38a-4c69bc867fc9_2590x1471.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Design: provide examples and sources for the design system" title="Claude Design: provide examples and sources for the design system" srcset="https://substackcdn.com/image/fetch/$s_!1bW5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0ffb26c-d0d3-4e6c-b639-6607cf463144_2579x1465.png 424w, https://substackcdn.com/image/fetch/$s_!1bW5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0ffb26c-d0d3-4e6c-b639-6607cf463144_2579x1465.png 848w, https://substackcdn.com/image/fetch/$s_!1bW5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0ffb26c-d0d3-4e6c-b639-6607cf463144_2579x1465.png 1272w, https://substackcdn.com/image/fetch/$s_!1bW5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0ffb26c-d0d3-4e6c-b639-6607cf463144_2579x1465.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>You can mix multiple sources and also drop in sketches, screenshots, photos, fonts, logos, and a text description of voice and brand. Claude Design can also pull context from the open web.</p><p>I tested reverse-engineering my existing codebase. According to multiple user reports, code wins when both code and Figma exist.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EvzN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa664ee67-c117-4e63-b091-85dd6f89a55c_1200x801.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EvzN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa664ee67-c117-4e63-b091-85dd6f89a55c_1200x801.png 424w, https://substackcdn.com/image/fetch/$s_!EvzN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa664ee67-c117-4e63-b091-85dd6f89a55c_1200x801.png 848w, https://substackcdn.com/image/fetch/$s_!EvzN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa664ee67-c117-4e63-b091-85dd6f89a55c_1200x801.png 1272w, https://substackcdn.com/image/fetch/$s_!EvzN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa664ee67-c117-4e63-b091-85dd6f89a55c_1200x801.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EvzN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa664ee67-c117-4e63-b091-85dd6f89a55c_1200x801.png" width="1200" height="801" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a664ee67-c117-4e63-b091-85dd6f89a55c_1200x801.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:801,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:123567,&quot;alt&quot;:&quot;Claude Design: sources to import, code, Figma file&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://www.productcompass.pm/i/196411765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa664ee67-c117-4e63-b091-85dd6f89a55c_1200x801.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Design: sources to import, code, Figma file" title="Claude Design: sources to import, code, Figma file" srcset="https://substackcdn.com/image/fetch/$s_!EvzN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa664ee67-c117-4e63-b091-85dd6f89a55c_1200x801.png 424w, https://substackcdn.com/image/fetch/$s_!EvzN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa664ee67-c117-4e63-b091-85dd6f89a55c_1200x801.png 848w, https://substackcdn.com/image/fetch/$s_!EvzN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa664ee67-c117-4e63-b091-85dd6f89a55c_1200x801.png 1272w, https://substackcdn.com/image/fetch/$s_!EvzN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa664ee67-c117-4e63-b091-85dd6f89a55c_1200x801.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>Note: </strong><a href="https://x.com/PawelHuryn/status/2040757032668524914">DESIGN.md, introduced by Google</a> is the lowest-fidelity option in the table because it&#8217;s rules-only - no assets, no components, no motion, and not all layout patterns. It&#8217;s a fast seed when you have nothing. Move to a codebase or .fig file as soon as you have one.</p><p><strong>Tip:</strong> For a new product without a system yet, you can clone an existing brand you admire (Ferrari, Apple, Linear) and iterate from there &#128578; Faster than starting from a moodboard, and you keep refining until it&#8217;s yours.</p><p>You can also run multiple design systems in parallel. Useful if you ship across product lines, or if you&#8217;re testing a brand refresh without breaking production.</p><h3>Step 3: Click &#8220;Continue to generation&#8221;</h3><p>Three artifacts:</p><ul><li><p><strong>Design System.</strong> UI kit, type, colors, spacing, components, brand. Every prototype anchors on this.</p></li><li><p><strong>Design Files.</strong> Assets, HTML, images, stylesheets you can preview.</p></li><li><p><strong>Skill.md.</strong> A skill Claude Design generates as a representation of the design system. The agent uses it to keep every new design consistent with your brand.</p></li></ul><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;24eb4827-a45f-4ff4-b458-1e586b1851b2&quot;,&quot;duration&quot;:null}"></div><p>You can review your design system, iterate via chat, set permissions, and share with the team. Comments work the same way they do in Figma.</p><h3>Step 4: (Optional) Export your design system as a skill</h3><blockquote><p>When you export your design system as a .zip archive, it becomes a skill you can give to any agent (Claude Code, Cowork, Codex, etc.). The skill is a complete representation of the system and contains all design files.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PW3N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b22d5b5-190e-4acf-a27f-6a659032559c_2759x1511.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PW3N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b22d5b5-190e-4acf-a27f-6a659032559c_2759x1511.png 424w, https://substackcdn.com/image/fetch/$s_!PW3N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b22d5b5-190e-4acf-a27f-6a659032559c_2759x1511.png 848w, https://substackcdn.com/image/fetch/$s_!PW3N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b22d5b5-190e-4acf-a27f-6a659032559c_2759x1511.png 1272w, https://substackcdn.com/image/fetch/$s_!PW3N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b22d5b5-190e-4acf-a27f-6a659032559c_2759x1511.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PW3N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b22d5b5-190e-4acf-a27f-6a659032559c_2759x1511.png" width="2759" height="1511" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b22d5b5-190e-4acf-a27f-6a659032559c_2759x1511.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1511,&quot;width&quot;:2759,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:605656,&quot;alt&quot;:&quot;Claude Design: Export your design system as a skill&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://www.productcompass.pm/i/196411765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe789765e-89ce-4ba0-929d-f7a00ef3b4ae_2759x1519.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Design: Export your design system as a skill" title="Claude Design: Export your design system as a skill" srcset="https://substackcdn.com/image/fetch/$s_!PW3N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b22d5b5-190e-4acf-a27f-6a659032559c_2759x1511.png 424w, https://substackcdn.com/image/fetch/$s_!PW3N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b22d5b5-190e-4acf-a27f-6a659032559c_2759x1511.png 848w, https://substackcdn.com/image/fetch/$s_!PW3N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b22d5b5-190e-4acf-a27f-6a659032559c_2759x1511.png 1272w, https://substackcdn.com/image/fetch/$s_!PW3N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b22d5b5-190e-4acf-a27f-6a659032559c_2759x1511.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>That&#8217;s the theory. In my tests, I faced errors. Waiting for a fix.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/p/claude-design-product-discovery?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/p/claude-design-product-discovery?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><h2><strong>3. How to Prototype a Product or Feature</strong></h2><p>Same flow whether you're prototyping something new or modifying what already ships. The difference is what you point Claude Design at on the way in.</p><h3>Step 1: Open Claude Design &gt; New prototype &gt; Create</h3><p>Pick the design system you generated in &#167;2 and name your prototype.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kbkK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d011660-8387-4859-9481-77ee7d79a137_2898x1774.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kbkK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d011660-8387-4859-9481-77ee7d79a137_2898x1774.png 424w, https://substackcdn.com/image/fetch/$s_!kbkK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d011660-8387-4859-9481-77ee7d79a137_2898x1774.png 848w, https://substackcdn.com/image/fetch/$s_!kbkK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d011660-8387-4859-9481-77ee7d79a137_2898x1774.png 1272w, https://substackcdn.com/image/fetch/$s_!kbkK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d011660-8387-4859-9481-77ee7d79a137_2898x1774.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kbkK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d011660-8387-4859-9481-77ee7d79a137_2898x1774.png" width="2898" height="1774" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3d011660-8387-4859-9481-77ee7d79a137_2898x1774.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1774,&quot;width&quot;:2898,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:640893,&quot;alt&quot;:&quot;Claude Design: How to Prototype a Product or Feature, New prototype&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://www.productcompass.pm/i/196411765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F946500d0-3234-4864-b4a9-ece65732d706_2898x1783.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Design: How to Prototype a Product or Feature, New prototype" title="Claude Design: How to Prototype a Product or Feature, New prototype" srcset="https://substackcdn.com/image/fetch/$s_!kbkK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d011660-8387-4859-9481-77ee7d79a137_2898x1774.png 424w, https://substackcdn.com/image/fetch/$s_!kbkK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d011660-8387-4859-9481-77ee7d79a137_2898x1774.png 848w, https://substackcdn.com/image/fetch/$s_!kbkK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d011660-8387-4859-9481-77ee7d79a137_2898x1774.png 1272w, https://substackcdn.com/image/fetch/$s_!kbkK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d011660-8387-4859-9481-77ee7d79a137_2898x1774.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>Step 2: Provide Context</h3><p>Depending on what you&#8217;re prototyping:</p><ul><li><p><strong>New feature.</strong> Brief Claude Design from scratch.</p></li><li><p><strong>Existing feature.</strong> Point at the codebase, or branch from a previous Claude Design version. </p></li></ul><p>You can also include screenshots, Figma files, web elements, or reference Claude Design projects (via &#8220;Import&#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_!_10o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c8b01a-2df3-447e-a28a-fad374fffdc6_2885x1775.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_10o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c8b01a-2df3-447e-a28a-fad374fffdc6_2885x1775.png 424w, https://substackcdn.com/image/fetch/$s_!_10o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c8b01a-2df3-447e-a28a-fad374fffdc6_2885x1775.png 848w, https://substackcdn.com/image/fetch/$s_!_10o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c8b01a-2df3-447e-a28a-fad374fffdc6_2885x1775.png 1272w, https://substackcdn.com/image/fetch/$s_!_10o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c8b01a-2df3-447e-a28a-fad374fffdc6_2885x1775.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_10o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c8b01a-2df3-447e-a28a-fad374fffdc6_2885x1775.png" width="1456" height="896" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09c8b01a-2df3-447e-a28a-fad374fffdc6_2885x1775.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:896,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:430493,&quot;alt&quot;:&quot;Claude Design: How to provide context&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://www.productcompass.pm/i/196411765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c8b01a-2df3-447e-a28a-fad374fffdc6_2885x1775.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Design: How to provide context" title="Claude Design: How to provide context" srcset="https://substackcdn.com/image/fetch/$s_!_10o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c8b01a-2df3-447e-a28a-fad374fffdc6_2885x1775.png 424w, https://substackcdn.com/image/fetch/$s_!_10o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c8b01a-2df3-447e-a28a-fad374fffdc6_2885x1775.png 848w, https://substackcdn.com/image/fetch/$s_!_10o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c8b01a-2df3-447e-a28a-fad374fffdc6_2885x1775.png 1272w, https://substackcdn.com/image/fetch/$s_!_10o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c8b01a-2df3-447e-a28a-fad374fffdc6_2885x1775.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>What to brief it on:</p><ul><li><p><strong>Objective.</strong> Should explain why it&#8217;s important and how the success will be measured. Often implicit, especially when you have a well-documented system.</p></li><li><p><strong>Persona.</strong> Who&#8217;s actually using this. Not the buyer. The person inside the screen.</p></li><li><p><strong>Value proposition.</strong> What this screen is supposed to deliver to that person.</p></li><li><p><strong>Job to be done.</strong> The underlying task they&#8217;re trying to complete.</p></li><li><p><strong>Common actions.</strong> What they&#8217;ll do most often. If you have product analytics, lead with those numbers. If not, your best assumptions.</p></li></ul><p>Notes:</p><ul><li><p>There is no GitHub repo selector, but after connecting GitHub you can provide Claude Design with a GitHub URL.</p></li><li><p>I specified a GitHub repo for a new feature because my agents maintain a full strategic context in the repo.</p></li></ul><p>This isn&#8217;t just prompt engineering. It&#8217;s instrumenting business context for the agent beyond the current objective. For more, see <a href="https://www.productcompass.pm/p/intent-engineering-framework-for-ai-agents">the Intent Engineering Framework for AI Agents</a> and <a href="https://www.productcompass.pm/p/claude-opus-4-7-guide">my Opus 4.7 guide</a>.</p><h3>Step 3: Answer the Questions &gt; Continue</h3><p>If you forgot about the context, don&#8217;t worry. Claude Design interviews you before taking action:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e7um!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f367a8d-e2a0-4fd6-9616-eeecb3a0bea1_2883x1907.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e7um!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f367a8d-e2a0-4fd6-9616-eeecb3a0bea1_2883x1907.png 424w, https://substackcdn.com/image/fetch/$s_!e7um!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f367a8d-e2a0-4fd6-9616-eeecb3a0bea1_2883x1907.png 848w, https://substackcdn.com/image/fetch/$s_!e7um!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f367a8d-e2a0-4fd6-9616-eeecb3a0bea1_2883x1907.png 1272w, https://substackcdn.com/image/fetch/$s_!e7um!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f367a8d-e2a0-4fd6-9616-eeecb3a0bea1_2883x1907.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e7um!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f367a8d-e2a0-4fd6-9616-eeecb3a0bea1_2883x1907.png" width="1456" height="963" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f367a8d-e2a0-4fd6-9616-eeecb3a0bea1_2883x1907.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:963,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:666269,&quot;alt&quot;:&quot;Claude Design: Questions asked by the agent&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://www.productcompass.pm/i/196411765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f367a8d-e2a0-4fd6-9616-eeecb3a0bea1_2883x1907.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Design: Questions asked by the agent" title="Claude Design: Questions asked by the agent" srcset="https://substackcdn.com/image/fetch/$s_!e7um!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f367a8d-e2a0-4fd6-9616-eeecb3a0bea1_2883x1907.png 424w, https://substackcdn.com/image/fetch/$s_!e7um!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f367a8d-e2a0-4fd6-9616-eeecb3a0bea1_2883x1907.png 848w, https://substackcdn.com/image/fetch/$s_!e7um!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f367a8d-e2a0-4fd6-9616-eeecb3a0bea1_2883x1907.png 1272w, https://substackcdn.com/image/fetch/$s_!e7um!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f367a8d-e2a0-4fd6-9616-eeecb3a0bea1_2883x1907.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>Step 4: Review and refine in the canvas</h3><p>5&#8211;10 minutes for the first generation. Once the prototype exists, switch to a faster model in chat. Iteration drops to seconds. An example result:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;ccfeeacf-c505-4d25-87df-f26703a7e620&quot;,&quot;duration&quot;:null}"></div><p>Once the prototype exists, PMs can run small fixes like copy edits, button placement, or empty-state polish without pulling in a designer for every adjustment.</p><p>Four refinement tools:</p><ul><li><p><strong>Chat.</strong> Refine via natural language (&#8221;<em>make the empty state more inviting</em>&#8221;).</p></li><li><p><strong>Comments.</strong> Figma-style threaded notes. Anyone you share it with can drop them.</p></li><li><p><strong>Sketch.</strong> Draw directly on the prototype. Useful when &#8220;<em>move that there</em>&#8221; is faster than typing.</p></li><li><p><strong>Edit.</strong> Applying changes directly in the system. I would use it primarily for text adjustments:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v0Qu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cd2955-3e90-4906-a8ff-540d7802421a_2818x1680.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v0Qu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cd2955-3e90-4906-a8ff-540d7802421a_2818x1680.png 424w, https://substackcdn.com/image/fetch/$s_!v0Qu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cd2955-3e90-4906-a8ff-540d7802421a_2818x1680.png 848w, https://substackcdn.com/image/fetch/$s_!v0Qu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cd2955-3e90-4906-a8ff-540d7802421a_2818x1680.png 1272w, https://substackcdn.com/image/fetch/$s_!v0Qu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cd2955-3e90-4906-a8ff-540d7802421a_2818x1680.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v0Qu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cd2955-3e90-4906-a8ff-540d7802421a_2818x1680.png" width="696" height="414.9230769230769" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4cd2955-3e90-4906-a8ff-540d7802421a_2818x1680.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:868,&quot;width&quot;:1456,&quot;resizeWidth&quot;:696,&quot;bytes&quot;:659700,&quot;alt&quot;:&quot;Claude Design: Applying changes directly in the system, visual edits&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://www.productcompass.pm/i/196411765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cd2955-3e90-4906-a8ff-540d7802421a_2818x1680.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Design: Applying changes directly in the system, visual edits" title="Claude Design: Applying changes directly in the system, visual edits" srcset="https://substackcdn.com/image/fetch/$s_!v0Qu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cd2955-3e90-4906-a8ff-540d7802421a_2818x1680.png 424w, https://substackcdn.com/image/fetch/$s_!v0Qu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cd2955-3e90-4906-a8ff-540d7802421a_2818x1680.png 848w, https://substackcdn.com/image/fetch/$s_!v0Qu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cd2955-3e90-4906-a8ff-540d7802421a_2818x1680.png 1272w, https://substackcdn.com/image/fetch/$s_!v0Qu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cd2955-3e90-4906-a8ff-540d7802421a_2818x1680.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></li></ul><p>Each prototype can have <strong>multiple variants on the same canvas</strong>. They are called <strong>tweaks</strong>. Just ask in the Chat. Claude Design adds them to the Tweaks panel. For example, here I asked for an Anthropic variant:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6gND!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f0fcc2-d66b-400b-963d-343df2370ba7_2955x1696.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6gND!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f0fcc2-d66b-400b-963d-343df2370ba7_2955x1696.png 424w, https://substackcdn.com/image/fetch/$s_!6gND!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f0fcc2-d66b-400b-963d-343df2370ba7_2955x1696.png 848w, https://substackcdn.com/image/fetch/$s_!6gND!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f0fcc2-d66b-400b-963d-343df2370ba7_2955x1696.png 1272w, https://substackcdn.com/image/fetch/$s_!6gND!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f0fcc2-d66b-400b-963d-343df2370ba7_2955x1696.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6gND!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f0fcc2-d66b-400b-963d-343df2370ba7_2955x1696.png" width="1456" height="836" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84f0fcc2-d66b-400b-963d-343df2370ba7_2955x1696.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:836,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1948868,&quot;alt&quot;:&quot;Claude Design tweaks: multiple variants on the same canvas&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://www.productcompass.pm/i/196411765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f0fcc2-d66b-400b-963d-343df2370ba7_2955x1696.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Design tweaks: multiple variants on the same canvas" title="Claude Design tweaks: multiple variants on the same canvas" srcset="https://substackcdn.com/image/fetch/$s_!6gND!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f0fcc2-d66b-400b-963d-343df2370ba7_2955x1696.png 424w, https://substackcdn.com/image/fetch/$s_!6gND!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f0fcc2-d66b-400b-963d-343df2370ba7_2955x1696.png 848w, https://substackcdn.com/image/fetch/$s_!6gND!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f0fcc2-d66b-400b-963d-343df2370ba7_2955x1696.png 1272w, https://substackcdn.com/image/fetch/$s_!6gND!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f0fcc2-d66b-400b-963d-343df2370ba7_2955x1696.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>Step 5: Export and handoff</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!batc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ef4086-871e-4c1b-b081-473c43b36a8c_1200x893.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!batc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ef4086-871e-4c1b-b081-473c43b36a8c_1200x893.png 424w, https://substackcdn.com/image/fetch/$s_!batc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ef4086-871e-4c1b-b081-473c43b36a8c_1200x893.png 848w, https://substackcdn.com/image/fetch/$s_!batc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ef4086-871e-4c1b-b081-473c43b36a8c_1200x893.png 1272w, https://substackcdn.com/image/fetch/$s_!batc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ef4086-871e-4c1b-b081-473c43b36a8c_1200x893.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!batc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ef4086-871e-4c1b-b081-473c43b36a8c_1200x893.png" width="1200" height="893" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/41ef4086-871e-4c1b-b081-473c43b36a8c_1200x893.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:893,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:92110,&quot;alt&quot;:&quot;Claude Design: Export and hand off&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://www.productcompass.pm/i/196411765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ef4086-871e-4c1b-b081-473c43b36a8c_1200x893.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Design: Export and hand off" title="Claude Design: Export and hand off" srcset="https://substackcdn.com/image/fetch/$s_!batc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ef4086-871e-4c1b-b081-473c43b36a8c_1200x893.png 424w, https://substackcdn.com/image/fetch/$s_!batc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ef4086-871e-4c1b-b081-473c43b36a8c_1200x893.png 848w, https://substackcdn.com/image/fetch/$s_!batc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ef4086-871e-4c1b-b081-473c43b36a8c_1200x893.png 1272w, https://substackcdn.com/image/fetch/$s_!batc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ef4086-871e-4c1b-b081-473c43b36a8c_1200x893.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 Claude Code handoff is what changes the workflow the most. Your prototype isn&#8217;t a deliverable engineers re-implement. It&#8217;s a starting point they continue from.</p><p>I&#8217;ll come back to working with the trio and the deeper context inputs for modifying existing features in the paid section.</p><div><hr></div><p><em>I built and shipped products for 10+ years. I talk to PMs every week. Next, a set of suggested workflows for your team based on my work in accredia.io:</em></p><ul><li><p><em>How to collaborate in the Product Trio.</em></p></li><li><p><em>How to test assumptions and when you can just ship.</em></p></li><li><p><em>What to do about Jira/Linear tickets.</em></p></li><li><p><em>What this means for the future or product jobs. &#128071;</em></p></li></ul>
      <p>
          <a href="https://www.productcompass.pm/p/claude-design-product-discovery">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code's Limits Are Generous. The Problem Is Your Setup.]]></title><description><![CDATA[$1,389/mo &#8594; $200/mo on the same Claude Code workflow. 4 root causes you control &#8212; with copy-paste templates.]]></description><link>https://www.productcompass.pm/p/stop-hitting-claude-code-limits</link><guid isPermaLink="false">https://www.productcompass.pm/p/stop-hitting-claude-code-limits</guid><dc:creator><![CDATA[Paweł Huryn]]></dc:creator><pubDate>Mon, 27 Apr 2026 20:22:06 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d60e9347-99c8-4a74-aa68-e897dfeb1d51_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m on Claude Code <strong>Max 20x (&#8364;180/mo)</strong>. 5 days in. Only 34% used working with Claude for 8 hours/day and running 10+ scheduled workflows:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ajto!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c2aade-7a3d-4950-b35f-46d558aabb18_1725x734.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ajto!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c2aade-7a3d-4950-b35f-46d558aabb18_1725x734.png 424w, https://substackcdn.com/image/fetch/$s_!Ajto!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c2aade-7a3d-4950-b35f-46d558aabb18_1725x734.png 848w, https://substackcdn.com/image/fetch/$s_!Ajto!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c2aade-7a3d-4950-b35f-46d558aabb18_1725x734.png 1272w, https://substackcdn.com/image/fetch/$s_!Ajto!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c2aade-7a3d-4950-b35f-46d558aabb18_1725x734.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ajto!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c2aade-7a3d-4950-b35f-46d558aabb18_1725x734.png" width="1456" height="620" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0c2aade-7a3d-4950-b35f-46d558aabb18_1725x734.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:620,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:94710,&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://www.productcompass.pm/i/195650302?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c2aade-7a3d-4950-b35f-46d558aabb18_1725x734.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_!Ajto!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c2aade-7a3d-4950-b35f-46d558aabb18_1725x734.png 424w, https://substackcdn.com/image/fetch/$s_!Ajto!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c2aade-7a3d-4950-b35f-46d558aabb18_1725x734.png 848w, https://substackcdn.com/image/fetch/$s_!Ajto!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c2aade-7a3d-4950-b35f-46d558aabb18_1725x734.png 1272w, https://substackcdn.com/image/fetch/$s_!Ajto!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c2aade-7a3d-4950-b35f-46d558aabb18_1725x734.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>The same workflow cost me <strong>&#8364;1,184.95</strong> (~$1,389) a month ago:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ugRI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1c8caf-264c-4afd-b320-6a9950c2d50d_1433x814.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ugRI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1c8caf-264c-4afd-b320-6a9950c2d50d_1433x814.png 424w, https://substackcdn.com/image/fetch/$s_!ugRI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1c8caf-264c-4afd-b320-6a9950c2d50d_1433x814.png 848w, https://substackcdn.com/image/fetch/$s_!ugRI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1c8caf-264c-4afd-b320-6a9950c2d50d_1433x814.png 1272w, https://substackcdn.com/image/fetch/$s_!ugRI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1c8caf-264c-4afd-b320-6a9950c2d50d_1433x814.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ugRI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1c8caf-264c-4afd-b320-6a9950c2d50d_1433x814.png" width="1433" height="814" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e1c8caf-264c-4afd-b320-6a9950c2d50d_1433x814.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:814,&quot;width&quot;:1433,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:133119,&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://www.productcompass.pm/i/195650302?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1c8caf-264c-4afd-b320-6a9950c2d50d_1433x814.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_!ugRI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1c8caf-264c-4afd-b320-6a9950c2d50d_1433x814.png 424w, https://substackcdn.com/image/fetch/$s_!ugRI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1c8caf-264c-4afd-b320-6a9950c2d50d_1433x814.png 848w, https://substackcdn.com/image/fetch/$s_!ugRI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1c8caf-264c-4afd-b320-6a9950c2d50d_1433x814.png 1272w, https://substackcdn.com/image/fetch/$s_!ugRI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1c8caf-264c-4afd-b320-6a9950c2d50d_1433x814.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>No model swap, no skipped sessions.</p><p>Between March 23 and April 23, some users on Max burned weekly quotas in 1-2 days. Anthropic shipped 3 bug fixes (v2.1.116+) and reset all subscriber limits. Full writeup in their <a href="https://x.com/ClaudeDevs/status/2047371123185287223">April 23 postmortem</a>.</p><p><strong>Four root causes are still on your side</strong> (I&#8217;ve been researching and testing that for the last 2 weeks):</p><ol><li><p><strong>Cache misses</strong></p></li><li><p><strong>Context bloat</strong></p></li><li><p><strong>Wrong model or effort</strong></p></li><li><p><strong>Wrong input format</strong></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_!5vbl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a988b5c-6060-433b-aa37-9cdd0b070518_2400x3000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5vbl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a988b5c-6060-433b-aa37-9cdd0b070518_2400x3000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5vbl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a988b5c-6060-433b-aa37-9cdd0b070518_2400x3000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5vbl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a988b5c-6060-433b-aa37-9cdd0b070518_2400x3000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5vbl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a988b5c-6060-433b-aa37-9cdd0b070518_2400x3000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5vbl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a988b5c-6060-433b-aa37-9cdd0b070518_2400x3000.jpeg" width="1456" height="1820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a988b5c-6060-433b-aa37-9cdd0b070518_2400x3000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;How to reduce and optimize Claude Code tokens, Claude Code limits&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to reduce and optimize Claude Code tokens, Claude Code limits" title="How to reduce and optimize Claude Code tokens, Claude Code limits" srcset="https://substackcdn.com/image/fetch/$s_!5vbl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a988b5c-6060-433b-aa37-9cdd0b070518_2400x3000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5vbl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a988b5c-6060-433b-aa37-9cdd0b070518_2400x3000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5vbl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a988b5c-6060-433b-aa37-9cdd0b070518_2400x3000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5vbl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a988b5c-6060-433b-aa37-9cdd0b070518_2400x3000.jpeg 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><em>Our Sponsor: Nimbalyst</em></h2><p><em>This is a paid placement, but I only run sponsors I've actually tested. I&#8217;ve been working with <strong><a href="https://nimbalyst.com/?utm_source=productcompass&amp;utm_medium=newsletter&amp;utm_campaign=pawel-huryn-newsletter&amp;utm_content=nimbalyst-article">Nimbalyst</a></strong> for 10+ hours.</em></p><p><em>It&#8217;s a visual workspace for Claude Code and Codex. If the VS Code interface has intimidated you, you should try it.</em></p><p><em>I loved the markdown files that actually render without plugins, and navigating between linked documents. VS Code is missing this.</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_!IK63!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2969f077-0fc9-4ad8-a26b-c8a2f66716e1_3077x1910.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IK63!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2969f077-0fc9-4ad8-a26b-c8a2f66716e1_3077x1910.png 424w, https://substackcdn.com/image/fetch/$s_!IK63!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2969f077-0fc9-4ad8-a26b-c8a2f66716e1_3077x1910.png 848w, https://substackcdn.com/image/fetch/$s_!IK63!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2969f077-0fc9-4ad8-a26b-c8a2f66716e1_3077x1910.png 1272w, https://substackcdn.com/image/fetch/$s_!IK63!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2969f077-0fc9-4ad8-a26b-c8a2f66716e1_3077x1910.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IK63!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2969f077-0fc9-4ad8-a26b-c8a2f66716e1_3077x1910.png" width="1456" height="904" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2969f077-0fc9-4ad8-a26b-c8a2f66716e1_3077x1910.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:904,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:705060,&quot;alt&quot;:&quot;Nimbalyst - a visual workspace for Claude Code and Codex&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://www.productcompass.pm/i/195650302?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2969f077-0fc9-4ad8-a26b-c8a2f66716e1_3077x1910.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Nimbalyst - a visual workspace for Claude Code and Codex" title="Nimbalyst - a visual workspace for Claude Code and Codex" srcset="https://substackcdn.com/image/fetch/$s_!IK63!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2969f077-0fc9-4ad8-a26b-c8a2f66716e1_3077x1910.png 424w, https://substackcdn.com/image/fetch/$s_!IK63!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2969f077-0fc9-4ad8-a26b-c8a2f66716e1_3077x1910.png 848w, https://substackcdn.com/image/fetch/$s_!IK63!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2969f077-0fc9-4ad8-a26b-c8a2f66716e1_3077x1910.png 1272w, https://substackcdn.com/image/fetch/$s_!IK63!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2969f077-0fc9-4ad8-a26b-c8a2f66716e1_3077x1910.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">Working with accredia.io documents in <a href="https://nimbalyst.com/?utm_source=productcompass&amp;utm_medium=newsletter&amp;utm_campaign=pawel-huryn-newsletter&amp;utm_content=nimbalyst-article">Nimbalyst</a></figcaption></figure></div><p><em>Big surprise: sessions as cards on a Kanban board. Backlog, planning, implementing, done. Claude doesn&#8217;t have this.</em></p><p><em>Plus session tracking, all the context window techniques we&#8217;ve been discussing, and a native iOS app (their custom remote control). Works with your Claude Pro/Max/Team subscription, not just API keys.</em></p><p><em>Free for individual use. Worth twenty minutes if you&#8217;ve been Claude-Code-curious:</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://nimbalyst.com/?utm_source=productcompass&amp;utm_medium=newsletter&amp;utm_campaign=pawel-huryn-newsletter&amp;utm_content=nimbalyst-article&quot;,&quot;text&quot;:&quot;Download Free&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://nimbalyst.com/?utm_source=productcompass&amp;utm_medium=newsletter&amp;utm_campaign=pawel-huryn-newsletter&amp;utm_content=nimbalyst-article"><span>Download Free</span></a></p><div><hr></div><h2>1. Cache Misses</h2><p>The prompt cache is the single biggest lever in Claude Code. Most people never look at it.</p><p>The math:</p><ul><li><p>Cache <strong>read</strong>: 0.1&#215; the input price</p></li><li><p>Cache <strong>write</strong> (5-min TTL): 1.25&#215;</p></li><li><p>Cache <strong>write</strong> (1-hour TTL): 2&#215;</p></li><li><p>Cache <strong>refresh on hit</strong>: free (charged at the read price)</p></li></ul><p>Every hit on a cached prefix resets its TTL at no extra cost. So a long session with steady tool use stays warm indefinitely as long as the prefix doesn&#8217;t change.</p><p>Thariq spelled out the rules in <a href="https://x.com/trq212/status/2024574133011673516">&#8220;Lessons from Building Claude Code.&#8221;</a> The two that move the needle:</p><ul><li><p><strong>Lock your tools at session start.</strong> Adding or removing a tool mid-session invalidates the cached prefix and forces a full re-read. Never add or remove tools mid-session.</p></li><li><p><strong>Lock your model at session start.</strong> Switching models mid-session blows the cache for the same reason.</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_!YBip!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d1e0f09-cff9-4694-9cef-365f2f2c2a23_1199x661.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YBip!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d1e0f09-cff9-4694-9cef-365f2f2c2a23_1199x661.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YBip!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d1e0f09-cff9-4694-9cef-365f2f2c2a23_1199x661.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YBip!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d1e0f09-cff9-4694-9cef-365f2f2c2a23_1199x661.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YBip!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d1e0f09-cff9-4694-9cef-365f2f2c2a23_1199x661.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YBip!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d1e0f09-cff9-4694-9cef-365f2f2c2a23_1199x661.jpeg" width="1199" height="661" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d1e0f09-cff9-4694-9cef-365f2f2c2a23_1199x661.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:661,&quot;width&quot;:1199,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claude Code Prompt Caching&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="Claude Code Prompt Caching" title="Claude Code Prompt Caching" srcset="https://substackcdn.com/image/fetch/$s_!YBip!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d1e0f09-cff9-4694-9cef-365f2f2c2a23_1199x661.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YBip!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d1e0f09-cff9-4694-9cef-365f2f2c2a23_1199x661.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YBip!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d1e0f09-cff9-4694-9cef-365f2f2c2a23_1199x661.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YBip!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d1e0f09-cff9-4694-9cef-365f2f2c2a23_1199x661.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><figcaption class="image-caption">Source: Lessons from <a href="https://x.com/trq212/status/2024574133011673516">Building Claude Code: Prompt Caching Is Everything</a> by Thariq</figcaption></figure></div><p><strong>~90% is healthy on the 5-min default.</strong> On the 1-hour TTL it climbs to ~97-99%, but that one is API-only and isn&#8217;t priced into Pro / Max / Team subscriptions.</p><p><strong>What to Do:</strong></p><ul><li><p><strong>Protect the prefix.</strong> Don&#8217;t add MCP servers mid-session, don&#8217;t <em><strong>/model </strong></em>mid-session.</p></li><li><p><strong>Watch the hit rate.</strong> See &#167; Watch the Number below.</p></li><li><p><strong>Consider the 1h cache</strong> for long sessions on the API. Write costs more (2&#215; vs 1.25&#215;), but the higher hit rate pays it back.</p></li></ul><div><hr></div><h2>2. Context Bloat</h2><p>For Opus 4.7, 1M context is the default. That&#8217;s expensive. Long sessions sprawl, and auto-compact fires later than it should. Disable it and fall back to 200K. 200K is enough for almost any task.</p><p>On 200K, auto-compact fires at ~155K (~80%), the behavior Boris Cherny <a href="https://x.com/bcherny/status/1977163445205450783">described</a> for the previous Opus. The trick is to compact <em>before</em> you hit the auto-trigger. Once it fires, it pushes you over and warms a fresh prefix. Compact early instead.</p><p>The settings I run:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;json&quot;,&quot;nodeId&quot;:&quot;9abfa5fd-968e-4bdd-8535-8ab07423f8f1&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-json">{
  "env": {
    "CLAUDE_CODE_DISABLE_1M_CONTEXT": "1",
    "CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80"
  }
}</code></pre></div><p>That disables 1M context and pins the auto-compact threshold at 80%.</p><h3>2.1 Five Session Moves</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4U5G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe517a714-2063-4a6d-898b-6e5a789cd86a_1200x455.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4U5G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe517a714-2063-4a6d-898b-6e5a789cd86a_1200x455.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4U5G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe517a714-2063-4a6d-898b-6e5a789cd86a_1200x455.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4U5G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe517a714-2063-4a6d-898b-6e5a789cd86a_1200x455.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4U5G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe517a714-2063-4a6d-898b-6e5a789cd86a_1200x455.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4U5G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe517a714-2063-4a6d-898b-6e5a789cd86a_1200x455.jpeg" width="1200" height="455" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e517a714-2063-4a6d-898b-6e5a789cd86a_1200x455.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:455,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claude Code session management&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="Claude Code session management" title="Claude Code session management" srcset="https://substackcdn.com/image/fetch/$s_!4U5G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe517a714-2063-4a6d-898b-6e5a789cd86a_1200x455.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4U5G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe517a714-2063-4a6d-898b-6e5a789cd86a_1200x455.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4U5G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe517a714-2063-4a6d-898b-6e5a789cd86a_1200x455.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4U5G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe517a714-2063-4a6d-898b-6e5a789cd86a_1200x455.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><figcaption class="image-caption">Source: <a href="https://x.com/trq212/status/2044548257058328723">Using Claude Code: Session Management &amp; 1M Context</a> by Thariq</figcaption></figure></div><ul><li><p><strong>/compact</strong> at 50% or after every task. Don&#8217;t wait for auto.</p></li><li><p><strong>/clear</strong> between unrelated work. New session = fresh prefix.</p></li><li><p><strong>/rewind</strong> when a turn went sideways. Cheaper than re-prompting around the bad context.</p></li><li><p><strong>Subagents</strong> for anything that doesn&#8217;t need the parent&#8217;s reasoning.</p></li></ul><h3>2.2 Subagents Are the Underused Move</h3><p>Anything that&#8217;s bulk-mechanical, scoped research, or parallelizable should run in a subagent. The parent context stays clean and you parallelize across cheaper models.</p><p>A CLAUDE.md task-delegation block I keep in every project:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;d8faf798-b5a4-4276-a773-08a9bf30f8b7&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">## Subagents v1.0

Spawn subagents to isolate context, parallelize independent work, or offload bulk mechanical tasks. Don't spawn when the parent needs the reasoning, when synthesis requires holding things together, or when spawn overhead dominates.

Pick the cheapest model that can do the subtask well:
- Haiku: bulk mechanical work, no judgment
- Sonnet: scoped research, code exploration, in-scope synthesis
- Opus: subtasks needing real planning or tradeoffs

If a subagent realizes it needs a higher tier than itself, return to the parent.

Parent owns final output and cross-spawn synthesis. User instructions override.</code></pre></div><h3>2.3 Skills Can Also Be Invoked as Agents</h3><p>Add <em><strong>agent: true</strong></em> and <em><strong>model:</strong></em><strong> </strong>to the frontmatter and the skill runs in its own subagent context with its own model. For example:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;de4b2f24-92c8-47fb-84b0-a72f7dc11485&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">---
name: tldr-pdf
description: Extract a 200-word TL;DR from a PDF without loading the full text into the parent context
agent: true
model: sonnet
---

You receive a path to a PDF.

1. Run `pdftotext "$1" -` to extract the text.
2. Read the output.
3. Return only:
   - 5-bullet TL;DR
   - 3 quotes worth keeping
   - Any URLs cited

Never return the full text. Never expand beyond the structure above.</code></pre></div><p>The parent gets back 200 words. The full PDF never touches its context.</p><h3>2.4 A Few More Techniques that Pay for Themselves on Long Sessions</h3><ul><li><p><strong>Load lean.</strong> Disable unused MCP servers, tools, skills, and plugins. Move rules out of CLAUDE.md and into skills, custom tools, or referenced .MD files (progressive disclosure).</p></li><li><p><strong>Spec prompts.</strong> Write requests like a spec: file paths, components, expected I/O, constraints. Vague requests burn turns and tokens.</p></li><li><p><strong>Skip the search.</strong> When you know the file, tag it @ docs/design.md or @ research.md. Claude doesn&#8217;t need to grep for what you can hand it directly.</p></li><li><p><strong><a href="https://github.com/rtk-ai/rtk">rtk-ai/rtk</a>.</strong> CLI proxy that strips redundant whitespace and compresses tool output. 60-90% according to the authors. ~20-30% token reduction in my workflow.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vVPv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfda5154-ef70-4d90-93b9-9ba85ffdc5cd_1199x763.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vVPv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfda5154-ef70-4d90-93b9-9ba85ffdc5cd_1199x763.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vVPv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfda5154-ef70-4d90-93b9-9ba85ffdc5cd_1199x763.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vVPv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfda5154-ef70-4d90-93b9-9ba85ffdc5cd_1199x763.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vVPv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfda5154-ef70-4d90-93b9-9ba85ffdc5cd_1199x763.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vVPv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfda5154-ef70-4d90-93b9-9ba85ffdc5cd_1199x763.jpeg" width="1199" height="763" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bfda5154-ef70-4d90-93b9-9ba85ffdc5cd_1199x763.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:763,&quot;width&quot;:1199,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;rtk-ai/rtk. CLI proxy that strips redundant whitespace and compresses tool output&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="rtk-ai/rtk. CLI proxy that strips redundant whitespace and compresses tool output" title="rtk-ai/rtk. CLI proxy that strips redundant whitespace and compresses tool output" srcset="https://substackcdn.com/image/fetch/$s_!vVPv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfda5154-ef70-4d90-93b9-9ba85ffdc5cd_1199x763.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vVPv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfda5154-ef70-4d90-93b9-9ba85ffdc5cd_1199x763.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vVPv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfda5154-ef70-4d90-93b9-9ba85ffdc5cd_1199x763.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vVPv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfda5154-ef70-4d90-93b9-9ba85ffdc5cd_1199x763.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></li><li><p><strong><a href="https://github.com/juliusbrussee/caveman">juliusbrussee/caveman</a>.</strong> Drops conversational filler from responses without affecting the model&#8217;s actual reasoning. Highest savings on chats.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nbaf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2031c49-7890-4f0e-ba13-d4f14eb6c0e4_1200x438.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nbaf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2031c49-7890-4f0e-ba13-d4f14eb6c0e4_1200x438.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nbaf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2031c49-7890-4f0e-ba13-d4f14eb6c0e4_1200x438.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nbaf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2031c49-7890-4f0e-ba13-d4f14eb6c0e4_1200x438.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nbaf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2031c49-7890-4f0e-ba13-d4f14eb6c0e4_1200x438.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nbaf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2031c49-7890-4f0e-ba13-d4f14eb6c0e4_1200x438.jpeg" width="1200" height="438" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2031c49-7890-4f0e-ba13-d4f14eb6c0e4_1200x438.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:438,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;caveman. Drops conversational filler from responses without affecting the model&#8217;s actual reasoning&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="caveman. Drops conversational filler from responses without affecting the model&#8217;s actual reasoning" title="caveman. Drops conversational filler from responses without affecting the model&#8217;s actual reasoning" srcset="https://substackcdn.com/image/fetch/$s_!nbaf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2031c49-7890-4f0e-ba13-d4f14eb6c0e4_1200x438.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nbaf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2031c49-7890-4f0e-ba13-d4f14eb6c0e4_1200x438.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nbaf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2031c49-7890-4f0e-ba13-d4f14eb6c0e4_1200x438.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nbaf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2031c49-7890-4f0e-ba13-d4f14eb6c0e4_1200x438.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></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>3. Wrong Model or Effort</h2><p>Three separate dials. All burn tokens fast if you leave them on the wrong setting.</p><h3>3.1 Effort</h3><p>Default reasoning burns ~2&#215; the tokens of medium for most tasks. Set it on the prompt that needs the headroom, not the whole session.</p><p>markdown</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;toml&quot;,&quot;nodeId&quot;:&quot;0c8253bb-7604-4c42-9d50-c6c726b09b90&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-toml">/effort low       # quick fixes, mechanical tasks
/effort medium    # most prompts (huge savings vs default)
/effort high      # demanding reasoning 
/effort xhigh     # default for agentic coding (4.7)
/effort max       # diminishing returns; rarely worth the ~2&#215; xhigh cost</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_!0FBz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4559e7-c3db-48c9-ad17-1116b8ac2658_1200x675.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0FBz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4559e7-c3db-48c9-ad17-1116b8ac2658_1200x675.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0FBz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4559e7-c3db-48c9-ad17-1116b8ac2658_1200x675.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0FBz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4559e7-c3db-48c9-ad17-1116b8ac2658_1200x675.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0FBz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4559e7-c3db-48c9-ad17-1116b8ac2658_1200x675.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0FBz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4559e7-c3db-48c9-ad17-1116b8ac2658_1200x675.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a4559e7-c3db-48c9-ad17-1116b8ac2658_1200x675.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:675,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claude Code performance and cost by effort&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="Claude Code performance and cost by effort" title="Claude Code performance and cost by effort" srcset="https://substackcdn.com/image/fetch/$s_!0FBz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4559e7-c3db-48c9-ad17-1116b8ac2658_1200x675.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0FBz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4559e7-c3db-48c9-ad17-1116b8ac2658_1200x675.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0FBz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4559e7-c3db-48c9-ad17-1116b8ac2658_1200x675.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0FBz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4559e7-c3db-48c9-ad17-1116b8ac2658_1200x675.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><figcaption class="image-caption">Source: <a href="https://www.anthropic.com/news/claude-opus-4-7">Introducing Claude Opus 4.7</a></figcaption></figure></div><p>Per prompt, not per task or session. Since then, <a href="https://www.productcompass.pm/p/claude-fable-5-guide">the effort dial got re-measured under Fable 5</a>.</p><h3>3.2 Route in (CLAUDE.md)</h3><p>Pick the session model at start. You can&#8217;t switch mid-session without nuking the cache (&#167;1). Two options:</p><ul><li><p><strong>Sonnet session.</strong> Cheaper, but no Opus available. Good when you know the work is in-scope for Sonnet.</p></li><li><p><strong>Opus session + delegate.</strong> Pay for Opus on the parent (planning, tradeoffs), delegate the rest. My default for mixed work.</p></li></ul><p>Then spell out delegation in CLAUDE.md: Haiku for mechanical work, Sonnet for scoped research, Opus for tradeoffs. Opus 4.7 delegates less than 4.6, so you have to ask. See &#167; 2 (Task Delegation) for the full block.</p><h3>3.3 Route Out</h3><p>If you&#8217;re hitting Pro / Max / Team limits but want to keep the Claude Code interface, route to OpenRouter or another provider. GLM-5.1 &#8776; Opus at ~1/12&#215; the cost.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;json&quot;,&quot;nodeId&quot;:&quot;715588e3-ffa7-476c-ae42-910a47744a48&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-json">{
  "env": {
    "ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
    "ANTHROPIC_AUTH_TOKEN": "{YOUR-API-KEY}",
    "ANTHROPIC_API_KEY": ""
    },
  "model": "z-ai/glm-5.1"
}</code></pre></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.productcompass.pm/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.productcompass.pm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>4. Wrong Input Format</h2><p>Some inputs are token-expensive by default. Three swaps cover most of it.</p><h3>4.1 Screenshots and Chrome Scraping &#8594; agent-browser</h3><p><strong><a href="https://github.com/vercel-labs/agent-browser">vercel-labs/agent-browser</a> </strong>browses pages via the accessibility tree instead of rendering and screenshotting. ~90% fewer tokens than &#8220;Claude in Chrome&#8221; when you&#8217;re scraping or doing research from web pages.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;b0549860-9247-425b-9311-77949416f314&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">npm install -g agent-browser
agent-browser install  # Download Chrome from Chrome for Testing (first time only)</code></pre></div><h3>4.2 PDFs &#8594; pdftotext, Not Claude&#8217;s PDF Reader</h3><p>The Read tool loads PDFs as images, which is expensive. Tell Claude to use &#8216;pdftotext&#8217; instead of &#8216;Read&#8217; (works for PDFs on local drive, but not attached to the chat - the latter works in Claude Desktop only).</p><p>The CLAUDE.md fragment that codifies defaults from 4.1 and 4.2:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;d0c0a1cd-57fd-4d21-9bdd-d049fcddcd71&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">## Preferred Tools

### Data Fetching

1. **WebFetch**: free, text-only, works on public pages that don't block bots.
2. **agent-browser CLI**: free, local Rust CLI + Chrome via CDP. For dynamic pages or auth walls that WebFetch can't handle. Returns the accessibility tree with element refs (@e1, @e2). ~82% fewer tokens than screenshot-based tools. Install: `npm i -g agent-browser &amp;&amp; agent-browser install`. Use `snapshot` for AI-friendly DOM state, element refs for interaction.
3. **Notice recurring fetch patterns and propose wrapping them as dedicated tools.** When the same fetch/parse logic comes up more than once, suggest wrapping it as a named tool (e.g. a skill file or a .py script that calls `agent-browser` with the snapshot and extraction steps baked in for that source). Add the entry to `## Dedicated Tools` below and reference it by name on future calls.

### PDF Files

Use 'pdftotext', not the 'Read' tool. Use 'Read' only when the user directly asks to analyze images or charts inside the document. Read loads PDFs as images.

## Dedicated Tools

&lt;!-- List project-specific tools here. For each, link to its skill or script file (e.g. `tools/reddit_fetch.py`). The orchestration logic lives in those files, not here. --&gt;</code></pre></div><h3>4.3 Large Repos &#8594; Code Graph, Not Raw File Reads</h3><p><strong><a href="https://github.com/tirth8205/code-review-graph">tirth8205/code-review-graph</a></strong> builds a persistent map of your codebase (a knowledge graph). Claude reads only what matters. Claimed 6.8&#215; fewer tokens on reviews, up to 49&#215; on daily coding tasks. I implemented it in accredia.io. Worth noting: it does reduce tokens on specific tasks, not all tokens.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oIfv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94b3d917-c2fc-4a9d-ba21-e31c4ad6216b_3150x2599.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oIfv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94b3d917-c2fc-4a9d-ba21-e31c4ad6216b_3150x2599.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oIfv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94b3d917-c2fc-4a9d-ba21-e31c4ad6216b_3150x2599.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oIfv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94b3d917-c2fc-4a9d-ba21-e31c4ad6216b_3150x2599.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oIfv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94b3d917-c2fc-4a9d-ba21-e31c4ad6216b_3150x2599.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oIfv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94b3d917-c2fc-4a9d-ba21-e31c4ad6216b_3150x2599.jpeg" width="1456" height="1201" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94b3d917-c2fc-4a9d-ba21-e31c4ad6216b_3150x2599.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1201,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;code-review-graph builds a persistent map of your codebase (a knowledge graph)&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="code-review-graph builds a persistent map of your codebase (a knowledge graph)" title="code-review-graph builds a persistent map of your codebase (a knowledge graph)" srcset="https://substackcdn.com/image/fetch/$s_!oIfv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94b3d917-c2fc-4a9d-ba21-e31c4ad6216b_3150x2599.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oIfv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94b3d917-c2fc-4a9d-ba21-e31c4ad6216b_3150x2599.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oIfv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94b3d917-c2fc-4a9d-ba21-e31c4ad6216b_3150x2599.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oIfv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94b3d917-c2fc-4a9d-ba21-e31c4ad6216b_3150x2599.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><figcaption class="image-caption">AI coding tools re-read your entire codebase on every task. code-review-graph fixes that. It builds a structural map of your code with Tree-sitter, tracks changes incrementally, and gives your AI assistant precise context via MCP so it reads only what matters.</figcaption></figure></div><p>AI coding tools re-read your entire codebase on every task. code-review-graph fixes that. It builds a structural map of your code, tracks changes incrementally, and gives your AI assistant precise context via MCP so it reads only what matters.</p><div><hr></div><h2>5. Watch the Number</h2><p>Three dashboards, depending on your tier:</p><h3>5.1 Historical (Pro / Max / Team)</h3><p><strong><a href="https://github.com/phuryn/claude-usage">phuryn/claude-usage</a>:</strong> Long-term breakdown by session, day, week, and all-time. Use it to find where the spend went.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ezVk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eecb8fe-322c-45f4-9df5-1e035f97e627_1200x891.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ezVk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eecb8fe-322c-45f4-9df5-1e035f97e627_1200x891.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ezVk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eecb8fe-322c-45f4-9df5-1e035f97e627_1200x891.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ezVk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eecb8fe-322c-45f4-9df5-1e035f97e627_1200x891.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ezVk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eecb8fe-322c-45f4-9df5-1e035f97e627_1200x891.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ezVk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eecb8fe-322c-45f4-9df5-1e035f97e627_1200x891.jpeg" width="1200" height="891" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4eecb8fe-322c-45f4-9df5-1e035f97e627_1200x891.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:891,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claude Code Usage Dashboard: claude-usage: Long-term breakdown by session, day, week, and all-time. Use it to find where the spend went.&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="Claude Code Usage Dashboard: claude-usage: Long-term breakdown by session, day, week, and all-time. Use it to find where the spend went." title="Claude Code Usage Dashboard: claude-usage: Long-term breakdown by session, day, week, and all-time. Use it to find where the spend went." srcset="https://substackcdn.com/image/fetch/$s_!ezVk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eecb8fe-322c-45f4-9df5-1e035f97e627_1200x891.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ezVk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eecb8fe-322c-45f4-9df5-1e035f97e627_1200x891.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ezVk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eecb8fe-322c-45f4-9df5-1e035f97e627_1200x891.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ezVk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eecb8fe-322c-45f4-9df5-1e035f97e627_1200x891.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><figcaption class="image-caption"><a href="https://github.com/phuryn/claude-usage">https://github.com/phuryn/claude-usage</a></figcaption></figure></div><h3>5.2 Real-Time</h3><p><strong><a href="https://github.com/Gronsten/claude-usage-monitor">Gronsten/claude-usage-monitor</a>: </strong>Current 5-hour window + active session tokens, with color thresholds. Use it to know how close you are to your cap right now.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vixa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6ca324-ad37-4529-a28b-1a977ac69bf6_1159x552.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vixa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6ca324-ad37-4529-a28b-1a977ac69bf6_1159x552.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Vixa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6ca324-ad37-4529-a28b-1a977ac69bf6_1159x552.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Vixa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6ca324-ad37-4529-a28b-1a977ac69bf6_1159x552.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Vixa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6ca324-ad37-4529-a28b-1a977ac69bf6_1159x552.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vixa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6ca324-ad37-4529-a28b-1a977ac69bf6_1159x552.jpeg" width="1159" height="552" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b6ca324-ad37-4529-a28b-1a977ac69bf6_1159x552.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:552,&quot;width&quot;:1159,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claude Code usage monitor VS Code: current 5-hour window + active session tokens&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="Claude Code usage monitor VS Code: current 5-hour window + active session tokens" title="Claude Code usage monitor VS Code: current 5-hour window + active session tokens" srcset="https://substackcdn.com/image/fetch/$s_!Vixa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6ca324-ad37-4529-a28b-1a977ac69bf6_1159x552.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Vixa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6ca324-ad37-4529-a28b-1a977ac69bf6_1159x552.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Vixa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6ca324-ad37-4529-a28b-1a977ac69bf6_1159x552.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Vixa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6ca324-ad37-4529-a28b-1a977ac69bf6_1159x552.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><figcaption class="image-caption"><a href="https://github.com/Gronsten/claude-usage-monitor">https://github.com/Gronsten/claude-usage-monitor</a></figcaption></figure></div><h3>5.3 API: Anthropic&#8217;s Own Cache Dashboard (API users)</h3><p>At <strong><a href="https://platform.claude.com/usage/cache">platform.claude.com/usage/cache</a></strong>, API only, separate from Pro / Max / Team subscriptions monitoring.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sSzW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab58ab2-0d40-4304-9149-1d96fe110f02_1200x700.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sSzW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab58ab2-0d40-4304-9149-1d96fe110f02_1200x700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sSzW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab58ab2-0d40-4304-9149-1d96fe110f02_1200x700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sSzW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab58ab2-0d40-4304-9149-1d96fe110f02_1200x700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sSzW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab58ab2-0d40-4304-9149-1d96fe110f02_1200x700.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sSzW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab58ab2-0d40-4304-9149-1d96fe110f02_1200x700.jpeg" width="1200" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bab58ab2-0d40-4304-9149-1d96fe110f02_1200x700.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Anthropic&#8217;s Cache Dashboard&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="Anthropic&#8217;s Cache Dashboard" title="Anthropic&#8217;s Cache Dashboard" srcset="https://substackcdn.com/image/fetch/$s_!sSzW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab58ab2-0d40-4304-9149-1d96fe110f02_1200x700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sSzW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab58ab2-0d40-4304-9149-1d96fe110f02_1200x700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sSzW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab58ab2-0d40-4304-9149-1d96fe110f02_1200x700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sSzW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab58ab2-0d40-4304-9149-1d96fe110f02_1200x700.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><figcaption class="image-caption">Anthropic&#8217;s Own Cache Dashboard (API users)</figcaption></figure></div><p>If you can&#8217;t see the cache hit rate, you can&#8217;t fix it.</p><div><hr></div><h2>&#128274; 6. An Upgraded Sub-Agents Instructions for Cowork and Claude Code</h2><p>In &#167;2.2, I shared a Subagents v1.0 block that significantly reduced my tokens in Claude Code, especially with Opus 4.7.</p><p>After running it across dozens of sessions, two failure modes kept showing up:</p><ul><li><p>Subagents with no strategic context returned compliant-but-useless data, forcing the parent to re-spawn with a better brief and pay for the work twice.</p></li><li><p>Unverified data silently propagated into the parent agent.</p></li></ul><p>Those two issues were common in Claude, unrelated to tokens.</p><p>The block below fixes them by adding the strategic-context layer. Works across Cowork and Claude Code &#128071;</p>
      <p>
          <a href="https://www.productcompass.pm/p/stop-hitting-claude-code-limits">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>