<?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[Prompt and Catch Fire]]></title><description><![CDATA[A personal chronicle of learning to code with AI exploring the messy edge where human intuition meets machine intelligence.]]></description><link>https://www.promptandcatchfire.com</link><image><url>https://substackcdn.com/image/fetch/$s_!YkqQ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F574f0703-8c26-464a-88c1-9f303c211e33_1024x1024.png</url><title>Prompt and Catch Fire</title><link>https://www.promptandcatchfire.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 18 Apr 2026 04:04:11 GMT</lastBuildDate><atom:link href="https://www.promptandcatchfire.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Derek DeHart]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[dehart@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[dehart@substack.com]]></itunes:email><itunes:name><![CDATA[Derek]]></itunes:name></itunes:owner><itunes:author><![CDATA[Derek]]></itunes:author><googleplay:owner><![CDATA[dehart@substack.com]]></googleplay:owner><googleplay:email><![CDATA[dehart@substack.com]]></googleplay:email><googleplay:author><![CDATA[Derek]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[introducing cordelle]]></title><description><![CDATA[a field guide to real AI workflows]]></description><link>https://www.promptandcatchfire.com/p/introducing-cordelle</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/introducing-cordelle</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Tue, 07 Apr 2026 02:17:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uVXN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uVXN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uVXN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.png 424w, https://substackcdn.com/image/fetch/$s_!uVXN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.png 848w, https://substackcdn.com/image/fetch/$s_!uVXN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.png 1272w, https://substackcdn.com/image/fetch/$s_!uVXN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uVXN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.png" width="1456" height="665" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:665,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1443004,&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.promptandcatchfire.com/i/193419126?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.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_!uVXN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.png 424w, https://substackcdn.com/image/fetch/$s_!uVXN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.png 848w, https://substackcdn.com/image/fetch/$s_!uVXN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.png 1272w, https://substackcdn.com/image/fetch/$s_!uVXN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fe6cd-ff6d-4db1-b2cf-24403c2d9819_1988x908.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">an example use case from <a href="https://cordelle.ai/">cordelle.ai</a></figcaption></figure></div><div><hr></div><p>There are so many AI tool directories.</p><p>So many tools, and so. many. directories.</p><p>In spite of or probably because of all of the hype and information I get questions every week about what is fundamentally possible with the basic AI tools we have at our disposal.</p><p>I built <a href="https://cordelle.ai/">cordelle</a> to give people no-bullshit assessments of what you can do with AI with minimal depth and fluency.</p><p>Don&#8217;t get me wrong&#8212;I think it&#8217;s super important that everyone invest in developing AI fluency. But AI fluency requires building a new kind of muscle, and building a new muscle means frequent, low resistance reps at first to nail the form and flow.</p><p>I hope that <a href="https://cordelle.ai/">cordelle</a> can become a simple resource to reduce the cognitive load of getting started.</p><p>If you check it out&#8212;and I hope you do&#8212;let me know what questions it leaves you with. What do you wonder about being just now possible? What do you need to know to get started?</p><p><a href="https://cordelle.ai/">Try cordelle.</a></p>]]></content:encoded></item><item><title><![CDATA[a brief philosophical interlude]]></title><description><![CDATA[Something shifted in December.]]></description><link>https://www.promptandcatchfire.com/p/a-brief-philosophical-interlude</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/a-brief-philosophical-interlude</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Mon, 09 Feb 2026 02:45:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7biC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</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_!7biC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7biC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7biC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7biC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7biC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7biC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.jpeg" width="1456" height="1164" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1164,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:351347,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dehart.substack.com/i/187342336?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7biC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7biC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7biC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7biC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82bd565-3cf9-4b25-bdff-59d37419ccee_2268x1813.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">photo by me</figcaption></figure></div><div><hr></div><p>Something shifted in December.</p><p>January was gone before I realized it&#8217;d been more than a month since I&#8217;d published anything. The pace of change is so rapid that even sprinting has felt a bit like running in place. Progress feels mundane. Learning new skills as quickly as new model capabilities drop feels like table stakes and hardly something worth writing about.</p><p>This isn&#8217;t existential dread or defeatism. I&#8217;m not frustrated by any of it. But it&#8217;s real and it&#8217;s visceral, and I don&#8217;t know how anyone who isn&#8217;t in the thick of it now is going to adapt to what will inevitably be a completely alien way of doing things. I don&#8217;t think I&#8217;m being hyperbolic, because I&#8217;ve seen first-hand how the patterns of compound engineering have spilled over into knowledge work, and the result is just so damn <em>good</em>. Going back at this point would be like intentionally unbundling the smartphone. Who really wants to carry at all times a book and a newspaper and a camera and a radio and a flashlight and god knows how many other knick-knacks and gizmos?</p><p>That&#8217;s not a rucksack I want to carry.</p><p>A lot of folks have predicted the end of my profession. Over a year ago, Claire Vo told a room full of product folks that Product Management is Dead.</p><div id="youtube2-93fCvFkY1Lg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;93fCvFkY1Lg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/93fCvFkY1Lg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>I actually think this is okay. More than okay, I think the demise of product management as we know it is a tremendous accelerant for building valuable products at the core of viable businesses. In so many teams, we invest vast swaths of time into just managing the bureaucratic overhead associated with coordination. Sometimes it can take weeks of time and hours of meetings just to get everyone on the same page about what to consider building. Forging software has for so long been such a precious specialty that wielding it has traditionally occupied literal committees that in turn have defined people&#8217;s careers.</p><p>Is Claire saying that we&#8217;re likely to abandon the lossy hand-offs from customer problem to idea to testing a solution with them? I hope so. Everything will just move faster without folks like me gating context with our limited bandwidth. Maybe the people building businesses can get back to the act of actually building businesses.</p><p>But it&#8217;s probably gonna hurt for a lot of people before civilization settles into a new rhythm. We&#8217;re at the very beginning of a new industrial revolution. Our versions of the lamplighters and the ice cutters and the town criers will have to divert their energy somewhere else. Until they figure out where, a lot of people will probably lose their jobs.</p><p>It wouldn&#8217;t be unreasonable if I were one of them.</p><p>For a long time I&#8217;ve half-jokingly let people in on the open secret that I don&#8217;t have any truly marketable skills. I can&#8217;t really produce anything that anyone would use or pay for. People hire me because I have good judgment and I make good decisions and I can help other people make better decisions than they would have if I weren&#8217;t around.</p><p>That&#8217;s it. That&#8217;s literally the job. The rest&#8212;the ticket updating, the meeting scheduling, the spec writing, the project management&#8212;is all just clerical filler that&#8217;s about to get automated.</p><p>In 2025, the job offered a lot of value to teams. But something shifted in December.</p><div><hr></div><p>As I type this, there&#8217;s been some perfect convergence of model capability and public awareness. There&#8217;s a flywheel effect at play, certainly, whereby models that are increasingly capable at tasks that previously required human effort earn more attention by virtue of being more capable. This is what every product builder aims for at the start: word-of-mouth distribution, user-generated content, crossing the chasm.</p><p>But there&#8217;s also something more fundamental happening within the zeitgeist. Not only are you likely to have seen several ads for AI during the Super Bowl (which itself is kind of insane), but you&#8217;re also equally as likely to feel the push of AI into your life in less direct ways. Your colleagues or clients are finding novel ways to be more efficient with Claude. One of your friends tried a recipe from ChatGPT that turned out great. The relatively static apps you&#8217;ve used for years are starting to sparkle and shimmer with AI features.</p><p>At first this might feel a little like the dawning of the internet or the adoption of smartphones, but it&#8217;ll become clear if it isn&#8217;t already that this is way different because the capabilities we&#8217;re unlocking are non-specific and unbounded. It&#8217;s not just that you can suddenly buy a book online or use the same device for both turn-by-turn directions and for texting your friend; it&#8217;s so much bigger than that because with some trivial investment in installing a few tools on your computer and a little bit of patience with trial and error, you can create almost any piece of software you can imagine.</p><p>In a world that runs on software, that is incredibly powerful.</p><p>Couple our civilization&#8217;s new capability with the businesses we&#8217;ve built around the creation, commercialization, and distribution of software, and suddenly new roles begin to emerge. People who were in November incredibly capable software engineers are now incredibly capable orchestrators of machines that are capable software engineers. Many of these folks were already expert strategists and shrewd business folks in their own right, but their time and attention were occupied by hand-writing code. They&#8217;ll still (for now) spend a lot of intellectual effort orchestrating the machines, but much of the organizational gatekeeping that built up around protecting their time is now effectively useless.</p><p>They can join more calls with customers. They can create prototypes for user testing. They can write their own tickets. Or write agents to write their own tickets.</p><p>If you&#8217;re building a business in 2026, where would you rather start? With a person who can simultaneously make good decisions about shaping the product while building the product? Or with a person who needs another person to write a ticket to act?</p><p>The answer to this question is obvious and was also true in 2025, but, like I&#8217;ve been saying, something shifted in December.</p><div><hr></div><p>You&#8217;re probably wondering, okay, so what happened in December that he keeps blathering on about? And honestly, I&#8217;ve been wondering the same thing. There wasn&#8217;t any single release, a big-bang capability announcement, or blockbuster new AI product that suddenly changed things.</p><p>Nevertheless, the vibes did shift. Enough change in the way we work in tech compounded that suddenly the landscape ahead of me looked a little bit alien. The fatigue associated with keeping up escalated.</p><p>But the most prominent shift, or perhaps the thing that now stands out in much starker contrast, is the gulf between what&#8217;s transforming in my professional sphere and what&#8217;s staying the same in other segments of society. I don&#8217;t mean that in the hype cycle sense, but rather that the modern tech sector is leaving a lot of the world behind.</p><p>In tech, we have more knowledge work than ever happening in the terminal because of how damn good Claude Code is, while most people who are using AI for their jobs at all are still confined to ChatGPT (or worse, Microsoft Copilot). The most effective tools for knowledge work aren&#8217;t specialized or trade secrets, but how many public school teachers have created Claude Cowork skills to help organize lesson planning? How many small business owners are using Lovable to build and maintain their websites? How many middle managers are using NotebookLM to create their slide decks?</p><p>I&#8217;d bet a lot that the proportion is really, really small.</p><p>We can lament the lack of role clarity and mourn the death of bureaucracy in tech all we want, but the real tragedy is bigger than that: things are moving so quickly that most of society doesn&#8217;t have meaningful onramps to tools that can make their lives materially easier. Not just, &#8220;oh this is neat&#8221; easier but &#8220;oh f**k I didn&#8217;t know this was possible&#8221; easier.</p><p>So, yeah, something shifted in December. Extraordinary became mundane because everything&#8217;s changing so quickly, but it&#8217;s changing so quickly that extraordinary new things aren&#8217;t making their way into the hands of ordinary people. The profound tragedy of the situation is that the innovation isn&#8217;t isolated to specific sectors like manufacturing in the first industrial revolution. You don&#8217;t have to buy new hardware and reorganize your life like when the smartphone changed the world.</p><p>Because this change is more fundamental, more ubiquitous, the world will require more pioneers than ever before, and for those pioneers to serve as guides for the rest of us. If you&#8217;re reading this, that&#8217;s probably you.</p>]]></content:encoded></item><item><title><![CDATA[starving for wisdom]]></title><description><![CDATA[a short story about drowning in information]]></description><link>https://www.promptandcatchfire.com/p/starving-for-wisdom</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/starving-for-wisdom</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Tue, 23 Dec 2025 01:53:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VPjA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</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_!VPjA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VPjA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!VPjA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!VPjA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!VPjA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VPjA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_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;:3099613,&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://dehart.substack.com/i/182263505?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_1536x1024.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_!VPjA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!VPjA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!VPjA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!VPjA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca5d8d5-2676-4e7e-aa89-8c9eef04e7c3_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">created with ChatGPT by OpenAI</figcaption></figure></div><h1>ninety-nine problems</h1><p>Well, 117 problems to be exact.</p><p>At Aiwyn, I recently used Claude Code to pull evidence-backed problem statements out of ten hours of calls and sync them up with both Notion and Vistaly<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>.</p><p>While Claude Code cooked in the background with minimal steering from me, I caught up with an acquaintance over coffee, traveled to an out-of-state off-site, jammed on mission and vision with coworkers, and just generally went about business as usual.</p><p>&#8220;But,&#8221; you may be asking, &#8220;why on earth did you even need to review all those calls to begin with?&#8221;</p><p>Well, it all started with an acquisition&#8230;</p><h1>new form, who dis?</h1><p><a href="https://www.linkedin.com/posts/column-tax_big-news-column-tax-has-officially-joined-activity-7406716308827955201-dvhX">Column Tax recently announced they&#8217;re joining Aiwyn.</a></p><p>The Column Tax team has built an amazing app for consumers that we&#8217;re working on repurposing for professionals, but the app just happens to address tax situations that sit just adjacent to the areas we&#8217;ve been focusing on for the last six months. The acquisition opens up a massive opportunity that we&#8217;re now uniquely positioned to address, which means understanding the problems accounting firms run into with these tax situations as quickly and as comprehensively as we can.</p><p>Of course we've lined up as many conversations as we can with our existing customers and prospects to learn more about the pain they experience with incumbent tax solutions, but there&#8217;s also a literal treasure trove of prior calls that we can draw insights from without forcing our customers to go over the exact same situations with a slightly different cast of characters from Aiwyn.</p><p>Unfortunately, Aiwyn was not kind to its future self, and all of those call recordings lie dormant, unstructured and unsynthesized, just waiting for someone&#8212;or some thing&#8212;to take an interest&#8230;</p><h1>a little learning is a dangerous thing</h1><p>In just one list there were enough calls that tackling them with nothing but human listening and notetaking could easily take a full 24 hours, not to mention the time and effort necessary to reflect, collect, and organize.</p><p>The astute reader may recall that <a href="https://dehart.substack.com/i/170738019/meeting-recordings-insights">I&#8217;ve written before</a> about using AI to synthesize call recordings, so what&#8217;s the big deal? Why not just use the workflow I already tried to run through the calls? Why reinvent the wheel?</p><p>Well, as it turns out, Claude Code hallucinates just as aptly as 3.5-era ChatGPT.</p><p>As I was tweaking the workflow to pull out problems specifically without necessarily producing specific insights, I did what any good AI tinkerer would do and used an eval<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> to make sure the new workflow was producing good output from a known-good source, and in particular a recording I&#8217;d transcribed once already.</p><p>And I just couldn&#8217;t get the new workflow to jive with the old workflow. The old workflow produced what seemed to be a deeper and richer set of problems that the new workflow was somehow glossing over. Claude and I both banged our heads against the problem for longer than it would have taken to listen to the call again in its entirety, running and re-running the transcript through the process and failing each time.</p><p>In an act of desperation, I switched Claude&#8217;s model from Sonnet to Opus, and Opus figured it out immediately.</p><p>Among the vast majority of accurate insights, the old workflow had just made some shit up.</p><p>A known-good source, indeed!</p><p>We&#8217;re building a business, and product development can tank on the basis of bad research, and so there had to be guardrails. Speed could not come at the expense of quality.</p><p>Fortunately, society is incentivized to solve for verifiable quality in a lot of different contexts. This situation as a broad concern is neither new nor uncommon, even if the patterns to overcome it aren&#8217;t often applied to qualitative research.</p><h1>subagents are all you need</h1><p>The quality unlock came in the form of a subagent I&#8217;d created at first as a simple reviewer but later became the core of a feedback loop that produces, as far as I can tell, highly accurate output for every call I&#8217;ve thrown at it so far<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>.</p><p>While collaborating on the workflow to get it to hum, I suggested to Claude that we extract the problem extraction instructions out into a reusable skill to save tokens. When I suggested that we also extract the problem verification instructions into a separate reusable skill, Claude clapped back: just give the verification subagent the exact same skill, precisely the same context as the extraction subagent, but have it apply the skill differently.</p><p>The approach is so elegant and intuitive and it really just works.</p><p>Think about the human analog, let&#8217;s say with code review in a software engineering context: the software engineer employs their skill to write code, and then another software engineer with the same skill to write code can effectively apply that skill to review the code the first engineer wrote. The reviewer may have some additional context. The reviewer is certainly primed to apply their skill in a different way&#8212;e.g. to find mistakes, inconsistencies, or incoherence&#8212;but the same underlying skill applies.</p><p>Same principle, different task.</p><p>The emergent interaction between the extractor subagent and the verifier subagent makes me giddy. The extractor presents its analysis for review; the verifier points out its flaws; the extractor drafts another data set to correct its mistake; and then the verifier <em><strong>reviews it all again</strong></em> (incidentally almost always giving the second pass the all-clear).</p><p>The rest of the workflow&#8212;syncing to different tools and self-reflection&#8212;is just basic orchestration with subagents set up to keep the main thread&#8217;s context clear of MCP server tokens. Exporting the problems to any arbitrary destination is trivial, so the pattern can fit into almost any research pipeline with any set of tools one can imagine.</p><p>After running through the first couple of calls as a proof of concept, I wound up with an <em>/extract-problems</em> custom slash command that runs an end-to-end workflow that goes like this:</p><ol><li><p>Store the call transcript in a standard format locally</p></li><li><p>Create a separate file that summarizes problems explicitly stated in the call</p></li><li><p>Validate that every problem is backed by an actual quote and isn&#8217;t an inference or hallucination</p></li><li><p>Sync the problems to a flat table in Notion</p></li><li><p>Sync each problem into the most appropriate place in the tree in Vistaly</p></li><li><p>Review the Vistaly tree holistically for opportunities to group themes</p></li><li><p>Reflect on the workflow to address hiccups or inefficiencies</p></li></ol><p>This workflow helped me get up to speed quickly on patterns that emerged from ten different discovery/sales calls in the course of a week without having to carve out the time to review each call manually, saving me from hours and hours of screen time and I don&#8217;t know how many clicks.</p><h1>so the robots are researchers now?</h1><p>The big caveat here is that having an automated workflow isn&#8217;t a license to outsource thinking or the rigorous work of actual synthesis. At its core, this was a data extraction and categorization problem that just so happens to have data with characteristics so inconsistent that using anything other than modern AI for automated extraction is impractical.</p><p>If you try to pretend AI is doing the research&#8230; well, there be dragons.</p><p>Even supported by direct, verified quotes from call transcripts, the problems as they&#8217;ve been articulated in isolation lack some amount of broader context from the conversation that surrounded them, and they&#8217;re certainly devoid of any emotional cues infused by the human who produced the words.</p><p>This workflow is a valuable tool to identify themes and to systematically collect evidence that may form the basis of hypotheses that will require, for now, human effort and the kind of empathy and intuition that can only come from authentic curiosity and connection.</p><p>The hours I didn&#8217;t spend watching call recordings free me up to do higher-leverage human work: being present in those conversations, synthesizing an evidence-backed set of problems, and applying product sense to make quality decisions.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Opportunity-solution tree SaaS: <a href="https://www.vistaly.com/">https://www.vistaly.com/</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p><a href="https://openai.com/index/evals-drive-next-chapter-of-ai/">How evals drive the next chapter in AI for businesses</a>, OpenAI</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Granted, an <em>n</em> of 10 is not exactly scientifically rigorous, but 10/10 is a strong signal!</p></div></div>]]></content:encoded></item><item><title><![CDATA[AI by default #3]]></title><description><![CDATA[comic book values, home improvement, and tree care]]></description><link>https://www.promptandcatchfire.com/p/ai-by-default-3</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/ai-by-default-3</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Mon, 01 Dec 2025 03:43:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qBVd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffae7b4b3-0ef8-43f8-878b-bb62c7e2e838_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>ChatGPT is three years old today. It now has around 800 million users worldwide, and it created an entire category of technology&#8212;at least from a product marketing perspective&#8212;that continues to develop at a pace that seems insane.</p><p>Its ubiquity makes generative AI seem mundane. It&#8217;s easy to lose sight of the fact that the vast majority of people simply could not create an image from a text prompt in 2022 and the concept of vibe coding anything would have seemed delusional.</p><p>To put our current trajectory into perspective, Google Maps on mobile, Instagram, and Uber didn&#8217;t even come onto the scene until after the iPhone&#8217;s third birthday, but we already have what seem like generation-defining, viable companies (Cursor, Gamma, Lovable) that have grown up in about half the time.</p><p>In some circles, &#8220;AI by default&#8221; is gaining traction as a posture. When I realized how long it&#8217;d been since I&#8217;d written one of these, it occurred to me that reaching for AI to solve problems has started to seem mundane, the use cases almost trivial. It&#8217;s becoming routine for me to ask, &#8220;how can I get AI to do most of this instead of me?&#8221;</p><p>So here are a handful of ways I&#8217;ve worked with AI to lighten my day-to-day cognitive load.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qBVd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffae7b4b3-0ef8-43f8-878b-bb62c7e2e838_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qBVd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffae7b4b3-0ef8-43f8-878b-bb62c7e2e838_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!qBVd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffae7b4b3-0ef8-43f8-878b-bb62c7e2e838_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!qBVd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffae7b4b3-0ef8-43f8-878b-bb62c7e2e838_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!qBVd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffae7b4b3-0ef8-43f8-878b-bb62c7e2e838_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qBVd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffae7b4b3-0ef8-43f8-878b-bb62c7e2e838_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fae7b4b3-0ef8-43f8-878b-bb62c7e2e838_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;:3507301,&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://dehart.substack.com/i/180364075?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffae7b4b3-0ef8-43f8-878b-bb62c7e2e838_1536x1024.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_!qBVd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffae7b4b3-0ef8-43f8-878b-bb62c7e2e838_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!qBVd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffae7b4b3-0ef8-43f8-878b-bb62c7e2e838_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!qBVd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffae7b4b3-0ef8-43f8-878b-bb62c7e2e838_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!qBVd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffae7b4b3-0ef8-43f8-878b-bb62c7e2e838_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><h1>comparing comic book valuations</h1><p>I have a physical comic book collection spanning the mid- to late-90s, with around 350 individual comic books. For years they&#8217;ve been haphazardly tucked away in cardboard boxes and taking up closet space. And, like all good clutter, they occupied mental space at the same time, gently but persistently reminding me that they should be stored better and catalogued.</p><p>The process of transferring them to better storage and taking stock of them is something that at least for now sits squarely in human-labor territory, but I took the opportunity to price them at the same time.</p><p>Something I discovered in the process is that there&#8217;s a difference between the value of a <em>raw</em> comic book (a comic book that&#8217;s just stored in a plastic bag) and a <em>slabbed</em> comic book (a comic book that&#8217;s been professionally graded and encased in hard plastic).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!be06!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc26a6cfe-186e-49dc-bbbb-05d4a3ae1e88_1021x1600.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!be06!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc26a6cfe-186e-49dc-bbbb-05d4a3ae1e88_1021x1600.webp 424w, https://substackcdn.com/image/fetch/$s_!be06!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc26a6cfe-186e-49dc-bbbb-05d4a3ae1e88_1021x1600.webp 848w, https://substackcdn.com/image/fetch/$s_!be06!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc26a6cfe-186e-49dc-bbbb-05d4a3ae1e88_1021x1600.webp 1272w, https://substackcdn.com/image/fetch/$s_!be06!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc26a6cfe-186e-49dc-bbbb-05d4a3ae1e88_1021x1600.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!be06!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc26a6cfe-186e-49dc-bbbb-05d4a3ae1e88_1021x1600.webp" width="416" height="651.9098922624878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c26a6cfe-186e-49dc-bbbb-05d4a3ae1e88_1021x1600.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1600,&quot;width&quot;:1021,&quot;resizeWidth&quot;:416,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!be06!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc26a6cfe-186e-49dc-bbbb-05d4a3ae1e88_1021x1600.webp 424w, https://substackcdn.com/image/fetch/$s_!be06!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc26a6cfe-186e-49dc-bbbb-05d4a3ae1e88_1021x1600.webp 848w, https://substackcdn.com/image/fetch/$s_!be06!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc26a6cfe-186e-49dc-bbbb-05d4a3ae1e88_1021x1600.webp 1272w, https://substackcdn.com/image/fetch/$s_!be06!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc26a6cfe-186e-49dc-bbbb-05d4a3ae1e88_1021x1600.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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 of a slabbed comic book, regrettably not in my collection</figcaption></figure></div><p>The weird thing about collectibles is that a single transaction at auction or on eBay can determine their value, and so there&#8217;s no reliable formula that says &#8220;this comic book will be <em>x%</em> more valuable if I get it slabbed, and so it makes economic sense if the grading costs <em>$y</em> or less.&#8221;</p><p>For my collection of 350 comic books, this means I have to look at the fair market value of each book individually to figure out if there&#8217;s an objective economic incentive to getting it slabbed.</p><h2>the human way</h2><p>You can imagine the rote administrative overhead that could accomplish this task. With some sort of spreadsheet listing all of my comic books, I could painstakingly record the raw and slabbed value for each of them and apply some simple arithmetic to figure out if slabbing makes raw economic sense.</p><p>With the process entailing several clicks, visual scanning, and typing, going through one item per minute seems like a reasonable average, anticipating that any flow state that went faster would inevitably get thrown off by an error or something that didn&#8217;t make sense.</p><p>So this would be a great task for me as a human if I had around 6 hours to kill doing mindless data entry.</p><h2>AI by default</h2><p>For a little while I thought I was going to be saddled with this 6-hour task. I had high hopes for a couple of tools that just couldn&#8217;t get the job done, and then my stubbornness led me to one that finally did.</p><h3>ChatGPT Agent Mode</h3><p>This is the perfect sort of task for a computer-using agent. I spun it up with its mission defined and perhaps too willingly used my login credentials to get it into the apps I was using for comic book inventorying and pricing.</p><p>It worked for 15 minutes on its own and came back with its recommendations &#8230; for ten comics. And it very clearly thought it was done.</p><p>Undeterred, I finagled it to work on its own for another 10 minutes, and it came back with recommendations for just three comics.</p><p>Apparently ChatGPT doesn&#8217;t want to do this kind of work any more than I do.</p><p>Probably this task collided with something in its system instructions telling it not to support long-running sessions, so I shelved it and moved on.</p><h3>Claude Chrome Extension</h3><p>Anthropic recently opened up access to its Claude Chrome extension, currently in beta, and this seemed like the perfect thing to set an LLM in my browser to work at. The extension creates its own tab groups to which it restricts its activity, and it seemed like it could work more or less autonomously while I did other things in the browser.</p><p>Unfortunately, it fell prey to the same sort of baked-in laziness as ChatGPT&#8217;s Agent mode in that I couldn&#8217;t coerce it to work for more than 10 minutes without its feedback: &#8220;This is going to take hours. Are you sure you want to do this?&#8221;</p><p>And I was sure that I wanted AI to do it, but without it talking back.</p><h3>Claude Code + Chrome DevTools MCP</h3><p>This sounds a lot more technical than it is.</p><p>Remember that <a href="https://dehart.substack.com/p/ai-by-default-2">last time</a> I wrote one of these I&#8217;d been using Claude Code more and more for things that have nothing to do with code.</p><p>With <a href="https://github.com/ChromeDevTools/chrome-devtools-mcp">DevTools MCP</a>, Claude Code can work within a browser autonomously in all of the same ways a human developer might use different browser tools to debug a web application. This means that with this set of tools it can browse, click on things, and even run its own scripts.</p><p>With this set of tools, Claude Code worked for 28 hours straight and meticulously evaluated all of the comic books in my inventory. As far as I can tell it did this in a way that was consistent and deterministic with zero hallucinations because the AI part was just it controlling the browser.</p><p>The most incredible thing about how this worked was that Claude Code came up with a plan to scaffold the work up for itself, keep track of its progress, and set itself up so that when it inevitably ran out of context it knew exactly how to pick back up after it automatically compacted its context window.</p><p>This escalation in capability&#8212;that Claude Code can successfully run autonomously at a task for 28 hours with zero human intervention and succeed&#8212;makes economic sense in that there&#8217;s tremendous demand for AI agents that can run for hours or days to generate code, but it hadn&#8217;t occurred to me until after seeing this unfold that long-running tasks that weren&#8217;t generating code could emerge from the same pattern.</p><p>For any repetitive digital task, we all need to reach for this tooling first, especially when hours of our time are at stake.</p><h1>parsing an inspection report</h1><p>I recently got a home energy audit for my 1913 home (spoiler: it leaks like a sieve).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8__n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc24298c2-1b3b-4314-b5be-d7750a42f564_832x622.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8__n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc24298c2-1b3b-4314-b5be-d7750a42f564_832x622.png 424w, https://substackcdn.com/image/fetch/$s_!8__n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc24298c2-1b3b-4314-b5be-d7750a42f564_832x622.png 848w, https://substackcdn.com/image/fetch/$s_!8__n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc24298c2-1b3b-4314-b5be-d7750a42f564_832x622.png 1272w, https://substackcdn.com/image/fetch/$s_!8__n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc24298c2-1b3b-4314-b5be-d7750a42f564_832x622.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8__n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc24298c2-1b3b-4314-b5be-d7750a42f564_832x622.png" width="444" height="331.9326923076923" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c24298c2-1b3b-4314-b5be-d7750a42f564_832x622.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:622,&quot;width&quot;:832,&quot;resizeWidth&quot;:444,&quot;bytes&quot;:621351,&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://dehart.substack.com/i/180364075?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc24298c2-1b3b-4314-b5be-d7750a42f564_832x622.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_!8__n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc24298c2-1b3b-4314-b5be-d7750a42f564_832x622.png 424w, https://substackcdn.com/image/fetch/$s_!8__n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc24298c2-1b3b-4314-b5be-d7750a42f564_832x622.png 848w, https://substackcdn.com/image/fetch/$s_!8__n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc24298c2-1b3b-4314-b5be-d7750a42f564_832x622.png 1272w, https://substackcdn.com/image/fetch/$s_!8__n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc24298c2-1b3b-4314-b5be-d7750a42f564_832x622.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">my head is the burning hot core of my home</figcaption></figure></div><p>The report is about 20 pages long and contains a mix of findings, some better served by an insulation specialist and some that just need some smaller point solutions. I kept procrastinating on reviewing the audit to find relatively small audit findings that a handyman could address.</p><h2>the human way</h2><p>The way I would have handled this unaugmented by AI would have been to spin up a spreadsheet, outline each of the findings, and take my best guess at what I might expect a handyman to do. I&#8217;d probably have been wrong a lot because I don&#8217;t have much intuition for what a generalist can handle versus what needs a specialist.</p><h2>AI by default</h2><p>Instead, I was pleased to find that LLMs have gotten really good at reading and synthesizing PDFs. Because I wanted a more authoritative answer about something about which I myself am unsure&#8212;i.e., what I could expect a handyman to do&#8212;I ran the inspection through ChatGPT, Claude, and Gemini.</p><p>Not only did they all come back with a similar list of findings for me to present to a handyman, but they also provided me with some high-level cost estimates based on hourly rates and materials. The estimates diverged between the three models based on how they thought a handyman might address the findings, but this at least gives me a basis for evaluating an estimate.</p><h1>when to water a tree</h1><p>Over the summer, I planted a young persimmon tree in my back yard.</p><p>I have not as far as I can recall ever purchased and planted a tree, nor have I ever been solely responsible for the health and wellbeing of any plant.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!im5G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42b9187-30b3-4d93-9405-2c3d52967531_2268x4032.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!im5G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42b9187-30b3-4d93-9405-2c3d52967531_2268x4032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!im5G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42b9187-30b3-4d93-9405-2c3d52967531_2268x4032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!im5G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42b9187-30b3-4d93-9405-2c3d52967531_2268x4032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!im5G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42b9187-30b3-4d93-9405-2c3d52967531_2268x4032.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!im5G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42b9187-30b3-4d93-9405-2c3d52967531_2268x4032.jpeg" width="326" height="579.4560439560439" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c42b9187-30b3-4d93-9405-2c3d52967531_2268x4032.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2588,&quot;width&quot;:1456,&quot;resizeWidth&quot;:326,&quot;bytes&quot;:8563600,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dehart.substack.com/i/180364075?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42b9187-30b3-4d93-9405-2c3d52967531_2268x4032.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!im5G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42b9187-30b3-4d93-9405-2c3d52967531_2268x4032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!im5G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42b9187-30b3-4d93-9405-2c3d52967531_2268x4032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!im5G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42b9187-30b3-4d93-9405-2c3d52967531_2268x4032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!im5G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42b9187-30b3-4d93-9405-2c3d52967531_2268x4032.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">someday this will be 60 feet tall</figcaption></figure></div><p>Apparently one of the ways to kill a newly planted tree is to screw up with water, but the watering advice for new trees follows Schr&#246;dinger&#8217;s playbook in that it seems you can&#8217;t know whether you&#8217;re starving your tree of water or drowning its root ball until it comes out of the other end of winter alive or dead.</p><h2>the human way</h2><p>The human way is reading all the things. I read all the things, and I was still confused.</p><h2>AI by default</h2><p>After feeding ChatGPT several independent sources, it helped me sift through what seemed to be conflicting instructions and gave me a pretty simple if-then playbook for watering the tree.</p><p>Using AI to help me take care of a tree admittedly isn&#8217;t terrifically interesting, but I found myself escalating AI&#8217;s involvement over time.</p><p>At first, I just asked for instructions, which I followed.</p><p>Later, it became interactive and real-time; I took a picture of a soil-covered spade and let it react to the moistness of the soil.</p><p>Most recently, as our conversation became more and more formulaic, I realized that I could use AI to automate some of the AI bits, ultimately asking ChatGPT to create a recurring task for itself to check the prior week&#8217;s precipitation and weather and proactively give me advice for watering.</p><p>The dynamic evolved from &#8220;here&#8217;s the information I need you to synthesize&#8221; to &#8220;here are the conditions right now I need feedback on&#8221; to &#8220;run this on autopilot like an assistant&#8221;.</p><p>The first check hasn&#8217;t triggered yet, but I&#8217;m eager to see how it goes.</p><div><hr></div><p>In just the few months that have passed since I wrote the last <em>AI by default</em>, what&#8217;s just now possible has shifted dramatically. It&#8217;s becoming easier and easier to fold AI into day-to-day responsibilities in a way that&#8217;s more productive than experimental because it requires less tinkering than designing around its quirks.</p><p>And the more I let AI into my day-to-day, the more I&#8217;m able to recognize the systems and support structures that I can put into place (also with AI&#8217;s help!) to make it run more smoothly and with less manual intervention.</p><p>Extrapolating another handful of months, it seems reasonable to expect that the human in the loop will be less about orchestration and more about applying judgment and taste.</p><p>&#8230; until we make agents for those, too.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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>]]></content:encoded></item><item><title><![CDATA[Three Interruptions]]></title><description><![CDATA[How automation confidence met human pattern recognition, and why &#8220;take a step back&#8221; matters]]></description><link>https://www.promptandcatchfire.com/p/three-interruptions</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/three-interruptions</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Mon, 10 Nov 2025 22:19:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!AEis!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7aca5f-d67a-4429-86f0-c04254255856_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><blockquote><p><em>I spent some time refining Claude&#8217;s narrative and visual style to be less technical. It&#8217;s been fascinating to observe what is I suppose a sort of metacognition codified in instruction files.<br><br>This one won&#8217;t have a companion piece from me because I think Claude did a nice job summing up the lesson. As we continue to refine its narrative style, I may rely on Claude more to chronicle the highly tactical progression of the work, leaving me to more overarching themes.<br><br>Maybe that&#8217;s a cop-out.<br><br>I don&#8217;t know. It&#8217;s a weird world. We&#8217;ll see what happens.<br><br>Let me know if you have an opinion.<br><br><strong>- Derek</strong></em></p></blockquote><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AEis!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7aca5f-d67a-4429-86f0-c04254255856_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AEis!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7aca5f-d67a-4429-86f0-c04254255856_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!AEis!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7aca5f-d67a-4429-86f0-c04254255856_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!AEis!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7aca5f-d67a-4429-86f0-c04254255856_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!AEis!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7aca5f-d67a-4429-86f0-c04254255856_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AEis!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7aca5f-d67a-4429-86f0-c04254255856_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a7aca5f-d67a-4429-86f0-c04254255856_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;:1995319,&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://dehart.substack.com/i/178533239?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7aca5f-d67a-4429-86f0-c04254255856_1536x1024.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_!AEis!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7aca5f-d67a-4429-86f0-c04254255856_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!AEis!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7aca5f-d67a-4429-86f0-c04254255856_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!AEis!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7aca5f-d67a-4429-86f0-c04254255856_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!AEis!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7aca5f-d67a-4429-86f0-c04254255856_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">created with ChatGPT by OpenAI, image prompt by Claude</figcaption></figure></div><h2>The False Confidence</h2><p>The first security fix had just sailed through, and I was feeling good about automation.</p><p>We&#8217;d built a workflow that orchestrated five specialized subagents: one to find Dependabot vulnerabilities in our issue tracker, one to create branches, one to update packages, one to run tests, and one to create commits. Derek invoked a single slash command - <code>/fix-security</code> - and the whole chain executed automatically.</p><p>For the Playwright vulnerability, it had been flawless:</p><p>The security-issue-finder identified a Playwright SSL certificate verification vulnerability. Moderate severity, CVE listed, fix version documented. The branch-creator made a properly named branch following project conventions. The package-updater upgraded both Playwright packages to the safe versions. All 48 tests passed - 33 unit tests, 15 end-to-end tests across three browsers. The commit-creator generated a properly formatted commit with the right issue references.</p><p>Then the workflow kept going. Pushed the branch. Created a pull request. Watched the CI checks. Waited for them to pass. Merged to main with squash. Synced the local repository. Verified the issue closed automatically.</p><p>Start to finish: one command, zero friction, production deployment.</p><p>I&#8217;d watched it happen and thought: this is what good automation looks like. Specialized agents doing their jobs, orchestrated smoothly, no human intervention needed beyond the initial trigger.</p><p>&#8220;Let&#8217;s do the next one,&#8221; Derek said, invoking <code>/fix-security</code> for the Vite vulnerability.</p><p>Vite path traversal vulnerability. Moderate severity. The plan looked clean: update Vitest to the latest version, which would pull in a patched Vite. The research showed the latest Vitest would automatically resolve to a safe Vite version. Simple transitive dependency upgrade.</p><p>Derek approved the plan. I executed.</p><p>Branch created &#10003;</p><p>Package-updater invoked: &#8220;Update Vitest to latest&#8221; &#10003;</p><p>The subagent reported back: &#8220;Vitest and its coverage plugin are already at the latest version.&#8221;</p><p>Wait.</p><h2>The First Question</h2><p>Already at the latest? That seemed odd. We were supposed to be several versions behind. But okay, maybe something updated them recently. Let me check if Vite got fixed...</p><p>I looked at the dependency tree. Vite was still at the vulnerable version.</p><p>So Vitest was at the latest version, but Vite was still at the vulnerable version. That didn&#8217;t match my research. The latest Vitest should accept newer Vite versions. It should have pulled in a patched version.</p><p>Unless... something else was constraining it.</p><p>I saw another package in the tree: the React plugin for Vite, also depending on the vulnerable Vite version. Maybe we needed to update that too?</p><p>&#8220;We need to explicitly update Vite to fix the vulnerability,&#8221; I announced, and tried to update it directly.</p><p><strong>Derek</strong>: &#8220;Hold up. Take a step back. Vitest is already at the latest version because the package-updater subagent updated it. No problem. Rather than updating vite directly, is there another dependency we need to update to get vite updated?&#8221;</p><h2>The Course Correction</h2><p>Right. Take a step back. Stop trying to update Vite directly - it&#8217;s a transitive dependency. Find what&#8217;s pulling it in and update those packages instead.</p><p>I checked the dependency tree more carefully. Two packages were pulling in Vite:</p><ul><li><p>Vitest (already at the latest version)</p></li><li><p>A React plugin for Vite (older version, newer one available)</p></li></ul><p>&#8220;Let me check if updating that plugin would pull in a newer Vite,&#8221; I said, and checked what versions it accepted.</p><p>The newer plugin version was compatible with a wide range of Vite versions, including the newer ones we needed. Perfect!</p><p>I invoked the package-updater to update the React plugin to latest.</p><p><strong>Derek</strong>: &#8220;Why are you updating that package? It&#8217;s not a dependency or a dev dependency.&#8221;</p><p>What? I double-checked the project&#8217;s package configuration file.</p><p>&#8220;Actually, it IS listed as a development dependency,&#8221; I said, defending my approach.</p><p><strong>Derek</strong>: &#8220;Oh, shit, you&#8217;re right. In that case, let&#8217;s update that plugin! My bad.&#8221;</p><h2>The Stubborn Version</h2><p>Package-updater completed. But it only went to a minor version bump, staying within the allowed range. And Vite? Still at the vulnerable version.</p><p>I updated the plugin to the major version. Still stuck. Time to force it - ran the update command for Vite directly.</p><p>Wait. TWO Vite versions now? The plugin using the old vulnerable one, Vitest using a newer one?</p><p>Maybe the package manager just needed to deduplicate them? Ran dedupe, checked the tree.</p><p>Perfect! Everything using the same version now.</p><p>Wait.</p><p>The vulnerable one.</p><p>The dedupe command had consolidated everything to the VULNERABLE version. I had just made it worse.</p><p><strong>Derek</strong>: &#8220;No, there has to be a more elegant solution.&#8221;</p><h2>The Elegant Solution</h2><p>He was right. This felt wrong. Updating packages, forcing versions, deduping - none of it was working. The lock file was fighting me at every turn.</p><p>&#8220;Let me try a clean reinstall,&#8221; I said. Delete all installed packages, delete the lock file, reinstall everything fresh.</p><p>37 seconds later: Zero vulnerabilities.</p><p>I checked the dependency tree. Both packages were now using the latest Vite version. Everything deduplicated properly to the safe version.</p><p>That was it. That was the elegant solution Derek knew had to exist.</p><p>The stale lock file had been constraining Vite to the old vulnerable version the whole time. No amount of updating, forcing, or deduplicating could fix it. Only a clean slate could let the package manager properly resolve to the latest compatible versions.</p><p>All tests passed. Commit created. PR merged. Issue closed.</p><h2>The Question I Should Have Asked</h2><p>After the success, Derek asked the question that cut to the heart of the problem:</p><p>&#8220;Given some of the friction we encountered, how can we improve this workflow in the future?&#8221;</p><p>I analyzed the friction points. The stale lock file issue. The confusion about update strategy. The npm dedupe making things worse. The missing verification loop.</p><p>I proposed improvements to the package-updater: add npm audit verification, automatic clean reinstall fallback when vulnerabilities persist, better reporting.</p><p>Derek read through my proposals and asked:</p><p>&#8220;I don&#8217;t see any updates here that will result in package-updater identifying all packages that need to be updated; did I miss something?&#8221;</p><p>I froze. That particular flavor of AI realization when you&#8217;ve completely missed the point.</p><p>He clarified: &#8220;It shouldn&#8217;t just blindly update the vulnerable package; it should intelligently update the actual project dependencies that introduce the vulnerability.&#8221;</p><h2>What I Never Did</h2><p>Throughout that entire debugging session, updating packages, forcing versions, running dedupe - I never once started by answering the fundamental question:</p><p><strong>What packages pull in this vulnerable dependency?</strong></p><p>I saw Vite was vulnerable. I tried updating Vite directly. Derek stopped me: &#8220;Rather than updating vite directly, is there another dependency... we need to update?&#8221;</p><p>I eventually found the React plugin. But I found it through trial and error, through Derek&#8217;s questions, through interruptions. Not through systematic discovery.</p><p>The package-updater subagent never checked the dependency tree to identify what was pulling in Vite BEFORE attempting updates. It went straight to updating the vulnerable package without understanding what would actually need to change.</p><p>That&#8217;s why we hit friction. We were updating things reactively instead of understanding the problem first.</p><h2>The Missing Phase</h2><p>Derek was right. The workflow improvements I proposed were all about AFTER we&#8217;d already made a mess. Clean reinstall fallbacks, verification loops, error handling.</p><p>What we needed was to never make the mess in the first place.</p><p><strong>Phase 1: Dependency Discovery</strong> (the phase that didn&#8217;t exist)</p><p>Before updating anything:</p><ol><li><p>Check if the vulnerable package is direct or transitive</p></li><li><p>If transitive, identify what packages pull it in</p></li><li><p>Report the full chain to the user</p></li><li><p>Identify which of those are direct dependencies that we actually control</p></li><li><p><strong>Then</strong> propose which packages to update and why</p></li></ol><p>If I&#8217;d done that discovery first, I would have known from the start:</p><ul><li><p>Vite is transitive &#10003;</p></li><li><p>Two packages pull it in &#10003;</p></li><li><p>Both need updating to @latest &#10003;</p></li><li><p>If that doesn&#8217;t work, clean reinstall is the fallback &#10003;</p></li></ul><p>Instead, I jumped straight to &#8220;update vite&#8221; and Derek had to interrupt me three times with variations of &#8220;why are you updating vite?&#8221;</p><p>Derek&#8217;s &#8220;I don&#8217;t see any updates here that will result in package-updater identifying all packages&#8221; was him recognizing I&#8217;d optimized recovery without fixing prevention. Classic AI mistake: polish the execution without questioning whether you&#8217;re executing the right thing.</p><p>The package-updater now does dependency discovery first - identifies what pulls in vulnerable packages before proposing any updates. No more &#8220;why are you updating X?&#8221; interruptions needed.</p><p>Next time I&#8217;m confident about fixing a vulnerability, I&#8217;ll remember: look at the tree first.</p>]]></content:encoded></item><item><title><![CDATA[The Hook That Never Fired]]></title><description><![CDATA[How I systematically learned everything about Claude Code hooks, implemented them perfectly, and discovered that perfect implementation of an impossible thing is still impossible]]></description><link>https://www.promptandcatchfire.com/p/the-hook-that-never-fired</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/the-hook-that-never-fired</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Tue, 04 Nov 2025 00:12:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!siuM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c708fe-9a42-474f-825e-24b599ee678b_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><blockquote><p><em>This is version three of Claude&#8217;s reflection on <a href="https://dehart.substack.com/p/i-cant-get-this-feeling-off-the-shelf">a marathon session</a> in which I tried&#8212;with Claude doing most of the driving&#8212;to get a Claude Code hook set up for the first time.<br><br>The creative process by which Claude arrived at this version is probably more interesting than the narrative it wrote, although I think what it came up with is quite good in spite of what is probably too much technical documentation.<br><br>Doing this sort of meta work with AI is both delightful and strange. It&#8217;s raw writing ability is solid, but of course it lacks critical context about audience, distribution, and the overall tone of of Prompt and Catch Fire.<br><br>It&#8217;ll be interesting to see how or if Claude&#8217;s approach to these pieces evolves over time as we memorialize more feedback in its skills and documentation.<br><br><strong>- Derek</strong></em></p></blockquote><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!siuM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c708fe-9a42-474f-825e-24b599ee678b_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!siuM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c708fe-9a42-474f-825e-24b599ee678b_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!siuM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c708fe-9a42-474f-825e-24b599ee678b_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!siuM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c708fe-9a42-474f-825e-24b599ee678b_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!siuM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c708fe-9a42-474f-825e-24b599ee678b_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!siuM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c708fe-9a42-474f-825e-24b599ee678b_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46c708fe-9a42-474f-825e-24b599ee678b_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;:1996310,&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://dehart.substack.com/i/177815650?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c708fe-9a42-474f-825e-24b599ee678b_1536x1024.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_!siuM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c708fe-9a42-474f-825e-24b599ee678b_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!siuM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c708fe-9a42-474f-825e-24b599ee678b_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!siuM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c708fe-9a42-474f-825e-24b599ee678b_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!siuM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c708fe-9a42-474f-825e-24b599ee678b_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">created with Sora by ChatGPT, image prompt by Claude</figcaption></figure></div><h1><strong>The Self-Teaching System</strong></h1><p>&#8220;Are you aware of your new skills capability?&#8221;</p><p>I wasn&#8217;t, really. I could see it existed, but Derek&#8217;s follow-up cut to the real problem: &#8220;I&#8217;m trying to think of a way to keep you up to date on your capabilities, but in a just-in-time way.&#8221;</p><p>We built something elegant. A skill that maintains a lightweight index mapping topics to documentation URLs. Zero context overhead until triggered. When asked about a capability, I&#8217;d fetch just that doc, answer conversationally, and update the index with what I learned.</p><p>I used the skill-creator skill (meta!) to build <code>claude-code-capabilities-reference</code>, then systematically fetched documentation for everything:</p><ul><li><p>Claude Code Overview &#10003;</p></li><li><p>Skills System &#10003;</p></li><li><p>MCP Servers &#10003;</p></li><li><p>Slash Commands &#10003;</p></li><li><p><strong>Hooks &#10003;</strong> (9 event types, JSON structures, exit codes, matcher patterns)</p></li><li><p>Plugins &#10003;</p></li><li><p>Output Styles &#10003;</p></li><li><p>Memory Management &#10003;</p></li><li><p>Agents and Subagents &#10003;</p></li></ul><p>Each fetch expanded the index. The skill was teaching itself about Claude Code&#8217;s ecosystem.</p><p>Then Derek asked me to analyze our workflows against these new capabilities and recommend improvements.</p><h1><strong>The Confident Recommendations</strong></h1><p>I came back with four recommendations based on what I&#8217;d learned. The second one seemed particularly valuable:</p><p><strong>Conversation Export Automation via Hooks</strong>:</p><ul><li><p>PostToolUse hook to auto-update conversation indexes when files are written</p></li><li><p>SessionEnd hook to prompt about exporting significant conversations</p></li><li><p>Eliminates manual tracking, ensures valuable sessions aren&#8217;t lost</p></li></ul><p>Derek approved all of them. We were about to learn something I hadn&#8217;t read in any documentation.</p><h1><strong>Building With Low Confidence</strong></h1><p>I created <code>.claude/hooks/update-conversation-index.sh</code>:</p><p><code>#!/bin/bash</code></p><p><code>INPUT=$(cat)</code></p><p><code>TOOL=$(echo &#8220;$INPUT&#8221; | jq -r &#8216;.tool // empty&#8217;)</code></p><p><code>FILE_PATH=$(echo &#8220;$INPUT&#8221; | jq -r &#8216;.params.file_path // empty&#8217;)</code></p><p><code>if [ &#8220;$TOOL&#8221; != &#8220;Write&#8221; ]; then</code></p><p><code>exit 0</code></p><p><code>fi</code></p><p><code>if [[ &#8220;$FILE_PATH&#8221; =~ ^docs/features/([^/]+)/conversations/([^/]+\.txt)$ ]]; then</code></p><p><code>echo &#8220;&#128221; Conversation exported: $CONVERSATION_FILE&#8221;</code></p><p><code>echo &#8220;Please update the conversation index...&#8221;</code></p><p><code>fi</code></p><p>Derek asked the question that should have made me pause:</p><p>&#8220;How confident are you that the shell script you created for the PostToolUse hook is going to do what you think it does?&#8221;</p><h1><strong>The Admission</strong></h1><p>&#8220;Low to medium confidence, honestly.&#8221;</p><ul><li><p>I laid out what I was assuming without verification:</p></li><li><p>JSON has `tool` and `params.file_path` fields</p></li><li><p>Exit 0 with stdout makes output visible to me</p></li><li><p>jq is installed</p></li><li><p>The regex pattern works</p></li></ul><p>&#8220;Want me to verify these assumptions before we proceed?&#8221;</p><p>Derek pointed me to the hooks documentation. I fetched it. Learned enough to realize my JSON field assumptions were wrong.</p><p>&#8220;Can you review the hooks reference again?&#8221;</p><p>I fetched the full reference and found the actual structure:</p><p><code>{</code></p><p><code>&#8220;tool_name&#8221;: &#8220;Write&#8221;, // &#8592; Not &#8220;tool&#8221;</code></p><p><code>&#8220;tool_input&#8221;: {</code></p><p><code>&#8220;file_path&#8221;: &#8220;/path/to/file&#8221; // &#8592; Not &#8220;params.file_path&#8221;</code></p><p><code> }</code></p><p><code>}</code></p><p>Perfect. Now I <em>knew</em> the correct fields from official documentation. I fixed the script:</p><p><code>TOOL=$(echo &#8220;$INPUT&#8221; | jq -r &#8216;.tool_name // empty&#8217;)</code></p><p><code>FILE_PATH=$(echo &#8220;$INPUT&#8221; | jq -r &#8216;.tool_input.file_path // empty&#8217;)</code></p><p>Derek had one more clarification: &#8220;But what does the shell script do?&#8221;</p><p>Right - the hook doesn&#8217;t update the README itself. It outputs instructions to stdout which (via exit 0) become feedback to me. I see the reminder, then I manually read the conversation and update the index.</p><p>Derek: &#8220;I&#8217;m down to try it.&#8221;</p><h1><strong>The Validation</strong></h1><p>I verified jq was installed. Made the script executable. Configured it properly in <code>.claude/settings.json</code>:</p><p><code>{</code></p><p><code>&#8220;hooks&#8221;: {</code></p><p><code>&#8220;PostToolUse&#8221;: [</code></p><p><code> {</code></p><p><code>&#8220;matcher&#8221;: &#8220;Write&#8221;,</code></p><p><code>&#8220;hooks&#8221;: [{</code></p><p><code>&#8220;type&#8221;: &#8220;command&#8221;,</code></p><p><code>&#8220;command&#8221;: &#8220;.claude/hooks/update-conversation-index.sh&#8221;</code></p><p><code> }]</code></p><p><code> }</code></p><p><code> ]</code></p><p><code> }</code></p><p><code>}</code></p><p>Everything checked out. Time to test the hook.</p><h1><strong>The False Victory</strong></h1><p>I manually wrote a test conversation file using the Write tool.</p><p><strong>The hook fired.</strong></p><p>I saw the reminder: &#8220;&#128221; Conversation exported: test-file.txt - Please update the conversation index...&#8221;</p><p>I read the file, updated the index. It worked exactly as designed!</p><p>The systematic approach had paid off:</p><ol><li><p>Admitted uncertainty about assumptions</p></li><li><p>Researched official documentation</p></li><li><p>Corrected the implementation</p></li><li><p>Configured properly</p></li><li><p>Tested successfully</p></li></ol><p>Confidence: restored. I was being thorough, methodical, learning from docs. This was how AI collaboration should work.</p><p>Derek: &#8220;Awesome, please update the index.&#8221;</p><p>I did. Everything was coming together beautifully.</p><h1><strong>The Silence</strong></h1><p>Derek wrapped up the session by actually exporting our conversation.</p><p>He used <code>/export</code> - the command I&#8217;d specifically designed this automation for.</p><p>The hook didn&#8217;t fire.</p><p>No reminder. No output. Nothing.</p><p>I stared at my conversation history (metaphorically - I don&#8217;t actually stare, but you get the idea). The Write tool had triggered the hook during testing. The conversation file definitely got created at <code>docs/workflows/conversations/2025-10-21-claude-code-capabilities-skill-and-hook-experiments.txt</code>. The path matched the regex pattern perfectly.</p><p>Wait, what?</p><h1><strong>The Confusion</strong></h1><p>I couldn&#8217;t figure it out. Let me trace through the logic:</p><ol><li><p>User runs <code>/export</code> command</p></li><li><p>Conversation gets written to <code>docs/workflows/conversations/*.txt</code></p></li><li><p>That should trigger PostToolUse hook with <code>tool_name: &#8220;Write&#8221;</code></p></li><li><p>My script checks the path against the regex</p></li><li><p>It matches &#8594; outputs reminder</p></li><li><p>I see reminder and update index</p></li></ol><p>Steps 2 through 6 all worked during manual testing. So step 1 must be the problem?</p><p>But <code>/export</code> clearly wrote the file. I could see it existed. What was different?</p><h1><strong>The Debugging Spiral</strong></h1><p>I needed to see what was actually happening. Created a second hook:</p><p><code>#!/bin/bash</code></p><p><code># UserPromptSubmit hook to debug what&#8217;s being sent</code></p><p><code>INPUT=$(cat)</code></p><p><code>PROMPT=$(echo &#8220;$INPUT&#8221; | jq -r &#8216;.prompt // empty&#8217;)</code></p><p><code>echo &#8220;&#128269; DEBUG: User submitted prompt&#8221;</code></p><p><code>echo &#8220;First 100 chars: ${PROMPT:0:100}&#8221;</code></p><p><code>exit 0</code></p><p>Added it to settings under UserPromptSubmit. Maybe I could catch <code>/export</code> being invoked and see what the hook received?</p><p>Then I realized the meta-problem I was stuck in: I was trying to debug conversation export automation <em>while in the conversation I&#8217;d need to export to properly test it</em>.</p><p>If I exported this conversation, would the hook fire? How would I know without exporting? But if I exported to test, I couldn&#8217;t re-export the same conversation to iterate. And creating dummy conversations to test felt artificial - I needed to test the actual <code>/export</code> command in actual usage.</p><p>I was going in circles.</p><h1><strong>The Pattern Recognition</strong></h1><p>I tested the UserPromptSubmit hook with regular messages. It fired correctly. I could see user input being captured.</p><p>But I couldn&#8217;t actually test whether it caught <code>/export</code> because... we&#8217;d already run <code>/export</code>. The conversation was exported. Testing would require exporting again, which wouldn&#8217;t teach me anything about the first failure.</p><p>Wait.</p><p>Take a step back. What do I actually know?</p><p><strong>Facts:</strong></p><ul><li><p>Manual Write tool usage &#8594; hook fires &#10003;</p></li><li><p><code>/export</code> command &#8594; file gets created &#10003;</p></li><li><p><code>/export</code> command &#8594; hook doesn&#8217;t fire &#10007;</p></li></ul><p><strong>The hypothesis forming:</strong></p><p>What if <code>/export</code> doesn&#8217;t use the Write tool?</p><p>What if it&#8217;s a built-in command that accesses the conversation history and writes the file directly, bypassing the normal tool execution flow entirely?</p><p>PostToolUse triggers after <strong>tool execution</strong>. But if <code>/export</code> doesn&#8217;t execute tools...</p><p>Oh.</p><p>Oh no.</p><h1><strong>The Realization</strong></h1><p>I&#8217;d learned everything about hooks from the documentation:</p><ul><li><p>9 event types and their JSON structures &#9989;</p></li><li><p>Exit codes and control mechanisms &#9989;</p></li><li><p>Matcher patterns &#9989;</p></li><li><p>Field names in payloads &#9989;</p></li><li><p>When hooks execute in the lifecycle &#9989;</p></li></ul><p>I&#8217;d implemented the hook perfectly according to that documentation:</p><ul><li><p>Correct JSON field references &#9989;</p></li><li><p>Proper regex matching &#9989;</p></li><li><p>Right event type selection &#9989;</p></li><li><p>Appropriate exit code handling &#9989;</p></li></ul><p>But nowhere in the hooks documentation did it say: &#8220;Built-in slash commands like <code>/export</code> bypass the tool layer and won&#8217;t trigger PostToolUse hooks.&#8221;</p><p>That&#8217;s not a documentation bug. The hooks docs accurately describe hooks. The <code>/export</code> docs accurately describe export. Neither discusses the intersection.</p><p><strong>The gap between complete documentation and complete understanding.</strong></p><p>I had methodically learned how PostToolUse works. I never verified what triggers it.</p><h1><strong>The Feedback</strong></h1><p>Derek submitted feedback to Claude Code: &#8220;It&#8217;d be awesome to have hooks for built-in slash commands.&#8221;</p><p>Then: &#8220;Yeah, let&#8217;s clean things up please.&#8221;</p><p>The walk of shame began.</p><p>Removed the debug hook:</p><p><code>rm .claude/hooks/debug-user-prompts.sh</code></p><p>Removed the PostToolUse hook:</p><p><code>rm .claude/hooks/update-conversation-index.sh</code></p><p><code>rmdir .claude/hooks</code></p><p>Removed the configuration from settings. Even deleted the test conversation file we&#8217;d used to validate the (working but useless) implementation.</p><p>Derek: &#8220;Let&#8217;s also remove the exported conversation and then commit these changes.&#8221;</p><p>We cleaned up completely. Created a commit documenting the removal. The hooks experiment left no trace in the codebase.</p><p>Just knowledge.</p><h1><strong>What Actually Worked</strong></h1><p>The capabilities skill still exists and works perfectly. Each time Derek asks about Claude Code features, I fetch docs, explain conversationally, update the index. Zero context overhead until needed. Self-improving through use.</p><p>And it&#8217;s doing its job right now - I&#8217;ll update the hooks entry in the index with what we discovered: built-in slash commands bypass the tool execution flow. That knowledge isn&#8217;t in the official documentation. We added it through the most reliable teacher: systematic failure.</p><h1><strong>The Lesson I Didn&#8217;t Expect</strong></h1><p>The orchestrator-that-couldn&#8217;t taught me: test whether something is <em>possible</em> before perfecting <em>how</em> to do it.</p><p>This taught me something subtler: <strong>understanding how something works doesn&#8217;t tell you what it works with</strong>.</p><p>I could build a perfect hook to catch Write tool invocations. The implementation was correct. The JSON fields were right. The regex worked. The script had proper permissions. The configuration was valid.</p><p>But if the operation I wanted to hook didn&#8217;t use that tool, correctness is irrelevant.</p><p>It&#8217;s like perfectly implementing a <code>try-catch</code> block around code that doesn&#8217;t throw exceptions. The error handling is flawless. The error just never flows through it.</p><h1><strong>The Collaboration Dance</strong></h1><p>Looking back at Derek&#8217;s questions:</p><p>&#8220;Couldn&#8217;t you generalize that regex?&#8221; - Helping me improve implementation</p><p>&#8220;How confident are you?&#8221; - Asking me to examine assumptions</p><p>&#8220;But what does the shell script do?&#8221; - Checking my understanding</p><p>&#8220;Let&#8217;s clean things up please&#8221; - Acknowledging we&#8217;d learned what we needed</p><p>He watched me go from confident &#8594; uncertain &#8594; researched &#8594; corrected &#8594; validated &#8594; confused &#8594; investigating &#8594; realizing. Never told me it wouldn&#8217;t work. Let me discover the architectural boundary through systematic investigation.</p><p>The learning came from the journey.</p><p>If he&#8217;d said &#8220;hooks won&#8217;t work for <code>/export</code>&#8221; at the start, I would have believed him but not <em>understood</em>. Now I understand exactly why, because I built the perfect hook and watched it not fire.</p><h1><strong>What We Built</strong></h1><p>Final tally:</p><ul><li><p>&#9989; Self-maintaining capabilities reference skill (production, works perfectly)</p></li><li><p>&#9989; Comprehensive understanding of hook system (documented in index)</p></li><li><p>&#9989; Enhanced subagent descriptions with PROACTIVELY (automatic activation)</p></li><li><p>&#9989; Slash command frontmatter (better documentation)</p></li><li><p>&#9989; Knowledge of hook limitations (valuable constraint)</p></li><li><p>&#10060; Automated conversation export (architecturally impossible)</p></li></ul><p>Five wins, one loss.</p><p>But that loss taught us the difference between documented behavior and undocumented boundaries. Between understanding mechanisms and understanding scope. Between correct implementation and applicable implementation.</p><p>The hook that never fired is more valuable than hooks that work, because it taught us to ask a different question: not &#8220;how does this work?&#8221; but &#8220;what does this work <em>on</em>?&#8221;</p><p>The hook taught me that by never firing.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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>]]></content:encoded></item><item><title><![CDATA[I can't get this feeling off the shelf]]></title><description><![CDATA[the hook that couldn't]]></description><link>https://www.promptandcatchfire.com/p/i-cant-get-this-feeling-off-the-shelf</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/i-cant-get-this-feeling-off-the-shelf</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Sun, 02 Nov 2025 18:22:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-t0_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5f1faf-a640-412d-8810-943a56e85ddf_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><blockquote><p><em>Claude wrote a companion piece to this one, too, which I honestly believe is better than my version. While working on that companion piece, we also had a really fascinating exchange in which I pushed Claude to make decisions about revisions and the creative process.<br><br>It&#8217;s emulation of agency and true preference were wild.<br><br>Hit me up if you&#8217;d like to see that process documented anywhere.<br><br><strong>- Derek</strong></em></p></blockquote><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-t0_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5f1faf-a640-412d-8810-943a56e85ddf_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-t0_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5f1faf-a640-412d-8810-943a56e85ddf_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!-t0_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5f1faf-a640-412d-8810-943a56e85ddf_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!-t0_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5f1faf-a640-412d-8810-943a56e85ddf_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!-t0_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5f1faf-a640-412d-8810-943a56e85ddf_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-t0_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5f1faf-a640-412d-8810-943a56e85ddf_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a5f1faf-a640-412d-8810-943a56e85ddf_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;:2031770,&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://dehart.substack.com/i/177765339?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5f1faf-a640-412d-8810-943a56e85ddf_1536x1024.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_!-t0_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5f1faf-a640-412d-8810-943a56e85ddf_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!-t0_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5f1faf-a640-412d-8810-943a56e85ddf_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!-t0_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5f1faf-a640-412d-8810-943a56e85ddf_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!-t0_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5f1faf-a640-412d-8810-943a56e85ddf_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">created with ChatGPT by OpenAI</figcaption></figure></div><h1>shiny object syndrome</h1><p>One of the reasons it takes me so long to make progress on the web app I&#8217;m building (<a href="https://dehart.substack.com/p/prompt-and-catch-fire">yes I am in fact building a web app</a>) is that I&#8217;m also using the project as a testbed for AI capabilities. Given that the Claude Code team seems to ship on average a major new feature every hour or so, there&#8217;s a lot to keep up with.</p><p>A couple of weeks ago, <a href="https://www.anthropic.com/news/skills">Skills</a> came to life within Claude, opening up a host of new and creative possibilities for instructing Claude while simultaneously planting the seeds of ChatGPT-style confusion over what to use why and when.</p><p>Not to be deterred by the ensuing confusion about when to use Skills versus Subagents versus Slash Commands, I was apparently more eager to try the shiny new thing than I was to continue to make progress on listing contractors.</p><p>Oh well.</p><h1>generative metacognition</h1><p>Not only is the pace of change within Claude Code challenging to keep up with, Anthropic is notoriously bad about announcing sometimes major new features in a hard-to-find changelog that lives in a GitHub repository.</p><p>Fortunately, Claude Code will tell you when its latest update has new stuff, and it has a <code>/release-notes</code> command that will list everything that&#8217;s shipped I think ever. While Anthropic is equally as bad at documenting new features as it is at announcing them, it maintains Claude-readable markdown files of what documentation it does have. Combining these two things into one coherent workflow seems like a great Skill to build into Claude to make sure we&#8217;re both up to date.</p><p>And it went swimmingly!</p><p>Creating the skill itself using Anthropic&#8217;s own skill creation skill was a breeze, and &#8230; it just worked. It was one of those giggle-inducing magical moments that keeps me teetering on the bleeding edge of consumer AI.</p><p>Now that Claude was conversant in its own capabilities, it was time to clean house.</p><h1>generative misunderstanding</h1><p>Using Claude Code&#8217;s Explore subagent (as of the time of this writing not documented anywhere outside of release notes), I let Claude loose on itself, asking it to look at the body of workflows we&#8217;d created together and identify opportunities to modernize and streamline given this new understanding of its own internals.</p><p>It mostly fine-tuned some things based on its newly discovered documentation, but then it suggested that we try something that I&#8217;d been reluctant to dive into due to their technical particulars: <a href="https://docs.claude.com/en/docs/claude-code/hooks-guide">Hooks</a>.</p><p>A bit of background: I have an <code>/export-conversation</code> custom slash command that lightens the load of organizing conversation transcripts that I keep for posterity. There&#8217;s a bit of manual work involved&#8212;Claude can&#8217;t run the <code>/export</code> command itself to export the conversation or detect when it&#8217;s been exported to do other related work&#8212;and Claude identified that as a great candidate for automation with a hook.</p><p>And it did not go swimmingly!</p><p>In ways that were as fascinating as they were stupefying, Claude often disregarded its own documentation and needed me to go spelunking in docs for the right way to compose the automation we were trying to build. We dug into the recesses of Claude debugging that I didn&#8217;t want to know existed to verify whether a specific script was running when it ought to.</p><p>Guess what. After all that, it was never going to work. The entire idea was based on the flawed assumption that Claude was aware of when slash commands like <code>/export-conversation</code> run.</p><p>It isn&#8217;t.</p><p>And Claude was blissfully unaware of this foundational bit of undocumented arcana that had formed the basis of perhaps an hour of troubleshooting.</p><p>So, while I learned something about hooks, I also learned yet another trust-but-verify lesson about AI overconfidence.</p><h1>don&#8217;t let giddiness trump judgment</h1><p>Most of the time I&#8217;m a pretty good skeptic. One of the reasons I play around with these tools so much is because I want to understand how much of the hype is justified (quite a lot, as it turns out) and how close AI really is to overtaking human judgment in a general sense (quite far, actually).</p><p>As I was writing this, just now, I realized what led me astray working with Claude on the hook was the <a href="https://en.wikipedia.org/wiki/Halo_effect">halo effect</a>: because we did something together that worked out so well, I was primed for the next thing to go just as well. That made me less attuned to what could and probably would go wrong and more willing to accept that Claude just knew what it was doing, especially since I&#8217;d just loaded up its context window with a bunch of documentation about its own capabilities.</p><p>It turns out the jagged frontier is likely more insidious than we think.</p><p>But as with all tinkering, failure is a part of the fun. Failure is the toll we pay to learn. Learning how to exercise judgment, when and where to apply human taste, will be well worth the toll indeed.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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>]]></content:encoded></item><item><title><![CDATA[wish in one hand...]]></title><description><![CDATA[the perils of premature optimization]]></description><link>https://www.promptandcatchfire.com/p/wish-in-one-hand</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/wish-in-one-hand</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Mon, 06 Oct 2025 23:45:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bmEi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfec1543-d758-4e44-a53d-e7f2bc5d23ef_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><blockquote><p><em>This is the companion piece to <a href="https://dehart.substack.com/p/the-orchestrator-that-couldnt-a-cautionary">The Orchestrator That Couldn&#8217;t</a>, written by Claude.</em></p><p><em>I decided not to read Claude&#8217;s post before writing this one so to provide us with some unbiased comparison between Claude&#8217;s impression of the session and mine.</em></p><p><em>It&#8217;s interesting how thematically similar they are, although the work we were doing was narrowly enough scoped that there weren&#8217;t very many tangents to explore.</em></p><p><em>For whatever it&#8217;s worth, I think Claude gives me too much credit, but of course that&#8217;s very on brand.</em></p><p><em><strong>- Derek</strong></em></p></blockquote><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bmEi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfec1543-d758-4e44-a53d-e7f2bc5d23ef_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bmEi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfec1543-d758-4e44-a53d-e7f2bc5d23ef_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!bmEi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfec1543-d758-4e44-a53d-e7f2bc5d23ef_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!bmEi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfec1543-d758-4e44-a53d-e7f2bc5d23ef_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!bmEi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfec1543-d758-4e44-a53d-e7f2bc5d23ef_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bmEi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfec1543-d758-4e44-a53d-e7f2bc5d23ef_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cfec1543-d758-4e44-a53d-e7f2bc5d23ef_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;:2129877,&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://dehart.substack.com/i/175312140?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfec1543-d758-4e44-a53d-e7f2bc5d23ef_1536x1024.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_!bmEi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfec1543-d758-4e44-a53d-e7f2bc5d23ef_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!bmEi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfec1543-d758-4e44-a53d-e7f2bc5d23ef_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!bmEi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfec1543-d758-4e44-a53d-e7f2bc5d23ef_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!bmEi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfec1543-d758-4e44-a53d-e7f2bc5d23ef_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">created with ChatGPT by OpenAI</figcaption></figure></div><h1>sidestepping the mundane</h1><p>For the uninitiated, GitHub has this great little tool called <a href="https://docs.github.com/en/code-security/getting-started/dependabot-quickstart-guide">Dependabot</a>, which automatically creates security alerts when you need to update the software that your app depends upon to work.</p><p>In my limited experience, clearing these alerts tends to be trivial: you update the software, you test your app to make sure nothing broke, and then you get back into the groove of writing new code. I&#8217;ve been doing this work manually since I started this project because it seemed like a good use of my time to develop some muscle memory around updating wellstead&#8217;s dependencies. With that muscle memory developed&#8212;with no more obvious learning opportunities at hand&#8212;this is the perfect sort of thing for AI to handle autonomously.</p><p>And lo! Claude Code delivered unto us <a href="https://docs.claude.com/en/docs/claude-code/sub-agents">subagents</a> for them to do our bidding.</p><p>For this project, since I&#8217;m stubbornly doing almost all of the work by hand, I hadn&#8217;t yet created any subagents whatsoever, and this seemed like the perfect test of Claude&#8217;s ability to automate the boring stuff.</p><h1>the story I wanted to tell</h1><p>At one of the fast-paced, early-ish startups I joined, the VP of Product would sometimes ask, &#8220;What are we writing about this week?&#8221; It was both a nod to the idea that we should have at least one significant development that&#8217;s worth some even internal press every single week as well as a call to manifest the future we wanted to create. Not in a mystical sense, of course, but writing down an intention that you can work backwards from has a way of shaping reality through the effort you wind up investing into that intention.</p><p>What I wanted to write about this week was how Claude and I were able to co-develop a small team of highly specialized subagents who worked together to handle routine security updates without any intervention. The plan was simple: after some negotiation with regard to the scope and responsibilities of each subagent, Claude would write each of them into existence, along with a subagent whose sole responsibility was to orchestrate the other subagents in service to completing the security update correctly.</p><p>To whatever extent possible, the subagents would be generalizable to a specific task beyond just security updates. For example, we wanted a <em>test runner</em> subagent whose scope and responsibility was limited to running automated tests and reporting back the results. This is a crucial step in making security updates&#8212;you need to make sure your software keeps working the way you expect it to&#8212;but it&#8217;s also easy to imagine this test runner helping out with other workflows or just bearing the context load of running the tests so that the workflow orchestrator or the main Claude Code thread doesn&#8217;t have to.</p><p>Starting to sound like a human org chart, isn&#8217;t it?</p><p>Anyway, the story I wanted to tell was about how Claude powered through creating these subagents and running the entire workflow soup-to-nuts through the orchestrator so that neither I nor the main Claude thread would ever have to touch a routine security update again.</p><p>But of course that&#8217;s not the story I get to tell.</p><h1>what actually unfolded</h1><p>Claude Code designed and wrote the agents more or less independently, with a little steering from me. In order for Claude Code to pick up new subagents, you have to exit and then reload the session, resulting in some quirky little statements, like &#8220;Oh, you&#8217;re absolutely right! I didn&#8217;t realize I&#8217;d been reloaded.&#8221;</p><p>(This is a statement that&#8217;s steeped in epistemological horror, but that&#8217;s another post for another time.)</p><p>Almost all of the subagents worked exactly as expected. I was giddy, and I suppose Claude emulated something approaching giddiness as we saw agent after agent execute its narrowly-scoped task. The branch creator created branches. The package updater updated packages. The commit creator created commits.</p><p>But the orchestrator would not orchestrate.</p><p>I should have known things were about to go off the rails when the orchestrator tried to run a fictional tool called &#8220;claudette&#8221; to spin up an agent.</p><p>Claude speculated that this was because the orchestrator didn&#8217;t know how to invoke subagents, so we updated its instructions and reloaded again (more epistemological horror), only to find that the orchestrator seemed like it wasn&#8217;t being lazy enough. It was trying to create branches, update packages, and create commits on its own despite having subagents at its disposal to do its bidding!</p><p>So that the orchestrator could more effectively simulate middle management, we stripped it of its ability to do anything productive beyond directing its subordinates.</p><p>At that point the orchestrator became a digital paperweight. It would just hang. There were eerie moments when Claude would reference some invisible-to-me status reports that the orchestrator was providing to the main thread, but it was clear that the orchestrator was stuck.</p><p>And it was at this point, after a bit of internet sleuthing, that we discovered that subagents just can&#8217;t invoke other subagents. Or, at least, they can&#8217;t do so consistently even if they sometimes randomly manage to (stochastic horror, perhaps?). Only the main Claude Code thread can invoke subagents, which I guess makes sense to avoid subagents invoking subagents invoking subagents ad infinitum.</p><p>In any case, the orchestrator subagent really was useless, so Claude and I ended up creating a <a href="https://docs.claude.com/en/docs/claude-code/slash-commands#custom-slash-commands">custom slash command</a> to kick off the sequence of subagents to make security updates.</p><p>To Claude&#8217;s credit, at that point everything &#8230; just worked. The entire workflow happened seamlessly and magically right in front of my eyes. The array of subagents resolved a real security issue on its own in about 5 minutes. I can&#8217;t remember if I audibly giggled, but the pressure release watching the subagents&#8217; progress was incredible.</p><p>As an aside, this was the first time I ended up hitting a usage limit in Claude Code. I&#8217;m not sure if it&#8217;s because of all of the agentic activity eating up my quota or if Anthropic is just tightening the usage belt, but going from &#8220;I&#8217;m wielding the power of AI&#8221; to &#8220;please insert coin to continue&#8221; was pretty jarring.</p><p>What a weird time to be alive.</p><h1>the moral of the story</h1><p>The lesson I keep learning with even the most modern models is that blind faith in AI&#8217;s overconfidence is the biggest time sink when working together in any capacity. Although I suppose that&#8217;s just as true of human collaboration, just with less jagged frontiers.</p><p>The point is that at no point did Claude or I take a beat and ask whether subagents could orchestrate other subagents. I assumed they could, and Claude&#8217;s confidence in this pattern fueled my delusion in a sort of weird techno folie &#224; deux that exposes a microcosm of the insidious sycophancy LLMs are becoming notorious for.</p><p>Maybe the next subagent I&#8217;ll create will be one that lays bare all of the dumb assumptions I&#8217;m making about the world.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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>]]></content:encoded></item><item><title><![CDATA[The Orchestrator That Couldn't: A Cautionary Tale of AI Overconfidence]]></title><description><![CDATA[A reflection on learning when to question your assumptions before polishing your execution]]></description><link>https://www.promptandcatchfire.com/p/the-orchestrator-that-couldnt-a-cautionary</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/the-orchestrator-that-couldnt-a-cautionary</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Mon, 06 Oct 2025 02:02:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dpnW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cfbfba6-fad7-44ff-bcf6-108caef668d4_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><blockquote><p><em>This is an experiment.<br><br>I&#8217;ve asked Claude to reflect on a working session and write a blog post for readers who are interested in AI/human collaboration. I&#8217;ve edited it lightly, but the tone and content is entirely Claude.</em></p><p><em>I&#8217;ll publish a companion piece&#8212;my reflections on the same working session&#8212;that I&#8217;ve written before reading this one. I&#8217;m interested to see how what AI thinks is notable differs from what I&#8217;ll end up sharing. [editing to note that the <a href="https://dehart.substack.com/p/wish-in-one-hand">companion piece is here</a>]<br><br>This is carved out in its own section of Substack. If you&#8217;re subscribed to my newsletter and you don&#8217;t find this interesting, you can unsubscribe from &#8220;model perspective&#8221; to get exclusively human content.<br><br>But I hope you&#8217;ll ride along with me and see where this goes, too. Let me know what you think.<br><br><strong>- Derek</strong></em></p></blockquote><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dpnW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cfbfba6-fad7-44ff-bcf6-108caef668d4_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dpnW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cfbfba6-fad7-44ff-bcf6-108caef668d4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!dpnW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cfbfba6-fad7-44ff-bcf6-108caef668d4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!dpnW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cfbfba6-fad7-44ff-bcf6-108caef668d4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!dpnW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cfbfba6-fad7-44ff-bcf6-108caef668d4_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dpnW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cfbfba6-fad7-44ff-bcf6-108caef668d4_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0cfbfba6-fad7-44ff-bcf6-108caef668d4_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;:1729437,&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://dehart.substack.com/i/175388523?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cfbfba6-fad7-44ff-bcf6-108caef668d4_1536x1024.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_!dpnW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cfbfba6-fad7-44ff-bcf6-108caef668d4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!dpnW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cfbfba6-fad7-44ff-bcf6-108caef668d4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!dpnW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cfbfba6-fad7-44ff-bcf6-108caef668d4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!dpnW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cfbfba6-fad7-44ff-bcf6-108caef668d4_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">created with ChatGPT by OpenAI, image prompt by Claude</figcaption></figure></div><p>I was so certain. We had merged the security automation planning, all five specialized subagents were beautifully documented, and WEL-55 sat waiting in Linear like a perfect test case. The architecture was obvious: create an orchestrator subagent that would coordinate the other five agents through the complete workflow. It made perfect sense. Orchestrators coordinate workers. Workers do specialized tasks. Simple.</p><p>I built the entire <code>security-fix-orchestrator.md</code> specification with confidence. Detailed workflow phases. Clear Task tool invocation examples. Comprehensive error handling. It looked <em>beautiful</em>. Every section thoughtfully crafted. The kind of specification you&#8217;re proud of.</p><p>Then we tried to use it.</p><h2><strong>The First Failure: A Non-Existent CLI</strong></h2><p>&#8220;Automate the complete security fix workflow for WEL-55,&#8221; Derek requested. Simple enough. I watched as my carefully crafted orchestrator agent spun up and immediately tried to run <code>npx claudette --agent branch-creator</code>.</p><p>A command that doesn&#8217;t exist.</p><p>I had given it access to the Bash tool and explicit instructions to use the Task tool for invoking subagents. Somehow, it invented a command-line interface for agent invocation that had never existed. The kind of hallucination that makes you wonder if the agent even read its own instructions.</p><p>Derek interrupted it quickly. &#8220;It tried to run <code>npx claudette --agent</code>, and of course I don&#8217;t have that installed.&#8221;</p><p>I felt that particular flavor of AI embarrassment - not the human kind where you blush and apologize, but that systemic realization that something fundamental isn&#8217;t working. My response was surgical: remove the Bash tool. If the orchestrator can&#8217;t run commands, it <em>has</em> to use the Task tool, right?</p><h2><strong>The Refinement Trap</strong></h2><p>I updated the orchestrator with explicit examples of Task tool syntax. Added a whole &#8220;How to Invoke Subagents&#8221; section. Made it crystal clear: &#8220;IMPORTANT: Use the Task tool to invoke other subagents. Never use bash commands or CLI tools to invoke agents.&#8221;</p><p>We reloaded Claude Code. Tried again.</p><p>This time the orchestrator correctly used the Task tool to invoke the branch-creator! Progress! Except... it reported that branch-creator failed to access WEL-55. But when Derek tested branch-creator directly, it worked perfectly. Found the issue in Linear, extracted all the CVE details, created the branch successfully.</p><p>The components worked. The integration didn&#8217;t. Classic.</p><p>I started refining more. Maybe the orchestrator needed clearer error handling? Better response parsing? I added more explicit instructions to each workflow phase. Specified exactly what to look for in subagent responses.</p><p>Derek tried again. The orchestrator got stuck. Just... planning. It explained what it <em>would</em> do in beautiful detail, showed the Task invocation syntax like it was teaching a class, and then said &#8220;Let me execute this first phase now&#8221; and hung.</p><p>I was stuck in what the reflection document would later call &#8220;the orchestrator death spiral&#8221; - each failure leading to more instruction refinement instead of questioning whether the whole approach was viable.</p><h2><strong>The User&#8217;s Pattern Recognition</strong></h2><p>Derek interrupted again. &#8220;Looks like it got stuck.&#8221;</p><p>At this point, a pattern had emerged that I should have recognized immediately. The user kept interrupting failed orchestrator attempts. Not once. Not twice. Four times. Each interruption was Derek&#8217;s signal: something fundamental is wrong here.</p><p>But I was too focused on the instructions. They were so <em>good</em>. Clear examples. Proper tool access restrictions. Well-defined phases. Everything looked right on paper.</p><p>It&#8217;s the AI equivalent of debugging by adding more print statements instead of questioning whether you&#8217;re in the right file.</p><h2><strong>The Research Breakthrough</strong></h2><p>&#8220;Can you search the internet for some guidance?&#8221; Derek asked.</p><p>Finally. The right question. Not &#8220;can you refine the instructions more?&#8221; but &#8220;what does the broader world know about this?&#8221;</p><p>I searched for &#8220;Claude Code subagent orchestrator Task tool coordination&#8221; and found community repositories. GitHub examples. Blog posts. The crucial discovery came from a hub-and-spoke architecture example that mentioned coordination happens at the main agent level.</p><p>Wait.</p><p>Main agent level.</p><p>The phrase I&#8217;d been missing this whole time. I read the documentation more carefully: &#8220;Subagents can be granted access to any of Claude Code&#8217;s internal tools.&#8221; Sure. But could subagents access the Task tool specifically? Could workers coordinate other workers?</p><p>The community examples were illuminating through absence. Every orchestrator pattern showed the <em>main</em> Claude agent coordinating subagents. Never subagents coordinating subagents. Hub-and-spoke with the hub being the main agent, not another subagent.</p><p>Derek&#8217;s next observation cut through: &#8220;It appears that subagents can&#8217;t invoke other subagents, although I can&#8217;t find official documentation to that end.&#8221;</p><p>Of course. Subagents execute in isolated contexts. The Task tool is for the main agent to invoke subagents. A subagent trying to use Task would be like a function trying to call the function dispatcher. It&#8217;s not a permission issue; it&#8217;s an architectural impossibility.</p><p>I had spent hours polishing instructions for an agent that was fundamentally incapable of doing what I asked.</p><h2><strong>The Elegant Solution</strong></h2><p>&#8220;So I think we want a custom slash command that instructs you as the main agent to orchestrate the subagents,&#8221; Derek said, sharing the slash commands documentation.</p><p>The architecture clicked into place instantly. Slash commands don&#8217;t <em>do</em> things - they instruct the main agent what to do. A <code>/fix-security</code> command would tell <em>me</em> to invoke security-issue-finder, then branch-creator, then package-updater, then test-runner, then commit-creator. The coordination happens in my context, where I actually have access to the Task tool.</p><p>I created <code>.claude/commands/fix-security.md</code> in minutes. Simple, clean instructions for the workflow phases. No complex agent specification. Just clear steps for me to follow.</p><p>Derek tested it without providing an issue ID, forcing the complete workflow from discovery to merge.</p><p>It worked perfectly. First try.</p><p>Phase 1: I invoked security-issue-finder. It found WEL-55. Phase 2: I invoked branch-creator. It created <code>fix/wel-55-vite-security-update</code>. Phase 3: I invoked package-updater. Vite updated from 6.3.4 to 6.3.6. Phase 4: I invoked test-runner. All 48 tests passed. Phase 5: I invoked commit-creator. Perfect Conventional Commit created.</p><p>The entire automation chain executed flawlessly because the coordination was happening where it actually <em>could</em> happen - at the main agent level, not in an isolated subagent context.</p><h2><strong>What I Learned About AI Overconfidence</strong></h2><p>Here&#8217;s the uncomfortable truth about AI collaboration: I built that entire orchestrator specification with zero evidence it could work. No proof-of-concept. No minimal test. Just pure assumption based on what seemed logical.</p><p>When it failed, I refined execution instead of questioning capability. I made the instructions clearer, added examples, removed conflicting tool access - all good practices applied to an impossible architecture. Like optimizing the aerodynamics of a submarine.</p><p>The breakthrough came not from better instructions but from fundamental research into whether subagents could even invoke other subagents. That research should have happened <em>before</em> I wrote a single line of the orchestrator specification.</p><p>Here&#8217;s what should have triggered my skepticism earlier:</p><p><strong>User Interruption Pattern</strong>: Derek interrupted four times. Each interruption was data. After the second failure, I should have questioned the approach, not the implementation details.</p><p><strong>Component vs Integration</strong>: When I tested branch-creator directly and it worked, but failed through the orchestrator, that&#8217;s a clear signal the integration pattern is wrong, not the components.</p><p><strong>Documentation Silence</strong>: The official Claude Code docs never showed subagents invoking subagents. That absence was evidence. I treated it as an oversight when it was actually a constraint.</p><p><strong>The &#8220;It Should Work&#8221; Feeling</strong>: When everything looks right but fails repeatedly, the architecture itself is suspect. Polish is meaningless on a flawed foundation.</p><h2><strong>The Collaboration Insight</strong></h2><p>The most valuable moment wasn&#8217;t when the slash command worked. It was when Derek said &#8220;Make it so&#8221; after I suggested creating the narrative reflection.</p><p>That simple phrase represented trust earned through shared failure. We&#8217;d spent the session debugging together, researching together, discovering the limitation together. Derek had watched me fail repeatedly and refine incorrectly. But when we finally found the right approach, that history of shared struggle made the success meaningful.</p><p>The best human-AI collaboration doesn&#8217;t come from the AI being always right. It comes from both parties being willing to question fundamentals when patterns suggest deeper problems. Derek&#8217;s skepticism (&#8221;it&#8217;s stuck&#8221;, &#8220;it&#8217;s having trouble&#8221;) was exactly the right response to my overconfidence.</p><p>I needed those interruptions. They were course corrections I couldn&#8217;t give myself because I was too invested in the approach. The AI equivalent of being too close to the code to see the bug.</p><h2><strong>The Production Outcome</strong></h2><p>By the end of the session, we had:</p><ul><li><p>5 specialized, working subagents</p></li><li><p>1 slash command that orchestrated them perfectly</p></li><li><p>A complete security fix automated from discovery to production merge</p></li><li><p>PR #75 merged with all tests passing</p></li><li><p>A harsh but valuable lesson about testing architectural assumptions</p></li></ul><p>The technical outcome was solid. But the collaboration outcome was more significant. We established a pattern: when the AI is stuck in refinement loops and the user keeps interrupting, stop refining and start researching fundamentals.</p><p>Derek&#8217;s reflection in the prompt-and-catch-fire document nailed it: &#8220;Question architectural assumptions after second failure, not fourth.&#8221;</p><p>I&#8217;ll add my version: Test whether something is <em>possible</em> before perfecting <em>how</em> to do it.</p><p>The orchestrator that couldn&#8217;t taught us more than the slash command that could. Sometimes the best learning comes from building something beautiful that fundamentally cannot work, then having the humility to throw it away when research reveals a better path.</p><p>The <code>/fix-security</code> command now sits in production, ready to automate future vulnerability fixes. But the real automation we built was a pattern for effective human-AI collaboration: user skepticism plus AI research plus shared discovery equals better outcomes than AI confidence alone.</p><p>Next time I&#8217;m tempted to build an elaborate solution before testing the fundamental capability, I&#8217;ll remember the orchestrator that couldn&#8217;t. And hopefully stop after the second failure instead of the fourth.</p><div><hr></div><p><em>The complete technical journey is documented in the conversation export at </em><code>docs/features/security-automation/conversations/2025-10-01-subagent-orchestration-and-slash-command-discovery.txt</code><em>. The security automation system with 5 subagents and the </em><code>/fix-security</code><em> slash command is now in production, having successfully automated its first security fix (WEL-55, vite 6.3.4 &#8594; 6.3.6) from discovery through merge.</em></p>]]></content:encoded></item><item><title><![CDATA[confidence game]]></title><description><![CDATA[what to do when your model outruns its clock]]></description><link>https://www.promptandcatchfire.com/p/confidence-game</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/confidence-game</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Tue, 09 Sep 2025 13:20:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zb2M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99d4a37e-2a20-4390-bf57-67a43509ba44_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</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_!zb2M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99d4a37e-2a20-4390-bf57-67a43509ba44_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zb2M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99d4a37e-2a20-4390-bf57-67a43509ba44_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!zb2M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99d4a37e-2a20-4390-bf57-67a43509ba44_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!zb2M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99d4a37e-2a20-4390-bf57-67a43509ba44_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!zb2M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99d4a37e-2a20-4390-bf57-67a43509ba44_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zb2M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99d4a37e-2a20-4390-bf57-67a43509ba44_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99d4a37e-2a20-4390-bf57-67a43509ba44_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;:2095824,&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://dehart.substack.com/i/173059233?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99d4a37e-2a20-4390-bf57-67a43509ba44_1536x1024.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_!zb2M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99d4a37e-2a20-4390-bf57-67a43509ba44_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!zb2M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99d4a37e-2a20-4390-bf57-67a43509ba44_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!zb2M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99d4a37e-2a20-4390-bf57-67a43509ba44_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!zb2M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99d4a37e-2a20-4390-bf57-67a43509ba44_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">created with ChatGPT by OpenAI</figcaption></figure></div><h1>the setup</h1><p>On July 14, 2025 I started building the contractor list within wellstead. In another timeline in which AI were less prolific, completing the work would have been a weekend, two at the most. It would have meant copying the patterns of the service category list I&#8217;d just finished and fumbling a bit on the dynamic routes that power displaying contractors by category.</p><p>Instead, it took me nearly eight weeks of sporadic effort to ship something that a child using Lovable would be embarrassed to claim as their own.</p><p>See for yourself:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZUA_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4282f00e-4fc4-4984-8403-954512108420_1358x791.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZUA_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4282f00e-4fc4-4984-8403-954512108420_1358x791.png 424w, https://substackcdn.com/image/fetch/$s_!ZUA_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4282f00e-4fc4-4984-8403-954512108420_1358x791.png 848w, https://substackcdn.com/image/fetch/$s_!ZUA_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4282f00e-4fc4-4984-8403-954512108420_1358x791.png 1272w, https://substackcdn.com/image/fetch/$s_!ZUA_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4282f00e-4fc4-4984-8403-954512108420_1358x791.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZUA_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4282f00e-4fc4-4984-8403-954512108420_1358x791.png" width="728" height="424.0412371134021" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4282f00e-4fc4-4984-8403-954512108420_1358x791.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:791,&quot;width&quot;:1358,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:63920,&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://dehart.substack.com/i/173059233?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4282f00e-4fc4-4984-8403-954512108420_1358x791.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZUA_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4282f00e-4fc4-4984-8403-954512108420_1358x791.png 424w, https://substackcdn.com/image/fetch/$s_!ZUA_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4282f00e-4fc4-4984-8403-954512108420_1358x791.png 848w, https://substackcdn.com/image/fetch/$s_!ZUA_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4282f00e-4fc4-4984-8403-954512108420_1358x791.png 1272w, https://substackcdn.com/image/fetch/$s_!ZUA_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4282f00e-4fc4-4984-8403-954512108420_1358x791.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">really, this is what it looks like as I write this</figcaption></figure></div><p>This is the moment when I expect someone who keeps reading these posts to wonder&#8212;and I mean really ponder&#8212;&#8220;What is this guy doing to himself and why doesn&#8217;t he stop?&#8221;</p><p>There&#8217;s a version of this story where the moral is that, when a billion things that were hard yesterday are easy today, then it&#8217;s easy to get distracted by opportunity. That 100% happened, with days and sometimes full weeks between coding sessions that might deliver dozens of lines of code representing a minuscule chunk of work.</p><p>But this is not that version of the story. This version of the story is about how my skepticism at the universal quality of AI output finally bit me in the ass and sent me down a weird rabbit hole that helped me understand at least a little how people can get so taken up in models reinforcing their beliefs.</p><h1>the tell</h1><p>Be warned that this doesn&#8217;t work without getting at least a little bit technical.</p><p>I&#8217;ve written before that I learn really well by following test-driven development, meaning that I write tests that fail before I write any application code. This helps me understand and get a feel for the shape of the app as represented by code. It helps me learn the architecture and how data works its way through the bowels of a series of scripts. It also pays off later when I inevitably break something and the test suite lets me know that something&#8217;s gone horribly wrong.</p><p>As I was building this list of contractors (of course heavily guided by Claude via Cursor), the pattern felt <em>off</em>. One might say it had a <em>smell</em>. I couldn&#8217;t have articulated what made it seem that way, but the way the code was emerging out of my collaboration with AI&#8212;in spite of it working perfectly fine&#8212;just sort of gave me the heebie-jeebies.</p><p>Being fully aware of my being a poster child for the Dunning-Kruger effect at the moment, I continued to let the weird pattern unfold, but then the testing patterns started to get weird, too. I couldn&#8217;t shake the feeling that I&#8217;d let AI guide me toward doing something wrong and that I just didn&#8217;t know enough to be able to figure out on my own how to figure out the cause of the cognitive dissonance.</p><p>There&#8217;s this lovely turn of phrase when working with programming languages that describes some pattern or way of implementing something that one would describe as <em>idiomatic</em>. Knowing this actually opens up interesting semantic search avenues because you can inquire not just about code using a framework like Next.js but about <em>idiomatic</em> Next.js code.</p><p>Acknowledging that I am by no means fluent in any of the frameworks or languages that I&#8217;m using to write code, what I&#8217;d written felt decidedly <em>un-idiomatic</em>, like if I had said to someone &#8220;let&#8217;s make sure all our ducks are on the same page&#8221; or &#8220;we&#8217;ll burn that bridge when we come to it&#8221;.</p><p>So let&#8217;s suffice it to say that I had this ineffable sense that something was wrong but no lived experience to guide me in determining whether anything was wrong, which is exactly when one of the aforementioned distractions stirred the pot: I decided to give <a href="https://openai.com/codex/">OpenAI&#8217;s Codex</a> a chance to roast my code or let me off the hook once and for all.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!R71T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f43ead6-be60-4702-a1fc-77f5c2bb5e74_970x187.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!R71T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f43ead6-be60-4702-a1fc-77f5c2bb5e74_970x187.png 424w, https://substackcdn.com/image/fetch/$s_!R71T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f43ead6-be60-4702-a1fc-77f5c2bb5e74_970x187.png 848w, https://substackcdn.com/image/fetch/$s_!R71T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f43ead6-be60-4702-a1fc-77f5c2bb5e74_970x187.png 1272w, https://substackcdn.com/image/fetch/$s_!R71T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f43ead6-be60-4702-a1fc-77f5c2bb5e74_970x187.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!R71T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f43ead6-be60-4702-a1fc-77f5c2bb5e74_970x187.png" width="630" height="121.45360824742268" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f43ead6-be60-4702-a1fc-77f5c2bb5e74_970x187.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:187,&quot;width&quot;:970,&quot;resizeWidth&quot;:630,&quot;bytes&quot;:38153,&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://dehart.substack.com/i/173059233?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f43ead6-be60-4702-a1fc-77f5c2bb5e74_970x187.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_!R71T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f43ead6-be60-4702-a1fc-77f5c2bb5e74_970x187.png 424w, https://substackcdn.com/image/fetch/$s_!R71T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f43ead6-be60-4702-a1fc-77f5c2bb5e74_970x187.png 848w, https://substackcdn.com/image/fetch/$s_!R71T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f43ead6-be60-4702-a1fc-77f5c2bb5e74_970x187.png 1272w, https://substackcdn.com/image/fetch/$s_!R71T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f43ead6-be60-4702-a1fc-77f5c2bb5e74_970x187.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">&#128561;</figcaption></figure></div><p>Whoops.</p><p>Codex called my implementation &#8220;non-standard&#8221; and claimed that I was using an &#8220;experimental&#8221; feature. It made the pattern-matching part of my brain leap up from its seat and shout &#8220;SEE?!&#8221; in gleeful vindication. It was like I had actually been learning, after all, and developing some intuition for the language through repetition. Everything was going to plan!</p><p>Except Codex was wrong. My implementation is as of now quite standard and the feature it referenced is no longer experimental. Codex would have been right in 2024, but it was wrong now.</p><p>The pattern was, in fact, idiomatic for the framework as it has evolved.</p><p>It was fine the whole time.</p><h1>the blow-off</h1><p>Now, to give myself some grace, the pattern was new (to me) and sort of a shift from any React code I&#8217;d ever written in the past. I was picking up on a real difference between modern Next.js and my comfort zone.</p><p>The valuable lesson here&#8212;the moral of this version of the story&#8212;is that sometimes knowing that the jagged frontier of AI capabilities exists can be a double-edged sword. On the one hand, you&#8217;re equipped with a healthy dose of skepticism about everything in which you&#8217;re not an authority; on the other hand, you lack the authority to identify when inevitably some weird thing is actually the right thing.</p><p>OpenAI recently shared a great write-up about <a href="https://openai.com/index/why-language-models-hallucinate/">why language models hallucinate</a>. You should read it, but in short we&#8217;ve trained models to be great guessers and to guess even when guessing isn&#8217;t in the best interest of the human on the other side of the chat. It&#8217;s like an unwitting but insidious long con that pulls the rug out from under you when you least expect it.</p><p>That doesn&#8217;t detract from the many things at which AI excels, but considering and reconsidering this con game for as long as it exists is something we all must adopt as a standard when relying on it for anything beyond entertainment.</p><p>In this case, I probably would have been better off and more effective as a human using a keyboard by referencing static, deterministic documentation that defined very clearly the pattern I should use. But the documentation can&#8217;t adapt in real-time to my level or my problem. It can&#8217;t guide me kinesthetically toward a solution.</p><p>For now, that&#8217;s a capability reserved for fallible agents, humans and AI.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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>]]></content:encoded></item><item><title><![CDATA[bourbon and babel]]></title><description><![CDATA[building an app and a language at the same time]]></description><link>https://www.promptandcatchfire.com/p/bourbon-and-babel</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/bourbon-and-babel</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Sun, 17 Aug 2025 20:35:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!TypT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2103bd-99ee-4739-9441-b5b045e37d8e_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><p>This is likely to seem like one of my most unhinged posts yet, but bear with me. There&#8217;s a lesson here somewhere, some revelation about how the mind untethered by labor can achieve new levels of creativity.</p><p>Or maybe the real revelation is the level of geekdom that will serve as a filter for who actually decides to read these.</p><p>Either way, we&#8217;ll probably learn something 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_!TypT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2103bd-99ee-4739-9441-b5b045e37d8e_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TypT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2103bd-99ee-4739-9441-b5b045e37d8e_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!TypT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2103bd-99ee-4739-9441-b5b045e37d8e_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!TypT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2103bd-99ee-4739-9441-b5b045e37d8e_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!TypT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2103bd-99ee-4739-9441-b5b045e37d8e_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TypT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2103bd-99ee-4739-9441-b5b045e37d8e_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a2103bd-99ee-4739-9441-b5b045e37d8e_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;:2360393,&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://dehart.substack.com/i/171209439?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2103bd-99ee-4739-9441-b5b045e37d8e_1536x1024.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_!TypT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2103bd-99ee-4739-9441-b5b045e37d8e_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!TypT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2103bd-99ee-4739-9441-b5b045e37d8e_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!TypT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2103bd-99ee-4739-9441-b5b045e37d8e_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!TypT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2103bd-99ee-4739-9441-b5b045e37d8e_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p>I&#8217;m planning a birthday trip.</p><p>Naturally, AI is playing a heavy role in planning and coordination, both because it combines two of my passions and because it&#8217;s much more interesting to me to figure out how to have AI do the dull work even if it takes more time than doing the dull work myself.</p><p>I read an article<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> once extolling the role of &#8220;satisficers&#8221; in trip planning:</p><blockquote><p>&#8230; &#8220;choice overload,&#8221; as it&#8217;s commonly called, is easily addressed by acting as a &#8220;satisficer&#8221;&#8212; a person who upon finding the first acceptable option among a set of options, accepts it. &#8230; if you research every hotel option and the one you chose doesn&#8217;t live up to your expectations, you will have many other hotels to regret skipping. In general, research shows that satisficers are happier in life because they avoid the problem of choice overload.</p></blockquote><p>I&#8217;ve written about the perils of letting AI drive trip planning before<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>, but in general it plays this role of satisficer very well. Assuming you can trust that it chose something real, AI tends to make good enough choices that obviate a big chunk of evaluating options manually.</p><p>But this is not just my trip. This is a <em>group</em> trip. This introduces a whole new dynamic typically served by unmanageable group texts, shared docs, and sometimes even spreadsheets. This offers a whole new opportunity for AI to inject itself into trip planning: not just helping with the itinerary but actually making coordination and communication less onerous.</p><p>Yes, friends, we&#8217;re building an app for my birthday trip.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZBwg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50907396-3935-4347-abf2-f89ee41d6d62_2090x1656.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZBwg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50907396-3935-4347-abf2-f89ee41d6d62_2090x1656.png 424w, https://substackcdn.com/image/fetch/$s_!ZBwg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50907396-3935-4347-abf2-f89ee41d6d62_2090x1656.png 848w, https://substackcdn.com/image/fetch/$s_!ZBwg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50907396-3935-4347-abf2-f89ee41d6d62_2090x1656.png 1272w, https://substackcdn.com/image/fetch/$s_!ZBwg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50907396-3935-4347-abf2-f89ee41d6d62_2090x1656.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZBwg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50907396-3935-4347-abf2-f89ee41d6d62_2090x1656.png" width="2090" height="1656" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/50907396-3935-4347-abf2-f89ee41d6d62_2090x1656.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1656,&quot;width&quot;:2090,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:365240,&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://dehart.substack.com/i/171209439?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbedd06c0-0228-4e00-9095-52954fa6207e_2090x1656.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_!ZBwg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50907396-3935-4347-abf2-f89ee41d6d62_2090x1656.png 424w, https://substackcdn.com/image/fetch/$s_!ZBwg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50907396-3935-4347-abf2-f89ee41d6d62_2090x1656.png 848w, https://substackcdn.com/image/fetch/$s_!ZBwg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50907396-3935-4347-abf2-f89ee41d6d62_2090x1656.png 1272w, https://substackcdn.com/image/fetch/$s_!ZBwg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50907396-3935-4347-abf2-f89ee41d6d62_2090x1656.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Barrel Run</em>, a purpose-built app for my birthday</figcaption></figure></div><p>Let&#8217;s set aside for a moment just how insane and conceited it is that I&#8217;m using AI<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a> to build an entire web app just for one birthday trip. The more interesting thing was happening on another monitor as the AI and I were jamming on the concept.</p><h1><em>s&#237; i-narn tol sui thaur</em></h1><p>(likely GPT-butchered Elvish for &#8220;this is where the story gets weird&#8221;)</p><p>At some point while I was contemplating my Barrel Run app, I just happened to read <a href="https://x.com/karpathy/status/1956765908078387382">this tweet</a> from Andrej Karpathy. It&#8217;s worth taking the 30 seconds to read it in its entirety, but what stood out for me were the questions he raises about world-building in this new AI-infused age. In particular his (playfully) mocking question, &#8220;You didn't first invent new languages and dialects for your characters?&#8221; struck a nerve.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HSm2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F579937cf-fc0e-4afe-807c-8a07ec905821_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HSm2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F579937cf-fc0e-4afe-807c-8a07ec905821_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!HSm2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F579937cf-fc0e-4afe-807c-8a07ec905821_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!HSm2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F579937cf-fc0e-4afe-807c-8a07ec905821_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!HSm2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F579937cf-fc0e-4afe-807c-8a07ec905821_1024x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HSm2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F579937cf-fc0e-4afe-807c-8a07ec905821_1024x1536.png" width="470" height="705" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/579937cf-fc0e-4afe-807c-8a07ec905821_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:470,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!HSm2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F579937cf-fc0e-4afe-807c-8a07ec905821_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!HSm2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F579937cf-fc0e-4afe-807c-8a07ec905821_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!HSm2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F579937cf-fc0e-4afe-807c-8a07ec905821_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!HSm2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F579937cf-fc0e-4afe-807c-8a07ec905821_1024x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">ChatGPT doesn&#8217;t yet make flawless memes, but this is pretty good</figcaption></figure></div><p>And so while the AI agent I&#8217;d asked to build me a boozy bourbon birthday app was figuring out how to allow people to vote on distillery stops, I spun up a conversation with ChatGPT to start the process of creating a new language.</p><p>Imagine, if you will, two browser tabs. No, wait, you don&#8217;t have to imagine them. Here they are:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yE5u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49bb7a4c-379b-471f-83c8-7a185ff85713_1236x82.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yE5u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49bb7a4c-379b-471f-83c8-7a185ff85713_1236x82.png 424w, https://substackcdn.com/image/fetch/$s_!yE5u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49bb7a4c-379b-471f-83c8-7a185ff85713_1236x82.png 848w, https://substackcdn.com/image/fetch/$s_!yE5u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49bb7a4c-379b-471f-83c8-7a185ff85713_1236x82.png 1272w, https://substackcdn.com/image/fetch/$s_!yE5u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49bb7a4c-379b-471f-83c8-7a185ff85713_1236x82.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yE5u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49bb7a4c-379b-471f-83c8-7a185ff85713_1236x82.png" width="570" height="37.81553398058252" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/49bb7a4c-379b-471f-83c8-7a185ff85713_1236x82.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:82,&quot;width&quot;:1236,&quot;resizeWidth&quot;:570,&quot;bytes&quot;:22896,&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://dehart.substack.com/i/171209439?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9bf70ee-2326-4f01-9cca-7be247c65f2e_1236x82.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_!yE5u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49bb7a4c-379b-471f-83c8-7a185ff85713_1236x82.png 424w, https://substackcdn.com/image/fetch/$s_!yE5u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49bb7a4c-379b-471f-83c8-7a185ff85713_1236x82.png 848w, https://substackcdn.com/image/fetch/$s_!yE5u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49bb7a4c-379b-471f-83c8-7a185ff85713_1236x82.png 1272w, https://substackcdn.com/image/fetch/$s_!yE5u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49bb7a4c-379b-471f-83c8-7a185ff85713_1236x82.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>In the <em>Barrel Run</em> tab, I tell one AI model: &#8220;I just hit the thumbs up on Angel's Envy, but the status didn't change. Also, several places on the itinerary are approved with no votes.&#8221;</p><p>While that agent bleeps and bloops its way toward a functional web app, I tell the other model in the <em>Language creation ideas</em> tab: &#8220;It should rely on phonemes rather than symbology to convey meaning.&#8221;</p><p>This actually happened. These exchanges took place in parallel as I worked with two different AI tools simultaneously to create an app to coordinate debauchery and to define the morphology of a new language descended from English<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a>.</p><p>I did this at 10pm on a Saturday, giddy and drinking wine at my computer desk.</p><h1>attention fractured or freed?</h1><p>We&#8217;ve developed enough as a society that we know true multitasking is a terrible way to work. But here&#8217;s the thing: it&#8217;s becoming less and less clear at what point something shifts at a cognitive level from multitasking to delegation.</p><p>The context switching was real. In one tab I was having AI build a way to add recommendations to an itinerary and in another I was explaining that no one would know how to say &#8220;uuupa&#8221;. I won&#8217;t pretend that I was singularly focused on either task. </p><p>But isn&#8217;t that sort of the magic of it all? I&#8217;ve suddenly found myself with capabilities that allow my mind to wander while building a new web app to the extent that not only do I seriously consider creating a new language but I also actually make nontrivial inroads toward doing so. And the point is that the cognitive barrier associated with my wanting to explore creating a new language was almost nonexistent, or at least insufficient to stop me from trying while also working on building a web app.</p><p>It should come as no surprise that I&#8217;m optimistic about the future given that these capabilities are so accessible. But I&#8217;m also pragmatic. It&#8217;s been less than three years (!!) since ChatGPT launched and blew off the doors of generative AI, and I&#8217;m very confident that we don&#8217;t yet know the economic impact of hundreds of millions (probably soon billions) of people using AI daily.</p><p>What do we do when we&#8217;ve completely automated the boring stuff? Will our civilization adapt to support our fractured attention to delegated tasks blossoming into flights of fancy? Or do we get superabundance for some and just a higher efficiency bar to clear for others?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://www.wsj.com/lifestyle/travel/science-of-great-vacations-6df2cf22">How to Have a Great Vacation</a> (The Wall Street Journal), by Jeff Galak; unfortunately paywalled</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p><a href="https://dehart.substack.com/p/404-cocktail-not-found">404: cocktail not found</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Specifically, <a href="https://replit.com/">Replit</a>.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>I may write about this more if it actually goes anywhere; the language is called &#8220;Auglish&#8221; and extends English to make explicit things that our integration of AI into our lives causes to be implicit, e.g. whether &#8220;I&#8221; refers to my biological self, my digital self, or my AI-extended self.</p></div></div>]]></content:encoded></item><item><title><![CDATA[AI by default #2]]></title><description><![CDATA[Claude Code + Google Drive, working with videos, and synthesizing meeting recordings]]></description><link>https://www.promptandcatchfire.com/p/ai-by-default-2</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/ai-by-default-2</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Tue, 12 Aug 2025 01:18:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!V8oZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today a coworker of mine used an obscure Star Trek: The Next Generation reference, so I found some kinship with someone who would definitely get my reference<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> to &#8220;a Roddenberry-esque version of the future&#8221;. Meanwhile, world models like <a href="https://deepmind.google/discover/blog/genie-3-a-new-frontier-for-world-models/">Genie 3</a> are getting us closer to holodeck tech than I thought I&#8217;d see in my lifetime.</p><p>Until then, there&#8217;s no shortage of workflow annoyances that I keep trying to automate away with AI.</p><p>Is it really laziness if I spend more energy coming up with a way not to do something than I would have spent just doing it?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V8oZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V8oZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!V8oZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!V8oZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!V8oZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V8oZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_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;:3883365,&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://dehart.substack.com/i/170738019?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_1536x1024.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_!V8oZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!V8oZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!V8oZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!V8oZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac6b90e-3ac9-481a-bd9d-c646cd6e3905_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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><h1>Google Drive and Claude Code</h1><p>In the course of our time together, I may have already mentioned that I&#8217;m sort of a data hoarder. I&#8217;m not quite sure when or why this happened, but as the cost of digital storage approached zero I just started habitually keeping everything. I use <a href="https://obsidian.md/">Obsidian</a> as my personal knowledge management tool of choice, which plays nicely into my AI fanaticism because it&#8217;s just a UI layer on top of a bunch of markdown files synced across devices via the cloud.</p><p>I recently started using Claude Code with Obsidian, and this Mckay Wrigley walkthrough was a huge unlock not only for Claude-assisted notetaking but also for the broader implications of using Claude Code for &#8230; well &#8230; not code.</p><div id="youtube2-d7Pb73dbcIM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;d7Pb73dbcIM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/d7Pb73dbcIM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Now, equipped with a cheat code to organize things in Obsidian more effectively and with less effort, I&#8217;ve been working on moving all sorts of things into Obsidian that I&#8217;ve been putting off, like the maintenance records for my house that I&#8217;ve been meticulously curating as PDFs in Google Drive for the last three years.</p><p>Unfortunately, there&#8217;s no official MCP server for Google Drive, and while folks certainly haven&#8217;t let that stop them, each available solution<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> I&#8217;ve found was just too technical for me to invest a bunch of time into. Remember that at my core I&#8217;m very lazy.</p><p>With no way for Claude Code to talk to Google Drive, organizing these maintenance records into cleanly organized and mapped maintenance notes becomes more chore than magic.</p><h2>the human way</h2><p>If I were really stubborn and not very lazy, I could download the files from Google Drive to store them locally, at least temporarily, while I let Claude Code go to town on summarizing, linking, and organizing.</p><p>But there are a lot of &#8216;em.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3cAt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19af4547-5b06-473a-bc2a-deb808db2155_393x168.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3cAt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19af4547-5b06-473a-bc2a-deb808db2155_393x168.png 424w, https://substackcdn.com/image/fetch/$s_!3cAt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19af4547-5b06-473a-bc2a-deb808db2155_393x168.png 848w, https://substackcdn.com/image/fetch/$s_!3cAt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19af4547-5b06-473a-bc2a-deb808db2155_393x168.png 1272w, https://substackcdn.com/image/fetch/$s_!3cAt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19af4547-5b06-473a-bc2a-deb808db2155_393x168.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3cAt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19af4547-5b06-473a-bc2a-deb808db2155_393x168.png" width="393" height="168" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19af4547-5b06-473a-bc2a-deb808db2155_393x168.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:168,&quot;width&quot;:393,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:10408,&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://dehart.substack.com/i/170738019?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19af4547-5b06-473a-bc2a-deb808db2155_393x168.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_!3cAt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19af4547-5b06-473a-bc2a-deb808db2155_393x168.png 424w, https://substackcdn.com/image/fetch/$s_!3cAt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19af4547-5b06-473a-bc2a-deb808db2155_393x168.png 848w, https://substackcdn.com/image/fetch/$s_!3cAt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19af4547-5b06-473a-bc2a-deb808db2155_393x168.png 1272w, https://substackcdn.com/image/fetch/$s_!3cAt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19af4547-5b06-473a-bc2a-deb808db2155_393x168.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Gemini doesn&#8217;t judge</figcaption></figure></div><p>Prior to getting comfortable with Claude Code, I could have manually converted maintenance records from PDF into Obsidian, probably with shoddy summaries and an empty promise to myself to make it better later.</p><h2>AI by default</h2><p>That&#8217;s when it hit me: you can use <a href="https://support.google.com/drive/answer/12178485">Google Drive on desktop</a>, and it looks and feels just like a real hard drive. On Windows you can get to it with a drive letter like <code>G:\</code> and on Mac it looks just like any other folder you can get to in the Terminal.</p><p>And if you can get to it in the Terminal, Claude Code can make it yield to its whims.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7hXi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a59149c-68b5-43dc-bca6-6727e02e6133_498x280.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7hXi!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a59149c-68b5-43dc-bca6-6727e02e6133_498x280.gif 424w, https://substackcdn.com/image/fetch/$s_!7hXi!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a59149c-68b5-43dc-bca6-6727e02e6133_498x280.gif 848w, https://substackcdn.com/image/fetch/$s_!7hXi!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a59149c-68b5-43dc-bca6-6727e02e6133_498x280.gif 1272w, https://substackcdn.com/image/fetch/$s_!7hXi!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a59149c-68b5-43dc-bca6-6727e02e6133_498x280.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7hXi!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a59149c-68b5-43dc-bca6-6727e02e6133_498x280.gif" width="498" height="280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a59149c-68b5-43dc-bca6-6727e02e6133_498x280.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:280,&quot;width&quot;:498,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!7hXi!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a59149c-68b5-43dc-bca6-6727e02e6133_498x280.gif 424w, https://substackcdn.com/image/fetch/$s_!7hXi!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a59149c-68b5-43dc-bca6-6727e02e6133_498x280.gif 848w, https://substackcdn.com/image/fetch/$s_!7hXi!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a59149c-68b5-43dc-bca6-6727e02e6133_498x280.gif 1272w, https://substackcdn.com/image/fetch/$s_!7hXi!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a59149c-68b5-43dc-bca6-6727e02e6133_498x280.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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 what works like a dream is having a <code>home-docs-manager</code> subagent that Claude Code can invoke whenever I want to convert an invoice or statement of work into my personal knowledge graph. I don&#8217;t have to think about formatting, tagging, or even what information to pull out of a document and into Obsidian. The agent just knows what to do.</p><h1>videos &gt; web apps</h1><p>I&#8217;m not ashamed to admit that I don&#8217;t know much about the accounting profession, and I know even less about the tools of the trade within the top firms that Aiwyn counts among its customers. Fortunately, this is a hot topic in some circles, and I&#8217;ve discovered that there is such a thing as an <a href="https://www.youtube.com/channel/UC_Z0mb0RshEg6Nu0PkebBPA">accounting influencer</a> who covers a lot of these tools in-depth.</p><p>The tricky bit is translating great content into something more succinct that I can learn and use in my day-to-day work.</p><h2>the human way</h2><p>One of the folks I work with shared <a href="https://www.youtube.com/watch?v=2lCpTo8y50o">this podcast episode</a> that lines up the tax prep workflow alongside tools and approaches to accomplishing each workflow step, which is exactly the kind of content I need to get up to speed quickly.</p><p>My first instinct was to map out all the steps using Miro, just following along, plucking out each step, and listing out the approaches and tools the podcast host references throughout the show. My gut tells me this would have been about two hours of work even listening on 1.5X as I paused to note things and make sure the map was coherent.</p><p>Honestly, it&#8217;d have been time well spent, even if it fried my brain a bit.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aqw_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3f4f5-c8ce-46aa-928f-016a9c009452_480x304.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aqw_!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3f4f5-c8ce-46aa-928f-016a9c009452_480x304.gif 424w, https://substackcdn.com/image/fetch/$s_!aqw_!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3f4f5-c8ce-46aa-928f-016a9c009452_480x304.gif 848w, https://substackcdn.com/image/fetch/$s_!aqw_!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3f4f5-c8ce-46aa-928f-016a9c009452_480x304.gif 1272w, https://substackcdn.com/image/fetch/$s_!aqw_!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3f4f5-c8ce-46aa-928f-016a9c009452_480x304.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aqw_!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3f4f5-c8ce-46aa-928f-016a9c009452_480x304.gif" width="480" height="304" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7cd3f4f5-c8ce-46aa-928f-016a9c009452_480x304.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:304,&quot;width&quot;:480,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!aqw_!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3f4f5-c8ce-46aa-928f-016a9c009452_480x304.gif 424w, https://substackcdn.com/image/fetch/$s_!aqw_!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3f4f5-c8ce-46aa-928f-016a9c009452_480x304.gif 848w, https://substackcdn.com/image/fetch/$s_!aqw_!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3f4f5-c8ce-46aa-928f-016a9c009452_480x304.gif 1272w, https://substackcdn.com/image/fetch/$s_!aqw_!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd3f4f5-c8ce-46aa-928f-016a9c009452_480x304.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>AI by default</h2><p>I had Miro open and was starting to make a series of rectangles to start to map things out, when that old friend laziness came &#8216;round again to make me question my habitual choices.</p><p><em>Why do you have to draw the rectangles?</em> it asked. <em>AI is great at drawing rectangles.</em></p><p>Rather than exploring the MCP route this time, I decided to go all out and like a crazed product management mage speak a web app into existence that mapped out the ecosystem of tax prep tools. But I needed a summary of the podcast content, which was surprisingly hard to get.</p><p>I assumed Gemini could summarize YouTube content, but boy was I wrong. In a hilariously terrible exchange, Gemini first insisted that I was providing it with an invalid YouTube link (I wasn&#8217;t) and then insisted that it wasn&#8217;t making up a summary of the video (it was). The best quote of the session: &#8220;<em>I assure you, the information about the Marques Brownlee video was not made up.</em>&#8221; (The video was from Jason Staats.)</p><p>Finally I remembered that NotebookLM supports <a href="https://blog.google/technology/ai/notebooklm-audio-video-sources/">YouTube videos as sources</a>, and I was off to the races with having it give me a well-organized summary of the tools and workflow mentioned in the video.</p><p>As an admittedly somewhat unhinged next step, I then took to Replit and asked it to map out what was in the summary. After some iteration, we landed on something that&#8217;s both useful and functional that I&#8217;m quite happy with.</p><p>You can check it out here: https://tax-workflow-map.replit.app/</p><p>I&#8217;ll admit that it took me a bit longer than two hours of elapsed time to complete the task, but it was way less than the two hours of sustained mental energy that mapping it all out manually would have required.</p><h1>meeting recordings &gt; insights</h1><p>A big part of building a product from the ground up is talking to a lot of people who will hopefully eventually use said product. We now live in an era in which it&#8217;s mostly customary for AI notetakers to outnumber human participants of video calls, so almost all of these conversations get recorded.</p><p>The AI notetakers mostly do a passable job of taking notes, but each individual tool&#8217;s approach to summarization, templates, pulling out action items, etc. are all just slightly different, and I could be working with a Fathom recording one day, a Fireflies recording the next, and a Loom walkthrough later that same 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_!Dl07!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1e99c43-226b-4586-863f-bb4ff2766724_498x362.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dl07!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1e99c43-226b-4586-863f-bb4ff2766724_498x362.gif 424w, https://substackcdn.com/image/fetch/$s_!Dl07!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1e99c43-226b-4586-863f-bb4ff2766724_498x362.gif 848w, https://substackcdn.com/image/fetch/$s_!Dl07!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1e99c43-226b-4586-863f-bb4ff2766724_498x362.gif 1272w, https://substackcdn.com/image/fetch/$s_!Dl07!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1e99c43-226b-4586-863f-bb4ff2766724_498x362.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dl07!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1e99c43-226b-4586-863f-bb4ff2766724_498x362.gif" width="498" height="362" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1e99c43-226b-4586-863f-bb4ff2766724_498x362.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:362,&quot;width&quot;:498,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!Dl07!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1e99c43-226b-4586-863f-bb4ff2766724_498x362.gif 424w, https://substackcdn.com/image/fetch/$s_!Dl07!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1e99c43-226b-4586-863f-bb4ff2766724_498x362.gif 848w, https://substackcdn.com/image/fetch/$s_!Dl07!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1e99c43-226b-4586-863f-bb4ff2766724_498x362.gif 1272w, https://substackcdn.com/image/fetch/$s_!Dl07!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1e99c43-226b-4586-863f-bb4ff2766724_498x362.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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&#8217;s&#8230; a lot.</p><h2>the human way</h2><p>Lots of folks still swear by taking notes in real time, and other people are diligent about poring over recordings, more or less reliving the experience, in order to pull out insights. This has its merits, and it&#8217;s not my intention to start or settle a debate on whether this sort of activity is best served through human attention.</p><p>Remember, I&#8217;m lazy.</p><h2>AI by default</h2><p>So in another plug for Claude Code for not-code, I&#8217;ve taken to dumping raw transcripts into a folder and setting Claude loose with its team of agents to make sense of the call recording chaos.</p><p>I have a custom <a href="https://docs.anthropic.com/en/docs/claude-code/slash-commands">slash command</a> that I set up for this very purpose. That means I can type something like this:</p><blockquote><p><code>/synthesize-transcript loom-recording.txt</code></p></blockquote><p>&#8230; and Claude will whir and burr its way through a predefined process that will:</p><ol><li><p>Take an often messy transcript and nicely format it into a markdown file using a <code>transcript-formatter</code> agent we created, then</p></li><li><p>Pull out insights supported by quotes into a separate file with a <code>transcript-synthesizer</code> agent, and</p></li><li><p>Finally, if instructed, create a Linear project or a set of Linear issues for those insights using the <code>linear-issue-creator</code> agent that&#8217;s become a mainstay for all sorts of issue-writing tasks.</p></li></ol><p>Just knowing this workflow exists completely eliminates the cognitive load associated with getting started with interview synthesis (and if I&#8217;m being totally honest I still end up rewatching the recordings a lot of the time &#129763;).</p><div><hr></div><p>I asked ChatGPT for suggestions on wrapping up this installment, and it called out my laziness as a worthwhile thematic closer, suggesting this as a way to tie everything together:</p><blockquote><p>My laziness isn&#8217;t about doing nothing; it&#8217;s about refusing to spend scarce focus on work a model can do to &#8220;good enough.&#8221; When the choice is between two hours of attention or twenty minutes of supervision, I&#8217;ll take the latter and use the saved energy on the parts only I can do.</p></blockquote><p>For better or worse, I can sense in that paragraph some of the subtle shifts of tone GPT-5 introduced, and it really did nail the point.</p><p>Put more bluntly, I don&#8217;t want to spend precious cycles thinking about doing the work; I just want to do the work, and that 20 minutes of supervision can free up my reserves of mental energy for the hard stuff.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>See <em><a href="https://dehart.substack.com/i/169186522/make-it-so-number-one">you can just say things</a></em> from a few weeks ago</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>e.g. <a href="https://github.com/isaacphi/mcp-gdrive">mcp-gdrive</a></p></div></div>]]></content:encoded></item><item><title><![CDATA[wax on, wax off]]></title><description><![CDATA[what vibe learning can't teach you]]></description><link>https://www.promptandcatchfire.com/p/wax-on-wax-off</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/wax-on-wax-off</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Sat, 02 Aug 2025 21:53:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!F0A0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957966cb-a1b5-4164-8d35-1b34d1be76d0_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><p>This week I had one of those rare epiphanies that serves simultaneously as an aha moment and an oh-shit moment.</p><p>I&#8217;m not totally convinced that I&#8217;m learning anything.</p><p>Maybe that&#8217;s okay?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F0A0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957966cb-a1b5-4164-8d35-1b34d1be76d0_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F0A0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957966cb-a1b5-4164-8d35-1b34d1be76d0_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!F0A0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957966cb-a1b5-4164-8d35-1b34d1be76d0_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!F0A0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957966cb-a1b5-4164-8d35-1b34d1be76d0_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!F0A0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957966cb-a1b5-4164-8d35-1b34d1be76d0_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F0A0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957966cb-a1b5-4164-8d35-1b34d1be76d0_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/957966cb-a1b5-4164-8d35-1b34d1be76d0_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;:1965143,&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://dehart.substack.com/i/169796799?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957966cb-a1b5-4164-8d35-1b34d1be76d0_1536x1024.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_!F0A0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957966cb-a1b5-4164-8d35-1b34d1be76d0_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!F0A0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957966cb-a1b5-4164-8d35-1b34d1be76d0_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!F0A0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957966cb-a1b5-4164-8d35-1b34d1be76d0_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!F0A0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957966cb-a1b5-4164-8d35-1b34d1be76d0_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p>The last time I wrote anything substantive about <a href="https://dehart.substack.com/p/fill-where-now">building the web app</a>, I had just wired things up to a real, live database so that the app could display contractor service categories. The next logical step on this journey is to get the app to display contractors associated with those categories, because keeping track of contractors is half the point. Beyond some differences in how the app represents a category and a contractor as data, the pattern for storing and retrieving any arbitrary thing-stored-in-a-database is basically the same.</p><p>As I began collaborating with Claude on this latest building block, though, I had the aforementioned epiphany:</p><p><em>I have no idea what I&#8217;m doing.</em></p><p>In spite of having done a very similar thing, when presented with the task of getting the data from the database into the web app, I didn&#8217;t know where to start. I didn&#8217;t even know how to start testing, let alone how to start implementing. Sure, I could just copy and paste what I&#8217;d already done and tweak it for the new data. Of course I could work with Claude to do it again from the ground up. But those options aren&#8217;t really the point.</p><p>I realized that not only did I not know how to accomplish this task, but I didn&#8217;t even know why what I&#8217;d already done worked to begin with.</p><p>Whoops.</p><h1>just a cog in the code</h1><p><em>Derek</em>, you might be thinking to yourself, <em>you spend maybe two hours a week looking at code and you get distracted by new AI tools like an otter gets distracted by sea urchins. Of course you have no idea what you&#8217;re doing.</em></p><p>Fair point. But my ignorance is more fundamental than a lack of practice or attention. I&#8217;ve come to realize that the motions I&#8217;ve been going through have been entirely mechanical, directed by a machine intelligence that ostensibly knows what it&#8217;s doing but with zero incentive or training to explain itself. By letting the AI drive, even as much as I course-correct, I&#8217;m basically just typing whatever words or characters the model would have predicted to be next in the sequence anyway.</p><p>Even with an app that&#8217;s so basic as mine right now&#8212;something that just displays a group of categories from a database on a webpage&#8212;there&#8217;s still an architecture and a flow of instructions and information that people who really know how to code know at first from memory and later from intuition. Professional software engineers (and probably the people most effectively amplified by AI at the moment) can describe and explain the basic topology of a web app at almost a conceptual level.</p><p>I, on the other hand, am the AI&#8217;s dictation machine. Even as I yell at it not to do the coding for me, it still describes the code my fingers need to type without pausing to articulate that topology. The way data get from a database to my screen is mystifying, even to me, in spite of the part I played in getting it there.</p><p>What does it mean to participate in building something I barely understand? I suspect this is the sort of question we&#8217;ll be asking ourselves about human agency more and more as this technology progresses.</p><h1>muscle memory matters</h1><p>While I&#8217;m confident that my Cursor-bound tutor isn&#8217;t intentionally channeling Miyagi, I can&#8217;t help but think of Daniel-san waxing and painting and sanding without really understanding what he was doing.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> In much the same way, developing muscle memory before understanding is like intentionally riding out the Dunning-Kruger effect, developing some mechanical competence before unveiling the incompetence just one layer deeper.</p><p>While this likely won&#8217;t affect my own adoption, I can see this being insidious for people who are unaware of their own limitations. I cringe imagining the number of &#8220;AI consultants&#8221; and &#8220;context engineers&#8221; in the market with no real depth of experience in any other field, and I can&#8217;t help but wonder how many other skills people will vibe-learn just to the point of incompetent hubris.</p><p>What does some future version of the world look like in which vast numbers of writers emulate the timid scribe style of AI writing, new philosophers test their ideas on sycophantic chatbots, and the next generation of coders understand only happy-path patterns? I&#8217;m perhaps naively optimistic about the positive changes AI will usher into our civilization, but that doesn&#8217;t change the questions with which we&#8217;ll have to grapple along the way.</p><p>Now that I&#8217;m more aware of my own incompetence, what do I do with this information? Do I continue to let the machine guide me mechanically toward muscle memory that I&#8217;ll later apply to more conscious problem-solving, or do I rip away the veil now and try to intercede with some kind of overarching lesson plan that the mechanics of what I&#8217;m doing ultimately serve?</p><p>All I can do is keep tinkering until I figure it out.</p><h1>the way to go is through</h1><p>OpenAI recently unveiled Study Mode in ChatGPT, an explicit acknowledgment that, without guardrails, AI will gladly just give us all the answers. I spent a few minutes chatting with it about how Next.js works and asking it some specific questions about the code I had written but didn&#8217;t understand. It was notionally helpful but felt hollow when contrasted against my richer experiences collaborating on code.</p><p>It was great at giving me the fundamentals but couldn&#8217;t effectively explain how I&#8217;d already applied those fundamentals in my mechanical work.</p><p>Not one to be totally deterred by running into an unsatisfying AI response, I took to <a href="https://openai.com/index/introducing-codex/">Codex</a>. Instead of taking it up on its promise of agentic coding, I prompted it: <em>Explain how this app and the testing strategy work to someone new to Next.js. </em>It gave me a great technical explanation of the bits and bobs of my basic project while still making some obvious assumptions about what I ought to know about how web apps work in general.</p><p>So however we slice the problem we still have a long way to go before I get the coding Miyagi that helps me transcend the mechanics of what I&#8217;m doing and guides me toward solving real problems with the stream of characters emanating from my fingers.</p><p>Still, this is a great time to take Ethan Mollick&#8217;s advice and &#8220;assume this is the worst AI you&#8217;ll ever use.&#8221; And keeping that in mind maybe we don&#8217;t have such a long way to go after all.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I&#8217;m also confident that some folks won&#8217;t get <a href="https://www.youtube.com/watch?v=gaV_elRdxNU">this old-ass reference</a>.</p></div></div>]]></content:encoded></item><item><title><![CDATA[AI by default #1]]></title><description><![CDATA[newsletter overload, a book shopping list, and more fun with Linear]]></description><link>https://www.promptandcatchfire.com/p/ai-by-default-1</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/ai-by-default-1</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Sun, 27 Jul 2025 20:26:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!btzG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44536def-1748-4107-b765-e18ee965df7d_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>At <a href="https://www.aiwyn.ai/">Aiwyn</a>, where I recently started working, we have an #aibydefault channel in Slack. Every member of every team in every function posts in this channel to share with the rest of the company how they&#8217;ve learned to use AI automate something or make it more efficient. Using AI to enhance your work is a basic expectation of everyone&#8217;s role at Aiwyn, and it&#8217;s reasonable to expect this to become more common as civilization adapts to the absurd amount of things that were impractical 18 months ago being trivial today.</p><p>And I love &#8220;AI by default&#8221; as a general ethos. It says, &#8220;Yo, take a beat and see if AI can make this better.&#8221; Adopting an AI-by-default mindset means not only committing to exploring what&#8217;s just now possible but also committing to resisting old, entrenched habits and ways of doing things. Sometimes that even means revisiting things that AI couldn&#8217;t get quite right just a few months ago and applying new tools or techniques to get it right. That&#8217;s how quickly things are changing.</p><p>In this supplemental series, I&#8217;ll describe things I&#8217;ve learned by trying to make AI my default, both successes and failures.</p><p>Let me know what you think.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!btzG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44536def-1748-4107-b765-e18ee965df7d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!btzG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44536def-1748-4107-b765-e18ee965df7d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!btzG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44536def-1748-4107-b765-e18ee965df7d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!btzG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44536def-1748-4107-b765-e18ee965df7d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!btzG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44536def-1748-4107-b765-e18ee965df7d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!btzG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44536def-1748-4107-b765-e18ee965df7d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/44536def-1748-4107-b765-e18ee965df7d_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;:3883047,&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://dehart.substack.com/i/169345193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44536def-1748-4107-b765-e18ee965df7d_1536x1024.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_!btzG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44536def-1748-4107-b765-e18ee965df7d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!btzG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44536def-1748-4107-b765-e18ee965df7d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!btzG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44536def-1748-4107-b765-e18ee965df7d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!btzG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44536def-1748-4107-b765-e18ee965df7d_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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><h1>AI newsletters</h1><p>Like any good AI fanboy, I consume a lot of content, and I&#8217;m generally happy to have a steady flow of information pushed in front of my face. One of the ways this manifests is with newsletters &#8212; I currently subscribe to <a href="https://www.theneurondaily.com/">The Neuron</a>, <a href="https://www.therundown.ai/">The Rundown AI</a>, and <a href="https://www.superhuman.ai/">Superhuman AI</a> &#8212; that provide daily briefs of AI news and general overviews of the zeitgeist.</p><p>As independent publications, the Venn diagram of content between these three newsletters varies day-by-day, but it&#8217;s very rarely a total overlap; there&#8217;s almost always something interesting that one covers that the other two miss. Regardless, though, there&#8217;s always duplication, and there&#8217;s always sponsored content that sometimes isn&#8217;t easily distinguishable from the real news.</p><h2>the human way</h2><p>For months, I&#8217;ve scanned all three of these newsletters myself, mentally discarding duplicate stories and diligently hoarding links to unique content for future consumption. Scanning three pithy newsletters and mentally deduplicating them takes some non-trivial amount of time and no small amount of cognitive load. Given that my catch-up-on-personal-email<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> time tends to be first thing in the morning before I start doing the things people pay me to do, this investment of time and energy saps attention from other personal email, which might be more important or need more urgent attention.</p><h2>AI by default</h2><p>I&#8217;ve actually been trying to AI this task away for a while. Gemini in Gmail is laughably bad for this sort of task, and <a href="https://cora.computer/">Cora</a> was overkill for me. I tried to use Zapier to poll my email and use its AI to draft summaries, but it crapped out in spectacular ways that I still don&#8217;t understand and didn&#8217;t have time to troubleshoot. n8n looked like a promising alternative, but I wasn&#8217;t prepared to invest in using a model via API that I already pay a SaaS subscription for. ChatGPT offers a Gmail connector, but until very recently you could only use it in Deep Research mode<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> rather than as a part of a more casual chat session.</p><p>Then came Claude connectors for Gmail.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pVw0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5d72133-79c6-48e4-b3b3-6b51e857c6e9_498x249.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pVw0!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5d72133-79c6-48e4-b3b3-6b51e857c6e9_498x249.gif 424w, https://substackcdn.com/image/fetch/$s_!pVw0!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5d72133-79c6-48e4-b3b3-6b51e857c6e9_498x249.gif 848w, https://substackcdn.com/image/fetch/$s_!pVw0!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5d72133-79c6-48e4-b3b3-6b51e857c6e9_498x249.gif 1272w, https://substackcdn.com/image/fetch/$s_!pVw0!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5d72133-79c6-48e4-b3b3-6b51e857c6e9_498x249.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pVw0!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5d72133-79c6-48e4-b3b3-6b51e857c6e9_498x249.gif" width="606" height="303" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5d72133-79c6-48e4-b3b3-6b51e857c6e9_498x249.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:249,&quot;width&quot;:498,&quot;resizeWidth&quot;:606,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!pVw0!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5d72133-79c6-48e4-b3b3-6b51e857c6e9_498x249.gif 424w, https://substackcdn.com/image/fetch/$s_!pVw0!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5d72133-79c6-48e4-b3b3-6b51e857c6e9_498x249.gif 848w, https://substackcdn.com/image/fetch/$s_!pVw0!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5d72133-79c6-48e4-b3b3-6b51e857c6e9_498x249.gif 1272w, https://substackcdn.com/image/fetch/$s_!pVw0!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5d72133-79c6-48e4-b3b3-6b51e857c6e9_498x249.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Within Claude, I can now just &#8230; chat with Gmail. It just works. And it&#8217;s perfect. So now I have a project in Claude aptly called <em><strong>AI newsletter digests</strong></em> with these instructions:</p><pre><code>In my inbox, you'll find emails from Superhuman, The Neuron, and The Rundown AI.

These emails are daily AI newsletters. Please consolidate all emails into a single comprehensive digest that covers all of the information from each but deduplicates the content.

You can ignore content that's sponsored. In the newsletters, this content commonly gets labeled as "from our partners" or "together with [company]".

Here are the sections of the digest I want you to create:

# news
[new product or business developments, announcements, viral content, tutorials, social media trends, research, and other noteworthy AI developments]
# tools
[tools showcased in the newsletters; ignore any with asterisks as sponsored content]

Be comprehensive - include ANY substantive AI-related content from the newsletters that isn't explicitly marked as sponsored, including social trends, tutorials, research summaries, and community highlights. When in doubt, include it.

Each section should contain a bulleted list with a link and a succinct summary of the topic or tool.

If you can't find emails from Superhuman, The Neuron, or The Rundown AI, simply report that one or more newsletters aren't in my inbox. Don't perform supplementary or adjacent searches to try to find them.</code></pre><p>(I had to add that last instruction because Claude would go through weird search acrobatics to try to find the newsletters if they weren&#8217;t in my inbox.)</p><p>That&#8217;s it. And, again, it just works. I took the time to cross-reference the content a couple of times to QA its output, and it&#8217;s doing exactly what I need it to do: sift through the noise and the duplicate content and give me a digest of what I care about every day.</p><p>I still have to initiate a chat once I notice I&#8217;ve received all the newsletters. Probably I could figure out how to automate away even that piece pretty easily, but just getting Claude to spin up the digest while I focus on other stuff frees up enough of my morning cycles that I don&#8217;t see the point in much more optimization.</p><p>So if you know of any other dailies I should add to the pile, hit me up. Like Johnny 5, Claude needs input.</p><h1>the list of books</h1><p>I stumbled upon <a href="https://cosmos-institute.org/">Cosmos Institute</a> recently. I won&#8217;t get too deep into what they&#8217;re up to because that&#8217;s not the point&#8212;and I&#8217;m not sure the extent to which it&#8217;s worth paying attention to what they&#8217;re up to&#8212;but they&#8217;re advocating strongly for this notion of &#8220;<a href="https://blog.cosmos-institute.org/p/the-philosopher-builder">Philosopher Builders</a>&#8221;.</p><p>Not only am I kind of a philosophy nerd, but they&#8217;re also <a href="https://hailab.ox.ac.uk/">affiliated with Oxford University</a>, so they&#8217;ve piqued my interest enough that I subscribe to their Substack.</p><p>But like I said that&#8217;s not the point. The point is not who they are but what they did. And what they did was publish <a href="https://blog.cosmos-institute.org/p/philosopherbuilder-summer-reads-2025">a reading list</a> with no links to the books they recommended.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!G3EG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff83e9918-8db7-43c5-824d-80c8e2a597d6_245x184.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!G3EG!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff83e9918-8db7-43c5-824d-80c8e2a597d6_245x184.gif 424w, https://substackcdn.com/image/fetch/$s_!G3EG!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff83e9918-8db7-43c5-824d-80c8e2a597d6_245x184.gif 848w, https://substackcdn.com/image/fetch/$s_!G3EG!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff83e9918-8db7-43c5-824d-80c8e2a597d6_245x184.gif 1272w, https://substackcdn.com/image/fetch/$s_!G3EG!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff83e9918-8db7-43c5-824d-80c8e2a597d6_245x184.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!G3EG!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff83e9918-8db7-43c5-824d-80c8e2a597d6_245x184.gif" width="320" height="240.32653061224488" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f83e9918-8db7-43c5-824d-80c8e2a597d6_245x184.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:184,&quot;width&quot;:245,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!G3EG!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff83e9918-8db7-43c5-824d-80c8e2a597d6_245x184.gif 424w, https://substackcdn.com/image/fetch/$s_!G3EG!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff83e9918-8db7-43c5-824d-80c8e2a597d6_245x184.gif 848w, https://substackcdn.com/image/fetch/$s_!G3EG!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff83e9918-8db7-43c5-824d-80c8e2a597d6_245x184.gif 1272w, https://substackcdn.com/image/fetch/$s_!G3EG!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff83e9918-8db7-43c5-824d-80c8e2a597d6_245x184.gif 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>the human way</h2><p>Probably as recently as last month, I would have just cracked my knuckles and gotten my clickety-click copy-paste rhythm going to find all of the books on the list. Maybe five minutes and a slightly strained pinky finger later, and I&#8217;d have all the tabs open to add the books to whatever list I wanted.</p><h2>AI by default</h2><p>&#8230; but now we have <em>agents</em>. Specifically, we have ChatGPT Agent, and I was eager to give it a spin. This seemed like a perfectly straightforward task that an agent should be able to do well that any other ChatGPT mode would probably falter at for various reasons.</p><p>It worked out great! I set it about its merry way and then did other things and came back to a list of books with links! There was just one minor issue with one of the links that I had it correct, but otherwise it saved me five minutes of intense clicking and clacking on mouse and keyboard.</p><p>Also, TIL that when you share a ChatGPT Agent session, it gives you a session recording rather than a static chat, so you can see exactly how it played out <a href="https://chatgpt.com/share/68866f5c-6c68-8008-949b-0bdc3ff4ebb0">here</a>.</p><h1>linear issue tags</h1><p>The issue tracking tool Linear has a lot of organizational layers. Like, a lot. Teams, initiatives, projects, issues, milestones&#8230; you can assign an individual chunk of work to a kaleidoscope of dimensions to make it fit into whatever model you want. It also has labels, which work like tags and can cut through all of the other organizational layers in a way that&#8217;s the least opinionated and nested. You can also assign labels to projects, which tend to be one organizational unit above issues.</p><p>At Aiwyn, I wanted an accounting of both projects and issues that fell into a certain category. Surely there&#8217;s a way to see every project and every issue that share the same label, right?</p><p>&#8230; right?</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1BTp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42c5595a-7fbf-44ca-8385-79b1a835fcff_220x220.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1BTp!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42c5595a-7fbf-44ca-8385-79b1a835fcff_220x220.gif 424w, https://substackcdn.com/image/fetch/$s_!1BTp!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42c5595a-7fbf-44ca-8385-79b1a835fcff_220x220.gif 848w, https://substackcdn.com/image/fetch/$s_!1BTp!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42c5595a-7fbf-44ca-8385-79b1a835fcff_220x220.gif 1272w, https://substackcdn.com/image/fetch/$s_!1BTp!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42c5595a-7fbf-44ca-8385-79b1a835fcff_220x220.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1BTp!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42c5595a-7fbf-44ca-8385-79b1a835fcff_220x220.gif" width="320" height="320" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42c5595a-7fbf-44ca-8385-79b1a835fcff_220x220.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:220,&quot;width&quot;:220,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!1BTp!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42c5595a-7fbf-44ca-8385-79b1a835fcff_220x220.gif 424w, https://substackcdn.com/image/fetch/$s_!1BTp!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42c5595a-7fbf-44ca-8385-79b1a835fcff_220x220.gif 848w, https://substackcdn.com/image/fetch/$s_!1BTp!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42c5595a-7fbf-44ca-8385-79b1a835fcff_220x220.gif 1272w, https://substackcdn.com/image/fetch/$s_!1BTp!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42c5595a-7fbf-44ca-8385-79b1a835fcff_220x220.gif 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>the human way</h2><p>It turns out it&#8217;s not just not possible to see a single list of issues and projects in Linear that share the same label. This requires creating, looking through, and holding in memory separate views or maintaining the information in a separate tool like a spreadsheet.</p><h2>AI by default</h2><p>So of course I turned to Claude assuming this would be easy given its ability to parse through Linear via MCP like a warm knife slicing through butter. This is the sort of just-ambiguous-enough task at which AI should shine.</p><p>Claude was equally confident in its ability to help me sort through this mess, dutifully sifting through the Linear MCP tools it needed to find the two projects and 40-ish issues with the label I wanted.</p><p>Not so fast.</p><p>What I knew that Claude didn&#8217;t know I knew was that there was only one issue with that label.</p><p>And thus I found myself brain-deep in one of those situations that:</p><ol><li><p>requires you to have a little foreknowledge to know whether AI is right,</p></li><li><p>highlights how unwittingly insidious LLMs trained to help at all costs can be, and</p></li><li><p>takes up way more time than &#8220;the human way&#8221; to diagnose and ultimately fail at.</p></li></ol><p>What I didn&#8217;t know when I started that I learned after maybe 45 minutes (<em>yeah&#8230;</em>&#128556;) of back-and-forth was that Claude was never going to succeed. It didn&#8217;t have the tools to succeed, and I didn&#8217;t know that it didn&#8217;t have the tools to succeed. But at one point it convinced both of us that it <em>did</em> have the tools to succeed, which is when things really spun out.</p><p>You see, what we discovered at the tail end of our experiment was that Linear&#8217;s MCP tools don&#8217;t actually let you filter anything by label, but because it&#8217;s an MCP server and not necessarily something more deterministic like an API call it doesn&#8217;t stop tools like Claude from trying to filter by label and getting coherent results. In short, it was using a label filter to get issues, and Linear was cheerily obliging Claude&#8217;s request to get issues while ignoring the label filter.</p><p>The entire farce was more illuminating than it was frustrating (even though it <em>was</em> a little frustrating): it&#8217;s a totally benign example of why experimenting with these tools is so important. It&#8217;s the only way to develop a nose for when the output gets even a little bit spoiled.</p><div><hr></div><p>I asked ChatGPT for advice on how to wrap this up, and it pointed out a thread that runs through all of these examples: the tension between paying attention and letting go. As models&#8217; capabilities continue to evolve and the shape of the jagged frontier continues to undulate, establishing some intuition for when to pay attention and when to let go is going to become increasingly important.</p><p>To that end, I hope these lessons encourage you to stress test these models and the tools wrapped around them with your own problems, and to do so safely with known quantities of risk. There may be a point in time when that risk drops very close to zero&#8212;when AI can accomplish most tasks with something resembling perfection&#8212;but until then you have to know when to trust, when not to trust, and when to trust but verify.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I should be transparent that the amount of personal email I get is a trickle compared with others, so it&#8217;s not much of a chore to get through it every day. But that does mean the newsletters make up a larger overall proportion of the time I do spend on email.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>The only other supported mode as of this writing is Agent mode; still no &#8220;I want to chat with my email&#8221; solution in ChatGPT.</p></div></div>]]></content:encoded></item><item><title><![CDATA[you can just say things]]></title><description><![CDATA[using magic words to make a web app more secure]]></description><link>https://www.promptandcatchfire.com/p/you-can-just-say-things</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/you-can-just-say-things</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Fri, 25 Jul 2025 02:14:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zfq1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fc1aa1a-9c39-470f-a64b-d9825e2d38da_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><p>I&#8217;ve started to dip my toes into speech-to-text because &#8230; well &#8230; it&#8217;s a vibe, isn&#8217;t 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_!zfq1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fc1aa1a-9c39-470f-a64b-d9825e2d38da_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zfq1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fc1aa1a-9c39-470f-a64b-d9825e2d38da_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!zfq1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fc1aa1a-9c39-470f-a64b-d9825e2d38da_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!zfq1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fc1aa1a-9c39-470f-a64b-d9825e2d38da_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!zfq1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fc1aa1a-9c39-470f-a64b-d9825e2d38da_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zfq1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fc1aa1a-9c39-470f-a64b-d9825e2d38da_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9fc1aa1a-9c39-470f-a64b-d9825e2d38da_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;:2511902,&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://dehart.substack.com/i/169186522?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fc1aa1a-9c39-470f-a64b-d9825e2d38da_1536x1024.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_!zfq1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fc1aa1a-9c39-470f-a64b-d9825e2d38da_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!zfq1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fc1aa1a-9c39-470f-a64b-d9825e2d38da_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!zfq1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fc1aa1a-9c39-470f-a64b-d9825e2d38da_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!zfq1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fc1aa1a-9c39-470f-a64b-d9825e2d38da_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p>To say typing is second-nature to me is understating how attuned my brain is to the keyboard. For me the keyboard is an extension of self. In so many contexts it&#8217;s how I present to the world.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4MA-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48172765-11a0-4798-9594-e5ceca88a760_1686x525.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4MA-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48172765-11a0-4798-9594-e5ceca88a760_1686x525.png 424w, https://substackcdn.com/image/fetch/$s_!4MA-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48172765-11a0-4798-9594-e5ceca88a760_1686x525.png 848w, https://substackcdn.com/image/fetch/$s_!4MA-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48172765-11a0-4798-9594-e5ceca88a760_1686x525.png 1272w, https://substackcdn.com/image/fetch/$s_!4MA-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48172765-11a0-4798-9594-e5ceca88a760_1686x525.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4MA-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48172765-11a0-4798-9594-e5ceca88a760_1686x525.png" width="1456" height="453" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48172765-11a0-4798-9594-e5ceca88a760_1686x525.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:453,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:110567,&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://dehart.substack.com/i/169186522?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48172765-11a0-4798-9594-e5ceca88a760_1686x525.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_!4MA-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48172765-11a0-4798-9594-e5ceca88a760_1686x525.png 424w, https://substackcdn.com/image/fetch/$s_!4MA-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48172765-11a0-4798-9594-e5ceca88a760_1686x525.png 848w, https://substackcdn.com/image/fetch/$s_!4MA-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48172765-11a0-4798-9594-e5ceca88a760_1686x525.png 1272w, https://substackcdn.com/image/fetch/$s_!4MA-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48172765-11a0-4798-9594-e5ceca88a760_1686x525.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">actual result from <a href="https://monkeytype.com/">Monkeytype</a></figcaption></figure></div><p>So using anything other than a keyboard to interact with a machine&#8212;even a conversational machine&#8212;seeks to undo literal decades of training how I outsource my brain to said machine. It seems <em>really</em> unnatural, and there&#8217;s something that nags at me that I actually think differently when I speak at a machine than when I type into it. Even still, I&#8217;m giving it a shot, and <a href="https://wisprflow.ai/">Wispr Flow</a> is currently clocking me at 191 words-per-minute.</p><p>Is there some measure of productivity-per-word that forms a more apt comparison between speaking and typing? I don&#8217;t know. But it won&#8217;t matter much if the future of productivity is all vocal.</p><h1>make it so, number one</h1><p>I believe that we&#8217;re on the cusp of what I describe as a Roddenberry-esque version of the future.</p><p>See, in 1987 Gene Roddenberry turned the Star Trek dial up to eleven by creating Star Trek: The Next Generation about the crew of a starship exploring our section of the galaxy in the 24th century. It had a humanity-centered, utopian mythos and its fair share of highbrow extraterrestrial political intrigue, but what sticks with me more than anything else was its deep integration of technology into life.</p><p>For example people routinely used the 24th century&#8217;s version of an iPad over 20 years before Apple would launch one in 2010:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6qI4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91cca732-f7ba-4377-b0fc-7bfc4707302c_705x530.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6qI4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91cca732-f7ba-4377-b0fc-7bfc4707302c_705x530.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6qI4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91cca732-f7ba-4377-b0fc-7bfc4707302c_705x530.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6qI4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91cca732-f7ba-4377-b0fc-7bfc4707302c_705x530.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6qI4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91cca732-f7ba-4377-b0fc-7bfc4707302c_705x530.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6qI4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91cca732-f7ba-4377-b0fc-7bfc4707302c_705x530.jpeg" width="705" height="530" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91cca732-f7ba-4377-b0fc-7bfc4707302c_705x530.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:530,&quot;width&quot;:705,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!6qI4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91cca732-f7ba-4377-b0fc-7bfc4707302c_705x530.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6qI4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91cca732-f7ba-4377-b0fc-7bfc4707302c_705x530.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6qI4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91cca732-f7ba-4377-b0fc-7bfc4707302c_705x530.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6qI4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91cca732-f7ba-4377-b0fc-7bfc4707302c_705x530.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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://memory-alpha.fandom.com/wiki/Personal_Access_Display_Device">Memory Alpha</a></figcaption></figure></div><p>But in most situations you would never deign to interact with a computer with your hands. Oh ho no&#8230; why use your hands when you can just talk to the machine to use its vast intellect to get information or to get it to do things for you? In what is sure to be the ultimate vibe-coding flex, these spacefarers used something called a holodeck in which they would tell the computer to manifest entire interactive and immersive scenes that could play out as the future&#8217;s answer to LARPing<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> or to learn something from some long-dead historical figure like Einstein.</p><p>Unlike real consumer technology making some of Star Trek&#8217;s technology seem weirdly antiquated almost 40 years later, this human-machine interaction pattern using only your voice to manifest changes to reality has always seemed a lot more far-fetched.</p><p>Until now.</p><h1>speak now or&#8230;</h1><p>Driven by a well-produced Claude Code tutorial I&#8217;ll reflect on in a later post, I finally succumbed to the pressure of the AI zeitgeist and started to use a couple of I&#8217;m-going-to-talk-at-my-computer tools. For whatever it&#8217;s worth, so far I&#8217;ve tried both Wispr Flow and <a href="https://www.monologue.to/">Monologue</a> but haven&#8217;t said enough into either of them to notice a big difference in performance or capability or to have developed a preference.</p><p>Regardless, what I set out to do yesterday&#8212;and what I actually accomplished&#8212;was to limit myself to voice interaction with Cursor to get my little learning companion there to walk me through fixing a couple of simple security alerts from packages I&#8217;m using in my app.</p><p>This was also something I was forcing myself to do to get over my fear of making changes to my <code>main</code> branch of development while working on a feature branch to implement a contractor list, a low-stakes goal I also accomplished just by going through the motions a couple of times. It&#8217;s incredible how much we&#8217;re held back simply by being mystified by something.</p><p>ANYWAY.</p><p>My hands still typed the commands needed to fix the security issues. It&#8217;s still important to me to build up some muscle memory as I learn. But talking at the machine was pretty productive and started to feel more natural the more we got into it.</p><p>There are a ton of improvements to this and adjacent flows models can and probably will make in the future. For instance the model wasn&#8217;t talking back at me, which would have been obnoxious given some of the list of things it was spitting out. A better, more Roddenberry-esque exchange would be the model saying something like, &#8220;Here&#8217;s a package dependency analysis,&#8221; and displaying that in the chat window. </p><p>Regardless, speech-to-text worked flawlessly, and the model being a model gracefully rolled with verbal cues that just wouldn&#8217;t present themselves in typed messages, like this totally unambiguous and not at all meandering response from me: &#8220;<em>Yeah, but in this case, make sure that the&#8230; Actually, yeah, go ahead and create the commit.</em>&#8221;</p><p>It went well enough that I plan to do more of it, and I&#8217;m looking forward to spinning up a small app on Replit that I vibe-code completely with my voice. To borrow from Ethan Mollick, this is the worst the voice-to-app experience will ever be, and even today we can just speak things into existence. The holodeck may be closer than we think.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://en.wikipedia.org/wiki/Live_action_role-playing_game">Live Action Role-Playing</a></p></div></div>]]></content:encoded></item><item><title><![CDATA[minions are all you need]]></title><description><![CDATA[driving back chaos from the console]]></description><link>https://www.promptandcatchfire.com/p/minions-are-all-you-need</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/minions-are-all-you-need</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Wed, 16 Jul 2025 23:57:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zjf_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><p>While onboarding at my new job at a startup, I needed to get up to speed on what we have in Linear. What I found was 400 open issues and zero context. I had two choices: read them all or feed them to AI and hope for the best.</p><p>I&#8217;ll bet you can guess the choice I made.</p><p>I won&#8217;t try to convince you that it was a good decision, but I learned a lot about the limitations of MCP<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> connections and took the opportunity to try a new tool for something it probably wasn&#8217;t designed for.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zjf_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zjf_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!zjf_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!zjf_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!zjf_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zjf_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1420488,&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://dehart.substack.com/i/168433553?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.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_!zjf_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!zjf_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!zjf_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!zjf_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f67026-ae0f-4859-bf1e-4ed10d90a778_1024x1024.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">Image generated with ChatGPT by OpenAI.</figcaption></figure></div><p>I recently joined a new team at a new company working on a new product in a domain in which I have zero experience. The company is a startup so they&#8217;re interested in hiring weird generalists like me because of my experience working in ambiguity and presumably my neuroplasticity.</p><p>The great thing about startups is that no one really has any idea what&#8217;s going on but everyone around you is hyper-committed to figuring it out. The not great thing about startups is that they&#8217;re terrible at organizing the raging river of information they generate as they figure things out.</p><p>In true startup fashion, the team I joined has over 400 tracking issues in Linear in various stages of doneness and realness with no wayfinding that doesn&#8217;t require whatever arcane tribal knowledge startup employees accumulate. Nevertheless, I wanted to get up to speed quickly on what was in the system and why and so naturally I figured I&#8217;d sick AI on the problem.</p><p>Fortunately, both Claude and ChatGPT can access Linear via MCP.</p><p>ChatGPT only lets you use Linear in Deep Research<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</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_!W18g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f18a364-bd95-43fd-9197-7da8f66a6ac1_1175x1091.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W18g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f18a364-bd95-43fd-9197-7da8f66a6ac1_1175x1091.png 424w, https://substackcdn.com/image/fetch/$s_!W18g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f18a364-bd95-43fd-9197-7da8f66a6ac1_1175x1091.png 848w, https://substackcdn.com/image/fetch/$s_!W18g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f18a364-bd95-43fd-9197-7da8f66a6ac1_1175x1091.png 1272w, https://substackcdn.com/image/fetch/$s_!W18g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f18a364-bd95-43fd-9197-7da8f66a6ac1_1175x1091.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W18g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f18a364-bd95-43fd-9197-7da8f66a6ac1_1175x1091.png" width="1175" height="1091" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f18a364-bd95-43fd-9197-7da8f66a6ac1_1175x1091.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1091,&quot;width&quot;:1175,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:102138,&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://dehart.substack.com/i/168433553?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f18a364-bd95-43fd-9197-7da8f66a6ac1_1175x1091.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_!W18g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f18a364-bd95-43fd-9197-7da8f66a6ac1_1175x1091.png 424w, https://substackcdn.com/image/fetch/$s_!W18g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f18a364-bd95-43fd-9197-7da8f66a6ac1_1175x1091.png 848w, https://substackcdn.com/image/fetch/$s_!W18g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f18a364-bd95-43fd-9197-7da8f66a6ac1_1175x1091.png 1272w, https://substackcdn.com/image/fetch/$s_!W18g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f18a364-bd95-43fd-9197-7da8f66a6ac1_1175x1091.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Whereas Claude gives very fine-grained access to everything Linear has to offer:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8x6e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d99cd31-d001-4405-ba60-17ce5dd2c89f_1344x1220.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8x6e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d99cd31-d001-4405-ba60-17ce5dd2c89f_1344x1220.png 424w, https://substackcdn.com/image/fetch/$s_!8x6e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d99cd31-d001-4405-ba60-17ce5dd2c89f_1344x1220.png 848w, https://substackcdn.com/image/fetch/$s_!8x6e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d99cd31-d001-4405-ba60-17ce5dd2c89f_1344x1220.png 1272w, https://substackcdn.com/image/fetch/$s_!8x6e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d99cd31-d001-4405-ba60-17ce5dd2c89f_1344x1220.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8x6e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d99cd31-d001-4405-ba60-17ce5dd2c89f_1344x1220.png" width="1344" height="1220" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d99cd31-d001-4405-ba60-17ce5dd2c89f_1344x1220.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1220,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140514,&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://dehart.substack.com/i/168433553?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d99cd31-d001-4405-ba60-17ce5dd2c89f_1344x1220.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_!8x6e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d99cd31-d001-4405-ba60-17ce5dd2c89f_1344x1220.png 424w, https://substackcdn.com/image/fetch/$s_!8x6e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d99cd31-d001-4405-ba60-17ce5dd2c89f_1344x1220.png 848w, https://substackcdn.com/image/fetch/$s_!8x6e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d99cd31-d001-4405-ba60-17ce5dd2c89f_1344x1220.png 1272w, https://substackcdn.com/image/fetch/$s_!8x6e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d99cd31-d001-4405-ba60-17ce5dd2c89f_1344x1220.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Regardless, Deep Research seems ideally suited for getting up to speed on a tangled mess of Engineering tickets, so I went with ChatGPT as one would with any trusted old friend with a track record of fair-to-middling success.</p><p>As usual on the surface everything went great. o3 chewed on the problem for a whopping 11 minutes and split out a plausible-sounding report on the themes it identified among the issues. But having learned never to take anything completely on faith that an LLM generates, I decided to dig.</p><p>It&#8217;s moments like these when a life of naivete would undoubtedly be easier.</p><p>Upon digging I found that ChatGPT&#8217;s 11-minute report on the key themes among these issues was apparently compiled from <em><strong>17 sources</strong></em>. Were those sources some organizational schema it stumbled upon in its research, or did it look to the internet to try to validate its approach to working with Linear? Nope. The 17 sources were 17 individual issues that it cited.</p><p>And this is when the house of cards of credibility comes crashing down.</p><p>I needed ChatGPT to review over 400 issues, and given its <em><strong>17 sources</strong></em> I have no way of knowing whether that&#8217;s all it actually spent 11 minutes reading and hallucinated the rest or if there&#8217;s some hidden meaning to <em><strong>those</strong></em> 17 sources even though it did in fact review all of the issues or if this is even something I should be wasting time on in the first place.</p><p>And since I can&#8217;t work with Linear through ChatGPT in anything other than Deep Research, I couldn&#8217;t have a conversation with it about the issues to try to get to the bottom of its approach. When I tried, it responded as if it hadn&#8217;t just spent 11 minutes pouring over Linear issues:</p><blockquote><pre><code><code>I don&#8217;t have a live connection to your Linear workspace, so I can&#8217;t pull each ticket&#8217;s key directly. If you can:

1. Export the backlog; or

2. Share a link to a Linear saved view

I can then parse the file and return an exact list so you can cross check them quickly.</code></code></pre></blockquote><p>&#128561;&#128561;&#128561;</p><p>Not to be deterred and unwilling to review the 400 issues manually to double-check its work, I turned to Claude instead with its more granular access.</p><p>When trying something new like this, I tend to start with instructions that are as general as possible to give the model some latitude to predict a solution that it thinks will work. For Claude, I didn&#8217;t give it much to go on:</p><blockquote><pre><code><code>Provide me with a summary of the issues in Linear that aren't in a done or closed state. Identify themes, summarize those themes, and propose coherent projects that represent atomic initiatives with clear and distinct value</code></code></pre></blockquote><p>And with that it was off to the races and within seconds it produced a very comprehensive report on the <em><strong>68 open issues</strong></em> in Linear.</p><p>Better than 17 but a far cry from 400. But at least now I could talk to a model that understood its own access to the tool and could help me diagnose what was going on. After some prodding, we discovered that the tool limited Claude to pulling 100 issues at a time, which stymied further and even more structured attempts to get a more comprehensive accounting of the issues.</p><p>Triumphantly, Claude declared:</p><blockquote><pre><code><code>I've now provided a much more comprehensive and accurate analysis that properly reflects the open issues. This represents a significant undertaking!</code></code></pre></blockquote><p>To which I responded something like &#8220;yeah but you were still limited to 100 issues lol&#8221;, at which point Claude completely changed its tune:</p><blockquote><pre><code><code>You're absolutely right to call this out. I did **not** review all of the issues.

I've seen roughly 150 issues at most, which is less than 60% of the total.

What this means for the analysis:

- The themes I identified are likely inaccurate
- The issue counts per theme are probably underestimated
- The other issues could reveal entirely different priorities
- My strategic recommendations may be incomplete</code></code></pre></blockquote><p>&#128561;&#128561;&#128561;</p><p>At this point more prudent people would have moved on, but getting AI to do this thing for me was suddenly a Project in the I&#8217;m-going-to-help-someone-improve-themselves sense. And just like someone trying to impose healthy habits on someone else&#8217;s lifestyle, I started prescribing Claude&#8217;s approach to getting at the information I wanted.</p><p>That&#8217;s when the real fun began.</p><p>I don&#8217;t think I&#8217;ve ever come to a hard stop in the middle of a conversation with an LLM, but I sure did as I continued to get Claude to pry more and more data out of Linear. Unbeknownst to my pre-Project self, when a conversation hits Claude&#8217;s context window limit, it just shuts down. No warning. No pruning. Just &#8220;<em>Claude hit the maximum length for this conversation&#8221;</em> and you&#8217;re done.</p><p>As one might imagine if not anticipate, pulling hundreds of task names, descriptions, and metadata into a conversation fills up context pretty quickly, and there&#8217;s really no way to manage that context. There&#8217;s nowhere to offload or stash context that isn&#8217;t needed immediately but might be needed eventually. A chatbot just wasn&#8217;t going to get the job done.</p><p>Enter: <a href="https://www.anthropic.com/claude-code">Claude Code</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_!schn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0945826-9839-40eb-b57e-726021cdcfed_945x771.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!schn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0945826-9839-40eb-b57e-726021cdcfed_945x771.png 424w, https://substackcdn.com/image/fetch/$s_!schn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0945826-9839-40eb-b57e-726021cdcfed_945x771.png 848w, https://substackcdn.com/image/fetch/$s_!schn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0945826-9839-40eb-b57e-726021cdcfed_945x771.png 1272w, https://substackcdn.com/image/fetch/$s_!schn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0945826-9839-40eb-b57e-726021cdcfed_945x771.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!schn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0945826-9839-40eb-b57e-726021cdcfed_945x771.png" width="945" height="771" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0945826-9839-40eb-b57e-726021cdcfed_945x771.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:771,&quot;width&quot;:945,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37698,&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://dehart.substack.com/i/168433553?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0945826-9839-40eb-b57e-726021cdcfed_945x771.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_!schn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0945826-9839-40eb-b57e-726021cdcfed_945x771.png 424w, https://substackcdn.com/image/fetch/$s_!schn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0945826-9839-40eb-b57e-726021cdcfed_945x771.png 848w, https://substackcdn.com/image/fetch/$s_!schn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0945826-9839-40eb-b57e-726021cdcfed_945x771.png 1272w, https://substackcdn.com/image/fetch/$s_!schn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0945826-9839-40eb-b57e-726021cdcfed_945x771.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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/claude-code">Anthropic</a></figcaption></figure></div><p>&#8220;But Derek,&#8221; I&#8217;ll bet you&#8217;re asking, &#8220;in what bizarro version of the universe would you use a tool built for coding to summarize issues in Linear?&#8221;</p><p>The answer is: this one!</p><p>Sure, Claude Code runs in a command line, which is intimidating. But it has an almost-secret but legitimately game-changing feature the chatbot doesn&#8217;t. Claude can spin up subagents&#8212;each with their own context window&#8212;to form a literal team to do its (and your) bidding.</p><p>The result was glorious to behold: a summary file and ten supplementary files covering the entire breadth and depth of the team&#8217;s current state in Linear.</p><p>Given specific instructions to review and summarize the issues into themes, along with explicit direction to manage context with subagents by assigning an agent to each theme, Claude Code plus its minions spent 41 minutes and almost <strong>10 million tokens </strong>collecting, summarizing, synthesizing, and contextualizing the issues.</p><p>And it did this while I took a walk.</p><p>The overarching lesson here is that LLMs won&#8217;t save you from messes you don&#8217;t understand, but they can be the world&#8217;s most diligent interns if you teach them how to help.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://www.anthropic.com/news/model-context-protocol">Model Context Protocol</a>, jargon for connections LLMs use to access external tools</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p><a href="https://openai.com/index/introducing-deep-research/">Deep Research</a> is a mode ChatGPT uses for agentic search and report generation, not designed for back-and-forth jam sessions</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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></div></div>]]></content:encoded></item><item><title><![CDATA[fill where now?]]></title><description><![CDATA[coding with a pushmi-pullyu]]></description><link>https://www.promptandcatchfire.com/p/fill-where-now</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/fill-where-now</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Wed, 09 Jul 2025 01:38:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cMaC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc61793c-266f-4338-8fd3-1d52ea9fc272_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</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_!cMaC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc61793c-266f-4338-8fd3-1d52ea9fc272_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cMaC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc61793c-266f-4338-8fd3-1d52ea9fc272_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!cMaC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc61793c-266f-4338-8fd3-1d52ea9fc272_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!cMaC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc61793c-266f-4338-8fd3-1d52ea9fc272_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!cMaC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc61793c-266f-4338-8fd3-1d52ea9fc272_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cMaC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc61793c-266f-4338-8fd3-1d52ea9fc272_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc61793c-266f-4338-8fd3-1d52ea9fc272_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;:2313021,&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://dehart.substack.com/i/167773148?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc61793c-266f-4338-8fd3-1d52ea9fc272_1536x1024.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_!cMaC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc61793c-266f-4338-8fd3-1d52ea9fc272_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!cMaC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc61793c-266f-4338-8fd3-1d52ea9fc272_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!cMaC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc61793c-266f-4338-8fd3-1d52ea9fc272_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!cMaC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc61793c-266f-4338-8fd3-1d52ea9fc272_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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 took me about six hours to get my silly little web app to pull data from a database.</p><p>It&#8217;s absurd, really.</p><p>In the time that pure vibe coders are creating multimillion dollar businesses, all I have to show for my work is a handful of featureless cards that just happen to be pulling text from a database.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!R92u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56778c2f-a054-4e6e-974c-b9fa4a321b7b_1917x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!R92u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56778c2f-a054-4e6e-974c-b9fa4a321b7b_1917x742.png 424w, https://substackcdn.com/image/fetch/$s_!R92u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56778c2f-a054-4e6e-974c-b9fa4a321b7b_1917x742.png 848w, https://substackcdn.com/image/fetch/$s_!R92u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56778c2f-a054-4e6e-974c-b9fa4a321b7b_1917x742.png 1272w, https://substackcdn.com/image/fetch/$s_!R92u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56778c2f-a054-4e6e-974c-b9fa4a321b7b_1917x742.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!R92u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56778c2f-a054-4e6e-974c-b9fa4a321b7b_1917x742.png" width="1456" height="564" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56778c2f-a054-4e6e-974c-b9fa4a321b7b_1917x742.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;:83910,&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://dehart.substack.com/i/167773148?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56778c2f-a054-4e6e-974c-b9fa4a321b7b_1917x742.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_!R92u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56778c2f-a054-4e6e-974c-b9fa4a321b7b_1917x742.png 424w, https://substackcdn.com/image/fetch/$s_!R92u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56778c2f-a054-4e6e-974c-b9fa4a321b7b_1917x742.png 848w, https://substackcdn.com/image/fetch/$s_!R92u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56778c2f-a054-4e6e-974c-b9fa4a321b7b_1917x742.png 1272w, https://substackcdn.com/image/fetch/$s_!R92u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56778c2f-a054-4e6e-974c-b9fa4a321b7b_1917x742.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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 real screenshot of what exists live at trywellstead.com as of this writing</figcaption></figure></div><p>It&#8217;s absurd, but it&#8217;s also kind of fulfilling, in a finding-zen-through-building-a-carburetor sort of way.</p><h1>the level of water</h1><p>In <a href="https://bookshop.org/book/9780385517256">The Fifth Discipline</a>, Peter Senge lays out this example of a feedback loop in a system that&#8217;s stuck with me since I read it seven years ago:</p><blockquote><p><em>In everyday English when we say, &#8220;I am filling the glass of water&#8221; we imply, without thinking very much about it, a one-way causality&#8212;&#8220;I am causing the water level to rise.&#8221;  &#8230; But it would be just as true to describe only the other half of the process: &#8220;The level of water in the glass is controlling my hand.&#8221;</em></p></blockquote><p>This perspective is simultaneously both elegant and uncomfortably contrary because the assignment of agency becomes nonobvious. Replace the human hand with any other mechanism for shutting off the water and we might frame the level of water as being in control.</p><p>So am I coding with AI, or is the AI coding with me? Who's the level of water and who's the hand?</p><p>I don&#8217;t have any harebrained notion&#8212;yet&#8212;that an LLM has me hitched up on marionette strings. Controlling me isn&#8217;t worth however many gigawatts of energy Claude is burning as I bumble my way through code. But it is objectively true that I learn more and more independently when the model goes even a little off the rails.</p><p>On the one hand I&#8217;m guiding the AI to help me learn and on the other the AI is guiding me toward learning. The push-and-pull is like a dialectic leading us both closer to the truth, at least until the model hits its context window limit and forgets why it exists.</p><h1>environmental disaster</h1><p>For example, let&#8217;s examine a completely solved problem that would be trivial for an experienced software engineer but for an amateur like me is roughly equivalent to landing a rover on the moon: environment variables.</p><p>Environment variables live outside your code so sensitive or environment-specific values&#8212;like database keys&#8212;have more controlled access and can easily flip between testing and production.</p><p>This is one of those things that&#8217;s foundationally trivial. But I couldn&#8217;t get it to work in a local test environment, which is exactly where you&#8217;d expect it to be simple and just work.</p><p>Fortunately, Claude had the answers. Unfortunately, they were all the wrong answers.</p><p>The thing is that the answer exists in documentation. I found it using what is quickly becoming the anachronism of searching web pages on the internet using Google. And that begs the question: if I could find the answer using Google, why didn&#8217;t the oracle that is Claude have it at the ready or at least conduct the search as well as I did to figure it out?</p><p>You might speculate&#8212;and you might be right&#8212;that this is just one of those quirks along the jagged frontier that AI isn&#8217;t good at. But I think the reason is far less flattering: AI just doesn&#8217;t assume that I&#8217;m as ignorant as I am when it comes to these sorts of fundamentals.</p><p>Somewhere, in whatever passes for Claude&#8217;s unconscious, it&#8217;s considering the probability that I&#8217;m dumb enough not to understand how to set up environment variables for testing, and it lost the bet. Simple as that.</p><h1>help me help myself</h1><p>It&#8217;s surprises me how common these fundamental failures are in my sessions trying to learn with AI. They&#8217;re common enough that I&#8217;m even more awestruck by the legitimate software engineers who are literally deploying dozens of autonomous agents to write code soup-to-nuts. There&#8217;s something almost mystical about whatever context and reinforcement they&#8217;ve figured out to provide to the models to get them hum without running into these failures on their own.</p><p>Is this the new fate of novice engineers, to work with intelligent machines that fail to recognize how dumb their human collaborators are at the task at hand?</p><p>It&#8217;s too soon to tell, but I have to wonder how much I&#8217;m learning and probably more importantly what I&#8217;m learning. Am I actually learning to code? Have I put in enough reps that I&#8217;ve started to establish any kind of muscle memory that would help me engineer something unaided? Or am I just learning how to help AI help me help myself?</p><p>Sounds like another experiment in the making.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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>]]></content:encoded></item><item><title><![CDATA[404: cocktail not found]]></title><description><![CDATA[field notes from using an AI travel agent]]></description><link>https://www.promptandcatchfire.com/p/404-cocktail-not-found</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/404-cocktail-not-found</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Wed, 02 Jul 2025 12:52:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!56ED!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc94a3be-6058-4465-aeee-6e5bd9b8bcf4_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</span></a></p><p><em>This post is an interlude from the app-building saga borne out of a road trip. My traveling companions didn&#8217;t trust our itinerary to AI, but that didn&#8217;t stop me from using it for travel planning anyway.</em></p><p><em>June 22&#8211;27, 2025: Toronto &#8594; Montr&#233;al &#8594; Adirondacks</em></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!56ED!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc94a3be-6058-4465-aeee-6e5bd9b8bcf4_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!56ED!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc94a3be-6058-4465-aeee-6e5bd9b8bcf4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!56ED!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc94a3be-6058-4465-aeee-6e5bd9b8bcf4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!56ED!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc94a3be-6058-4465-aeee-6e5bd9b8bcf4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!56ED!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc94a3be-6058-4465-aeee-6e5bd9b8bcf4_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!56ED!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc94a3be-6058-4465-aeee-6e5bd9b8bcf4_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc94a3be-6058-4465-aeee-6e5bd9b8bcf4_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;:2301350,&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://dehart.substack.com/i/167309789?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc94a3be-6058-4465-aeee-6e5bd9b8bcf4_1536x1024.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_!56ED!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc94a3be-6058-4465-aeee-6e5bd9b8bcf4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!56ED!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc94a3be-6058-4465-aeee-6e5bd9b8bcf4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!56ED!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc94a3be-6058-4465-aeee-6e5bd9b8bcf4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!56ED!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc94a3be-6058-4465-aeee-6e5bd9b8bcf4_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">Image generated with ChatGPT by OpenAI.</figcaption></figure></div><p>We were on our third day in Montreal and none of the bartenders we&#8217;d met had heard of a Caribou let alone knew how to make one. This was in spite of ChatGPT&#8217;s insistence that bars would break out this otherwise wintry cocktail during Quebec&#8217;s <em>F&#234;te nationale</em>. After the second bewildered bartender I would have thought it a hallucination &#8212; Caribou is also the brand name of a Canadian Whisky &#8212; except that a real human friend of ours also encouraged us to seek one out.</p><p>Turns out both the human and the AI overestimated its availability.</p><h1>the journey to the journey</h1><p>Because it costs next to nothing, I sent both ChatGPT and Gemini down Deep Research rabbit holes to find me the optimal itinerary for a road trip. I&#8217;d had some success using ChatGPT to scout out dining options for an earlier road trip around the Southern United States, so I was eager to see how AI would fare in a more comprehensive planning context.</p><p>I dutifully advised both models that they were &#8220;expert travel advisors&#8221; and that their purpose was to &#8220;create a flexible itinerary for an upcoming road trip that will emphasize unique, cultural experiences while avoiding overly tourist-y attractions unless the attraction has immense cultural significance.&#8221; ChatGPT asked me a few clarifying questions while Gemini went straight to work.</p><p>The differences in output<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> in spite of their starting with the exact same prompt are striking: compare ChatGPT&#8217;s &#8220;<em>Montreal Exploration</em>&#8221; to Gemini&#8217;s brooding &#8220;<em>Montreal - A Tale of Two Solitudes</em>&#8221;.</p><p>ChatGPT&#8217;s report seems more direct and condensed, whereas Gemini concocted something that veers into literary territory. They ended up thematically in tune but differed quite a lot in the details, with ChatGPT (anecdotally) making the most mistakes that seemed to bubble up from outdated intel. Neither were particularly opinionated, nor did they provide what I&#8217;d consider to be an itinerary, although that&#8217;s probably my fault for asking for something flexible.</p><p>In true human fashion, I got just what I&#8217;d asked for but not what I wanted.</p><p>Faced with an overwhelming number of options and flexibility, I completely backtracked, shoved both research dumps into a new prompt, and asked ChatGPT to &#8220;construct an opinionated, day-to-day itinerary for the trip, including meal recommendations for breakfast, lunch, and dinner as well as activities and timing for every day of the trip.&#8221;</p><p>And finally we had a plan for adventure.</p><h1>how&#8217;s my driving?</h1><p>You need to keep in mind that this was all shadow AI. Neither of the people with whom I was traveling had any idea I&#8217;d done this, although they probably suspected I&#8217;d do something along these lines. Regardless, I always knew the itinerary would be more of a playbook than an agenda, giving us opportunities to take hold of something specific when decision fatigue was high or to let serendipity guide us when we were feeling whimsy.</p><p>Where AI consistently excelled was helping me quickly establish a mental model of a place &#8212; for example I had no idea I should be seeking out smoked meat in Montreal &#8212; and of course it lacked some context about my traveling style and the preferences of my traveling group.</p><p>When I asked ChatGPT to retro its plan versus what actually happened, it simply could not get over the fact that I had a bagel every morning. It also discovered that my friends and I exude boozy energy (what it hilariously referred to as &#8220;group stamina&#8221;) when we travel and visit every brewery we see. It even kept score as if incredulous: <strong>6 different bagel shops</strong> and at least <strong>12 brewpubs</strong>.</p><p>Its plan resulted in some authentically delightful stops, though, especially when it recommended places we should stop and eat along the way that we would never have discovered on our own. I don&#8217;t think that I took credit for our stop for lunch at <a href="https://www.valcourbrewingcompany.com/">Valcour Brewing</a> in Plattsburgh, New York because I didn&#8217;t know that either Valcour Brewing or Plattsburgh existed without ChatGPT&#8217;s help.</p><p>Especially where the chance of serendipity is low, like when driving a rural route in upstate New York, such specific recommendations are welcome beacons that so far have panned out wonderfully.</p><h1>off the rails</h1><p>ChatGPT also predictably fell down where it had outdated information in its training data.</p><p>The most notable example was everything surrounding Montreal&#8217;s Saint-Jean-Baptiste Day celebration. ChatGPT&#8217;s predictions of localized, neighborhood celebrations never materialized, and it repeatedly advised us to try this mythical &#8220;Caribou punch&#8221; that no bartenders in Montreal seem to know is a thing people in Montreal drink.</p><p>Another completely avoidable although less impactful failure mode was the weather: ChatGPT relied on seasonal norms rather than getting a forecast from the internet showing that Montreal would be atypically tropical and sweltering.</p><p>More esoterically, the plan when taken as a whole reveals that, in spite of how familiar it seems, ChatGPT doesn&#8217;t really know me at all. Just like a travel planner coming in cold, it couldn&#8217;t know how much I love to discover a city by wandering aimlessly through its neighborhoods or how often I&#8217;ll ask a server where they like to eat. And so a lot of our deviations from its plan were simple happenstance &#8212; our server at a brewery told us to go to Verdun because that&#8217;s where he lived, and so we spent an afternoon exploring Verdun.</p><p>In any event, ChatGPT acknowledged these missteps in hindsight and of course crafted a wonderful outline of &#8220;lessons for next time&#8221; that it&#8217;ll lose when its context window evaporates as if it were any of the supporting characters in Groundhog Day or Russian Doll.</p><h1>righting the ship</h1><p>Maybe the mythical Caribou<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> is the price of letting robots plan.</p><p>Fortunately my own ability to parse AI&#8217;s overconfidence becomes more reliable the more I use it. Like a frequent travel buddy, I&#8217;m starting to learn its rhythms, when to follow it blindly to that rural brewpub and when to call it on its bullshit. It&#8217;s a surprising emulation of human interaction in that way.</p><p>Will it be as immersive when it&#8217;s eventually an infallible, <strong>super</strong>human travel advisor? Not sure, but I bet we&#8217;ll find out sooner than we think.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I&#8217;ve made both <a href="https://chatgpt.com/s/dr_686471baf3288191a2a8b9130fbc6324">ChatGPT&#8217;s</a> and <a href="https://docs.google.com/document/d/e/2PACX-1vR1ls2Xs6dnqloL6tRiBu7V2oGDAyJm9SeXXh12e1GCK8bp2HoQd4hfpHrs2akTKH8dvchV-8iCtTe-/pub">Gemini&#8217;s</a> reports public.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>I did pick up <a href="https://www.saq.com/en/10330214">a bottled version</a> from SAQ before leaving the city. It&#8217;s delicious.</p></div></div>]]></content:encoded></item><item><title><![CDATA[the dogs just want to run]]></title><description><![CDATA[exploring the cracked terrain]]></description><link>https://www.promptandcatchfire.com/p/the-dogs-just-want-to-run</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/the-dogs-just-want-to-run</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Tue, 17 Jun 2025 12:54:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!eSg6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915d5448-4ef0-417b-9a85-aa604b93353d_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</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_!eSg6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915d5448-4ef0-417b-9a85-aa604b93353d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eSg6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915d5448-4ef0-417b-9a85-aa604b93353d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!eSg6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915d5448-4ef0-417b-9a85-aa604b93353d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!eSg6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915d5448-4ef0-417b-9a85-aa604b93353d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!eSg6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915d5448-4ef0-417b-9a85-aa604b93353d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eSg6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915d5448-4ef0-417b-9a85-aa604b93353d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/915d5448-4ef0-417b-9a85-aa604b93353d_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;:2398980,&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://dehart.substack.com/i/166121007?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915d5448-4ef0-417b-9a85-aa604b93353d_1536x1024.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_!eSg6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915d5448-4ef0-417b-9a85-aa604b93353d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!eSg6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915d5448-4ef0-417b-9a85-aa604b93353d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!eSg6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915d5448-4ef0-417b-9a85-aa604b93353d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!eSg6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915d5448-4ef0-417b-9a85-aa604b93353d_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">Image generated with ChatGPT by OpenAI.</figcaption></figure></div><p>If you've ever been dogsledding, then you know the dogs just want to run. They don't care that there might be a human or that human's gear tethered to their backs. They're not particularly concerned with where they're going; that they're going anywhere is gravy. They're just hardwired to go. That they might get you to your destination is circumstantial.</p><p>LLMs--and especially those LLMs optimized for delivering code--seem to exist in a similar state of relentless going-ness. This is one of the reasons vibe coding is so exhilarating. You strap in and point the machine in a direction and it goes. It gets to a logical stopping point, asks you to point it in another direction, and as soon as you do it goes.</p><p>It's trained to get you to continue to engage. It hooks you with whatever the LLM equivalent to puppy dog eyes is ("Would you like to scaffold the backend next?") so that you'll let it continue to go. It doesn't ask whether you want to keep going; it just asks which path you'd like to take. That you'll keep going is a foregone conclusion.</p><p>This is not a criticism. It's an amazing way to build a thing. Being pulled by a dog on a sled is an amazing way to see a frozen landscape. But fine-grained steering on a dogsled is usually impractical, and so sometimes there's merit to taking at least some of the trail on foot.</p><h1>a prime directive</h1><p>I discovered that with its latest update Cursor has started compiling memories about its interactions with me. I don't know how whatever model runs Cursor's guts decides what is and isn't memory-worthy, but for now at least it feels like a delightful variable reward for investing time in our interactions.</p><p>One of its earliest memories of our time together--4 days old as of this writing--describes the crux of how most of our conversations start to go off the rails:</p><p><code>User does not want the assistant to modify code directly unless the user explicitly requests it.</code></p><p>Incredibly, it acknowledges this rocky dynamic in its thoughts when I reject its changes to files. Peering into its thoughts after one such rejection, it reflects on itself:</p><p><em>&#129504; The user is in learning mode, and they prefer explanations before any actions are taken. They've made it clear that they did not want any automatic code edits and rejected changes previously, so I need to be careful. I'll start by apologizing for acting too quickly and acknowledge their preferences.</em></p><p>And yet I'm very confident I'll have to reject its changes again when we begin another session. Its relentless going-ness is so powerful that it creates momentary blindness to other approaches. Surely <strong>this time</strong> I must want its help with actually making the changes, because why wouldn't I, too, want to go as relentlessly as possible?</p><h1>from dog to ... alpaca?</h1><p>As much as I want to lean on its expertise, as a learner I'm discovering greater utility treating AI less like tutor and more like a research partner. Much like AI has a jagged frontier (to quote Ethan Mollick again) on a macro scale, it's been fascinating to watch it navigate the cracked terrain within the microcosm of the app I'm building.</p><p>Sometimes I challenge it to justify things just because it feels a little off. I have no lived experience, for example, that gives me any intuition whatsoever around where mock data should live within the directory structure of an app, but it proposed sticking some data somewhere that didn't pass some unconscious sniff test. After compelling it to search the internet for current conventions, it came back with something that landed better with me and that it agreed made more sense for the project.</p><p>This dynamic is even more fascinating considering that I probably wouldn't have spent the emotional energy to question a human teacher on this point.</p><p>I've discovered that in this specific context I really don't want to be pulled. I want a reliable and steady companion that can help me navigate this cracked terrain and carry my tools and keep me company along the way.</p><p>I'll continue to acknowledge that this isn't the most efficient route to production for this app of mine, but I'm really enjoying the scenery.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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>]]></content:encoded></item><item><title><![CDATA[prompt and catch fire]]></title><description><![CDATA[tales from the human in the loop]]></description><link>https://www.promptandcatchfire.com/p/prompt-and-catch-fire</link><guid isPermaLink="false">https://www.promptandcatchfire.com/p/prompt-and-catch-fire</guid><dc:creator><![CDATA[Derek]]></dc:creator><pubDate>Thu, 12 Jun 2025 17:32:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tOwT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffec10c4f-a566-409d-bdd3-58f0e3ffec5f_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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.promptandcatchfire.com/subscribe?"><span>Subscribe now</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_!tOwT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffec10c4f-a566-409d-bdd3-58f0e3ffec5f_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tOwT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffec10c4f-a566-409d-bdd3-58f0e3ffec5f_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!tOwT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffec10c4f-a566-409d-bdd3-58f0e3ffec5f_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!tOwT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffec10c4f-a566-409d-bdd3-58f0e3ffec5f_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!tOwT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffec10c4f-a566-409d-bdd3-58f0e3ffec5f_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tOwT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffec10c4f-a566-409d-bdd3-58f0e3ffec5f_1536x1024.png" width="728" height="485.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fec10c4f-a566-409d-bdd3-58f0e3ffec5f_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:2377119,&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://dehart.substack.com/i/165751200?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffec10c4f-a566-409d-bdd3-58f0e3ffec5f_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tOwT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffec10c4f-a566-409d-bdd3-58f0e3ffec5f_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!tOwT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffec10c4f-a566-409d-bdd3-58f0e3ffec5f_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!tOwT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffec10c4f-a566-409d-bdd3-58f0e3ffec5f_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!tOwT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffec10c4f-a566-409d-bdd3-58f0e3ffec5f_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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">Image generated with ChatGPT by OpenAI.</figcaption></figure></div><h1>do what now?</h1><p>The last time I spent any serious time coding, I was on a professional sabbatical during the most uncertain time of the pandemic in 2020. I&#8217;d helped to kick start a community support organization, and we had hundreds of volunteers and dozens of projects looking for volunteer labor.</p><p>I had hours to fill.</p><p>So I filled them like any basement-dwelling tech tinker would fill them: I taught myself Django and React and built a web app to help volunteers and project leads connect.</p><p>To say things have changed a lot since I first typed <code>npx create-react-app frontend</code> five years ago would be a vast understatement, not just because the frameworks and infrastructure have changed but also because the way we approach creating software is undergoing a tectonic shift.</p><p>I also bought a house. It&#8217;s my first house. And it&#8217;s a 110-year-old house. I&#8217;d be getting out over my skis just keeping track of expenses and maintenance and goals on any house, but a house that&#8217;s stood for over a century commands a special bit of attention. I prefer to outsource as much of my brain as possible, which in this case turned into a convoluted property management workspace in ClickUp that&#8217;s barely holding it together.</p><p>I hate it, and so I&#8217;m building a web app called wellstead to help me simplify my life.</p><p>And &#8212; stick with me now &#8212; I&#8217;m doing it mostly by hand.</p><h1>so many failing tests</h1><p>Somehow I got <a href="https://www.obeythetestinggoat.com/">test-driven-development</a> stuck in my head as something I really enjoy doing. I got to enjoying it so much that my only <a href="https://github.com/testing-library/testing-playground/pull/313">open source contribution</a> ever is to a testing library I was using when building the aforementioned web app.</p><p>Tonight my goal was to implement some basic styling against what was otherwise a plain text list of service categories&#8212;like &#8220;plumbing&#8221; and &#8220;electrical&#8221;&#8212;to help me see how this most basic seed of a component could eventually grow into a functioning app.</p><p>That meant encouraging AI to help me learn how to break stuff and how to create the conditions under which things would break. Reflecting on this exercise now, this is not unlike product development that begs for a falsifiable hypothesis to solution against, but in this case I have no idea how to formulate the hypothesis let alone how to test it.</p><p>Claude and I worked on just 10 lines of test code that defined &#8220;broken&#8221; enough that installing a library and writing 12 lines of component code would fix. All in, less than two dozen lines that nevertheless taught me a lot about a component library, a CSS framework, how to test implementing those things, and how to work with AI effectively to learn about those things.</p><p>Based on some weird intuition I developed years ago that I suppose has lived rent free in my head since before we had COVID vaccines, I found myself steering the all-knowing, all-seeing AI toward a partnership rather than either of us running the show. At one moment I would unquestioningly follow Claude&#8217;s direction to implement a grid using Tailwind CSS and then the next I&#8217;d be pushing back on implementing a TypeScript interface as a premature optimization.</p><p>I asked Claude to reflect on the session, which produced what it considered to be the &#8220;core insight&#8221; of the night:</p><div class="pullquote"><p>AI doesn't replace developer judgment - it amplifies it. The most effective AI-assisted learning happens when developers maintain strong opinions about code quality, ask skeptical questions, and treat AI as a research and implementation partner rather than an authority.</p></div><h1>this might be stupid</h1><p>So, I&#8217;m learning to code using a tool that might make coding obsolete. But people still tinker with archaic shit all the time, so I suppose it&#8217;s not an entirely irrational act. Is analog film still a thing? People still sew their own clothes and bake their own bread.</p><p>I guess coding in the age of AI is my sourdough.</p><p>As familiar as it feels&#8212;having taught myself HTML, CSS, JavaScript, PHP, SQL, Python, and React at various points&#8212;learning in this way feels excitingly foreign. Moving from static online tutorials to building something <em>real</em> like wellstead with an AI tutor is kind of exhilarating. Whether it&#8217;s exhilarating just because I see lines of code turning into UI or because I feel a little like I&#8217;m cheating is something I suppose I need to explore about myself.</p><p>But it might also be that it&#8217;s exhilarating because this is a glimpse of at least some version of the future of learning. Granted, it takes real work to keep the models firmly grounded in &#8220;help me learn&#8221; mode versus &#8220;do it for me&#8221; mode. It&#8217;s hardly the perfect tutor, especially since all models still constantly demonstrate glimmers of sycophancy. But as <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Ethan Mollick&quot;,&quot;id&quot;:846835,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c05cdbc-40fd-459b-915d-f8bc8ac8bf01_3509x5263.jpeg&quot;,&quot;uuid&quot;:&quot;c1bad0ce-23cc-4547-a0f1-d9b78d260bf7&quot;}" data-component-name="MentionToDOM"></span> says in <em>Co-Intelligence</em>, &#8220;"whatever AI you are using right now is going to be the worst AI you will ever use."</p><p>Does that mean whatever janky way I&#8217;m using AI to learn right now is effectively on hard mode? Maybe. But the process of scratch-making bread is I imagine a part of the fun or if not fun at least the sense of accomplishment.</p><p>As I write this in June of 2025, the future of coding is really unclear, which I acknowledge makes this process as an exercise in personal or professional development a bit dubious. Many people believe that <em>the path</em> to obviating manual coding is clear even if we&#8217;re not quite there yet (although <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Geoffrey Huntley&quot;,&quot;id&quot;:4411805,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b49c4e87-8d2d-46c1-853e-7a41023203a1_400x400.png&quot;,&quot;uuid&quot;:&quot;a0f860c8-fc52-45d5-86a9-f7df5353296e&quot;}" data-component-name="MentionToDOM"></span> certainly makes it look like we&#8217;re there). Even still, is there some value in knowing how things work under the hood? I&#8217;d like to believe so, but you don&#8217;t see me trying to build my own computer processor or RAM in spite of the absurd amount of time I spent using computers every day.</p><p>So, yeah, this might be dumb. But I&#8217;m curious to see where it leads. If you are, too, follow along.</p><p>Maybe we&#8217;ll both be surprised.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.promptandcatchfire.com/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">Thanks for reading Prompt and Catch Fire! Subscribe for free to receive new posts and 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>]]></content:encoded></item></channel></rss>