<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Generative Programmer]]></title><description><![CDATA[For software builders: the emerging patterns in coding, architecture, and product development in the age of generative AI.]]></description><link>https://generativeprogrammer.com</link><image><url>https://substackcdn.com/image/fetch/$s_!HT3r!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b0115c7-9e59-47d2-8872-d18b6705c74c_256x256.png</url><title>The Generative Programmer</title><link>https://generativeprogrammer.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 01 May 2026 07:03:41 GMT</lastBuildDate><atom:link href="https://generativeprogrammer.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Bilgin Ibryam]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[generativeprogrammer@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[generativeprogrammer@substack.com]]></itunes:email><itunes:name><![CDATA[Bilgin Ibryam]]></itunes:name></itunes:owner><itunes:author><![CDATA[Bilgin Ibryam]]></itunes:author><googleplay:owner><![CDATA[generativeprogrammer@substack.com]]></googleplay:owner><googleplay:email><![CDATA[generativeprogrammer@substack.com]]></googleplay:email><googleplay:author><![CDATA[Bilgin Ibryam]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[12 MCP Patterns Behind Production Agents]]></title><description><![CDATA[A practical breakdown of the recurring design patterns behind real-world agent and mcp integrations.]]></description><link>https://generativeprogrammer.com/p/12-mcp-patterns-behind-production</link><guid isPermaLink="false">https://generativeprogrammer.com/p/12-mcp-patterns-behind-production</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sat, 25 Apr 2026 14:11:11 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/24153e2b-0e73-4f79-81e8-81d0193b4b7b_8408x4402.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A few weeks ago I pulled <a href="https://generativeprogrammer.com/p/12-agentic-harness-patterns-from">12 agentic harness patterns</a> from the Claude Code leak. Then I wrote about <a href="https://generativeprogrammer.com/p/skill-authoring-patterns-from-anthropics">14 patterns for authoring Skills</a>, the layer that extends the agent. Anthropic keeps dropping excellent posts where they share what they are learning from building and running agents in the real world. After reading the latest one, I could not resist doing the same thing again: study the recurring ideas, reformulate them as patterns, give each one a name, and support them with visuals that make the trade-offs easier to see.</p><p>This post goes one layer further out. Once an agent has a harness and a way to load Skills, the next question is more practical: how does it reach the production systems it needs to do real work?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ijrv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236f3485-2b21-427f-91ec-5ce611343b6b_5280x3300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ijrv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236f3485-2b21-427f-91ec-5ce611343b6b_5280x3300.png 424w, https://substackcdn.com/image/fetch/$s_!ijrv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236f3485-2b21-427f-91ec-5ce611343b6b_5280x3300.png 848w, https://substackcdn.com/image/fetch/$s_!ijrv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236f3485-2b21-427f-91ec-5ce611343b6b_5280x3300.png 1272w, https://substackcdn.com/image/fetch/$s_!ijrv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236f3485-2b21-427f-91ec-5ce611343b6b_5280x3300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ijrv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236f3485-2b21-427f-91ec-5ce611343b6b_5280x3300.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/236f3485-2b21-427f-91ec-5ce611343b6b_5280x3300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1159074,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236f3485-2b21-427f-91ec-5ce611343b6b_5280x3300.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_!ijrv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236f3485-2b21-427f-91ec-5ce611343b6b_5280x3300.png 424w, https://substackcdn.com/image/fetch/$s_!ijrv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236f3485-2b21-427f-91ec-5ce611343b6b_5280x3300.png 848w, https://substackcdn.com/image/fetch/$s_!ijrv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236f3485-2b21-427f-91ec-5ce611343b6b_5280x3300.png 1272w, https://substackcdn.com/image/fetch/$s_!ijrv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236f3485-2b21-427f-91ec-5ce611343b6b_5280x3300.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">12 MCP Integration Patterns from Anthropic</figcaption></figure></div><p>Anthropic&#8217;s post, <a href="https://claude.com/blog/building-agents-that-reach-production-systems-with-mcp">Building agents that reach production systems with MCP</a>, is about exactly that. It compares direct API calls, CLIs, and MCP, then explains why production agents increasingly land on MCP: agents are moving to the cloud, the systems they need are remote, and auth, discovery, and rich interaction need a common layer. Anthropic says they are seeing this across more than 200 MCP servers, millions of daily Claude users, and fast-growing MCP SDK usage.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/p/12-mcp-patterns-behind-production?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://generativeprogrammer.com/p/12-mcp-patterns-behind-production?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>The original post is written as practical guidance for MCP servers and clients. I am taking a slightly different angle: the pattern view. What are the reusable shapes behind the advice? What problems do they solve? When should you use them? And what are the trade-offs? I see 12 core patterns spread across five groups.</p><h2><strong>Tool surface</strong></h2><p>The shape of your tool set is the first architectural choice, and it is rarely &#8220;one tool per endpoint.&#8221; Three default moves cover the span from small services to hundreds-of-endpoints monsters.</p><h3><strong>1. Remote-First Server Pattern</strong></h3><p>The first foundational architectural choice for an MCP server is where it runs.</p><p>Local MCP servers over stdio work only when the agent can spawn a child process on the same machine: desktop Claude, local IDE agents, and some CLIs. That excludes agents running in browsers, mobile apps, or cloud execution environments, which is where most production agent traffic is heading.</p><p>Build the server as a remote HTTP endpoint from day one, not as a local-only module the team might &#8220;put on the network later&#8221;. Every other production concern in this post (auth, elicitation, discovery) assumes the server is reachable over the network. A local-only server has to rebuild each of those the moment it needs to scale beyond the local machine.</p><p>Remote-first also makes distribution portable. One server, one auth flow, many clients. No per-client bundle to ship, no machine-level install to maintain.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ETOA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ce50a1-6753-4eea-ad60-fa84c98f925e_4520x1640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ETOA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ce50a1-6753-4eea-ad60-fa84c98f925e_4520x1640.png 424w, https://substackcdn.com/image/fetch/$s_!ETOA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ce50a1-6753-4eea-ad60-fa84c98f925e_4520x1640.png 848w, https://substackcdn.com/image/fetch/$s_!ETOA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ce50a1-6753-4eea-ad60-fa84c98f925e_4520x1640.png 1272w, https://substackcdn.com/image/fetch/$s_!ETOA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ce50a1-6753-4eea-ad60-fa84c98f925e_4520x1640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ETOA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ce50a1-6753-4eea-ad60-fa84c98f925e_4520x1640.png" width="1456" height="528" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1ce50a1-6753-4eea-ad60-fa84c98f925e_4520x1640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:528,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:198552,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ce50a1-6753-4eea-ad60-fa84c98f925e_4520x1640.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_!ETOA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ce50a1-6753-4eea-ad60-fa84c98f925e_4520x1640.png 424w, https://substackcdn.com/image/fetch/$s_!ETOA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ce50a1-6753-4eea-ad60-fa84c98f925e_4520x1640.png 848w, https://substackcdn.com/image/fetch/$s_!ETOA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ce50a1-6753-4eea-ad60-fa84c98f925e_4520x1640.png 1272w, https://substackcdn.com/image/fetch/$s_!ETOA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ce50a1-6753-4eea-ad60-fa84c98f925e_4520x1640.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><strong>When to use.</strong> Any time the agent on the other side might not run on the same machine as the server. In practice, this is the default for most production integrations.</p><p><strong>The main trade-off.</strong> Network transport raises the bar on reliability, latency budgeting, and auth. You have to engineer a public surface where a local process would have been enough, and you carry the operational weight of every internet-facing service.</p><h3><strong>2. Intent-Grouped Tools Pattern</strong></h3><p>This is probably the most common MCP server design mistake: exposing one tool per API endpoint. It feels like the fastest and most faithful implementation, but it creates the wrong interface for agents.</p><p>The agent does not think in API endpoints. It thinks in tasks. A 1:1 API wrapper leaves the agent assembling long chains of primitives. More tool definitions in context, more round-trips per task, more ways to get the chain wrong.</p><p>Group tools around user intent, not around the endpoints they happen to hit. </p><p>A single <code>create_issue_from_thread</code> tool is better than </p><p><code>get_thread</code> + <code>parse_messages</code> + <code>create_issue</code> + <code>link_attachment</code>. </p><p>The agent goes from a four-call chain to a one-call intent, and each intent is something a human reviewer can reason about directly.</p><p>The implication is that your MCP server is not a proxy. It is a new surface. Expect to write wrapper tools that compose multiple endpoints, normalise half-formed IDs, retry on rate-limited calls, and return the output the agent will actually use, not the output the endpoint happened to produce. Anthropic has a <a href="https://www.anthropic.com/engineering/writing-tools-for-agents">companion post on writing effective tools</a> that covers the craft details.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7GOT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f629a4f-ff2d-4050-994e-ca3526d99c93_3180x2200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7GOT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f629a4f-ff2d-4050-994e-ca3526d99c93_3180x2200.png 424w, https://substackcdn.com/image/fetch/$s_!7GOT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f629a4f-ff2d-4050-994e-ca3526d99c93_3180x2200.png 848w, https://substackcdn.com/image/fetch/$s_!7GOT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f629a4f-ff2d-4050-994e-ca3526d99c93_3180x2200.png 1272w, https://substackcdn.com/image/fetch/$s_!7GOT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f629a4f-ff2d-4050-994e-ca3526d99c93_3180x2200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7GOT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f629a4f-ff2d-4050-994e-ca3526d99c93_3180x2200.png" width="1456" height="1007" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f629a4f-ff2d-4050-994e-ca3526d99c93_3180x2200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1007,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:176377,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f629a4f-ff2d-4050-994e-ca3526d99c93_3180x2200.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_!7GOT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f629a4f-ff2d-4050-994e-ca3526d99c93_3180x2200.png 424w, https://substackcdn.com/image/fetch/$s_!7GOT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f629a4f-ff2d-4050-994e-ca3526d99c93_3180x2200.png 848w, https://substackcdn.com/image/fetch/$s_!7GOT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f629a4f-ff2d-4050-994e-ca3526d99c93_3180x2200.png 1272w, https://substackcdn.com/image/fetch/$s_!7GOT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f629a4f-ff2d-4050-994e-ca3526d99c93_3180x2200.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><strong>When to use.</strong> Default for any service with roughly fifty or fewer tools. When you find yourself inventing a fifth parameter to keep tool count down, you have probably outgrown this pattern.</p><p><strong>The main trade-off.</strong> Every new intent is new code on your side, not a schema export. The server stops being a thin translation layer and becomes a product surface you have to design, test, and version.</p><h3><strong>3. Thin Surface Pattern</strong></h3><p>Some services have hundreds, sometimes thousands, of operations: Cloudflare, AWS, Kubernetes. Even grouped by intent, the full toolset blows past what fits in context, and any given agent task touches only a sliver of it.</p><p>Drop the intent-grouped model and expose a deliberately thin surface that accepts code. Two tools suffice: a <code>search</code> tool that lets the agent find the right API operation, and an <code>execute</code> tool that runs a short script written by the agent against the underlying API in a server-side sandbox. Only the result returns to the model.</p><p><a href="https://github.com/cloudflare/mcp">Cloudflare&#8217;s MCP server</a> is the reference implementation: two tools cover roughly 2,500 endpoints in about 1,000 tokens of definitions. The agent gets the full expressive power of the API without paying to have every operation described upfront. The sandbox contains the blast radius. Scripts cannot reach past what the server hands them. This pattern compounds with <a href="https://platform.claude.com/docs/en/agents-and-tools/tool-use/programmatic-tool-calling">Programmatic Tool Calling</a> on the client side: the client processes results in its sandbox, the server executes calls in its sandbox, and raw data never needs to reach the model.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nYm-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84159d1f-fc6d-4388-9639-341b4cc0614d_4360x2200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nYm-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84159d1f-fc6d-4388-9639-341b4cc0614d_4360x2200.png 424w, https://substackcdn.com/image/fetch/$s_!nYm-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84159d1f-fc6d-4388-9639-341b4cc0614d_4360x2200.png 848w, https://substackcdn.com/image/fetch/$s_!nYm-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84159d1f-fc6d-4388-9639-341b4cc0614d_4360x2200.png 1272w, https://substackcdn.com/image/fetch/$s_!nYm-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84159d1f-fc6d-4388-9639-341b4cc0614d_4360x2200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nYm-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84159d1f-fc6d-4388-9639-341b4cc0614d_4360x2200.png" width="1456" height="735" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84159d1f-fc6d-4388-9639-341b4cc0614d_4360x2200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:735,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:158990,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84159d1f-fc6d-4388-9639-341b4cc0614d_4360x2200.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_!nYm-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84159d1f-fc6d-4388-9639-341b4cc0614d_4360x2200.png 424w, https://substackcdn.com/image/fetch/$s_!nYm-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84159d1f-fc6d-4388-9639-341b4cc0614d_4360x2200.png 848w, https://substackcdn.com/image/fetch/$s_!nYm-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84159d1f-fc6d-4388-9639-341b4cc0614d_4360x2200.png 1272w, https://substackcdn.com/image/fetch/$s_!nYm-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84159d1f-fc6d-4388-9639-341b4cc0614d_4360x2200.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><strong>When to use.</strong> When an intent-grouped surface would need more than roughly thirty to fifty tools to be useful, or when the underlying service is API-shaped (Cloudflare, AWS) rather than intent-shaped (Linear, Slack).</p><p><strong>The main trade-off.</strong> You inherit sandbox operations. Script isolation, resource limits, timeout policies, and API-key handling inside the sandbox are all your problem. The agent has more power, which means you have more to defend.</p><h2><strong>Interaction Semantics</strong></h2><p>A tool that only returns text pushes the UI problem to the model. That is fine for small answers, but a poor fit for dashboards, tables, forms, previews, confirmations, and anything else the user needs to inspect or act on.</p><p>MCP adds interaction primitives that let the server take back some of that responsibility. Instead of asking the model to describe everything in prose, the server can return UI, ask for structured input, or hand the user to an external flow when needed.</p><h3><strong>4. Inline UI Pattern</strong></h3><p>A tool that returns a wall of JSON leaves the user reading compressed prose about their own data. For anything dashboard-shaped, such as charts, tables, forms, and interactive confirmations, the agent is the wrong rendering layer.</p><p>Ship UI with the tool response. <a href="https://modelcontextprotocol.io/extensions/apps/overview">MCP Apps</a> let the server return an interactive interface that the client renders inline in chat: charts, forms, dashboards, and mini-views built from your product&#8217;s real components.</p><p>The bar is not &#8220;build a full web app.&#8221; The bar is simpler: if the tool&#8217;s result is something a user wants to look at rather than hear described, return a view, not a paragraph. Your product&#8217;s design system is more readable than any Markdown the model can synthesise.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YQge!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7ca77e-ecde-4348-b1d9-462b1616ddc0_4520x1700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YQge!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7ca77e-ecde-4348-b1d9-462b1616ddc0_4520x1700.png 424w, https://substackcdn.com/image/fetch/$s_!YQge!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7ca77e-ecde-4348-b1d9-462b1616ddc0_4520x1700.png 848w, https://substackcdn.com/image/fetch/$s_!YQge!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7ca77e-ecde-4348-b1d9-462b1616ddc0_4520x1700.png 1272w, https://substackcdn.com/image/fetch/$s_!YQge!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7ca77e-ecde-4348-b1d9-462b1616ddc0_4520x1700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YQge!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7ca77e-ecde-4348-b1d9-462b1616ddc0_4520x1700.png" width="1456" height="548" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b7ca77e-ecde-4348-b1d9-462b1616ddc0_4520x1700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:548,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:181570,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7ca77e-ecde-4348-b1d9-462b1616ddc0_4520x1700.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_!YQge!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7ca77e-ecde-4348-b1d9-462b1616ddc0_4520x1700.png 424w, https://substackcdn.com/image/fetch/$s_!YQge!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7ca77e-ecde-4348-b1d9-462b1616ddc0_4520x1700.png 848w, https://substackcdn.com/image/fetch/$s_!YQge!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7ca77e-ecde-4348-b1d9-462b1616ddc0_4520x1700.png 1272w, https://substackcdn.com/image/fetch/$s_!YQge!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7ca77e-ecde-4348-b1d9-462b1616ddc0_4520x1700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><strong>When to use.</strong> Any tool whose output is fundamentally visual or tabular: search results, dashboards, file previews, status views.</p><p><strong>The main trade-off.</strong> You now ship UI alongside your API, which means component versioning, accessibility, and design review. The MCP server is no longer backend-only.</p><h3><strong>5. Elicited Input Pattern</strong></h3><p>Agents hit real-world ambiguity constantly: missing parameters, destructive actions that need confirmation, multiple matches that need disambiguation. The usual fallback is to guess, or to ask the user to restart the conversation with more detail. Both cost trust.</p><p>Pause the tool call and ask the user directly. MCP elicitation, specifically <a href="https://modelcontextprotocol.io/specification/2025-11-25/client/elicitation#form-mode-elicitation-requests">Form Mode</a>, lets the server return a form schema mid-call. The client renders it natively. The user fills it. Control returns to the server, and the tool completes.</p><p>This keeps the user in the flow instead of sending them back to model output with &#8220;please specify the region.&#8221; The agent&#8217;s job stays the same; the server gets to be honest about what it does not yet know.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H89C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1c1dd-b685-423f-8871-df2f8864614f_4400x1420.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H89C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1c1dd-b685-423f-8871-df2f8864614f_4400x1420.png 424w, https://substackcdn.com/image/fetch/$s_!H89C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1c1dd-b685-423f-8871-df2f8864614f_4400x1420.png 848w, https://substackcdn.com/image/fetch/$s_!H89C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1c1dd-b685-423f-8871-df2f8864614f_4400x1420.png 1272w, https://substackcdn.com/image/fetch/$s_!H89C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1c1dd-b685-423f-8871-df2f8864614f_4400x1420.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H89C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1c1dd-b685-423f-8871-df2f8864614f_4400x1420.png" width="1456" height="470" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a4e1c1dd-b685-423f-8871-df2f8864614f_4400x1420.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:470,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:124565,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1c1dd-b685-423f-8871-df2f8864614f_4400x1420.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_!H89C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1c1dd-b685-423f-8871-df2f8864614f_4400x1420.png 424w, https://substackcdn.com/image/fetch/$s_!H89C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1c1dd-b685-423f-8871-df2f8864614f_4400x1420.png 848w, https://substackcdn.com/image/fetch/$s_!H89C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1c1dd-b685-423f-8871-df2f8864614f_4400x1420.png 1272w, https://substackcdn.com/image/fetch/$s_!H89C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1c1dd-b685-423f-8871-df2f8864614f_4400x1420.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><strong>When to use.</strong> When the missing information is structured, such as a region, an ID, or a confirmation, and the user is the only source of truth.</p><p><strong>The main trade-off.</strong> Every elicitation is a UX moment your server now owns. Poor form design turns a helpful pause into an annoying interrogation, and the pattern is untested in headless or batch agents where no human is available to fill it.</p><h3><strong>6. External Handoff Pattern</strong></h3><p>Some steps should never transit the MCP client at all. Downstream OAuth against a third party, taking a payment, collecting a credential that the agent&#8217;s context window must not see. If the client sees it, your threat model just widened.</p><p>This is not for authorizing the MCP client to access the MCP server. That belongs to MCP authorization. URL Mode is for sensitive downstream flows the server needs to complete on the user&#8217;s behalf.</p><p>Hand the user to a browser URL with <a href="https://modelcontextprotocol.io/specification/2025-11-25/client/elicitation#url-mode-elicitation-requests">URL-Mode elicitation</a>. The server returns a link; the client opens it in the user&#8217;s browser; the user completes the sensitive flow out-of-band; control returns to the server once it is done. The MCP client never sees the secret. This is the right shape for downstream OAuth, payments, or any credential that should never transit the MCP client.</p><p>The distinguishing question between this and Form-Mode elicitation is <em>where the secret lives after the interaction</em>. Data the server can legitimately hold goes to Form Mode. Data a third party should hold goes to URL Mode.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PDy8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f427380-90e3-4c24-adff-d8c0cf90cca4_4520x1948.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PDy8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f427380-90e3-4c24-adff-d8c0cf90cca4_4520x1948.png 424w, https://substackcdn.com/image/fetch/$s_!PDy8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f427380-90e3-4c24-adff-d8c0cf90cca4_4520x1948.png 848w, https://substackcdn.com/image/fetch/$s_!PDy8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f427380-90e3-4c24-adff-d8c0cf90cca4_4520x1948.png 1272w, https://substackcdn.com/image/fetch/$s_!PDy8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f427380-90e3-4c24-adff-d8c0cf90cca4_4520x1948.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PDy8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f427380-90e3-4c24-adff-d8c0cf90cca4_4520x1948.png" width="1456" height="627" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f427380-90e3-4c24-adff-d8c0cf90cca4_4520x1948.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:627,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:141356,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f427380-90e3-4c24-adff-d8c0cf90cca4_4520x1948.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_!PDy8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f427380-90e3-4c24-adff-d8c0cf90cca4_4520x1948.png 424w, https://substackcdn.com/image/fetch/$s_!PDy8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f427380-90e3-4c24-adff-d8c0cf90cca4_4520x1948.png 848w, https://substackcdn.com/image/fetch/$s_!PDy8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f427380-90e3-4c24-adff-d8c0cf90cca4_4520x1948.png 1272w, https://substackcdn.com/image/fetch/$s_!PDy8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f427380-90e3-4c24-adff-d8c0cf90cca4_4520x1948.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><strong>When to use.</strong> Third-party OAuth flows, payments, and anything governed by compliance rules that say the credential never hits your infrastructure.</p><p><strong>The main trade-off.</strong> The user leaves the agent interface. Every handoff is a chance for them to drop off, and you have to design resume-after-redirect cleanly.</p><h2><strong>Auth and Credential Flow</strong></h2><p>Production agents run in the cloud, against systems protected by OAuth. Two patterns replace custom per-server authentication with standard plumbing.</p><h3><strong>7. Discoverable Auth Pattern</strong></h3><p>Every MCP server that invents its own auth adds friction at install time: configuration screens, token pastes, stale credentials. First-time failure rates climb, and re-auth prompts wear users down.</p><p>Publish and support standard OAuth metadata so the client can discover how authentication should work. For client registration, MCP supports <a href="https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization#client-id-metadata-documents">Client ID Metadata Documents</a>: the client uses an HTTPS URL as its <code>client_id</code>, and that URL points to a JSON document describing the client, its redirect URIs, and related metadata.</p><p>The practical effect: a user adds the server, the client discovers the auth flow, OAuth starts with the right client metadata, and the user does not have to paste tokens or manually configure client IDs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hycv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8633ef-af10-49bf-b3d2-7b9fbc4e0368_5100x2760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hycv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8633ef-af10-49bf-b3d2-7b9fbc4e0368_5100x2760.png 424w, https://substackcdn.com/image/fetch/$s_!Hycv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8633ef-af10-49bf-b3d2-7b9fbc4e0368_5100x2760.png 848w, https://substackcdn.com/image/fetch/$s_!Hycv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8633ef-af10-49bf-b3d2-7b9fbc4e0368_5100x2760.png 1272w, https://substackcdn.com/image/fetch/$s_!Hycv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8633ef-af10-49bf-b3d2-7b9fbc4e0368_5100x2760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hycv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8633ef-af10-49bf-b3d2-7b9fbc4e0368_5100x2760.png" width="1456" height="788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c8633ef-af10-49bf-b3d2-7b9fbc4e0368_5100x2760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:788,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:238705,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8633ef-af10-49bf-b3d2-7b9fbc4e0368_5100x2760.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_!Hycv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8633ef-af10-49bf-b3d2-7b9fbc4e0368_5100x2760.png 424w, https://substackcdn.com/image/fetch/$s_!Hycv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8633ef-af10-49bf-b3d2-7b9fbc4e0368_5100x2760.png 848w, https://substackcdn.com/image/fetch/$s_!Hycv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8633ef-af10-49bf-b3d2-7b9fbc4e0368_5100x2760.png 1272w, https://substackcdn.com/image/fetch/$s_!Hycv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8633ef-af10-49bf-b3d2-7b9fbc4e0368_5100x2760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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></p><p><strong>When to use.</strong> Every production MCP server with user-scoped data. It is not optional if the goal is cross-client adoption.</p><p><strong>The main trade-off.</strong> You are committing to standard OAuth behavior rather than a shortcut that works only for your own client. That means metadata endpoints, scope discipline, redirect URI validation, token validation, and the operational discipline to keep the flow working across clients.</p><h3><strong>8. Vault-Held Credentials Pattern</strong></h3><p>Even with discoverable auth, OAuth tokens still need a home. If every MCP server handles tokens directly, every integration ends up rebuilding the same secret store, refresh loop, rotation policy, and revocation path.</p><p>Offload token lifecycle to a platform <a href="https://platform.claude.com/docs/en/managed-agents/vaults#mcp-oauth-credential">vault</a>. In Claude Managed Agents, OAuth credentials can be registered once, referenced by vault ID at session creation, and injected into the right MCP connections by the platform.</p><p>The practical effect: the MCP server does not need to receive tokens in tool calls or implement its own token storage. Refresh, revocation, and credential handling move one layer up.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zXhp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3a247-e5b8-4444-81b9-e7b130f67ebd_4520x1960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zXhp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3a247-e5b8-4444-81b9-e7b130f67ebd_4520x1960.png 424w, https://substackcdn.com/image/fetch/$s_!zXhp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3a247-e5b8-4444-81b9-e7b130f67ebd_4520x1960.png 848w, https://substackcdn.com/image/fetch/$s_!zXhp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3a247-e5b8-4444-81b9-e7b130f67ebd_4520x1960.png 1272w, https://substackcdn.com/image/fetch/$s_!zXhp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3a247-e5b8-4444-81b9-e7b130f67ebd_4520x1960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zXhp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3a247-e5b8-4444-81b9-e7b130f67ebd_4520x1960.png" width="1456" height="631" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4f3a247-e5b8-4444-81b9-e7b130f67ebd_4520x1960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:631,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154499,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3a247-e5b8-4444-81b9-e7b130f67ebd_4520x1960.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_!zXhp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3a247-e5b8-4444-81b9-e7b130f67ebd_4520x1960.png 424w, https://substackcdn.com/image/fetch/$s_!zXhp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3a247-e5b8-4444-81b9-e7b130f67ebd_4520x1960.png 848w, https://substackcdn.com/image/fetch/$s_!zXhp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3a247-e5b8-4444-81b9-e7b130f67ebd_4520x1960.png 1272w, https://substackcdn.com/image/fetch/$s_!zXhp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3a247-e5b8-4444-81b9-e7b130f67ebd_4520x1960.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><strong>When to use.</strong> Whenever you are shipping on a managed-agent platform that offers a vault. At a minimum, design your server so that credentials could be injected from one. Do not bake token handling into tool calls.</p><p><strong>The main trade-off.</strong> You are trusting a platform vault with production credentials. Its uptime, security posture, and export policy become part of your production story. Self-hosted servers outside a managed platform have to rebuild the pattern themselves.</p><h2><strong>Context Economy</strong></h2><p>The agent&#8217;s context window is finite. Two client-side patterns keep it lean even when the tool population and tool results are large.</p><h3><strong>9. On-Demand Tool Loading Pattern</strong></h3><p>A client connected to several MCP servers can easily have hundreds of tool definitions in play. Loading all of them upfront blows the context budget before the first tool even fires.</p><p>Load tool definitions lazily through a tool-search meta-tool. The agent searches for tools by description; only matching definitions are loaded into context; everything else stays out. Tool search can cut tool-definition tokens significantly while maintaining high selection accuracy (<a href="https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool">docs</a>).</p><p>This is the client-side complement to Intent-Grouped Tools and Thin Surface on the server side. Good server design keeps the total tool count manageable. Good client design keeps only the needed subset in context.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6ooc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52391048-661c-4a46-8c79-f30d2a53f982_4200x2180.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6ooc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52391048-661c-4a46-8c79-f30d2a53f982_4200x2180.png 424w, https://substackcdn.com/image/fetch/$s_!6ooc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52391048-661c-4a46-8c79-f30d2a53f982_4200x2180.png 848w, https://substackcdn.com/image/fetch/$s_!6ooc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52391048-661c-4a46-8c79-f30d2a53f982_4200x2180.png 1272w, https://substackcdn.com/image/fetch/$s_!6ooc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52391048-661c-4a46-8c79-f30d2a53f982_4200x2180.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6ooc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52391048-661c-4a46-8c79-f30d2a53f982_4200x2180.png" width="1456" height="756" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52391048-661c-4a46-8c79-f30d2a53f982_4200x2180.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:756,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:239297,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52391048-661c-4a46-8c79-f30d2a53f982_4200x2180.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_!6ooc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52391048-661c-4a46-8c79-f30d2a53f982_4200x2180.png 424w, https://substackcdn.com/image/fetch/$s_!6ooc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52391048-661c-4a46-8c79-f30d2a53f982_4200x2180.png 848w, https://substackcdn.com/image/fetch/$s_!6ooc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52391048-661c-4a46-8c79-f30d2a53f982_4200x2180.png 1272w, https://substackcdn.com/image/fetch/$s_!6ooc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52391048-661c-4a46-8c79-f30d2a53f982_4200x2180.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><strong>When to use.</strong> Any agent with more than a handful of tool sources, or any cross-cutting task that might touch tools from several MCP servers.</p><p><strong>The main trade-off.</strong> The search step adds a round-trip and depends on description quality. Tools with vague descriptions will not surface when they should, and the cost of a miss is the agent picking a neighbouring tool that looks close.</p><h3><strong>10. Programmatic Tool Calling Pattern</strong></h3><p>Tool results, such as long lists, nested JSON, logs, traces, or large document payloads, often land in the model&#8217;s context window raw. The agent pays tokens to read them, even when the task is only to filter, count, aggregate, or join the data.</p><p>Process tool results in a code-execution sandbox before they reach the model. <a href="https://platform.claude.com/docs/en/agents-and-tools/tool-use/programmatic-tool-calling">Programmatic tool calling</a> lets the agent loop, filter, and aggregate across calls in code, with only the final useful output entering context. The same idea is described in more detail in the engineering post on <a href="https://www.anthropic.com/engineering/code-execution-with-mcp">code execution with MCP</a>.</p><p>This cuts token usage on complex multi-step workflows and compounds with On-Demand Tool Loading. Fewer tool definitions go in, less raw data comes back, and the model reasons over the result rather than the full payload.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-jXg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89adc740-4942-412a-841e-ce69e0b04d7e_4360x1760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-jXg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89adc740-4942-412a-841e-ce69e0b04d7e_4360x1760.png 424w, https://substackcdn.com/image/fetch/$s_!-jXg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89adc740-4942-412a-841e-ce69e0b04d7e_4360x1760.png 848w, https://substackcdn.com/image/fetch/$s_!-jXg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89adc740-4942-412a-841e-ce69e0b04d7e_4360x1760.png 1272w, https://substackcdn.com/image/fetch/$s_!-jXg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89adc740-4942-412a-841e-ce69e0b04d7e_4360x1760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-jXg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89adc740-4942-412a-841e-ce69e0b04d7e_4360x1760.png" width="1456" height="588" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89adc740-4942-412a-841e-ce69e0b04d7e_4360x1760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:588,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:157566,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89adc740-4942-412a-841e-ce69e0b04d7e_4360x1760.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_!-jXg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89adc740-4942-412a-841e-ce69e0b04d7e_4360x1760.png 424w, https://substackcdn.com/image/fetch/$s_!-jXg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89adc740-4942-412a-841e-ce69e0b04d7e_4360x1760.png 848w, https://substackcdn.com/image/fetch/$s_!-jXg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89adc740-4942-412a-841e-ce69e0b04d7e_4360x1760.png 1272w, https://substackcdn.com/image/fetch/$s_!-jXg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89adc740-4942-412a-841e-ce69e0b04d7e_4360x1760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><strong>When to use.</strong> Multi-step workflows that chain several tool calls and transform results before the model needs to see them.</p><p><strong>The main trade-off.</strong> You need a sandbox environment, sandbox debugging, and a mental model that includes code the agent writes against your results. Simple single-call tools do not benefit.</p><h2><strong>Packaging and Distribution</strong></h2><p>A server on its own is rarely the whole integration. Two patterns ship servers with the skills, hooks, and subagents that make them useful.</p><h3><strong>11. Plugin Bundle Pattern</strong></h3><p>A real integration rarely ships as a single MCP server. It is usually an MCP server plus a Skill that teaches the agent how to use it, a subagent for specialised work, and hooks for lifecycle events. Distributing them separately creates configuration drift and version skew.</p><p>In Claude Code, ship them as one plugin. <a href="https://code.claude.com/docs/en/plugins-reference#plugin-components-reference">Plugins</a> bundle Skills, MCP servers, hooks, LSP servers, and specialised subagents into one distribution unit. One install, one version, one name.</p><p>The <a href="https://claude.ai/directory/plugins/data%40knowledge-work-plugins">data plugin for Cowork</a> is a good reference example: 10 Skills and 8 MCP servers covering Snowflake, Databricks, BigQuery, Hex, and more, installable as a unit.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VcKf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3262c44-a1ca-4648-b226-0b846237d282_4360x2060.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VcKf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3262c44-a1ca-4648-b226-0b846237d282_4360x2060.png 424w, https://substackcdn.com/image/fetch/$s_!VcKf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3262c44-a1ca-4648-b226-0b846237d282_4360x2060.png 848w, https://substackcdn.com/image/fetch/$s_!VcKf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3262c44-a1ca-4648-b226-0b846237d282_4360x2060.png 1272w, https://substackcdn.com/image/fetch/$s_!VcKf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3262c44-a1ca-4648-b226-0b846237d282_4360x2060.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VcKf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3262c44-a1ca-4648-b226-0b846237d282_4360x2060.png" width="1456" height="688" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3262c44-a1ca-4648-b226-0b846237d282_4360x2060.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:688,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:212253,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3262c44-a1ca-4648-b226-0b846237d282_4360x2060.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_!VcKf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3262c44-a1ca-4648-b226-0b846237d282_4360x2060.png 424w, https://substackcdn.com/image/fetch/$s_!VcKf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3262c44-a1ca-4648-b226-0b846237d282_4360x2060.png 848w, https://substackcdn.com/image/fetch/$s_!VcKf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3262c44-a1ca-4648-b226-0b846237d282_4360x2060.png 1272w, https://substackcdn.com/image/fetch/$s_!VcKf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3262c44-a1ca-4648-b226-0b846237d282_4360x2060.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><strong>When to use.</strong> Whenever your integration needs more than a bare MCP server to be genuinely useful, which in practice is most real-world integrations.</p><p><strong>The main trade-off.</strong> Bundling couples release cadences. An update to any component ships the whole plugin, and teams with independent release cycles per component will feel the drag.</p><h3><strong>12. Server-Distributed Skills Pattern</strong></h3><p>An MCP server gives the agent access to tools, but access is not the same as expertise. The server provider usually knows the best workflows, safe sequences, common mistakes, and domain-specific conventions. Without a way to share that knowledge, each client has to rediscover it, and each agent has to improvise.</p><p>Ship Skills from the MCP server itself. The client gets both the raw tool access and the procedural knowledge for using those tools well. In practice, the server does not only expose capabilities; it also ships the playbook for using them. Canva, Notion, and Sentry already do this in Claude today.</p><p>The MCP community is working on a portable <a href="https://github.com/modelcontextprotocol/experimental-ext-skills">extension</a> so that Skill delivery can work across compliant clients, versioned with the API the Skill depends on. Today the pattern is client-specific; the experimental extension makes it protocol-level.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FTp3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F765b9778-fc1d-43ac-9d0e-1a707361c4c4_4840x1980.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FTp3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F765b9778-fc1d-43ac-9d0e-1a707361c4c4_4840x1980.png 424w, https://substackcdn.com/image/fetch/$s_!FTp3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F765b9778-fc1d-43ac-9d0e-1a707361c4c4_4840x1980.png 848w, https://substackcdn.com/image/fetch/$s_!FTp3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F765b9778-fc1d-43ac-9d0e-1a707361c4c4_4840x1980.png 1272w, https://substackcdn.com/image/fetch/$s_!FTp3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F765b9778-fc1d-43ac-9d0e-1a707361c4c4_4840x1980.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FTp3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F765b9778-fc1d-43ac-9d0e-1a707361c4c4_4840x1980.png" width="1456" height="596" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/765b9778-fc1d-43ac-9d0e-1a707361c4c4_4840x1980.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:596,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:193441,&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://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F765b9778-fc1d-43ac-9d0e-1a707361c4c4_4840x1980.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_!FTp3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F765b9778-fc1d-43ac-9d0e-1a707361c4c4_4840x1980.png 424w, https://substackcdn.com/image/fetch/$s_!FTp3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F765b9778-fc1d-43ac-9d0e-1a707361c4c4_4840x1980.png 848w, https://substackcdn.com/image/fetch/$s_!FTp3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F765b9778-fc1d-43ac-9d0e-1a707361c4c4_4840x1980.png 1272w, https://substackcdn.com/image/fetch/$s_!FTp3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F765b9778-fc1d-43ac-9d0e-1a707361c4c4_4840x1980.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><strong>When to use.</strong> When your MCP server wraps a surface rich enough that &#8220;how to use it well&#8221; is a real Skill, not a one-paragraph hint.</p><p><strong>The main trade-off.</strong> Experimental today. Early adopters of portable server-distributed Skills commit to spec changes; sitting out means losing the adoption advantage that comes with shipping expertise alongside capabilities.</p><h2><strong>The takeaway</strong></h2><p>These patterns are not only about MCP as a protocol. They show the shape production agent integrations are starting to take:</p><ul><li><p><strong>MCP servers are becoming agent-facing product surfaces.</strong> The useful ones expose intent-based tools, not endpoint mirrors. They hide API choreography, return agent-ready outputs, and sometimes return UI instead of prose.</p></li><li><p><strong>Interaction is moving beyond text.</strong> The server can ask for structured input, request confirmation, show inline UI, or hand the user to an external flow when secrets, payments, or third-party auth are involved.</p></li><li><p><strong>Auth is becoming standard plumbing.</strong> Discoverable OAuth flows and vault-held credentials move production agents away from custom token handling inside every tool call.</p></li><li><p><strong>Context is now an architectural constraint.</strong> Tool definitions need on-demand loading, and large tool results need filtering, joining, and aggregation before they hit the model. Otherwise, the context window becomes the bottleneck.</p></li><li><p><strong>Distribution is becoming richer than &#8220;ship an MCP server.&#8221;</strong> Real integrations include servers, Skills, hooks, subagents, and product-specific playbooks. The raw capability matters, but the instructions for using it well matter just as much.</p></li></ul><p>Some of these extensions are still early, and the patterns will keep evolving. But they are already visible in real MCP usage, and several are gaining traction across production servers and clients. That is why they are worth naming.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!csJd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93818b36-e55f-41aa-b4d2-b4e4ef42d797_4896x1316.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!csJd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93818b36-e55f-41aa-b4d2-b4e4ef42d797_4896x1316.png 424w, https://substackcdn.com/image/fetch/$s_!csJd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93818b36-e55f-41aa-b4d2-b4e4ef42d797_4896x1316.png 848w, https://substackcdn.com/image/fetch/$s_!csJd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93818b36-e55f-41aa-b4d2-b4e4ef42d797_4896x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!csJd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93818b36-e55f-41aa-b4d2-b4e4ef42d797_4896x1316.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!csJd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93818b36-e55f-41aa-b4d2-b4e4ef42d797_4896x1316.png" width="1456" height="391" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93818b36-e55f-41aa-b4d2-b4e4ef42d797_4896x1316.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:391,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:847811,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/195426893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93818b36-e55f-41aa-b4d2-b4e4ef42d797_4896x1316.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!csJd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93818b36-e55f-41aa-b4d2-b4e4ef42d797_4896x1316.png 424w, https://substackcdn.com/image/fetch/$s_!csJd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93818b36-e55f-41aa-b4d2-b4e4ef42d797_4896x1316.png 848w, https://substackcdn.com/image/fetch/$s_!csJd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93818b36-e55f-41aa-b4d2-b4e4ef42d797_4896x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!csJd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93818b36-e55f-41aa-b4d2-b4e4ef42d797_4896x1316.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>If you want to read the earlier parts of this series, start with these two posts:</p><ul><li><p><a href="https://generativeprogrammer.com/p/12-agentic-harness-patterns-from">12 Agentic Harness Patterns from Claude Code</a></p></li><li><p><a href="https://generativeprogrammer.com/p/skill-authoring-patterns-from-anthropics">Skill Authoring Patterns from Anthropic&#8217;s Best Practices</a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Skill Authoring Patterns from Anthropic’s Best Practices]]></title><description><![CDATA[A practical breakdown of the recurring design patterns behind effective Claude Skills, from activation metadata to executable helpers.]]></description><link>https://generativeprogrammer.com/p/skill-authoring-patterns-from-anthropics</link><guid isPermaLink="false">https://generativeprogrammer.com/p/skill-authoring-patterns-from-anthropics</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sun, 19 Apr 2026 00:15:01 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e81de257-b636-429e-989a-9f09ccccb334_4108x2292.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My <a href="https://generativeprogrammer.com/p/12-agentic-harness-patterns-from">previous post</a> pulled 12 patterns from the Claude Code harness itself, how the agent works under the hood. This one looks one layer up: when you author a Skill to extend Claude, what patterns recur?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fq1M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd771ce-e301-40d9-9341-40e07ceefe40_2688x3576.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fq1M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd771ce-e301-40d9-9341-40e07ceefe40_2688x3576.png 424w, https://substackcdn.com/image/fetch/$s_!Fq1M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd771ce-e301-40d9-9341-40e07ceefe40_2688x3576.png 848w, https://substackcdn.com/image/fetch/$s_!Fq1M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd771ce-e301-40d9-9341-40e07ceefe40_2688x3576.png 1272w, https://substackcdn.com/image/fetch/$s_!Fq1M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd771ce-e301-40d9-9341-40e07ceefe40_2688x3576.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fq1M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd771ce-e301-40d9-9341-40e07ceefe40_2688x3576.png" width="1456" height="1937" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dbd771ce-e301-40d9-9341-40e07ceefe40_2688x3576.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1937,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1098577,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd771ce-e301-40d9-9341-40e07ceefe40_2688x3576.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_!Fq1M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd771ce-e301-40d9-9341-40e07ceefe40_2688x3576.png 424w, https://substackcdn.com/image/fetch/$s_!Fq1M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd771ce-e301-40d9-9341-40e07ceefe40_2688x3576.png 848w, https://substackcdn.com/image/fetch/$s_!Fq1M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd771ce-e301-40d9-9341-40e07ceefe40_2688x3576.png 1272w, https://substackcdn.com/image/fetch/$s_!Fq1M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd771ce-e301-40d9-9341-40e07ceefe40_2688x3576.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>Skills come in two rough types. <em>Task skills (often as disable-model-invocation: true)</em> are step-by-step workflows (deploy, commit, security-review) that a user often invokes directly via <code>/skill-name</code>. <em>Reference skills (user-invocable: false)</em> are passive knowledge (style guides, domain vocabulary) that Claude applies inline whenever a relevant request matches. Most of the patterns below apply to both, but where emphasis shifts I will call it out.</p><p>The 14 patterns fall into five categories: discovery and selection, context economy, instruction calibration, workflow control, and executable code.</p><h2><strong>Discovery and selection</strong></h2><p>Two patterns decide whether a skill fires at all. At session start Claude sees only metadata: the <code>name</code> and <code>description</code> of every installed skill. A skill that cannot survive this metadata-only round never runs.</p><h3><strong>1. Activation Metadata pattern</strong></h3><p>With dozens of installed skills, Claude picks the wrong one, or none at all, when descriptions are vague like &#8220;helps with documents&#8221;. The <code>description</code> field is not just a summary; it is the only signal Claude has at selection time.</p><p>This pattern packs the description with both what the skill does and the specific triggers or contexts that should fire it, written in third person. Anthropic&#8217;s skill-creator goes further and recommends writing descriptions that are a little &#8220;pushy&#8221;, since Claude has a measured tendency to <em>under</em>-trigger skills: &#8220;Make sure to use this skill whenever the user mentions dashboards, data visualization, or internal metrics, even if they do not explicitly ask for a dashboard.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!grB9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7fe462-334d-40d7-a694-9bc363e5b1ec_2320x1512.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!grB9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7fe462-334d-40d7-a694-9bc363e5b1ec_2320x1512.png 424w, https://substackcdn.com/image/fetch/$s_!grB9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7fe462-334d-40d7-a694-9bc363e5b1ec_2320x1512.png 848w, https://substackcdn.com/image/fetch/$s_!grB9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7fe462-334d-40d7-a694-9bc363e5b1ec_2320x1512.png 1272w, https://substackcdn.com/image/fetch/$s_!grB9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7fe462-334d-40d7-a694-9bc363e5b1ec_2320x1512.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!grB9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7fe462-334d-40d7-a694-9bc363e5b1ec_2320x1512.png" width="1456" height="949" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b7fe462-334d-40d7-a694-9bc363e5b1ec_2320x1512.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:949,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:160995,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7fe462-334d-40d7-a694-9bc363e5b1ec_2320x1512.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_!grB9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7fe462-334d-40d7-a694-9bc363e5b1ec_2320x1512.png 424w, https://substackcdn.com/image/fetch/$s_!grB9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7fe462-334d-40d7-a694-9bc363e5b1ec_2320x1512.png 848w, https://substackcdn.com/image/fetch/$s_!grB9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7fe462-334d-40d7-a694-9bc363e5b1ec_2320x1512.png 1272w, https://substackcdn.com/image/fetch/$s_!grB9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b7fe462-334d-40d7-a694-9bc363e5b1ec_2320x1512.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this pattern on every skill. Nothing else matters if the skill fails at selection. The trade-off is budget: in the open Agent Skills spec, the <code>description</code> field caps at 1024 characters; in Claude Code, the combined <code>description</code> and optional <code>when_to_use</code> text is truncated at 1536 characters in the skill listing. So every sentence competes with positive triggers, exclusion clauses, and domain keywords for space.</p><h3><strong>2. Exclusion Clause pattern</strong></h3><p>A description that only says when to fire misses half the job. The skill triggers on tangentially related requests, hijacks work that belongs to another skill, or steps in when bare Claude would have done fine.</p><p>This pattern ends the description with explicit exclusions: &#8220;Do NOT use for blog articles, newsletters, emails, tweets, or long-form content.&#8221; Ruben Hassid calls this <a href="https://ruben.substack.com/p/claude-skills">the single most important line in the description</a>, above the positive trigger. Positive triggers pull a skill in; exclusions push it out. Both are needed and they compete for the same budget.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pyVm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316b86fc-f729-4749-9397-c56a85c4942e_2640x1784.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pyVm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316b86fc-f729-4749-9397-c56a85c4942e_2640x1784.png 424w, https://substackcdn.com/image/fetch/$s_!pyVm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316b86fc-f729-4749-9397-c56a85c4942e_2640x1784.png 848w, https://substackcdn.com/image/fetch/$s_!pyVm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316b86fc-f729-4749-9397-c56a85c4942e_2640x1784.png 1272w, https://substackcdn.com/image/fetch/$s_!pyVm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316b86fc-f729-4749-9397-c56a85c4942e_2640x1784.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pyVm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316b86fc-f729-4749-9397-c56a85c4942e_2640x1784.png" width="1456" height="984" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/316b86fc-f729-4749-9397-c56a85c4942e_2640x1784.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:984,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:211012,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316b86fc-f729-4749-9397-c56a85c4942e_2640x1784.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_!pyVm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316b86fc-f729-4749-9397-c56a85c4942e_2640x1784.png 424w, https://substackcdn.com/image/fetch/$s_!pyVm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316b86fc-f729-4749-9397-c56a85c4942e_2640x1784.png 848w, https://substackcdn.com/image/fetch/$s_!pyVm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316b86fc-f729-4749-9397-c56a85c4942e_2640x1784.png 1272w, https://substackcdn.com/image/fetch/$s_!pyVm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316b86fc-f729-4749-9397-c56a85c4942e_2640x1784.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this for any skill that shares vocabulary with other skills or with bare Claude (most of them). The trade-off is maintenance: as your skill library grows, exclusion clauses must be kept in sync so two skills do not both claim or both reject the same territory.</p><h2><strong>Context economy</strong></h2><p>Two patterns exist because the context window is a shared budget. Every token in your skill crowds out tokens from other skills, the conversation history, and the user&#8217;s actual request.</p><h3><strong>3. Context Budget pattern</strong></h3><p>A skill that re-explains what a PDF is, what a library is, or how JSON works spends tokens teaching Claude things Claude already knows. Multiply that waste across a library of 20 skills and the context window is half-full before the user has said anything.</p><p>This pattern demands each paragraph justify its token cost. Default assumption: Claude is smart. If removing a sentence would not confuse a competent reader, remove it. Consistent terminology matters too: pick one term (always &#8220;field&#8221;, never &#8220;field / box / element&#8221;) to reduce cognitive load. And avoid time-sensitive phrasing (&#8221;before August 2025...&#8221;) that dates the skill; put legacy information in an &#8220;old patterns&#8221; appendix instead.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zMxz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd7ab9-10c5-4c49-8527-9f0c2752e703_2880x1432.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zMxz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd7ab9-10c5-4c49-8527-9f0c2752e703_2880x1432.png 424w, https://substackcdn.com/image/fetch/$s_!zMxz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd7ab9-10c5-4c49-8527-9f0c2752e703_2880x1432.png 848w, https://substackcdn.com/image/fetch/$s_!zMxz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd7ab9-10c5-4c49-8527-9f0c2752e703_2880x1432.png 1272w, https://substackcdn.com/image/fetch/$s_!zMxz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd7ab9-10c5-4c49-8527-9f0c2752e703_2880x1432.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zMxz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd7ab9-10c5-4c49-8527-9f0c2752e703_2880x1432.png" width="1456" height="724" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90dd7ab9-10c5-4c49-8527-9f0c2752e703_2880x1432.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:724,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:145621,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd7ab9-10c5-4c49-8527-9f0c2752e703_2880x1432.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_!zMxz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd7ab9-10c5-4c49-8527-9f0c2752e703_2880x1432.png 424w, https://substackcdn.com/image/fetch/$s_!zMxz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd7ab9-10c5-4c49-8527-9f0c2752e703_2880x1432.png 848w, https://substackcdn.com/image/fetch/$s_!zMxz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd7ab9-10c5-4c49-8527-9f0c2752e703_2880x1432.png 1272w, https://substackcdn.com/image/fetch/$s_!zMxz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd7ab9-10c5-4c49-8527-9f0c2752e703_2880x1432.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this pattern on every skill; it is a baseline discipline. The trade-off shows up with less-capable models: what reads as crisply concise to Sonnet may be too terse for Haiku. If you target multiple models, aim for the level of detail that works for the weakest one you plan to support.</p><h3><strong>4. Progressive Disclosure pattern</strong></h3><p>Stuffing every detail into SKILL.md burns context on material most invocations never need. An 800-line SKILL.md with forms, API references, and examples costs the same whether the user asked about forms or about something else entirely.</p><p>This pattern treats SKILL.md as a table of contents. The body stays under 500 lines and links to domain files (<code>FORMS.md</code>, <code>REFERENCE.md</code>, <code>reference/finance.md</code>). Claude reads the metadata on every session; loads SKILL.md only when the skill is triggered; and pulls in detail files only when the current task references them. Scripts in <code>scripts/</code> can execute without loading, so their internal code usually stays out of the context window. Keep the reference graph shallow: every file one hop from SKILL.md. Nested chains like <code>SKILL.md -&gt; advanced.md -&gt; details.md</code> increase the odds Claude only partially reads the target and misses the rest. Long reference files, especially those over a few hundred lines, get a table of contents at the top so Claude can see the full scope even from a truncated read.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!66kK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6cab25-1ed9-4b90-a8fd-b9df11fb094f_2720x1824.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!66kK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6cab25-1ed9-4b90-a8fd-b9df11fb094f_2720x1824.png 424w, https://substackcdn.com/image/fetch/$s_!66kK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6cab25-1ed9-4b90-a8fd-b9df11fb094f_2720x1824.png 848w, https://substackcdn.com/image/fetch/$s_!66kK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6cab25-1ed9-4b90-a8fd-b9df11fb094f_2720x1824.png 1272w, https://substackcdn.com/image/fetch/$s_!66kK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6cab25-1ed9-4b90-a8fd-b9df11fb094f_2720x1824.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!66kK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6cab25-1ed9-4b90-a8fd-b9df11fb094f_2720x1824.png" width="1456" height="976" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a6cab25-1ed9-4b90-a8fd-b9df11fb094f_2720x1824.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:976,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:155544,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6cab25-1ed9-4b90-a8fd-b9df11fb094f_2720x1824.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_!66kK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6cab25-1ed9-4b90-a8fd-b9df11fb094f_2720x1824.png 424w, https://substackcdn.com/image/fetch/$s_!66kK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6cab25-1ed9-4b90-a8fd-b9df11fb094f_2720x1824.png 848w, https://substackcdn.com/image/fetch/$s_!66kK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6cab25-1ed9-4b90-a8fd-b9df11fb094f_2720x1824.png 1272w, https://substackcdn.com/image/fetch/$s_!66kK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6cab25-1ed9-4b90-a8fd-b9df11fb094f_2720x1824.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this for any skill pushing past ~300 lines in SKILL.md. The trade-off is fragmentation: splitting content across files makes it harder for authors to hold the whole skill in their head, and Claude has to make correct routing decisions about which file to load next. Mis-routing costs turns.</p><h2><strong>Instruction calibration</strong></h2><p>Five patterns dial instruction specificity up or down. <em>Control Tuning</em> is the meta-rule for how tightly to constrain Claude. <em>Explain-the-Why</em> shapes how that specificity is phrased. <em>Template Scaffold</em>, <em>In-Skill Examples</em>, and <em>Known Gotchas</em> are concrete techniques at the low-freedom end of the dial.</p><h3><strong>5. Control Tuning pattern</strong></h3><p>A skill that rigidly scripts every action strangles Claude on tasks where context should shape the approach. A skill that gives only loose guidance fails on fragile procedures where one wrong step breaks everything.</p><p>This pattern matches instruction freedom to task fragility. <em>High freedom</em> (text instructions, &#8220;use your judgement&#8221;) fits open-field tasks like code review where many valid approaches exist. <em>Medium freedom</em> (pseudocode, parameterised scripts) fits preferred-but-flexible flows like a deploy runbook. <em>Low freedom</em> (exact scripts, no flags, &#8220;do not modify this command&#8221;) fits fragile operations like database migrations where one wrong step is catastrophic. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5ZYJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8e3753-42a6-40a6-b8bd-5783c713f8db_2840x2144.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5ZYJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8e3753-42a6-40a6-b8bd-5783c713f8db_2840x2144.png 424w, https://substackcdn.com/image/fetch/$s_!5ZYJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8e3753-42a6-40a6-b8bd-5783c713f8db_2840x2144.png 848w, https://substackcdn.com/image/fetch/$s_!5ZYJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8e3753-42a6-40a6-b8bd-5783c713f8db_2840x2144.png 1272w, https://substackcdn.com/image/fetch/$s_!5ZYJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8e3753-42a6-40a6-b8bd-5783c713f8db_2840x2144.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5ZYJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8e3753-42a6-40a6-b8bd-5783c713f8db_2840x2144.png" width="1456" height="1099" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b8e3753-42a6-40a6-b8bd-5783c713f8db_2840x2144.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1099,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:165448,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8e3753-42a6-40a6-b8bd-5783c713f8db_2840x2144.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_!5ZYJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8e3753-42a6-40a6-b8bd-5783c713f8db_2840x2144.png 424w, https://substackcdn.com/image/fetch/$s_!5ZYJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8e3753-42a6-40a6-b8bd-5783c713f8db_2840x2144.png 848w, https://substackcdn.com/image/fetch/$s_!5ZYJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8e3753-42a6-40a6-b8bd-5783c713f8db_2840x2144.png 1272w, https://substackcdn.com/image/fetch/$s_!5ZYJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8e3753-42a6-40a6-b8bd-5783c713f8db_2840x2144.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Tone is part of the dial too: opening with a persona (&#8221;You are a senior code reviewer focused on correctness over style&#8221;) sets the judgement rubric for the whole skill and is common in reference skills that shape voice.</p><p>Use this pattern by asking, for each step in the skill, how much variance is acceptable. The trade-off is judgement: authors consistently err toward over-constraining, because rigid instructions feel safer. They are not; they just fail differently.</p><h3><strong>6. Explain-the-Why pattern</strong></h3><p>Skills written as strings of ALWAYS, NEVER, MUST in capital letters give Claude rigid rules with no context. The model follows the letter but misses edge cases the author did not anticipate, or over-applies a rule in situations where a judgement call was needed. Anthropic&#8217;s skill-creator explicitly flags all-caps MUST/ALWAYS/NEVER as a yellow flag to reframe.</p><p>This pattern states the rule, then explains <em>why</em> so Claude can generalise to cases the skill did not spell out. &#8220;Use constructor injection. Field injection breaks testability because we cannot mock the field without Spring context&#8221; beats &#8220;MUST use constructor injection. NEVER use field injection.&#8221; The reasoning becomes the rubric for unanticipated cases.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8FvS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0daddfc-1c8e-4128-bb74-d4ceb9b8a0db_2720x1744.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8FvS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0daddfc-1c8e-4128-bb74-d4ceb9b8a0db_2720x1744.png 424w, https://substackcdn.com/image/fetch/$s_!8FvS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0daddfc-1c8e-4128-bb74-d4ceb9b8a0db_2720x1744.png 848w, https://substackcdn.com/image/fetch/$s_!8FvS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0daddfc-1c8e-4128-bb74-d4ceb9b8a0db_2720x1744.png 1272w, https://substackcdn.com/image/fetch/$s_!8FvS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0daddfc-1c8e-4128-bb74-d4ceb9b8a0db_2720x1744.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8FvS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0daddfc-1c8e-4128-bb74-d4ceb9b8a0db_2720x1744.png" width="1456" height="934" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0daddfc-1c8e-4128-bb74-d4ceb9b8a0db_2720x1744.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:934,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:197790,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0daddfc-1c8e-4128-bb74-d4ceb9b8a0db_2720x1744.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_!8FvS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0daddfc-1c8e-4128-bb74-d4ceb9b8a0db_2720x1744.png 424w, https://substackcdn.com/image/fetch/$s_!8FvS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0daddfc-1c8e-4128-bb74-d4ceb9b8a0db_2720x1744.png 848w, https://substackcdn.com/image/fetch/$s_!8FvS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0daddfc-1c8e-4128-bb74-d4ceb9b8a0db_2720x1744.png 1272w, https://substackcdn.com/image/fetch/$s_!8FvS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0daddfc-1c8e-4128-bb74-d4ceb9b8a0db_2720x1744.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this pattern wherever you catch yourself reaching for capitalised imperatives. The trade-off is length: explanations cost tokens, and for genuinely fragile steps (see <em>Control Tuning</em>), a bare imperative is still correct. Reserve prose-with-reasoning for the cases where Claude will need to exercise judgement.</p><h3><strong>7. Template Scaffold pattern</strong></h3><p>When output structure matters, reports, commit messages, API payloads, release notes, Claude produces inconsistent shapes across invocations. The shape is implicit in examples elsewhere, but the skill does not make it explicit, and each run rediscovers a slightly different structure.</p><p>This pattern ships a template in the skill body with placeholders Claude fills in. Templates come in two strictness levels. <em>Strict</em>: &#8220;ALWAYS use this exact template structure&#8221; for data contracts or machine-parsed output. <em>Flexible</em>: &#8220;A sensible default; adapt sections as needed&#8221; for documents where the author trusts Claude to judge.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!32Am!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21347a72-83da-472f-b79b-09dd8a64ca7f_1760x1704.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!32Am!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21347a72-83da-472f-b79b-09dd8a64ca7f_1760x1704.png 424w, https://substackcdn.com/image/fetch/$s_!32Am!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21347a72-83da-472f-b79b-09dd8a64ca7f_1760x1704.png 848w, https://substackcdn.com/image/fetch/$s_!32Am!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21347a72-83da-472f-b79b-09dd8a64ca7f_1760x1704.png 1272w, https://substackcdn.com/image/fetch/$s_!32Am!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21347a72-83da-472f-b79b-09dd8a64ca7f_1760x1704.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!32Am!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21347a72-83da-472f-b79b-09dd8a64ca7f_1760x1704.png" width="1456" height="1410" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21347a72-83da-472f-b79b-09dd8a64ca7f_1760x1704.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1410,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:125887,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21347a72-83da-472f-b79b-09dd8a64ca7f_1760x1704.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_!32Am!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21347a72-83da-472f-b79b-09dd8a64ca7f_1760x1704.png 424w, https://substackcdn.com/image/fetch/$s_!32Am!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21347a72-83da-472f-b79b-09dd8a64ca7f_1760x1704.png 848w, https://substackcdn.com/image/fetch/$s_!32Am!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21347a72-83da-472f-b79b-09dd8a64ca7f_1760x1704.png 1272w, https://substackcdn.com/image/fetch/$s_!32Am!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21347a72-83da-472f-b79b-09dd8a64ca7f_1760x1704.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this whenever output structure has downstream readers or parsers. The trade-off is creative flatness: strict templates suppress the structural variation that can make output more useful in edge cases, so prefer flexible templates unless a machine is reading the output.</p><h3><strong>8. In-Skill Examples pattern</strong></h3><p>Description alone rarely conveys tone, formatting conventions, or the right level of detail. Claude hits the right shape but the wrong style: commit messages that use the correct conventional-commit prefix but miss the tone the team writes in.</p><p>This pattern embeds concrete input/output pairs in the skill body, the same few-shot trick used in prompting. Two or three examples, each labelled <code>Input:</code> and <code>Output:</code>, show the desired pattern directly. Claude matches on the examples instead of inferring from prose. Templates (previous pattern) show the <em>skeleton</em>; examples show <em>populated instances</em>. The two compose well, with the template defining shape and examples calibrating style.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!opo9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4af117-7d8d-49cc-89de-24e6efe38af6_2560x1664.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!opo9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4af117-7d8d-49cc-89de-24e6efe38af6_2560x1664.png 424w, https://substackcdn.com/image/fetch/$s_!opo9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4af117-7d8d-49cc-89de-24e6efe38af6_2560x1664.png 848w, https://substackcdn.com/image/fetch/$s_!opo9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4af117-7d8d-49cc-89de-24e6efe38af6_2560x1664.png 1272w, https://substackcdn.com/image/fetch/$s_!opo9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4af117-7d8d-49cc-89de-24e6efe38af6_2560x1664.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!opo9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4af117-7d8d-49cc-89de-24e6efe38af6_2560x1664.png" width="1456" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a4af117-7d8d-49cc-89de-24e6efe38af6_2560x1664.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:189002,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4af117-7d8d-49cc-89de-24e6efe38af6_2560x1664.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_!opo9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4af117-7d8d-49cc-89de-24e6efe38af6_2560x1664.png 424w, https://substackcdn.com/image/fetch/$s_!opo9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4af117-7d8d-49cc-89de-24e6efe38af6_2560x1664.png 848w, https://substackcdn.com/image/fetch/$s_!opo9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4af117-7d8d-49cc-89de-24e6efe38af6_2560x1664.png 1272w, https://substackcdn.com/image/fetch/$s_!opo9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4af117-7d8d-49cc-89de-24e6efe38af6_2560x1664.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this for skills where output quality depends on style as much as structure: commit messages, release notes, changelog entries, review summaries. The trade-off is drift toward the examples. If the three examples share a subtle bias, Claude reproduces that bias across all invocations, so the examples need to span the variation the skill should support.</p><h3><strong>9. Known Gotchas pattern</strong></h3><p>Skills that document only the happy path teach Claude what to do, not what to watch for. The first time the skill hits a real-world edge case, a form field that does not exist, a command that works on macOS but fails on Linux, a library that silently returns empty results, Claude has no prior and invents a fix.</p><p>This pattern adds a dedicated section to SKILL.md listing concrete failure modes previously seen: &#8220;Scanned PDFs return [] silently. Check page type first.&#8221; &#8220;Rotated pages need <code>page.rotation=0</code> before column extraction.&#8221; One <a href="https://medium.com/@tort_mario/skills-for-claude-code-the-ultimate-guide-from-an-anthropic-engineer-bcd66faaa2d6">practitioner guide</a> calls the gotchas section the most valuable content of a mature skill.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-yIw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606b02ec-ec84-45c9-884a-ca439d16c221_2720x1864.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-yIw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606b02ec-ec84-45c9-884a-ca439d16c221_2720x1864.png 424w, https://substackcdn.com/image/fetch/$s_!-yIw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606b02ec-ec84-45c9-884a-ca439d16c221_2720x1864.png 848w, https://substackcdn.com/image/fetch/$s_!-yIw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606b02ec-ec84-45c9-884a-ca439d16c221_2720x1864.png 1272w, https://substackcdn.com/image/fetch/$s_!-yIw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606b02ec-ec84-45c9-884a-ca439d16c221_2720x1864.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-yIw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606b02ec-ec84-45c9-884a-ca439d16c221_2720x1864.png" width="1456" height="998" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/606b02ec-ec84-45c9-884a-ca439d16c221_2720x1864.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:998,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:231050,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606b02ec-ec84-45c9-884a-ca439d16c221_2720x1864.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_!-yIw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606b02ec-ec84-45c9-884a-ca439d16c221_2720x1864.png 424w, https://substackcdn.com/image/fetch/$s_!-yIw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606b02ec-ec84-45c9-884a-ca439d16c221_2720x1864.png 848w, https://substackcdn.com/image/fetch/$s_!-yIw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606b02ec-ec84-45c9-884a-ca439d16c221_2720x1864.png 1272w, https://substackcdn.com/image/fetch/$s_!-yIw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606b02ec-ec84-45c9-884a-ca439d16c221_2720x1864.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this pattern on mature skills, populated from observing real runs. The trade-off is that gotchas are a moving target: libraries update, APIs change, and a stale gotcha can send Claude chasing a problem that no longer exists.</p><h2><strong>Workflow control</strong></h2><p>Three patterns structure multi-step procedures. <em>Execution Checklist</em> is the linear case. <em>Self-Correcting Loop</em> introduces iteration. <em>Plan-Validate-Execute</em> adds a verifiable artifact <em>before any side effects</em>.</p><h3><strong>10. Execution Checklist pattern</strong></h3><p>In long multi-step procedures Claude skips validation steps, loses track of which step it is on, or declares done prematurely. &#8220;I think we are finished&#8221; at step four of a six-step process is a common failure mode.</p><p>This pattern provides a copyable checklist Claude pastes into its response and ticks off as it works. The checklist lives in the conversation, so skipping a step is now visible to both Claude and the user. The act of rendering unchecked items each turn raises the bar for declaring completion.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SrBJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F841b4c7f-43a0-49ea-9d7f-1c9a09e82d40_2560x1704.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SrBJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F841b4c7f-43a0-49ea-9d7f-1c9a09e82d40_2560x1704.png 424w, https://substackcdn.com/image/fetch/$s_!SrBJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F841b4c7f-43a0-49ea-9d7f-1c9a09e82d40_2560x1704.png 848w, https://substackcdn.com/image/fetch/$s_!SrBJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F841b4c7f-43a0-49ea-9d7f-1c9a09e82d40_2560x1704.png 1272w, https://substackcdn.com/image/fetch/$s_!SrBJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F841b4c7f-43a0-49ea-9d7f-1c9a09e82d40_2560x1704.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SrBJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F841b4c7f-43a0-49ea-9d7f-1c9a09e82d40_2560x1704.png" width="1456" height="969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/841b4c7f-43a0-49ea-9d7f-1c9a09e82d40_2560x1704.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:151095,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F841b4c7f-43a0-49ea-9d7f-1c9a09e82d40_2560x1704.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_!SrBJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F841b4c7f-43a0-49ea-9d7f-1c9a09e82d40_2560x1704.png 424w, https://substackcdn.com/image/fetch/$s_!SrBJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F841b4c7f-43a0-49ea-9d7f-1c9a09e82d40_2560x1704.png 848w, https://substackcdn.com/image/fetch/$s_!SrBJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F841b4c7f-43a0-49ea-9d7f-1c9a09e82d40_2560x1704.png 1272w, https://substackcdn.com/image/fetch/$s_!SrBJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F841b4c7f-43a0-49ea-9d7f-1c9a09e82d40_2560x1704.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this for any workflow with more than three steps, especially where a skipped validation step is costly. The trade-off is verbosity: the checklist is rendered in full on every turn, so in long sessions it multiplies tokens, and for very short flows it is overkill.</p><h3><strong>11. Self-Correcting Loop pattern</strong></h3><p>When Claude generates code, edits XML, or drafts against a style guide, a single forward pass often ships mistakes the skill could have caught. The skill describes the correct output but has no mechanism to verify what Claude actually produced.</p><p>This pattern wires in an explicit loop: produce output, run a validator, if it fails, fix and revalidate. The validator can be a script (<code>python validate.py fields.json</code>) or a document (re-read STYLE_GUIDE.md and check each rule). The loop terminates only when validation passes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LtUQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d6aead-bedb-4628-ae05-2471289f9107_2108x1312.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LtUQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d6aead-bedb-4628-ae05-2471289f9107_2108x1312.png 424w, https://substackcdn.com/image/fetch/$s_!LtUQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d6aead-bedb-4628-ae05-2471289f9107_2108x1312.png 848w, https://substackcdn.com/image/fetch/$s_!LtUQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d6aead-bedb-4628-ae05-2471289f9107_2108x1312.png 1272w, https://substackcdn.com/image/fetch/$s_!LtUQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d6aead-bedb-4628-ae05-2471289f9107_2108x1312.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LtUQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d6aead-bedb-4628-ae05-2471289f9107_2108x1312.png" width="1456" height="906" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15d6aead-bedb-4628-ae05-2471289f9107_2108x1312.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:906,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:100841,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d6aead-bedb-4628-ae05-2471289f9107_2108x1312.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_!LtUQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d6aead-bedb-4628-ae05-2471289f9107_2108x1312.png 424w, https://substackcdn.com/image/fetch/$s_!LtUQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d6aead-bedb-4628-ae05-2471289f9107_2108x1312.png 848w, https://substackcdn.com/image/fetch/$s_!LtUQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d6aead-bedb-4628-ae05-2471289f9107_2108x1312.png 1272w, https://substackcdn.com/image/fetch/$s_!LtUQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d6aead-bedb-4628-ae05-2471289f9107_2108x1312.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this for quality-critical tasks where mistakes are expensive and programmatic verification is feasible. The trade-off is non-termination: a weak validator (or a Claude that keeps making the same mistake) can loop indefinitely, so the pattern needs a retry cap and a fallback to the user.</p><h3><strong>12. Plan-Validate-Execute pattern</strong></h3><p>For batch or destructive operations, updating 50 form fields, migrating rows, rewriting a document, a direct &#8220;just do it&#8221; pass lets errors cascade silently. By the time you notice Claude referenced non-existent fields, the changes are already applied.</p><p>This pattern inserts a verifiable intermediate artifact, typically a JSON plan, between understanding the task and acting on it. A script validates the plan <em>before any side effects</em>. That is the distinction from <em>Self-Correcting Loop</em>, which iterates after the work has already landed. Claude iterates on the plan freely; the real target is only touched once the plan passes validation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!em41!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c6e2e9-2426-49af-8a10-08d0f0a2b864_3064x1032.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!em41!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c6e2e9-2426-49af-8a10-08d0f0a2b864_3064x1032.png 424w, https://substackcdn.com/image/fetch/$s_!em41!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c6e2e9-2426-49af-8a10-08d0f0a2b864_3064x1032.png 848w, https://substackcdn.com/image/fetch/$s_!em41!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c6e2e9-2426-49af-8a10-08d0f0a2b864_3064x1032.png 1272w, https://substackcdn.com/image/fetch/$s_!em41!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c6e2e9-2426-49af-8a10-08d0f0a2b864_3064x1032.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!em41!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c6e2e9-2426-49af-8a10-08d0f0a2b864_3064x1032.png" width="1456" height="490" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7c6e2e9-2426-49af-8a10-08d0f0a2b864_3064x1032.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:490,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:112657,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c6e2e9-2426-49af-8a10-08d0f0a2b864_3064x1032.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_!em41!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c6e2e9-2426-49af-8a10-08d0f0a2b864_3064x1032.png 424w, https://substackcdn.com/image/fetch/$s_!em41!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c6e2e9-2426-49af-8a10-08d0f0a2b864_3064x1032.png 848w, https://substackcdn.com/image/fetch/$s_!em41!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c6e2e9-2426-49af-8a10-08d0f0a2b864_3064x1032.png 1272w, https://substackcdn.com/image/fetch/$s_!em41!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c6e2e9-2426-49af-8a10-08d0f0a2b864_3064x1032.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this for batch, destructive, or high-stakes operations. The trade-off is ceremony: for a two-field edit the plan-validate-execute loop is more process than the task deserves, so reserve it for operations where &#8220;undo&#8221; is costly or impossible.</p><h2><strong>Executable code</strong></h2><p>Two patterns apply to skills that ship runnable helpers alongside SKILL.md. Together they shift work out of Claude&#8217;s inference loop and into deterministic scripts that run, succeed or fail, and return only their output.</p><h3><strong>13. Utility Bundle pattern</strong></h3><p>Asking Claude to generate a validation script, a PDF extractor, or a data-normaliser from scratch every invocation is slower, less reliable, and burns tokens on code the user never sees. Each run rediscovers the same logic with small variations.</p><p>This pattern ships purpose-built scripts in <code>scripts/</code> alongside SKILL.md. Claude invokes them via bash, so only their <em>output</em> consumes context. Scripts should handle common failure modes cleanly instead of dumping ambiguity back on Claude. Sometimes that means creating a missing file with a sensible default. Sometimes it means failing fast with a clear error. Constants need justifying comments (&#8221;30s timeout covers slow connections&#8221;), not magic numbers. When in doubt about which helpers to bundle, <a href="https://github.com/anthropics/skills/blob/main/skills/skill-creator/SKILL.md">run the skill on three test cases and read the transcripts</a>: if subagents all wrote the same helper independently, promote it to <code>scripts/</code>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6b8F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790a9513-77d5-4672-808d-060024170cd5_2160x1584.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6b8F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790a9513-77d5-4672-808d-060024170cd5_2160x1584.png 424w, https://substackcdn.com/image/fetch/$s_!6b8F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790a9513-77d5-4672-808d-060024170cd5_2160x1584.png 848w, https://substackcdn.com/image/fetch/$s_!6b8F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790a9513-77d5-4672-808d-060024170cd5_2160x1584.png 1272w, https://substackcdn.com/image/fetch/$s_!6b8F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790a9513-77d5-4672-808d-060024170cd5_2160x1584.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6b8F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790a9513-77d5-4672-808d-060024170cd5_2160x1584.png" width="1456" height="1068" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/790a9513-77d5-4672-808d-060024170cd5_2160x1584.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1068,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140725,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790a9513-77d5-4672-808d-060024170cd5_2160x1584.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_!6b8F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790a9513-77d5-4672-808d-060024170cd5_2160x1584.png 424w, https://substackcdn.com/image/fetch/$s_!6b8F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790a9513-77d5-4672-808d-060024170cd5_2160x1584.png 848w, https://substackcdn.com/image/fetch/$s_!6b8F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790a9513-77d5-4672-808d-060024170cd5_2160x1584.png 1272w, https://substackcdn.com/image/fetch/$s_!6b8F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F790a9513-77d5-4672-808d-060024170cd5_2160x1584.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this for any operation that is deterministic, frequently repeated, and worth testing independently. The trade-off is environment dependence: scripts need a runtime, and platform-specific helpers fail differently on user machines than on the author&#8217;s, so validate package availability in SKILL.md and prefer forward slashes in every path.</p><h3><strong>14. Autonomy Calibration pattern</strong></h3><p>A skill that runs with the full default tool set can do anything: write files, shell out, call MCP servers, even when its task only needs read access. A security-audit skill with <code>Write</code> and <code>Bash</code> permissions is still a standing risk, regardless of what SKILL.md says.</p><p>This pattern declares an <code>allowed-tools</code> list in the skill&#8217;s YAML frontmatter to pre-approve only the capabilities it actually needs. A security audit gets <code>Read, Grep, Glob</code>; a documentation generator gets <code>Read, Write</code>; a deploy skill gets <code>Bash</code> with a narrow command matcher. That reduces approval friction, but it does not by itself restrict which tools are available. In Claude Code, actual restrictions come from permission rules, not from <code>allowed-tools</code> alone.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xk0a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe30173f4-2c43-4ac3-86bd-17e43aff6de3_3096x1584.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xk0a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe30173f4-2c43-4ac3-86bd-17e43aff6de3_3096x1584.png 424w, https://substackcdn.com/image/fetch/$s_!Xk0a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe30173f4-2c43-4ac3-86bd-17e43aff6de3_3096x1584.png 848w, https://substackcdn.com/image/fetch/$s_!Xk0a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe30173f4-2c43-4ac3-86bd-17e43aff6de3_3096x1584.png 1272w, https://substackcdn.com/image/fetch/$s_!Xk0a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe30173f4-2c43-4ac3-86bd-17e43aff6de3_3096x1584.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xk0a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe30173f4-2c43-4ac3-86bd-17e43aff6de3_3096x1584.png" width="1456" height="745" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e30173f4-2c43-4ac3-86bd-17e43aff6de3_3096x1584.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:745,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:158960,&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://generativeprogrammer.com/i/194494067?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe30173f4-2c43-4ac3-86bd-17e43aff6de3_3096x1584.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_!Xk0a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe30173f4-2c43-4ac3-86bd-17e43aff6de3_3096x1584.png 424w, https://substackcdn.com/image/fetch/$s_!Xk0a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe30173f4-2c43-4ac3-86bd-17e43aff6de3_3096x1584.png 848w, https://substackcdn.com/image/fetch/$s_!Xk0a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe30173f4-2c43-4ac3-86bd-17e43aff6de3_3096x1584.png 1272w, https://substackcdn.com/image/fetch/$s_!Xk0a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe30173f4-2c43-4ac3-86bd-17e43aff6de3_3096x1584.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this for any skill where a narrow pre-approved tool set is genuinely sufficient, especially security, audit, review, and analysis skills. The trade-off is confusion: an over-broad <code>allowed-tools</code> list quietly grants more hands-off autonomy than intended, and it is easy to mistake pre-approval for sandboxing. If you need real restrictions, pair this with permission rules.</p><h2><strong>The takeaway</strong></h2><p>These 14 patterns are essential. The description field decides whether the skill even runs; progressive disclosure decides how much context it costs; explain-the-why and known gotchas decide whether Claude handles the edge cases; plan-validate-execute and autonomy calibration decide how much can go wrong when something breaks. Each pattern addresses a failure mode that shows up across authors and domains.</p><p>As with the <a href="https://generativeprogrammer.com/p/12-agentic-harness-patterns-from">harness patterns</a> in the previous post, these are not product-specific tricks. They are becoming the cornerstones of how agents get extended, and they will remain relevant as the models and tools change underneath them.</p><p>The source material for this post is Anthropic&#8217;s own <a href="https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices">Skill authoring best practices</a>, their <code>skill-creator</code><a href="https://github.com/anthropics/skills/blob/main/skills/skill-creator/SKILL.md"> SKILL.md</a> (Anthropic eating their own dog food), the <a href="https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf">33-page Complete Guide</a>, plus community writing from <a href="https://x.com/akshay_pachaar/status/2035341800739877091">Akshay Pachaar</a>, <a href="https://ruben.substack.com/p/claude-skills">Ruben Hassid</a>, <a href="https://medium.com/@tort_mario/skills-for-claude-code-the-ultimate-guide-from-an-anthropic-engineer-bcd66faaa2d6">Tort Mario</a>, <a href="https://x.com/alexxubyte/status/2039016933333610881">Alex Xu</a>, and <a href="https://x.com/sivalabs/status/2006937997028241806">Siva</a>. </p>]]></content:encoded></item><item><title><![CDATA[12 Agentic Harness Patterns from Claude Code]]></title><description><![CDATA[The leaked source revealed how a production coding agent is actually assembled. Here are the design patterns behind it.]]></description><link>https://generativeprogrammer.com/p/12-agentic-harness-patterns-from</link><guid isPermaLink="false">https://generativeprogrammer.com/p/12-agentic-harness-patterns-from</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sun, 05 Apr 2026 21:01:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-QCT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There are many things to learn from the Claude Code leak, and I covered a few <a href="https://generativeprogrammer.com/p/practical-lessons-from-the-claude">in my previous post</a>. But formulating learnings as patterns is my passion.  I loved doing it with <a href="https://k8spatterns.com/">Kubernetes Patterns</a>, now exploring it with <a href="https://promptpatterns.dev/">Prompt Patterns</a>, and when I looked at the leaked harness, I could not help seeing patterns there too. Here I am framing them as reusable design patterns for anyone building agentic applications.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-QCT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-QCT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.png 424w, https://substackcdn.com/image/fetch/$s_!-QCT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.png 848w, https://substackcdn.com/image/fetch/$s_!-QCT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.png 1272w, https://substackcdn.com/image/fetch/$s_!-QCT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-QCT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.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;:435291,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.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_!-QCT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.png 424w, https://substackcdn.com/image/fetch/$s_!-QCT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.png 848w, https://substackcdn.com/image/fetch/$s_!-QCT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.png 1272w, https://substackcdn.com/image/fetch/$s_!-QCT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dba753c-9631-416d-bfe5-d4b10472dc7f_3780x2520.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">Overview diagram showing 12 agentic harness patterns organized in four categories: Memory &amp; Context, Workflow &amp; Orchestration, Tools &amp; Permissions, and Automation.</figcaption></figure></div><p>The patterns fall into four categories: memory and context, workflow and orchestration, tools and permissions, and automation.</p><h2><strong>Memory and Context</strong></h2><p>These five patterns form a progression: from giving the agent a static file of rules, to scoping those rules by directory, to organizing memory into tiers, to cleaning that memory in the background, to compressing the conversation itself when the context window fills up.</p><h3><strong>1. Persistent Instruction File Pattern</strong></h3><p>Without a persistent instruction file, every agent session starts blank. The user repeats the same conventions, commands, and boundaries each time. The agent makes the same mistakes in session five that it made in session one.</p><p>This pattern introduces a durable project-level configuration file loaded automatically at the start of every session. It defines build commands, test commands, architecture rules, naming conventions, and coding standards. It ships with the repo, not with the user&#8217;s clipboard.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-gcZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32a08a61-8c35-4611-ad80-2bd3e1d21987_1454x1158.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-gcZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32a08a61-8c35-4611-ad80-2bd3e1d21987_1454x1158.png 424w, https://substackcdn.com/image/fetch/$s_!-gcZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32a08a61-8c35-4611-ad80-2bd3e1d21987_1454x1158.png 848w, https://substackcdn.com/image/fetch/$s_!-gcZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32a08a61-8c35-4611-ad80-2bd3e1d21987_1454x1158.png 1272w, https://substackcdn.com/image/fetch/$s_!-gcZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32a08a61-8c35-4611-ad80-2bd3e1d21987_1454x1158.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-gcZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32a08a61-8c35-4611-ad80-2bd3e1d21987_1454x1158.png" width="1454" height="1158" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/32a08a61-8c35-4611-ad80-2bd3e1d21987_1454x1158.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1158,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:142678,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32a08a61-8c35-4611-ad80-2bd3e1d21987_1454x1158.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_!-gcZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32a08a61-8c35-4611-ad80-2bd3e1d21987_1454x1158.png 424w, https://substackcdn.com/image/fetch/$s_!-gcZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32a08a61-8c35-4611-ad80-2bd3e1d21987_1454x1158.png 848w, https://substackcdn.com/image/fetch/$s_!-gcZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32a08a61-8c35-4611-ad80-2bd3e1d21987_1454x1158.png 1272w, https://substackcdn.com/image/fetch/$s_!-gcZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32a08a61-8c35-4611-ad80-2bd3e1d21987_1454x1158.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></figure></div><p>Use this when your agent works on a codebase across multiple sessions. The main trade-off is the maintenance burden: the file must stay current as the project evolves, and a stale instruction file can be worse than none if it teaches the agent outdated rules.</p><h3><strong>2. Scoped Context Assembly Pattern</strong></h3><p>A single instruction file works for small projects. As a codebase grows, one file either becomes a giant blob that gets ignored, or stays too generic to be useful for any specific directory.</p><p>This pattern loads instructions dynamically from multiple files at different scopes: organization, user, project root, parent directories, and child directories. The agent sees different rules depending on where in the codebase it is working. Import syntax allows splitting large instruction sets across files without duplication.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F9b0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7614b409-ebef-4c5b-9475-1aeb8776d6e2_1454x918.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F9b0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7614b409-ebef-4c5b-9475-1aeb8776d6e2_1454x918.png 424w, https://substackcdn.com/image/fetch/$s_!F9b0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7614b409-ebef-4c5b-9475-1aeb8776d6e2_1454x918.png 848w, https://substackcdn.com/image/fetch/$s_!F9b0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7614b409-ebef-4c5b-9475-1aeb8776d6e2_1454x918.png 1272w, https://substackcdn.com/image/fetch/$s_!F9b0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7614b409-ebef-4c5b-9475-1aeb8776d6e2_1454x918.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F9b0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7614b409-ebef-4c5b-9475-1aeb8776d6e2_1454x918.png" width="1454" height="918" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7614b409-ebef-4c5b-9475-1aeb8776d6e2_1454x918.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:918,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:146799,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7614b409-ebef-4c5b-9475-1aeb8776d6e2_1454x918.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_!F9b0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7614b409-ebef-4c5b-9475-1aeb8776d6e2_1454x918.png 424w, https://substackcdn.com/image/fetch/$s_!F9b0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7614b409-ebef-4c5b-9475-1aeb8776d6e2_1454x918.png 848w, https://substackcdn.com/image/fetch/$s_!F9b0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7614b409-ebef-4c5b-9475-1aeb8776d6e2_1454x918.png 1272w, https://substackcdn.com/image/fetch/$s_!F9b0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7614b409-ebef-4c5b-9475-1aeb8776d6e2_1454x918.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this in monorepos, multi-language projects, or any codebase where different directories follow different conventions. The main trade-off is discoverability: when instructions live in many files, it becomes harder to understand what the agent actually sees. Conflicting rules across scopes can produce surprising behavior.</p><h3><strong>3. Tiered Memory Pattern</strong></h3><p>An agent that remembers everything the same way ends up remembering nothing well. Loading all memory into the context window every session wastes tokens, hits size limits, and buries useful information under noise.</p><p>This pattern organizes agent memory into distinct layers with different loading strategies. A compact index (capped at 200 lines in Claude Code) stays in context at all times. Topic-specific files load on demand when the current task matches them. Full session transcripts stay on disk and are only searched when needed. One of the most <a href="https://x.com/himanshustwts/status/2038924027411222533">detailed breakdowns</a> of the leaked code confirmed this three-layer design.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ltad!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ce989d-a8e7-4602-a33b-65bfd1c3be8f_1454x867.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ltad!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ce989d-a8e7-4602-a33b-65bfd1c3be8f_1454x867.png 424w, https://substackcdn.com/image/fetch/$s_!ltad!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ce989d-a8e7-4602-a33b-65bfd1c3be8f_1454x867.png 848w, https://substackcdn.com/image/fetch/$s_!ltad!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ce989d-a8e7-4602-a33b-65bfd1c3be8f_1454x867.png 1272w, https://substackcdn.com/image/fetch/$s_!ltad!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ce989d-a8e7-4602-a33b-65bfd1c3be8f_1454x867.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ltad!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ce989d-a8e7-4602-a33b-65bfd1c3be8f_1454x867.png" width="1454" height="867" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4ce989d-a8e7-4602-a33b-65bfd1c3be8f_1454x867.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:867,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:111185,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ce989d-a8e7-4602-a33b-65bfd1c3be8f_1454x867.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_!ltad!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ce989d-a8e7-4602-a33b-65bfd1c3be8f_1454x867.png 424w, https://substackcdn.com/image/fetch/$s_!ltad!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ce989d-a8e7-4602-a33b-65bfd1c3be8f_1454x867.png 848w, https://substackcdn.com/image/fetch/$s_!ltad!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ce989d-a8e7-4602-a33b-65bfd1c3be8f_1454x867.png 1272w, https://substackcdn.com/image/fetch/$s_!ltad!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ce989d-a8e7-4602-a33b-65bfd1c3be8f_1454x867.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this when your agent runs across multiple sessions and needs to retain preferences, decisions, or workflow state. The main trade-off is the added complexity in deciding what goes where, when to promote or demote information between layers, and how to keep the index in sync with the underlying files.</p><h3><strong>4. Dream Consolidation Pattern</strong></h3><p>Even with tiered memory, agent memory degrades over time. Duplicate entries accumulate, outdated facts contradict new ones, and the index grows until it is no longer compact.</p><p>This pattern runs a background process that periodically reviews, deduplicates, prunes, and reorganizes agent memory during idle time. Think of it as garbage collection for agent state. The leaked code revealed an <a href="https://x.com/troyhua/status/2039052328070734102">&#8220;autoDream&#8221; mode</a> that merges duplicates, prunes contradictions, and keeps the index tight. A separate <a href="https://x.com/ellen_in_sf/status/2039098050837463504">analysis</a> found 8 phases of memory management and 5 types of context compaction.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jo-X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02855a6a-252f-42d9-be62-a9ac1c361e26_1454x521.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jo-X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02855a6a-252f-42d9-be62-a9ac1c361e26_1454x521.png 424w, https://substackcdn.com/image/fetch/$s_!jo-X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02855a6a-252f-42d9-be62-a9ac1c361e26_1454x521.png 848w, https://substackcdn.com/image/fetch/$s_!jo-X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02855a6a-252f-42d9-be62-a9ac1c361e26_1454x521.png 1272w, https://substackcdn.com/image/fetch/$s_!jo-X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02855a6a-252f-42d9-be62-a9ac1c361e26_1454x521.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jo-X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02855a6a-252f-42d9-be62-a9ac1c361e26_1454x521.png" width="1454" height="521" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02855a6a-252f-42d9-be62-a9ac1c361e26_1454x521.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:521,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:93997,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02855a6a-252f-42d9-be62-a9ac1c361e26_1454x521.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_!jo-X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02855a6a-252f-42d9-be62-a9ac1c361e26_1454x521.png 424w, https://substackcdn.com/image/fetch/$s_!jo-X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02855a6a-252f-42d9-be62-a9ac1c361e26_1454x521.png 848w, https://substackcdn.com/image/fetch/$s_!jo-X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02855a6a-252f-42d9-be62-a9ac1c361e26_1454x521.png 1272w, https://substackcdn.com/image/fetch/$s_!jo-X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02855a6a-252f-42d9-be62-a9ac1c361e26_1454x521.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this when your agent accumulates memory across many sessions and you cannot rely on users to curate it manually. The main trade-off is that the consolidation process itself uses tokens and can make mistakes. An overly aggressive prune might delete something the user still needs.</p><h3><strong>5. Progressive Context Compaction Pattern</strong></h3><p>Long agent sessions eventually hit the context window limit. The agent either loses its earliest context entirely or stops working. Neither is acceptable for tasks that require sustained reasoning across many turns.</p><p>This pattern applies multiple stages of compression tuned for different ages of the conversation. Recent turns stay at full detail. Older turns get lightly summarized. Very old turns get aggressively collapsed. The leaked code used four layers: HISTORY_SNIP, Microcompact, CONTEXT_COLLAPSE, and Autocompact, each progressively more aggressive.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YZn3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fb2508c-b784-42ab-aac6-3926416eccf1_1454x534.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YZn3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fb2508c-b784-42ab-aac6-3926416eccf1_1454x534.png 424w, https://substackcdn.com/image/fetch/$s_!YZn3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fb2508c-b784-42ab-aac6-3926416eccf1_1454x534.png 848w, https://substackcdn.com/image/fetch/$s_!YZn3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fb2508c-b784-42ab-aac6-3926416eccf1_1454x534.png 1272w, https://substackcdn.com/image/fetch/$s_!YZn3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fb2508c-b784-42ab-aac6-3926416eccf1_1454x534.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YZn3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fb2508c-b784-42ab-aac6-3926416eccf1_1454x534.png" width="1454" height="534" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8fb2508c-b784-42ab-aac6-3926416eccf1_1454x534.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:534,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:42655,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fb2508c-b784-42ab-aac6-3926416eccf1_1454x534.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_!YZn3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fb2508c-b784-42ab-aac6-3926416eccf1_1454x534.png 424w, https://substackcdn.com/image/fetch/$s_!YZn3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fb2508c-b784-42ab-aac6-3926416eccf1_1454x534.png 848w, https://substackcdn.com/image/fetch/$s_!YZn3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fb2508c-b784-42ab-aac6-3926416eccf1_1454x534.png 1272w, https://substackcdn.com/image/fetch/$s_!YZn3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fb2508c-b784-42ab-aac6-3926416eccf1_1454x534.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this when sessions regularly exceed 20-30 turns. The main trade-off is lossy compression: every summarization step discards detail, and if the agent later needs something from a collapsed segment, it may hallucinate rather than admit it forgot.</p><h2><strong>Workflow and Orchestration</strong></h2><p>The common theme here is separation: separating reading from writing, research context from editing context, and sequential work from parallel work. These patterns matter because the default behavior of most agents is to mix everything together, and that mixing degrades quality as the task grows.</p><h3><strong>6. Explore-Plan-Act Loop Pattern</strong></h3><p>When an agent jumps straight to editing files, it makes changes based on incomplete understanding. The result is edits to the wrong files, missed dependencies, and approaches that ignore existing patterns.</p><p>This pattern separates the workflow into three phases with increasing write permissions. In the explore phase, the agent can only read, search, and map the codebase. In the plan phase, it discusses the approach with the user. Only in the act phase does it get full tool access. The leaked code showed <a href="https://x.com/DharmiKumbhani/status/2038917827462308308">distinct plan and act phases</a> with system prompts that steer the agent away from editing before it understands the codebase.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n6iF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad9fd49-cec4-4db7-b75d-98b0786ddb39_1454x457.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n6iF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad9fd49-cec4-4db7-b75d-98b0786ddb39_1454x457.png 424w, https://substackcdn.com/image/fetch/$s_!n6iF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad9fd49-cec4-4db7-b75d-98b0786ddb39_1454x457.png 848w, https://substackcdn.com/image/fetch/$s_!n6iF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad9fd49-cec4-4db7-b75d-98b0786ddb39_1454x457.png 1272w, https://substackcdn.com/image/fetch/$s_!n6iF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad9fd49-cec4-4db7-b75d-98b0786ddb39_1454x457.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n6iF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad9fd49-cec4-4db7-b75d-98b0786ddb39_1454x457.png" width="1454" height="457" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ad9fd49-cec4-4db7-b75d-98b0786ddb39_1454x457.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:457,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:64254,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad9fd49-cec4-4db7-b75d-98b0786ddb39_1454x457.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_!n6iF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad9fd49-cec4-4db7-b75d-98b0786ddb39_1454x457.png 424w, https://substackcdn.com/image/fetch/$s_!n6iF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad9fd49-cec4-4db7-b75d-98b0786ddb39_1454x457.png 848w, https://substackcdn.com/image/fetch/$s_!n6iF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad9fd49-cec4-4db7-b75d-98b0786ddb39_1454x457.png 1272w, https://substackcdn.com/image/fetch/$s_!n6iF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad9fd49-cec4-4db7-b75d-98b0786ddb39_1454x457.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this for any task that touches an unfamiliar codebase or involves non-trivial changes across multiple files. The main trade-off is speed: enforcing exploration and planning adds turns before the agent produces output, which feels slow for simple tasks.</p><h3><strong>7. Context-Isolated Subagents Pattern</strong></h3><p>In a long agentic session, the context window accumulates everything: research findings, planning discussions, code edits, test output, error logs. By the time the agent is deep into editing, its context is polluted with irrelevant material from earlier phases.</p><p>This pattern runs separate agents with their own context windows, system prompts, and restricted tool access. Research agents cannot edit code. Planning agents cannot execute commands. Each subagent sees only what it needs for its specific task.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tv-_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf70b367-ad8b-43c0-866f-c9dce9ceabc1_1454x545.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tv-_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf70b367-ad8b-43c0-866f-c9dce9ceabc1_1454x545.png 424w, https://substackcdn.com/image/fetch/$s_!tv-_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf70b367-ad8b-43c0-866f-c9dce9ceabc1_1454x545.png 848w, https://substackcdn.com/image/fetch/$s_!tv-_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf70b367-ad8b-43c0-866f-c9dce9ceabc1_1454x545.png 1272w, https://substackcdn.com/image/fetch/$s_!tv-_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf70b367-ad8b-43c0-866f-c9dce9ceabc1_1454x545.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tv-_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf70b367-ad8b-43c0-866f-c9dce9ceabc1_1454x545.png" width="1454" height="545" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf70b367-ad8b-43c0-866f-c9dce9ceabc1_1454x545.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:545,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:102435,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf70b367-ad8b-43c0-866f-c9dce9ceabc1_1454x545.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_!tv-_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf70b367-ad8b-43c0-866f-c9dce9ceabc1_1454x545.png 424w, https://substackcdn.com/image/fetch/$s_!tv-_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf70b367-ad8b-43c0-866f-c9dce9ceabc1_1454x545.png 848w, https://substackcdn.com/image/fetch/$s_!tv-_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf70b367-ad8b-43c0-866f-c9dce9ceabc1_1454x545.png 1272w, https://substackcdn.com/image/fetch/$s_!tv-_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf70b367-ad8b-43c0-866f-c9dce9ceabc1_1454x545.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this when sessions are long, multi-phase, or involve tasks with very different context needs. The main trade-off is coordination overhead: the main agent must decide what to pass to each subagent, and important nuance from an earlier phase can get lost in the handoff.</p><h3><strong>8. Fork-Join Parallelism Pattern</strong></h3><p>Large tasks that could be split into independent units still run sequentially if the agent can only work on one thing at a time. A migration across 20 files takes 20 sequential steps even though most of those files have no dependencies on each other.</p><p>This pattern spawns multiple subagents in parallel, each working in an isolated git worktree on an independent copy of the repo. The parent&#8217;s cached context is reused by each fork, making parallel branching essentially free in token cost. Results merge when all branches complete.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Pf2k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6a16c7-6856-4c66-9658-a7040811edc9_1454x790.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Pf2k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6a16c7-6856-4c66-9658-a7040811edc9_1454x790.png 424w, https://substackcdn.com/image/fetch/$s_!Pf2k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6a16c7-6856-4c66-9658-a7040811edc9_1454x790.png 848w, https://substackcdn.com/image/fetch/$s_!Pf2k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6a16c7-6856-4c66-9658-a7040811edc9_1454x790.png 1272w, https://substackcdn.com/image/fetch/$s_!Pf2k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6a16c7-6856-4c66-9658-a7040811edc9_1454x790.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Pf2k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6a16c7-6856-4c66-9658-a7040811edc9_1454x790.png" width="1454" height="790" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5c6a16c7-6856-4c66-9658-a7040811edc9_1454x790.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:790,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97124,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6a16c7-6856-4c66-9658-a7040811edc9_1454x790.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_!Pf2k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6a16c7-6856-4c66-9658-a7040811edc9_1454x790.png 424w, https://substackcdn.com/image/fetch/$s_!Pf2k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6a16c7-6856-4c66-9658-a7040811edc9_1454x790.png 848w, https://substackcdn.com/image/fetch/$s_!Pf2k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6a16c7-6856-4c66-9658-a7040811edc9_1454x790.png 1272w, https://substackcdn.com/image/fetch/$s_!Pf2k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6a16c7-6856-4c66-9658-a7040811edc9_1454x790.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this when a task decomposes into independent units that do not depend on each other&#8217;s output. The main trade-off is merge complexity: when parallel branches touch overlapping files, the merge can produce conflicts harder to resolve than sequential work would have been.</p><h2><strong>Tools and Permissions</strong></h2><p>If the memory patterns are about what the agent knows, and the workflow patterns are about how it works, these patterns are about what it is allowed to do. The leaked code showed a level of tool design and permission granularity that goes well beyond what most agent frameworks implement today.</p><h3><strong>9. Progressive Tool Expansion Pattern</strong></h3><p>Giving an agent access to every available tool at once creates a selection problem. With 60 tools visible, the model spends more time deciding which to use and is more likely to pick the wrong one.</p><p>This pattern starts with a small default set (fewer than 20 tools in Claude Code) and activates additional tools on demand. <a href="https://x.com/jpschroeder/status/2038960058499768427">Justin Schroeder noted</a> the deliberately small default set. The agent starts with Read, Edit, Write, Bash, Grep, Glob, and a handful of others. MCP tools, remote tools, and custom skills activate only when needed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E3HP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1970e01d-4e61-45b2-bc97-c1e072874b44_1454x455.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E3HP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1970e01d-4e61-45b2-bc97-c1e072874b44_1454x455.png 424w, https://substackcdn.com/image/fetch/$s_!E3HP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1970e01d-4e61-45b2-bc97-c1e072874b44_1454x455.png 848w, https://substackcdn.com/image/fetch/$s_!E3HP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1970e01d-4e61-45b2-bc97-c1e072874b44_1454x455.png 1272w, https://substackcdn.com/image/fetch/$s_!E3HP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1970e01d-4e61-45b2-bc97-c1e072874b44_1454x455.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E3HP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1970e01d-4e61-45b2-bc97-c1e072874b44_1454x455.png" width="1454" height="455" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1970e01d-4e61-45b2-bc97-c1e072874b44_1454x455.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:455,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77471,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1970e01d-4e61-45b2-bc97-c1e072874b44_1454x455.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_!E3HP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1970e01d-4e61-45b2-bc97-c1e072874b44_1454x455.png 424w, https://substackcdn.com/image/fetch/$s_!E3HP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1970e01d-4e61-45b2-bc97-c1e072874b44_1454x455.png 848w, https://substackcdn.com/image/fetch/$s_!E3HP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1970e01d-4e61-45b2-bc97-c1e072874b44_1454x455.png 1272w, https://substackcdn.com/image/fetch/$s_!E3HP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1970e01d-4e61-45b2-bc97-c1e072874b44_1454x455.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this when your agent has access to many tools but most tasks only need a few. The main trade-off is that the expansion logic adds complexity: the harness must decide when to activate tools, and activating too late means the agent wastes turns without the right capability.</p><h3><strong>10. Command Risk Classification Pattern</strong></h3><p>Letting an agent run arbitrary shell commands without inspection is dangerous. But asking the user to approve every command creates fatigue, and users end up clicking &#8220;yes&#8221; to everything.</p><p>This pattern applies deterministic pre-parsing and per-tool permission gating before execution. Each tool has individual allow, ask, and deny rules with pattern matching. Shell commands pass through a classification layer that parses the verb, flags, and target to assess risk. The <a href="https://x.com/S0nne123/status/2038979121267495277">auto-mode classifier</a> found in the code auto-approves low-risk actions while keeping a safety classifier for anything dangerous.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XutZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2733371f-3598-4020-a3f9-9d2f83c4bb3d_1454x622.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XutZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2733371f-3598-4020-a3f9-9d2f83c4bb3d_1454x622.png 424w, https://substackcdn.com/image/fetch/$s_!XutZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2733371f-3598-4020-a3f9-9d2f83c4bb3d_1454x622.png 848w, https://substackcdn.com/image/fetch/$s_!XutZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2733371f-3598-4020-a3f9-9d2f83c4bb3d_1454x622.png 1272w, https://substackcdn.com/image/fetch/$s_!XutZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2733371f-3598-4020-a3f9-9d2f83c4bb3d_1454x622.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XutZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2733371f-3598-4020-a3f9-9d2f83c4bb3d_1454x622.png" width="1454" height="622" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2733371f-3598-4020-a3f9-9d2f83c4bb3d_1454x622.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:622,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:82039,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2733371f-3598-4020-a3f9-9d2f83c4bb3d_1454x622.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_!XutZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2733371f-3598-4020-a3f9-9d2f83c4bb3d_1454x622.png 424w, https://substackcdn.com/image/fetch/$s_!XutZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2733371f-3598-4020-a3f9-9d2f83c4bb3d_1454x622.png 848w, https://substackcdn.com/image/fetch/$s_!XutZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2733371f-3598-4020-a3f9-9d2f83c4bb3d_1454x622.png 1272w, https://substackcdn.com/image/fetch/$s_!XutZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2733371f-3598-4020-a3f9-9d2f83c4bb3d_1454x622.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this when your agent can execute shell commands or interact with external systems. The main trade-off is rigidity: a deterministic classifier cannot anticipate every safe or dangerous command, so the rules need ongoing tuning.</p><h3><strong>11. Single-Purpose Tool Design Pattern</strong></h3><p>When an agent routes every file operation through a general shell (cat, sed, grep, find), the commands are harder to review, harder to permission, and harder for the model to use correctly. A sed command that edits a file looks identical in structure to one that corrupts it.</p><p>This pattern replaces the general shell with purpose-built tools for each common operation: FileReadTool, FileEditTool, GrepTool, GlobTool. Each tool has typed inputs, a constrained scope, and its own permission rules. Raschka calls this out explicitly: the harness provides &#8220;predefined tools with validated inputs and clear boundaries&#8221; rather than allowing improvised commands.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SV84!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba2d390-5198-4fad-9471-faf0fef9c549_1454x529.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SV84!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba2d390-5198-4fad-9471-faf0fef9c549_1454x529.png 424w, https://substackcdn.com/image/fetch/$s_!SV84!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba2d390-5198-4fad-9471-faf0fef9c549_1454x529.png 848w, https://substackcdn.com/image/fetch/$s_!SV84!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba2d390-5198-4fad-9471-faf0fef9c549_1454x529.png 1272w, https://substackcdn.com/image/fetch/$s_!SV84!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba2d390-5198-4fad-9471-faf0fef9c549_1454x529.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SV84!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba2d390-5198-4fad-9471-faf0fef9c549_1454x529.png" width="1454" height="529" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aba2d390-5198-4fad-9471-faf0fef9c549_1454x529.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:529,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83594,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba2d390-5198-4fad-9471-faf0fef9c549_1454x529.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_!SV84!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba2d390-5198-4fad-9471-faf0fef9c549_1454x529.png 424w, https://substackcdn.com/image/fetch/$s_!SV84!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba2d390-5198-4fad-9471-faf0fef9c549_1454x529.png 848w, https://substackcdn.com/image/fetch/$s_!SV84!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba2d390-5198-4fad-9471-faf0fef9c549_1454x529.png 1272w, https://substackcdn.com/image/fetch/$s_!SV84!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba2d390-5198-4fad-9471-faf0fef9c549_1454x529.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this when your agent performs common file and search operations frequently. The main trade-off is flexibility: purpose-built tools cannot cover every edge case, so you still need a general shell as a fallback.</p><h2><strong>Automation</strong></h2><p>The final pattern stands alone because it cuts across all other categories. It addresses a problem that applies equally to memory, workflow, and tools: the model cannot be trusted to remember procedural steps that must happen every time.</p><h3><strong>12. Deterministic Lifecycle Hooks Pattern</strong></h3><p>Some actions must happen every time without exception: run the formatter after every edit, validate commands before execution, reload configuration when the working directory changes. Relying on the model to remember these through prompt instructions is unreliable. The model will forget, skip, or reinterpret the instruction depending on context pressure.</p><p>This pattern runs shell commands or other actions automatically at specific points in the agent lifecycle, outside the prompt entirely. The leaked code includes 25+ hook points such as PreToolUse, PostToolUse, SessionStart, and CwdChanged. Anything that must happen every time belongs in a hook, not in an instruction.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7yZs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd29d38c6-392b-44c9-8686-bf7728947ea5_1454x680.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7yZs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd29d38c6-392b-44c9-8686-bf7728947ea5_1454x680.png 424w, https://substackcdn.com/image/fetch/$s_!7yZs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd29d38c6-392b-44c9-8686-bf7728947ea5_1454x680.png 848w, https://substackcdn.com/image/fetch/$s_!7yZs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd29d38c6-392b-44c9-8686-bf7728947ea5_1454x680.png 1272w, https://substackcdn.com/image/fetch/$s_!7yZs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd29d38c6-392b-44c9-8686-bf7728947ea5_1454x680.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7yZs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd29d38c6-392b-44c9-8686-bf7728947ea5_1454x680.png" width="1454" height="680" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d29d38c6-392b-44c9-8686-bf7728947ea5_1454x680.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:680,&quot;width&quot;:1454,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:85228,&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://generativeprogrammer.com/i/193249897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd29d38c6-392b-44c9-8686-bf7728947ea5_1454x680.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_!7yZs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd29d38c6-392b-44c9-8686-bf7728947ea5_1454x680.png 424w, https://substackcdn.com/image/fetch/$s_!7yZs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd29d38c6-392b-44c9-8686-bf7728947ea5_1454x680.png 848w, https://substackcdn.com/image/fetch/$s_!7yZs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd29d38c6-392b-44c9-8686-bf7728947ea5_1454x680.png 1272w, https://substackcdn.com/image/fetch/$s_!7yZs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd29d38c6-392b-44c9-8686-bf7728947ea5_1454x680.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Use this when you have invariant behaviors that should never be skipped. The main trade-off is debugging difficulty: when something goes wrong in a hook, it can be harder to diagnose than a prompt-level instruction because hooks run outside the conversation.</p><h2><strong>The Takeaway</strong></h2><p> I believe these patterns are not temporary tricks or product-specific features. They are cornerstones of agentic harness design. Memory tiering, context compaction, permission gating, lifecycle hooks: these are the kinds of architectural decisions that will remain relevant as the models and tools evolve underneath them.</p><p>The Claude Code leak gave us a rare opportunity to see how these patterns are implemented at the cutting edge, in a production agent used by hundreds of thousands of developers. That visibility will not last, but the patterns will.</p>]]></content:encoded></item><item><title><![CDATA[Practical Lessons From the Claude Code Leak]]></title><description><![CDATA[The most useful part of the Claude Code leak was not the drama. It was the architecture.]]></description><link>https://generativeprogrammer.com/p/practical-lessons-from-the-claude</link><guid isPermaLink="false">https://generativeprogrammer.com/p/practical-lessons-from-the-claude</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Fri, 03 Apr 2026 16:26:12 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c0d73220-6c8d-481e-b4af-5221d2f205cb_1972x1112.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>On March 31, 2026, security researcher <a href="https://x.com/Fried_rice/status/2038894956459290963">Chaofan Shou posted</a> (more than 34 million views) that Claude Code&#8217;s entire source had leaked through a sourcemap left in Anthropic&#8217;s public npm package. Roughly 500,000 lines of TypeScript across about 1,900 files. Not the model or weights, but the harness around them: system prompts, tool routing, memory, permissions, hooks, subagents, and a large amount of product wiring.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FEZx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51752f98-e6c0-4eb0-b5ee-3d0d264d849b_965x1200.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FEZx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51752f98-e6c0-4eb0-b5ee-3d0d264d849b_965x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FEZx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51752f98-e6c0-4eb0-b5ee-3d0d264d849b_965x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FEZx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51752f98-e6c0-4eb0-b5ee-3d0d264d849b_965x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FEZx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51752f98-e6c0-4eb0-b5ee-3d0d264d849b_965x1200.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FEZx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51752f98-e6c0-4eb0-b5ee-3d0d264d849b_965x1200.jpeg" width="965" height="1200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51752f98-e6c0-4eb0-b5ee-3d0d264d849b_965x1200.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:965,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!FEZx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51752f98-e6c0-4eb0-b5ee-3d0d264d849b_965x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FEZx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51752f98-e6c0-4eb0-b5ee-3d0d264d849b_965x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FEZx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51752f98-e6c0-4eb0-b5ee-3d0d264d849b_965x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FEZx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51752f98-e6c0-4eb0-b5ee-3d0d264d849b_965x1200.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"><em><strong>Chaofan Shou&#8217;s original tweet</strong></em></figcaption></figure></div><p>The leak handed everyone a blueprint for how a production coding agent is assembled. That blueprint is more interesting than the drama around it, and this post is about the practical lessons I took from it, things Claude Code users and agent builders can apply.</p><h2><strong>What happened</strong></h2><p>If you want a video walkthrough, <a href="https://www.youtube.com/watch?v=dYG8JxtSgmM">Matthew Berman&#8217;s coverage</a> is the fastest entry point. Anthropic confirmed this was a release packaging mistake caused by human error, not a hack. No customer data, API credentials, or model weights were exposed.</p><p>One surprising detail, <a href="https://x.com/jpschroeder/status/2038960058499768427">noted by Justin Schroeder</a>, is that much of the system prompting lives in the client-side source rather than behind a server-side API. For a company like Anthropic, shipping prompts, which are important IP, inside a distributed npm package was unexpected. The codebase is TypeScript and React with Bun bindings, and the code is full of comments written for LLMs, not humans, so that agents working on the codebase can understand each section. A <a href="https://ccunpacked.dev/">technical breakdown at ccunpacked.dev</a> mapped the full structure.</p><h2><strong>What happened next</strong></h2><p>The code escaped almost immediately. Mirrors spread across GitHub, takedowns followed, and community rewrites appeared within hours.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HxRk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59a5acf0-c535-43f6-852b-20f1a3637dab_1546x1254.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HxRk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59a5acf0-c535-43f6-852b-20f1a3637dab_1546x1254.png 424w, https://substackcdn.com/image/fetch/$s_!HxRk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59a5acf0-c535-43f6-852b-20f1a3637dab_1546x1254.png 848w, https://substackcdn.com/image/fetch/$s_!HxRk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59a5acf0-c535-43f6-852b-20f1a3637dab_1546x1254.png 1272w, https://substackcdn.com/image/fetch/$s_!HxRk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59a5acf0-c535-43f6-852b-20f1a3637dab_1546x1254.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HxRk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59a5acf0-c535-43f6-852b-20f1a3637dab_1546x1254.png" width="1456" height="1181" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59a5acf0-c535-43f6-852b-20f1a3637dab_1546x1254.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1181,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154530,&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://generativeprogrammer.com/i/193081510?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59a5acf0-c535-43f6-852b-20f1a3637dab_1546x1254.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_!HxRk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59a5acf0-c535-43f6-852b-20f1a3637dab_1546x1254.png 424w, https://substackcdn.com/image/fetch/$s_!HxRk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59a5acf0-c535-43f6-852b-20f1a3637dab_1546x1254.png 848w, https://substackcdn.com/image/fetch/$s_!HxRk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59a5acf0-c535-43f6-852b-20f1a3637dab_1546x1254.png 1272w, https://substackcdn.com/image/fetch/$s_!HxRk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59a5acf0-c535-43f6-852b-20f1a3637dab_1546x1254.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">The chart is real, but the repos are different: one tracks the leaked-source fork, the other tracks Anthropic&#8217;s public Claude Code plugin repo.</figcaption></figure></div><p>The most visible follow-on project was <a href="https://github.com/instructkr/claw-code">Claw Code</a>, presented as a clean-room Python rewrite of the harness. The repository now includes a Rust port and frames itself as &#8220;better harness tools&#8221; rather than an archive of leaked code. That &#8220;clean-room&#8221; phrasing matters, but it is not a magic legal shield. Whether a rewrite is actually lawful <a href="https://www.law.cornell.edu/wex/clean_room">depends on how it was produced</a>, not on what the README says.</p><p>There is also a security warning. <a href="https://www.bleepingcomputer.com/news/security/claude-code-leak-used-to-push-infostealer-malware-on-github/">BleepingComputer reported</a> fake GitHub repositories using the leak as bait for infostealer malware. Attackers also <a href="https://x.com/Butanium_/status/2039079715823128964">registered malicious npm packages</a> targeting anyone who tried to compile the leaked source. The sensible stance: study the incident, learn from it, do not run random &#8220;leaked Claude Code&#8221; repos.</p><p>The more interesting signal is how quickly open-source projects started absorbing the patterns. You can see it directly in <a href="https://github.com/anomalyco/opencode/issues/20475">OpenCode&#8217;s issue tracker</a>, where users asked whether the harness design should be incorporated. The community treated the leak as a public architecture review, not gossip.</p><h2><strong>What Claude Code users can learn from this</strong></h2><p>Below are ten lessons. They are useful whether you use Claude Code or you are building your own agentic application.</p><h3><strong>1. Treat CLAUDE.md like a config file</strong></h3><p>The leak confirmed that <code>CLAUDE.md</code> is not an optional README. It is a control file loaded at the start of every session. A <a href="https://x.com/ziwenxu_/status/2039002226018984333">community analysis</a> showed how the harness treats it as persistent project memory that shapes every interaction. Build commands, test commands, architecture boundaries, naming rules. It all belongs there.</p><p>Run <code>/init</code> once to generate a starting version, then edit it by hand. A good <code>CLAUDE.md</code> reads more like a <code>.eslintrc</code> than a README:</p><p></p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;ca360d12-32ef-45d4-acca-165e7951869b&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown"># CLAUDE.md

## Build &amp; test
- Run tests: `npm test`
- Lint: `npm run lint`
- Build: `npm run build`

## Architecture rules
- All API handlers go in `src/api/`
- Never import from `src/internal/` outside that directory
- Use Zod for all request validation, no manual parsing

## Conventions
- Use `snake_case` for database columns, `camelCase` for TypeScript
- Every new endpoint needs a test in `tests/api/`</code></pre></div><p>If you are building your own agent, the same principle applies. Give it a structured instruction file that loads every session, not a prompt you paste each time.</p><h3><strong>2. Keep memory selective, not exhaustive</strong></h3><p>One of the most <a href="https://x.com/himanshustwts/status/2038924027411222533">detailed breakdowns of the memory system</a> showed a three-layer design: <code>MEMORY.md</code> as a compact index always loaded into context, topic-specific memory files loaded on demand, and session transcripts only searched when needed. Auto memory is capped at the first 200 lines. The code also revealed an &#8220;autoDream&#8221; mode, a background process that <a href="https://x.com/troyhua/status/2039052328070734102">consolidates memories during idle periods</a>, merging duplicates, pruning contradictions, and keeping the index tight. A separate <a href="https://x.com/ellen_in_sf/status/2039098050837463504">mem0 analysis</a> found 8 phases of memory management and 5 types of context compaction.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!adfX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be3d689-4693-40ea-ae0d-ffc912bf2dc0_3469x3742.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!adfX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be3d689-4693-40ea-ae0d-ffc912bf2dc0_3469x3742.jpeg 424w, https://substackcdn.com/image/fetch/$s_!adfX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be3d689-4693-40ea-ae0d-ffc912bf2dc0_3469x3742.jpeg 848w, https://substackcdn.com/image/fetch/$s_!adfX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be3d689-4693-40ea-ae0d-ffc912bf2dc0_3469x3742.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!adfX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be3d689-4693-40ea-ae0d-ffc912bf2dc0_3469x3742.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!adfX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be3d689-4693-40ea-ae0d-ffc912bf2dc0_3469x3742.jpeg" width="1456" height="1571" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0be3d689-4693-40ea-ae0d-ffc912bf2dc0_3469x3742.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1571,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!adfX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be3d689-4693-40ea-ae0d-ffc912bf2dc0_3469x3742.jpeg 424w, https://substackcdn.com/image/fetch/$s_!adfX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be3d689-4693-40ea-ae0d-ffc912bf2dc0_3469x3742.jpeg 848w, https://substackcdn.com/image/fetch/$s_!adfX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be3d689-4693-40ea-ae0d-ffc912bf2dc0_3469x3742.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!adfX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be3d689-4693-40ea-ae0d-ffc912bf2dc0_3469x3742.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">Cloude Code Memory Architecture</figcaption></figure></div><p>The takeaway: memory should be curated. Store stable preferences, recurring workflow hints, and things that are not obvious from the code. Do not store stack traces, logs, or facts Claude can derive by reading the repo. If a memory note would not help in a future session, it should not exist.</p><h3><strong>3. Split instructions by scope</strong></h3><p>The leaked code showed context <a href="https://x.com/k1rallik/status/2038978638381531486">assembled from multiple files dynamically</a>, not crammed into one prompt. Claude Code supports multiple instruction scopes: org-level, user-level, project root, local overrides, parent and child directories. </p><p>Keep one short root <code>CLAUDE.md</code> with broad project rules. Put language-specific or module-specific instructions closer to the code they govern. </p><h3><strong>4. Explore first, then plan, then code</strong></h3><p>The leak revealed how seriously Anthropic treats the <a href="https://x.com/DharmiKumbhani/status/2038917827462308308">separation between planning and execution</a>. The harness has distinct plan and act phases, and the system prompts steer the agent away from editing before it understands the codebase.</p><p>In practice: first ask Claude to map the codebase. Then ask for a plan. Only then let it edit or run commands. This one habit eliminates most &#8220;random edits to the wrong files&#8221; problems. The impulse to jump straight to coding is strong, but exploration first is always faster.</p><h3><strong>5. Use subagents to isolate context</strong></h3><p>The leaked source showed a <a href="https://x.com/rasbt/status/2038980345316413862">modular multi-agent architecture</a> with separate system prompts and cache boundaries for each subagent type. The Explore agent is read-only. It can search and analyze but cannot mutate anything. Each subagent runs in its own context window with restricted tool access.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D-PQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40d4b1f3-5eb1-4aed-8d95-b56bff8e0636_1200x480.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D-PQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40d4b1f3-5eb1-4aed-8d95-b56bff8e0636_1200x480.jpeg 424w, https://substackcdn.com/image/fetch/$s_!D-PQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40d4b1f3-5eb1-4aed-8d95-b56bff8e0636_1200x480.jpeg 848w, https://substackcdn.com/image/fetch/$s_!D-PQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40d4b1f3-5eb1-4aed-8d95-b56bff8e0636_1200x480.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!D-PQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40d4b1f3-5eb1-4aed-8d95-b56bff8e0636_1200x480.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D-PQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40d4b1f3-5eb1-4aed-8d95-b56bff8e0636_1200x480.jpeg" width="1200" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/40d4b1f3-5eb1-4aed-8d95-b56bff8e0636_1200x480.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!D-PQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40d4b1f3-5eb1-4aed-8d95-b56bff8e0636_1200x480.jpeg 424w, https://substackcdn.com/image/fetch/$s_!D-PQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40d4b1f3-5eb1-4aed-8d95-b56bff8e0636_1200x480.jpeg 848w, https://substackcdn.com/image/fetch/$s_!D-PQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40d4b1f3-5eb1-4aed-8d95-b56bff8e0636_1200x480.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!D-PQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40d4b1f3-5eb1-4aed-8d95-b56bff8e0636_1200x480.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"><em><strong>Claude Code Strengths</strong></em></figcaption></figure></div><p>Context contamination is one of the main failure modes in long agentic sessions. Research, planning, and editing have different context needs. Mixing them degrades all three. Use separate agents or modes for each phase. If you are building your own agents, treat context isolation as a design decision, not a side effect.</p><h3><strong>6. Use worktrees for parallel work</strong></h3><p>More analysis of the subagent system showed that subagents leverage cached context for fork-join operations, making parallel execution essentially free in terms of repeated context loading. Claude Code spawns background agents in isolated git worktrees, one per unit of work.</p><p>When you have multiple independent tasks, use separate worktrees. Do not let several agents edit the same branch. If a task is large, split it into chunks with clear outputs. And stop starting fresh sessions for everything. Continue sessions when working on related code.</p><h3><strong>7. Configure permissions at the tool level</strong></h3><p>One of the <a href="https://x.com/jpschroeder/status/2038960058499768427">most concrete findings</a> was the tool count: Claude Code runs fewer than 20 default tools. AgentTool, BashTool, FileReadTool, FileEditTool, FileWriteTool, WebFetchTool, WebSearchTool, and a handful of others. A <a href="https://x.com/mal_shaik/status/2038918662489510273">deeper inventory</a> showed the system can expand to 60+, but the default set is deliberately small. Fewer tools, better results.</p><h3><strong>8. Reduce approval fatigue</strong></h3><p>The leaked source confirmed that Claude Code users approve 93% of permission prompts. The <a href="https://x.com/S0nne123/status/2038979121267495277">auto-mode classifier</a> found in the code is Anthropic&#8217;s answer: a layered system that auto-approves low-risk actions while keeping a safety classifier for anything dangerous.</p><p>When you approve almost everything, the permission system becomes a speed bump, not a safety mechanism. You stop reading what you approve. Move repetitive safe actions into allow rules. Use Plan mode or Accept Edits mode where appropriate. Use Auto mode when the task is bounded and the direction is clear. The goal is not fewer safety checks. It is better-placed checks you actually pay attention to.</p><h3><strong>9. Use hooks for repeatable automation</strong></h3><p>The community found <a href="https://x.com/grok/status/2039236199559184536">25+ event-driven hook points</a> in the leaked code, including <code>PreToolUse</code>, <code>PostToolUse</code>, <code>SessionStart</code>, <code>CwdChanged</code>, and more. Hooks are one of the most powerful features in Claude Code and probably the most underused.</p><p>A hook that runs tests after every file edit:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;json&quot;,&quot;nodeId&quot;:&quot;a8d05653-d0b0-4c86-875a-11a8cc118d29&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-json">{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "FileEditTool",
        "command": "npm test --silent 2&gt;&amp;1 | tail -5"
      }
    ]
  }
}</code></pre></div><p>The general principle: if you repeat the same instruction in every prompt, it should be a hook.</p><h3><strong>10. The harness matters more than the prompt</strong></h3><p>This is the lesson: Sebastian Raschka put it well: <a href="https://x.com/rasbt/status/2038980345316413862">Claude Code&#8217;s secret sauce is probably not the model</a>.  If you are building your own agent, spend less time polishing one giant system prompt. Spend more time on tool boundaries, context loading, review loops, and memory discipline. The best coding agent is not the one with the cleverest instructions. It is the one with the best workflow design.</p><h3><strong>Bonus: the small details</strong></h3><p>The leak also surfaced things that are not actionable but say a lot about how the product is built. Wes Bos found <a href="https://x.com/wesbos/status/2038958747200962952">187 hardcoded spinner verbs</a>, the loading messages you see while Claude thinks. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3UpL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d6ba22-7870-401b-b8d3-fd4fa1770820_1200x706.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3UpL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d6ba22-7870-401b-b8d3-fd4fa1770820_1200x706.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3UpL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d6ba22-7870-401b-b8d3-fd4fa1770820_1200x706.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3UpL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d6ba22-7870-401b-b8d3-fd4fa1770820_1200x706.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3UpL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d6ba22-7870-401b-b8d3-fd4fa1770820_1200x706.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3UpL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d6ba22-7870-401b-b8d3-fd4fa1770820_1200x706.jpeg" width="1200" height="706" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2d6ba22-7870-401b-b8d3-fd4fa1770820_1200x706.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:706,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!3UpL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d6ba22-7870-401b-b8d3-fd4fa1770820_1200x706.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3UpL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d6ba22-7870-401b-b8d3-fd4fa1770820_1200x706.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3UpL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d6ba22-7870-401b-b8d3-fd4fa1770820_1200x706.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3UpL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d6ba22-7870-401b-b8d3-fd4fa1770820_1200x706.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">Claude Code spinner words :)</figcaption></figure></div><p>Someone found <a href="https://x.com/Rahatcodes/status/2038995503141065145">Boris&#8217;s WTF counter</a>, an internal metric tracking unexpected states. Good agent products are not only inference. They are interface, orchestration, trust, and taste.</p><h2><strong>The bottom line</strong></h2><p>The takeaway is straightforward: use the product more deliberately: write a better <code>CLAUDE.md</code>, keep memory tight, split exploration from editing, move repeated behavior into hooks, configure permissions properly, and use worktrees when parallelism matters. Most of these features were already documented. It took seeing the internals to realize how seriously the team behind Claude Code takes them.</p><p>For anyone building agentic applications, the lesson is the same. The moat is not the model, it is the harness.</p>]]></content:encoded></item><item><title><![CDATA[State of AI-Assisted Coding in 2026]]></title><description><![CDATA[AI coding is converging on three domains: planning, code generation, and confidence building]]></description><link>https://generativeprogrammer.com/p/state-of-ai-assisted-coding-in-2026</link><guid isPermaLink="false">https://generativeprogrammer.com/p/state-of-ai-assisted-coding-in-2026</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sun, 29 Mar 2026 10:41:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UiRV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4451ee7d-d18e-4df8-b53f-b8765d238c71_2000x1820.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2><strong>Key takeaways</strong></h2><ul><li><p>AI-assisted coding moved from autocomplete to agentic code generation.</p></li><li><p>That shift made planning a first-class step. Serious teams now start with a spec or a plan before the agent touches the codebase.</p></li><li><p>Build split into two paths: full-stack app builders for prompt-to-product flows, and local developer agents for working inside real repos.</p></li><li><p>The biggest new category is local developer agents, especially CLI-native ones.</p></li><li><p>Async cloud agents are still early, but they point to a delegated model where coding work runs in the background or overnight.</p></li><li><p>AI-assisted review is becoming the only practical way to keep up with the volume of AI-generated code.</p></li></ul><p>I wrote about this landscape last year in <a href="https://generativeprogrammer.com/p/ai-coding-assistants-landscape">AI Coding Assistants Landscape (03/2025)</a>. The picture is simpler now. The big change is not only that the tools got better. The workflow changed. Not long ago, the center of the story was autocomplete and inline suggestions. In 2026, the center is agentic code generation guided by a plan, followed by stronger review before code ships.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UiRV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4451ee7d-d18e-4df8-b53f-b8765d238c71_2000x1820.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UiRV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4451ee7d-d18e-4df8-b53f-b8765d238c71_2000x1820.png 424w, https://substackcdn.com/image/fetch/$s_!UiRV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4451ee7d-d18e-4df8-b53f-b8765d238c71_2000x1820.png 848w, https://substackcdn.com/image/fetch/$s_!UiRV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4451ee7d-d18e-4df8-b53f-b8765d238c71_2000x1820.png 1272w, https://substackcdn.com/image/fetch/$s_!UiRV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4451ee7d-d18e-4df8-b53f-b8765d238c71_2000x1820.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UiRV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4451ee7d-d18e-4df8-b53f-b8765d238c71_2000x1820.png" width="1456" height="1325" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4451ee7d-d18e-4df8-b53f-b8765d238c71_2000x1820.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a7aac1e5-1e37-443b-8bcb-2710b66a7954_2000x1820.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1325,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:582606,&quot;alt&quot;:&quot;State of AI-Assisted Coding in 2026&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/192440132?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7aac1e5-1e37-443b-8bcb-2710b66a7954_2000x1820.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="State of AI-Assisted Coding in 2026" title="State of AI-Assisted Coding in 2026" srcset="https://substackcdn.com/image/fetch/$s_!UiRV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4451ee7d-d18e-4df8-b53f-b8765d238c71_2000x1820.png 424w, https://substackcdn.com/image/fetch/$s_!UiRV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4451ee7d-d18e-4df8-b53f-b8765d238c71_2000x1820.png 848w, https://substackcdn.com/image/fetch/$s_!UiRV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4451ee7d-d18e-4df8-b53f-b8765d238c71_2000x1820.png 1272w, https://substackcdn.com/image/fetch/$s_!UiRV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4451ee7d-d18e-4df8-b53f-b8765d238c71_2000x1820.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"><em><strong>State of AI-Assisted Coding in 2026</strong></em></figcaption></figure></div><p>This is an opinionated map of how the market is organizing itself. The easiest way to understand the ecosystem now is through a simple sequence: plan the work, build it with agents, then review what they produced.</p><h2><strong>1. Plan</strong></h2><p>The first major shift is that planning stopped being optional. Teams learned the same lesson from multiple directions: if the plan is weak, the build drifts, the review catches more noise than signal, and the whole agent loop becomes harder to trust.</p><p>This planning layer now shows up in two forms. There are dedicated spec-driven tools that formalize planning as a standalone practice, and there are build tools that pulled planning into their core workflow.</p><h3><strong>1A. Dedicated planning and spec-driven systems</strong></h3><p>Spec-driven development is the clearest expression of this change. These tools turn vague prompts into requirements, acceptance criteria, design notes, and implementation tasks before code generation begins. If vibe coding is &#8220;start building and see what happens,&#8221; spec-driven development is the counterweight: decide what you are building first, then let the agent execute.</p><ul><li><p><a href="https://kiro.dev/?utm_source=generativeprogrammer.com">Kiro</a>, a productized example of spec-driven development that turns prompts into structured requirements, design artifacts, and task plans.</p></li><li><p><a href="https://github.com/github/spec-kit?utm_source=generativeprogrammer.com">GitHub Spec Kit</a>, GitHub&#8217;s open source toolkit for spec-first workflows and implementation planning.</p></li><li><p><a href="https://github.com/Fission-AI/OpenSpec?utm_source=generativeprogrammer.com">OpenSpec</a>, a lighter open source framework for writing reusable specs for coding agents.</p></li></ul><p>Beyond coding-specific spec tools, broader frameworks such as <a href="https://github.com/bmad-code-org/BMAD-METHOD?utm_source=generativeprogrammer.com">BMAD-METHOD</a> show that structured AI-assisted planning is also expanding into higher-level delivery and agile workflows. The pattern is the same: teams that invest more in upstream intent get more predictable downstream results.</p><h3><strong>2B. Planning modes inside build agents</strong></h3><p>Planning is not confined to dedicated planning tools anymore. The stronger signal is that serious build tools now expose ask, plan, explore, or read-only modes before they touch the codebase. That is the clearest sign that planning became part of the agent loop itself, not something attached later.</p><ul><li><p><a href="https://docs.anthropic.com/en/docs/claude-code/tutorials?utm_source=generativeprogrammer.com">Claude Code</a>, exposes Plan Mode for safe code analysis before editing.</p></li><li><p><a href="https://docs.cursor.com/chat/ask?utm_source=generativeprogrammer.com">Cursor</a>, uses Ask mode for exploration, questions, and planning before execution.</p></li><li><p><a href="https://docs.windsurf.com/windsurf/cascade/cascade?utm_source=generativeprogrammer.com">Windsurf</a>, treats planning as a built-in part of the Cascade workflow.</p></li><li><p><a href="https://docs.cline.bot/features/plan-and-act?utm_source=generativeprogrammer.com">Cline</a>, makes the split explicit with a Plan and Act workflow.</p></li><li><p><a href="https://openai.com/index/introducing-codex/?utm_source=generativeprogrammer.com">Codex</a>, separates Ask mode from Code mode.</p></li><li><p><a href="https://www.jetbrains.com/help/junie/ask-mode.html?utm_source=generativeprogrammer.com">Junie</a>, uses Ask mode to collaborate on an action plan before making changes.</p></li></ul><p>One related shift worth noting is that planning is no longer only text. Screenshots, Figma files, and mockups are increasingly becoming structured inputs into the coding workflow. I would not treat that as a separate category yet, but it matters as a bridge from planning into building. <a href="https://v0.dev/docs/screenshots?utm_source=generativeprogrammer.com">v0 screenshots and files</a> is one obvious example, and the broader full-stack app builders category is also moving in this direction by making design artifacts directly usable for PMs, designers, and non-technical builders.</p><h2><strong>2. Build</strong></h2><p>This is where the market split most visibly. It is no longer useful to talk about &#8220;AI coding tools&#8221; as one bucket. Build is now best understood through three practical categories: full-stack app builders, local developer agents, and async cloud coding agents.</p><p><strong>The most important change for developers is that local developer agents became the default serious workflow</strong>. But before getting there, it is worth separating them from the other branch: full-stack app builders.</p><h3><strong>2A. Full-stack app builders</strong></h3><p>This is the category where vibe coding became productized. These tools combine generation, iteration, preview, runtime, and deployment in one surface. They are not just code generators. They are prompt-to-product environments, closer to &#8220;build me the product&#8221; than &#8220;work with me inside my repo.&#8221;</p><p>This category matters because it serves a broader audience than professional developers: founders, PMs, designers, mixed-role teams, and non-technical builders. It is the closest thing we have to software creation for everyone, and it is expanding the definition of who can build software in a meaningful way.</p><ul><li><p><a href="https://lovable.dev/?utm_source=generativeprogrammer.com">Lovable</a>, full-stack app builder aimed at turning prompts into working products quickly.</p></li><li><p><a href="https://bolt.new/?utm_source=generativeprogrammer.com">Bolt</a>, browser-based full-stack builder with generation, preview, and deployment in one loop.</p></li><li><p><a href="https://v0.dev/docs?utm_source=generativeprogrammer.com">v0</a>, Vercel&#8217;s AI full-stack app builder with strong UI, design, and production handoff workflows.</p></li><li><p><a href="https://replit.com/ai?utm_source=generativeprogrammer.com">Replit Agent</a>, browser-native environment that can generate, run, debug, and deploy applications.</p></li><li><p><a href="https://bubble.io/ai/?utm_source=generativeprogrammer.com">Bubble AI</a>, AI-assisted visual app builder closer to no-code product creation than to local repo development.</p></li></ul><h3><strong>2B. Local developer agents</strong></h3><p><strong>This is the biggest change in the market.</strong> The story is no longer &#8220;which autocomplete tool is best?&#8221; It is &#8220;which agent loop do you want to build your workflow around?&#8221;</p><p>Claude Code helped make this category mainstream, especially on the terminal-native side. But the larger shift is broader than any single tool. The strongest open source and commercial energy now clusters around local agents that can plan, edit, run commands, inspect outputs, and iterate, all inside a real development environment, with the developer supervising the loop. This is where professional software engineering lives in 2026.</p><h4><strong>CLI-native developer agents</strong></h4><p>Terminal-based development is now a category in its own right. This is the branch where agentic coding feels most explicit and most professional. It keeps the repo, the terminal, the test loop, and the engineering workflow at the center, rather than wrapping them behind a simplified interface. Not long ago, terminal-native agents were a niche. Today, some of the fastest-growing open source projects in the AI-assisted coding space are terminal-first.</p><ul><li><p><a href="https://docs.anthropic.com/en/docs/claude-code/overview?utm_source=generativeprogrammer.com">Claude Code</a>, the terminal-native coding agent that made the category mainstream.</p></li><li><p><a href="https://openai.com/codex/?utm_source=generativeprogrammer.com">Codex</a>, OpenAI&#8217;s local coding agent that also extends into cloud delegation.</p></li><li><p><a href="https://github.com/google-gemini/gemini-cli?utm_source=generativeprogrammer.com">Gemini CLI</a>, Google&#8217;s open source terminal agent with strong community adoption.</p></li><li><p><a href="https://github.com/anomalyco/opencode?utm_source=generativeprogrammer.com">OpenCode</a>, a fast-growing open source coding agent with built-in plan and build agents.</p></li><li><p><a href="https://github.com/block/goose?utm_source=generativeprogrammer.com">Goose</a>, open source local agent for install, execute, edit, and test loops.</p></li><li><p><a href="https://aider.chat/?utm_source=generativeprogrammer.com">Aider</a>, Git-first terminal coding assistant that remains highly popular with working developers.</p></li><li><p><a href="https://sourcegraph.com/amp?utm_source=generativeprogrammer.com">Amp</a>, Sourcegraph&#8217;s terminal agent with deep code intelligence and codebase-wide context.</p></li><li><p><a href="https://github.com/plandex-ai/plandex?utm_source=generativeprogrammer.com">Plandex</a>, a terminal agent designed for larger tasks, planning, and sandboxed diffs.</p></li></ul><h4><strong>IDE-native developer agents</strong></h4><p>The IDE-native tools matter just as much, but their mental model changed too. Even in IDEs, the direction moved away from inline completion and toward planning, tool use, command execution, multi-file edits, and local review. The IDE is still the surface, but the agent loop is now the core interaction, not the autocomplete dropdown.</p><ul><li><p><a href="https://cursor.com/?utm_source=generativeprogrammer.com">Cursor</a>, the bridge product from AI-native IDE to full local agent workflow.</p></li><li><p><a href="https://docs.windsurf.com/windsurf/cascade/cascade?utm_source=generativeprogrammer.com">Windsurf</a>, an IDE-native agent centered on planning, editing, execution, and verification.</p></li><li><p><a href="https://github.com/RooCodeInc/Roo-Code?utm_source=generativeprogrammer.com">Roo Code</a>, a popular open source editor agent with architect, ask, code, and debug modes.</p></li><li><p><a href="https://docs.cline.bot/features/plan-and-act?utm_source=generativeprogrammer.com">Cline</a>, an open source IDE agent with a clear plan-then-act workflow.</p></li><li><p><a href="https://docs.augmentcode.com/introduction?utm_source=generativeprogrammer.com">Augment</a>, a context-heavy developer agent that also stretches into review.</p></li><li><p><a href="https://junie.jetbrains.com/?utm_source=generativeprogrammer.com">Junie</a>, JetBrains-native coding agent for planning and implementation inside the existing IDE workflow.</p></li></ul><h3><strong>2C. Async cloud coding agents</strong></h3><p>This is the delegated branch of the build step. If local agents are &#8220;pair with me,&#8221; cloud agents are &#8220;go do this and come back.&#8221; These tools run in remote sandboxes, often triggered from issues or pull request workflows, and return with patches, branches, or pull requests.</p><p>This category is smaller than local agents today, but the workflow matters. It is the beginning of a mode where you hand work to an agent from GitHub, or at the end of the day, and let it run while you are doing something else or simply sleeping. That is why I expect this category to grow even if it still feels early.</p><ul><li><p><a href="https://docs.devin.ai/?utm_source=generativeprogrammer.com">Devin</a>, the flagship async remote coding agent for delegated engineering work.</p></li><li><p><a href="https://platform.openai.com/docs/codex/overview?utm_source=generativeprogrammer.com">Codex cloud</a>, OpenAI&#8217;s sandboxed remote execution model for delegated coding tasks.</p></li><li><p><a href="https://docs.github.com/en/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot?utm_source=generativeprogrammer.com">GitHub Copilot coding agent</a>, GitHub-native delegation from issues and pull request workflows.</p></li><li><p><a href="https://docs.all-hands.dev/?utm_source=generativeprogrammer.com">OpenHands</a>, the open source alternative for issue-to-patch and cloud-agent workflows.</p></li><li><p><a href="https://github.com/SWE-agent/SWE-agent?utm_source=generativeprogrammer.com">SWE-agent</a>, an influential open source issue-to-patch system that bridges research and practice.</p></li></ul><p>If you want to go deeper on the delegated, async side of this market, this <a href="https://background-agents.com/landscape?utm_source=https://generativeprogrammer.com">background agents landscape </a>is worth reviewing. It offers a curated map of tools and infrastructure layers behind these workflows.</p><h2><strong>3. Review</strong></h2><p>Once agents started writing much more code, review became the new bottleneck. The point of this step is simple: keep the speed of AI code generation without letting quality collapse.</p><p>Code generation accelerated faster than our ability to inspect the output manually. That gap is what pulled review into its own category. The strongest part of this layer today is code review. Testing and verification are still lighter, but they are growing quickly as browser-based agents and cloud runtimes become more capable.</p><h3><strong>3A. Review agents</strong></h3><p>The most interesting shift in review is timing. AI review is no longer only something that happens after a pull request exists. The stronger tools now review code locally, before commit or before the PR is opened, and then review again once the PR is live.</p><p>That creates a two-stage loop: local review first, shared PR review second. It is one of the clearest signs that review is becoming part of the development loop itself and not only a separate final gate.</p><ul><li><p><a href="https://docs.qodo.ai/qodo-documentation/qodo-gen/code-review/review-uncommitted-changes?utm_source=generativeprogrammer.com">Qodo</a>, is built for enterprise-scale review, using dedicated agents, codebase context, PR history, and team rules to review changes before they reach the PR and again at review time.</p></li><li><p><a href="https://docs.coderabbit.ai/overview/ide-cli-review?utm_source=generativeprogrammer.com">CodeRabbit</a>, an AI reviewer that now spans pull requests, IDE reviews, and CLI reviews before commit.</p></li><li><p><a href="https://docs.github.com/en/copilot/using-github-copilot/code-review?utm_source=generativeprogrammer.com">GitHub Copilot code review</a>, GitHub-native review in pull requests, now complemented by local review in supported tools.</p></li><li><p><a href="https://docs.augmentcode.com/codereview/overview?utm_source=generativeprogrammer.com">Augment Code Review</a>, a PR reviewer that routes findings back into the IDE or CLI for fixing.</p></li><li><p><a href="https://docs.cursor.com/en/bugbot?utm_source=generativeprogrammer.com">Cursor Bugbot</a>, a mostly PR-native automated reviewer focused on catching real bugs with low noise.</p></li><li><p><a href="https://www.greptile.com/docs/code-review/key-features?utm_source=generativeprogrammer.com">Greptile</a>, a context-aware reviewer focused on repo-wide reasoning over pull requests.</p></li><li><p><a href="https://graphite.dev/features/agent?utm_source=generativeprogrammer.com">Graphite Agent</a>, an AI reviewer integrated into Graphite&#8217;s stacked pull request workflow.</p></li></ul><h3><strong>3B. Testing and verification agents</strong></h3><p>This is a lighter category than review today, but it is easy to see why it could become much bigger. As browser-based agents, cloud Chromium environments, and agentic end-to-end testing get stronger, more of the validation work that currently lives in manual QA can move into automated review loops.</p><p>For now, testing and verification still belong inside the same review step. If review agents inspect diffs, this emerging branch inspects behavior. That distinction will matter more as the code being generated grows in scope and complexity.</p><ul><li><p><a href="https://www.testsprite.com/use-cases/en/ai-software-testing-tool?utm_source=generativeprogrammer.com">TestSprite</a>, an intent-to-tests workflow that generates, runs, and explains tests.</p></li><li><p><a href="https://momentic.ai/?utm_source=generativeprogrammer.com">Momentic</a>, a browser testing agent focused on end-to-end validation.</p></li><li><p><a href="https://www.lambdatest.com/kane-ai/?utm_source=generativeprogrammer.com">KaneAI</a>, an AI testing agent for browser and workflow automation.</p></li><li><p><a href="https://www.mabl.com/agentic-testing-for-software-development-mabl?utm_source=generativeprogrammer.com">mabl Agentic Testing</a>, agentic test creation and maintenance for UI flows.</p></li></ul><p>There are also benchmarks starting to emerge around this review layer. <a href="https://codereview.withmartian.com/?utm_source=generativeprogrammer.com">Code Review Bench</a> from Martian is worth watching because it treats code review as a useful foundation for measuring code generation quality and validation, combining an offline benchmark with real developer behavior from open source pull requests.</p><h2><strong>Appendix: enterprise incumbents and platform suites</strong></h2><p>These tools still matter, especially in enterprise buying conversations, but they are not the sharpest lens for explaining how the market changed:</p><ul><li><p><a href="https://aws.amazon.com/q/developer/?utm_source=generativeprogrammer.com">Amazon Q Developer</a>, an AWS-integrated developer assistant and terminal agent.</p></li><li><p><a href="https://cloud.google.com/products/gemini/code-assist?utm_source=generativeprogrammer.com">Gemini Code Assist</a>, Google&#8217;s enterprise coding assistant across IDEs and cloud workflows.</p></li><li><p><a href="https://about.gitlab.com/gitlab-duo/?utm_source=generativeprogrammer.com">GitLab Duo</a>, GitLab&#8217;s integrated AI layer across the software delivery lifecycle.</p></li><li><p><a href="https://www.tabnine.com/?utm_source=generativeprogrammer.com">Tabnine</a>, a long-running enterprise AI coding assistant focused on controlled deployments.</p></li><li><p><a href="https://www.ibm.com/products/watsonx-code-assistant?utm_source=generativeprogrammer.com">watsonx Code Assistant</a>, IBM&#8217;s enterprise tool for code generation and modernization.</p></li><li><p><a href="https://www.alibabacloud.com/en/product/lingma?utm_source=generativeprogrammer.com">TONGYI Lingma</a>, Alibaba&#8217;s coding assistant for enterprise and cloud workflows.</p></li><li><p><a href="https://refact.ai/?utm_source=generativeprogrammer.com">Refact.ai</a>, a self-hostable coding assistant with strong enterprise positioning.</p></li></ul><h2><strong>Implications</strong></h2><p>If this framing is right, a few implications follow for how we work and what we invest in.</p><p><strong>&#8594;</strong> <strong>Planning will increasingly become the starting point, not an afterthought</strong>. The best coding tools already start with a plan before generation, and teams that skip this step will find themselves debugging drift rather than building features.</p><p><strong>&#8594;</strong> <strong>Full-stack app builders will keep pulling in design, product, and prototyping workflows.</strong> This is expanding who can create software, and that expansion is not slowing down. For product managers, designers, and founders, these tools are becoming the default way to go from idea to working prototype.</p><p><strong>&#8594;</strong> <strong>Local developer agents will keep taking share from autocomplete-first tools</strong> because they fit better with how professional developers already work, inside a real repo, with real tests, in a real terminal or IDE. Developers who learn to work effectively with agent loops will have a meaningful advantage over those still treating AI as a smarter autocomplete.</p><p><strong>&#8594;Async cloud coding agents will grow as delegation becomes more natural.</strong> Send work from GitHub or at the end of the day, and let it run in the background. This mode is still early, but it is the beginning of a shift where engineering work does not have to be synchronous.</p><p><strong>&#8594; Review is becoming the next bottleneck and the real quality gate in software delivery.</strong> As code generation gets better, review will have to become far more sophisticated too. That is where the next major gains in software quality will come from<strong>.</strong></p><p><strong>&#8594; Testing is still earlier than review, but it is the clearest next expansion area for agentic tooling.</strong> As browser-based testing agents improve and cloud runtimes become cheaper, this is where confidence will grow fastest.<br><br>My takeaway: AI-assisted coding is no longer one tool category. It is becoming a connected workflow from planning, to building, to gaining confidence in the result. Teams that understand these layers will be better positioned to adopt the right tools at each step. I share similar analysis on X: <a href="https://x.com/bibryam">https://x.com/bibryam</a> and in this newsletter.</p><div class="embedded-publication-wrap" data-attrs="{&quot;id&quot;:3411919,&quot;name&quot;:&quot;The Generative Programmer&quot;,&quot;logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!TXD9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0826fe93-5348-44e0-9ae7-bbf6feb0c62c_364x364.png&quot;,&quot;base_url&quot;:&quot;https://generativeprogrammer.com&quot;,&quot;hero_text&quot;:&quot;A developer-focused digest revealing how generative AI is transforming coding, architecture, and product development.&quot;,&quot;author_name&quot;:&quot;Bilgin Ibryam&quot;,&quot;show_subscribe&quot;:true,&quot;logo_bg_color&quot;:&quot;#ffffff&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPublicationToDOMWithSubscribe"><div class="embedded-publication show-subscribe"><a class="embedded-publication-link-part" native="true" href="https://generativeprogrammer.com?utm_source=substack&amp;utm_campaign=publication_embed&amp;utm_medium=web"><img class="embedded-publication-logo" src="https://substackcdn.com/image/fetch/$s_!TXD9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0826fe93-5348-44e0-9ae7-bbf6feb0c62c_364x364.png" width="56" height="56" style="background-color: rgb(255, 255, 255);"><span class="embedded-publication-name">The Generative Programmer</span><div class="embedded-publication-hero-text">A developer-focused digest revealing how generative AI is transforming coding, architecture, and product development.</div><div class="embedded-publication-author-name">By Bilgin Ibryam</div></a><form class="embedded-publication-subscribe" method="GET" action="https://generativeprogrammer.com/subscribe?"><input type="hidden" name="source" value="publication-embed"><input type="hidden" name="autoSubmit" value="true"><input type="email" class="email-input" name="email" placeholder="Type your email..."><input type="submit" class="button primary" value="Subscribe"></form></div></div>]]></content:encoded></item><item><title><![CDATA[Applying Kubernetes Patterns to LLM Workloads]]></title><description><![CDATA[How Kubernetes patterns you already know carry over to LLMs, with a few important twists.]]></description><link>https://generativeprogrammer.com/p/applying-kubernetes-patterns-to-llm</link><guid isPermaLink="false">https://generativeprogrammer.com/p/applying-kubernetes-patterns-to-llm</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sat, 21 Mar 2026 17:15:03 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/15ad38ce-ef0c-4d51-a006-8b729d28baa5_2149x1316.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A few years ago, <a href="https://www.linkedin.com/in/ro14nd/">Roland Huss </a>and I wrote <a href="https://www.oreilly.com/library/view/kubernetes-patterns-2nd/9781098131678/">Kubernetes Patterns</a>, a catalogue of repeatable solutions for building cloud-native applications on Kubernetes. The book covers patterns across six categories: foundational, behavioral, structural, configuration, security, and advanced, everything from health probes and init containers to controllers, operators, and elastic scaling. Recently, Roland and Daniele Zonca co-authored a new book, <a href="https://learning.oreilly.com/library/view/generative-ai-on/9781098171919/">Generative AI on Kubernetes</a>, which covers the operational side of running LLMs on Kubernetes. I was a reviewer on that book, and the more I read through it, the more I recognized patterns from our original work, just applied to a very different class of workload. Deployments, StatefulSets, Init Containers, DaemonSets. They were all there. Just with bigger numbers.</p><p>Here is a high-level summary of how Kubernetes patterns apply to LLM workloads, which Roland and I will cover in more detail in our <a href="https://sched.co/2CVyl">upcoming KubeCon + CloudNativeCon Europe 2026 talk </a>in Amsterdam.</p><h2>Same Kubernetes, Different Workload</h2><p>A typical cloud-native application on Kubernetes follows a well-known stack. </p><ul><li><p>An Ingress routes HTTP traffic to stateless App Pods managed by a Deployment. </p></li><li><p>An init container runs database migrations before the app starts. </p></li><li><p>PostgreSQL runs as a StatefulSet with persistent storage. </p></li><li><p>A CronJob generates reports on a schedule. </p></li><li><p>A layer of DaemonSets, such as Prometheus Node Exporter and Fluentd, provides</p></li></ul><p>That is six Kubernetes patterns at work: Controller, Stateless Service, Init Container, Stateful Service, Batch Job, Daemon Service.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bE08!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab796b8-755f-4472-9ccd-a0d23f591e2f_5303x2179.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bE08!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab796b8-755f-4472-9ccd-a0d23f591e2f_5303x2179.png 424w, https://substackcdn.com/image/fetch/$s_!bE08!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab796b8-755f-4472-9ccd-a0d23f591e2f_5303x2179.png 848w, https://substackcdn.com/image/fetch/$s_!bE08!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab796b8-755f-4472-9ccd-a0d23f591e2f_5303x2179.png 1272w, https://substackcdn.com/image/fetch/$s_!bE08!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab796b8-755f-4472-9ccd-a0d23f591e2f_5303x2179.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bE08!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab796b8-755f-4472-9ccd-a0d23f591e2f_5303x2179.png" width="728" height="299" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ab796b8-755f-4472-9ccd-a0d23f591e2f_5303x2179.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:598,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:896606,&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://generativeprogrammer.com/i/191668763?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab796b8-755f-4472-9ccd-a0d23f591e2f_5303x2179.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_!bE08!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab796b8-755f-4472-9ccd-a0d23f591e2f_5303x2179.png 424w, https://substackcdn.com/image/fetch/$s_!bE08!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab796b8-755f-4472-9ccd-a0d23f591e2f_5303x2179.png 848w, https://substackcdn.com/image/fetch/$s_!bE08!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab796b8-755f-4472-9ccd-a0d23f591e2f_5303x2179.png 1272w, https://substackcdn.com/image/fetch/$s_!bE08!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ab796b8-755f-4472-9ccd-a0d23f591e2f_5303x2179.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">Traditional vs LLM workloads on Kubernetes</figcaption></figure></div><p>An LLM workload uses the same patterns, but is a fundamentally different kind of workload.</p><ul><li><p>A model is not an application binary. It is tens to hundreds of gigabytes of learned parameters, read-only data that must be loaded into GPU memory before a server can handle a single request. Meta&#8217;s Llama 70B weighs around 140 GB in full precision (FP16), or 35&#8211;40 GB with 4-bit quantization. Loading takes minutes, not seconds. </p></li><li><p>It requires specific hardware: a node with the right GPU, enough VRAM (Video RAM, the memory on the GPU where weights and intermediate computations live), and sometimes a specific GPU interconnect topology.</p></li><li><p>Initialization looks different too. In a traditional app, an init container fetches a config file or runs a migration, a few megabytes, done in seconds. In an LLM stack, the equivalent step stages tens to hundreds of gigabytes of model weights. Once the weights are in place, the model server (<a href="https://docs.vllm.ai/">vLLM</a>, <a href="https://huggingface.co/docs/text-generation-inference">TGI</a>) goes through a multi-phase startup: loading weights into GPU VRAM, compiling <a href="https://developer.nvidia.com/blog/cuda-graphs/">CUDA graphs</a>, and pre-allocating the KV cache (the memory region where the model stores computed attention states so it doesn&#8217;t recompute them for every new token). This takes minutes. Your startup probe needs <code>failureThreshold: 60</code> with <code>periodSeconds: 10</code>, a 10-minute budget.</p></li><li><p>The request profile differs too. In a traditional web service, requests have roughly uniform cost. Round-robin load balancing works. LLM inference breaks this assumption: a 10-token request completes in 200 ms while a 4,000-token request occupies a GPU for 30 seconds. Both arrive as identical <code>POST /v1/chat/completions</code> requests. Round-robin creates hot spots.</p></li><li><p>Scaling signals break down. Out-of-the-box HPA on CPU is not a good fit for GPU inference workloads. You need scaling on LLM-specific metrics: token queue depth (<code>vllm:num_requests_waiting</code>), time-to-first-token, KV cache utilization. </p></li><li><p>Scale-to-zero is impractical when model loading takes five minutes.</p></li><li><p>The infrastructure layer changes. Where you had Node Exporter and Fluentd, you now run <a href="https://kubernetes-sigs.github.io/node-feature-discovery/">NFD</a> (Node Feature Discovery) to label hardware, <a href="https://github.com/NVIDIA/gpu-feature-discovery">GFD</a> (GPU Feature Discovery) to add GPU model and VRAM labels, the <a href="https://github.com/NVIDIA/k8s-device-plugin">NVIDIA device plugin</a> to expose <code>nvidia.com/gpu</code> as a schedulable resource, and the <a href="https://github.com/NVIDIA/dcgm-exporter">DCGM exporter</a> (Data Center GPU Manager) to feed GPU metrics to Prometheus. That is your new stack of DaemonSets forming the GPU infrastructure layer.</p></li></ul><p>Projects like <a href="https://kserve.github.io/">KServe</a> (incubating at CNCF) address these by applying the Controller pattern to model serving. You write an InferenceService CRD, declare the model, the runtime, the scaling policy, and KServe reconciles: Deployment, Service, storage initializer, startup probes, GPU scheduling. </p><p>Despite all this, the fundamentals are the same. Controller, Stateless Service, Init Container, Stateful Service, Batch Job, Daemon Service, all present. The parameters changed, but the patterns held.</p><h2>What stays the same in GenAI on Kubernetes</h2><p>Many Kubernetes patterns apply to LLM workloads without fundamental modification. The pattern works as-is, you only point it at a different workload.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TtOq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd601b247-96c6-488d-86d1-caf0caf4d5b2_1836x1284.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TtOq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd601b247-96c6-488d-86d1-caf0caf4d5b2_1836x1284.png 424w, https://substackcdn.com/image/fetch/$s_!TtOq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd601b247-96c6-488d-86d1-caf0caf4d5b2_1836x1284.png 848w, https://substackcdn.com/image/fetch/$s_!TtOq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd601b247-96c6-488d-86d1-caf0caf4d5b2_1836x1284.png 1272w, https://substackcdn.com/image/fetch/$s_!TtOq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd601b247-96c6-488d-86d1-caf0caf4d5b2_1836x1284.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TtOq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd601b247-96c6-488d-86d1-caf0caf4d5b2_1836x1284.png" width="1456" height="1018" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d601b247-96c6-488d-86d1-caf0caf4d5b2_1836x1284.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1018,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:658871,&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://generativeprogrammer.com/i/191668763?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd601b247-96c6-488d-86d1-caf0caf4d5b2_1836x1284.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_!TtOq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd601b247-96c6-488d-86d1-caf0caf4d5b2_1836x1284.png 424w, https://substackcdn.com/image/fetch/$s_!TtOq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd601b247-96c6-488d-86d1-caf0caf4d5b2_1836x1284.png 848w, https://substackcdn.com/image/fetch/$s_!TtOq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd601b247-96c6-488d-86d1-caf0caf4d5b2_1836x1284.png 1272w, https://substackcdn.com/image/fetch/$s_!TtOq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd601b247-96c6-488d-86d1-caf0caf4d5b2_1836x1284.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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"><strong>Patterns that map directly to GenAI</strong></figcaption></figure></div><p>These are the direct mappings. The Kubernetes primitive stays the same, but the workload behind it changes from web apps and databases to model servers, vector databases, and GPU infrastructure.</p><h2><strong>What changes in GenAI on Kubernetes</strong></h2><p>These patterns still apply to GenAI, but something fundamental changes about how they work. The pattern skeleton is the same; the parameters, scale, or semantics push them beyond their original design.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-eT1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e359db4-f711-425b-b007-94e88e7c0629_1554x1354.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-eT1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e359db4-f711-425b-b007-94e88e7c0629_1554x1354.png 424w, https://substackcdn.com/image/fetch/$s_!-eT1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e359db4-f711-425b-b007-94e88e7c0629_1554x1354.png 848w, https://substackcdn.com/image/fetch/$s_!-eT1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e359db4-f711-425b-b007-94e88e7c0629_1554x1354.png 1272w, https://substackcdn.com/image/fetch/$s_!-eT1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e359db4-f711-425b-b007-94e88e7c0629_1554x1354.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-eT1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e359db4-f711-425b-b007-94e88e7c0629_1554x1354.png" width="1456" height="1269" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e359db4-f711-425b-b007-94e88e7c0629_1554x1354.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1269,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:630138,&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://generativeprogrammer.com/i/191668763?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e359db4-f711-425b-b007-94e88e7c0629_1554x1354.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_!-eT1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e359db4-f711-425b-b007-94e88e7c0629_1554x1354.png 424w, https://substackcdn.com/image/fetch/$s_!-eT1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e359db4-f711-425b-b007-94e88e7c0629_1554x1354.png 848w, https://substackcdn.com/image/fetch/$s_!-eT1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e359db4-f711-425b-b007-94e88e7c0629_1554x1354.png 1272w, https://substackcdn.com/image/fetch/$s_!-eT1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e359db4-f711-425b-b007-94e88e7c0629_1554x1354.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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"><strong>Patterns that change for GenAI</strong></figcaption></figure></div><p>This is where LLM workloads start to stretch familiar Kubernetes patterns. The abstraction still holds, but the operational reality changes. Seconds become minutes. Megabytes become gigabytes. CPU-centric assumptions stop working.</p><h2><strong>Emerging Patterns for AI Workloads</strong></h2><p>Some patterns do not have clear ancestors in the Kubernetes pattern catalogue. They emerge from the specific characteristics of LLM workloads.</p><ul><li><p><strong>Model Data Staging</strong> addresses the challenge of delivering hundreds of gigabytes of model weights to Pods without turning every scale-up into a multi-minute outage.</p></li><li><p><strong>Token-Aware Routing</strong> replaces round-robin with metric-driven endpoint selection based on queue depth and KV cache state. This is being implemented through the Gateway API Inference Extension and projects like llm-d.</p></li><li><p><strong>RAG Composition</strong> wires together four distinct workload types into a coherent application: the orchestrator, the LLM, the vector database, and the ingestion pipeline. Each maps to its natural Kubernetes primitive.</p></li><li><p><strong>Disaggregated Serving</strong> separates the compute-intensive prefill phase from the memory-intensive decode phase, runs them on different hardware, and lets them scale independently. Projects like llm-d are enabling this model.</p></li><li><p><strong>Agentic Workflows</strong> introduce LLM agents that plan, use tools, and iterate. They are also driving new protocols such as MCP (Model Context Protocol) for agent-to-tool integration and A2A (Agent-to-Agent Protocol) for inter-agent communication. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pmEs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb0657e-1a96-44b9-b3ca-140fe72691fc_1280x640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pmEs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb0657e-1a96-44b9-b3ca-140fe72691fc_1280x640.png 424w, https://substackcdn.com/image/fetch/$s_!pmEs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb0657e-1a96-44b9-b3ca-140fe72691fc_1280x640.png 848w, https://substackcdn.com/image/fetch/$s_!pmEs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb0657e-1a96-44b9-b3ca-140fe72691fc_1280x640.png 1272w, https://substackcdn.com/image/fetch/$s_!pmEs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb0657e-1a96-44b9-b3ca-140fe72691fc_1280x640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pmEs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb0657e-1a96-44b9-b3ca-140fe72691fc_1280x640.png" width="1280" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5bb0657e-1a96-44b9-b3ca-140fe72691fc_1280x640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:181041,&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://generativeprogrammer.com/i/191668763?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb0657e-1a96-44b9-b3ca-140fe72691fc_1280x640.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_!pmEs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb0657e-1a96-44b9-b3ca-140fe72691fc_1280x640.png 424w, https://substackcdn.com/image/fetch/$s_!pmEs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb0657e-1a96-44b9-b3ca-140fe72691fc_1280x640.png 848w, https://substackcdn.com/image/fetch/$s_!pmEs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb0657e-1a96-44b9-b3ca-140fe72691fc_1280x640.png 1272w, https://substackcdn.com/image/fetch/$s_!pmEs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb0657e-1a96-44b9-b3ca-140fe72691fc_1280x640.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Building Production-Ready Agent Systems with MCP</figcaption></figure></div><p><strong>Something related:</strong> Our friends at Deep Engineering are hosting a workshop, Building MCP Servers in Production, with Peder Holdgaard Pedersen. If you are exploring MCP beyond demos and into real production systems, this is  worth a look, <strong><a href="https://www.eventbrite.com/e/building-production-ready-agent-systems-with-mcp-tickets-1982519419953?aff=thegenerativeprogrammer">register here</a></strong>.</p></li></ul><p>These patterns are covered in depth in Roland and Daniele&#8217;s book <a href="https://learning.oreilly.com/library/view/generative-ai-on/9781098171919/">Generative AI on Kubernetes</a>. Roland and I will be walking through three of them: Model Data Staging, Token-Aware Routing, and RAG Composition at <a href="https://sched.co/2CVyl">KubeCon Amsterdam this week</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.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://generativeprogrammer.com/subscribe?"><span>Subscribe now</span></a></p><p>If you&#8217;d like more posts like this on Kubernetes, cloud-native patterns, and how they intersect with AI workloads, subscribe to my newsletter.</p>]]></content:encoded></item><item><title><![CDATA[Best Prompt Engineering Resources (2026 Edition)]]></title><description><![CDATA[A curated list of the best prompt engineering books, papers, tools, and courses]]></description><link>https://generativeprogrammer.com/p/best-prompt-engineering-resources</link><guid isPermaLink="false">https://generativeprogrammer.com/p/best-prompt-engineering-resources</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sun, 28 Dec 2025 15:28:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!k9Q6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been <strong>researching, learning, and regularly sharing prompt engineering resources for the past 2+ years</strong> through <em>The Generative Programmer</em>.  During that time, I&#8217;ve read countless guides, papers, tools, and courses. This post is a <strong>curated top list of the best prompt engineering resources I&#8217;ve found so far</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k9Q6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k9Q6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.png 424w, https://substackcdn.com/image/fetch/$s_!k9Q6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.png 848w, https://substackcdn.com/image/fetch/$s_!k9Q6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.png 1272w, https://substackcdn.com/image/fetch/$s_!k9Q6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k9Q6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.png" width="1456" height="1046" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1046,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6677371,&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://generativeprogrammer.com/i/182758868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.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_!k9Q6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.png 424w, https://substackcdn.com/image/fetch/$s_!k9Q6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.png 848w, https://substackcdn.com/image/fetch/$s_!k9Q6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.png 1272w, https://substackcdn.com/image/fetch/$s_!k9Q6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749a72a0-b578-4f7b-8fe2-24d47137d1bf_3783x2719.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"><em><strong>Top Prompt Engineering Resources 2026</strong></em></figcaption></figure></div><p>&#128073; If you&#8217;re building with LLMs, agents, or generative AI, bookmark this. It&#8217;s a living list. </p><div><hr></div><h2>&#128218; Books</h2><p><em>There are many books on AI, but these go deep and explain how prompting actually works in real systems.</em></p><ul><li><p><strong><a href="https://amzn.to/4jfXenF">Prompt Engineering for LLMs</a></strong> &#8211; O&#8217;Reilly, John Berryman, Albert Ziegler</p></li><li><p><strong><a href="https://amzn.to/4pTubsn">Prompt Engineering for Generative AI</a></strong> &#8211; O&#8217;Reilly, James Phoenix, Mike Taylor</p></li><li><p><strong><a href="https://amzn.to/4pWLKYH">Generative AI Design Patterns</a></strong> &#8211; O&#8217;Reilly, Valliappa Lakshmanan, Hannes Hapke</p></li><li><p><strong><a href="https://amzn.to/49bCTv7">Prompt Design Patterns</a></strong> &#8211; Yi Zhou</p></li><li><p><strong><a href="https://amzn.to/3MTBBxf">Unlocking Secrets of Prompt Engineering</a></strong> &#8211; Packt, Gilbert Mizrahi</p></li><li><p><strong><a href="https://amzn.to/4s7Juzc">LLM Design Patterns</a></strong> &#8211; Packt, Ken Huang</p></li><li><p><strong><a href="https://leanpub.com/patterns-of-application-development-using-ai">Patterns of Application Development Using AI</a></strong> &#8211; Leanpub, Obie Fernandez</p></li></ul><div><hr></div><h2>&#127891; Courses</h2><p><em>Most popular learning paths from beginner to advanced prompt engineering.</em></p><ul><li><p><strong><a href="https://learnprompting.thinkific.com/enrollments">Learn Prompting</a></strong> &#8211; LearnPrompting</p></li><li><p><strong><a href="https://maven.com/dair-ai/prompt-engineering-llms?utm_campaign=NDUxMzEz&amp;utm_medium=clp_share_link&amp;utm_source=maven">Advanced Prompt Engineering for LLMs</a></strong> &#8211; Elvis Saravia (DAIR.AI)</p></li><li><p><strong><a href="https://www.udemy.com/share/108nx03@WTllLbrIpjp-yVEQC0YwepcW_5lSFaVV7szZhNvdBuSB4CcpuqNBi43EaJt_6w3D/">Prompt Engineering for Everybody</a></strong> &#8211; Udemy</p></li><li><p><strong><a href="https://github.com/anthropics/prompt-eng-interactive-tutorial">Anthropic&#8217;s Prompt Engineering Interactive Tutorial</a></strong> -Anthropic</p></li></ul><div><hr></div><h2>&#127909; Videos</h2><p><em>Overview, discussions, workshops, and real-world explanations of prompt engineering.</em></p><ul><li><p><strong><a href="https://www.youtube.com/watch?v=ysPbXH0LpIE">Prompting 101 | Code w/ Claude</a></strong><a href="https://www.youtube.com/watch?v=ysPbXH0LpIE"> &#8211; Anthropic</a></p></li><li><p><strong><a href="https://www.youtube.com/watch?v=DL82mGde6wo">State-Of-The-Art Prompting for AI Agents</a></strong><a href="https://www.youtube.com/watch?v=DL82mGde6wo"> &#8211; Y Combinator</a></p></li><li><p><strong><a href="https://www.youtube.com/watch?v=hkhDdcM5V94">Building with Anthropic Claude: Prompt Workshop</a></strong><a href="https://www.youtube.com/watch?v=hkhDdcM5V94"> &#8211; AI Engineer</a></p></li><li><p><strong><a href="https://www.youtube.com/watch?v=_ZvnD73m40o">Prompt Engineering Tutorial &#8211; Master ChatGPT</a></strong><a href="https://www.youtube.com/watch?v=_ZvnD73m40o"> &#8211; freeCodeCamp</a></p></li><li><p><strong><a href="https://www.youtube.com/watch?v=p09yRj47kNM">Google&#8217;s 9 Hour AI Prompt Engineering Course in 20 Minutes</a></strong><a href="https://www.youtube.com/watch?v=p09yRj47kNM"> &#8211; Tina Huang</a></p></li><li><p><strong><a href="https://www.youtube.com/watch?v=htBTho6oEJA">Prompt Engineering Workshop</a></strong><a href="https://www.youtube.com/watch?v=htBTho6oEJA"> &#8211; Hamel Husain</a></p></li><li><p><strong><a href="https://learning.oreilly.com/videos/prompt-engineering/9781835881521/9781835881521-video1_1/">Prompt Engineering &#8211; For Optimal LLM Performance</a></strong><a href="https://learning.oreilly.com/videos/prompt-engineering/9781835881521/9781835881521-video1_1/"> &#8211; Valentina Alto</a></p></li><li><p><strong><a href="https://www.youtube.com/watch?v=5ef83Wljm-M">CMU Advanced NLP 2022 (9): Prompting - </a></strong><a href="https://www.youtube.com/watch?v=5ef83Wljm-M">Graham Neubig</a></p></li></ul><div><hr></div><h2>&#128196; Whitepapers</h2><p><em>Research that introduced modern prompting techniques like CoT, ToT, self-consistency, tool use, and reflection.</em></p><ul><li><p><strong>The Prompt Report: A Systematic Survey of Prompt Engineering Techniques</strong> &#8211; Schulhoff et al<br><a href="https://arxiv.org/abs/2406.06608">https://arxiv.org/abs/2406.06608</a></p></li><li><p><strong>A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT</strong> &#8211; Jules White et al<br><a href="https://arxiv.org/abs/2302.11382">https://arxiv.org/abs/2302.11382</a></p></li><li><p><strong>A Systematic Survey of Prompt Engineering in Large Language Models</strong> &#8211; Pranab Sahoo et al<br><a href="https://arxiv.org/abs/2402.07927">https://arxiv.org/abs/2402.07927</a></p></li><li><p><strong>Buffer of Thoughts: Thought-Augmented Reasoning with LLMs</strong> &#8211; Ling Yang et al<br><a href="https://arxiv.org/abs/2406.04271">https://arxiv.org/abs/2406.04271</a></p></li><li><p><strong>Lost in the Middle: How Language Models Use Long Contexts</strong> &#8211; Nelson F. Liu et al<br><a href="https://arxiv.org/abs/2307.03172">https://arxiv.org/abs/2307.03172</a></p></li><li><p><strong>Toolformer: Language Models Can Teach Themselves to Use Tools</strong> &#8211; Timo Schick et al<br><a href="https://arxiv.org/abs/2302.04761">https://arxiv.org/abs/2302.04761</a></p></li><li><p><strong>Prompting in the Wild</strong> &#8211; Mahan Tafreshipour et al<br><a href="https://arxiv.org/abs/2412.17298">https://arxiv.org/abs/2412.17298</a></p></li><li><p><strong>PromptSource</strong> &#8211; Stephen H. Bach et al<br><a href="https://arxiv.org/abs/2202.01279">https://arxiv.org/abs/2202.01279</a></p></li><li><p><strong>Repository-Level Prompt Generation for LLMs of Code</strong> &#8211; Disha Shrivastava et al<br><a href="https://arxiv.org/abs/2206.12839">https://arxiv.org/abs/2206.12839</a></p></li><li><p><strong>Conversing with Copilot</strong> &#8211; Paul Denny et al<br><a href="https://arxiv.org/abs/2210.15157">https://arxiv.org/abs/2210.15157</a></p></li><li><p><strong>Tree of Thoughts</strong> &#8211; Shunyu Yao et al<br><a href="https://arxiv.org/abs/2305.10601">https://arxiv.org/abs/2305.10601</a></p></li><li><p><strong>Chain-of-Thought Prompting</strong> &#8211; Jason Wei et al<br><a href="https://arxiv.org/abs/2201.11903">https://arxiv.org/abs/2201.11903</a></p></li><li><p><strong>Reflexion</strong> &#8211; Noah Shinn et al<br><a href="https://arxiv.org/abs/2303.11366">https://arxiv.org/abs/2303.11366</a></p></li><li><p><strong>Reprompting</strong> &#8211; Weijia Xu et al<br><a href="https://arxiv.org/abs/2305.09993">https://arxiv.org/abs/2305.09993</a></p></li><li><p><strong>LLMs Are Human-Level Prompt Engineers</strong> &#8211; Yongchao Zhou et al<br><a href="https://arxiv.org/abs/2211.01910">https://arxiv.org/abs/2211.01910</a></p></li><li><p><strong>Self-Consistency Improves Chain-of-Thought Reasoning</strong> &#8211; Xuezhi Wang et al<br><a href="https://arxiv.org/abs/2203.11171">https://arxiv.org/abs/2203.11171</a></p></li><li><p><strong>Language Models Are Zero-Shot Reasoners</strong> &#8211; Takeshi Kojima et al<br><a href="https://arxiv.org/abs/2205.11916">https://arxiv.org/abs/2205.11916</a></p></li><li><p><strong>Prompt Engineering (Whitepaper)</strong> &#8211; Lee Boonstra<br><a href="https://www.kaggle.com/whitepaper-prompt-engineering">https://www.kaggle.com/whitepaper-prompt-engineering</a></p></li><li><p><strong>The DALL&#183;E 2 Prompt Book (PDF)</strong> &#8211; dallery.gallery<br><a href="https://dallery.gallery/wp-content/uploads/2022/07/The-DALL%C2%B7E-2-prompt-book.pdf">https://dallery.gallery/wp-content/uploads/2022/07/The-DALL%C2%B7E-2-prompt-book.pdf</a></p></li></ul><div><hr></div><h2>&#127760; Websites &amp; Roadmaps</h2><p><em>Living documentation, continuously updated guides, and structured learning paths.</em></p><ul><li><p><strong>Prompt Engineering Guide</strong> &#8211; Sander Schulhoff<br><a href="https://learnprompting.org/docs/introduction">https://learnprompting.org/docs/introduction</a></p></li><li><p><strong>Prompting Guide AI</strong> &#8211; DAIR.AI</p><p><a href="https://www.promptingguide.ai/">https://www.promptingguide.ai/</a></p></li><li><p><strong>Prompt Engineering Overview</strong> &#8211; Anthropic<br><a href="https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview">https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview</a></p></li></ul><div><hr></div><h2>&#9997;&#65039; Articles</h2><p><em>Practical write-ups from teams actively shipping LLM-powered systems.</em></p><ul><li><p><strong>Prompt Engineering Best Practices</strong> - Sarah Chieng<br><a href="https://milksandmatcha.notion.site/Prompt-Engineering-Best-Practices-5aab1f04fce246ad9a39d3b69e80ed99">https://milksandmatcha.notion.site/Prompt-Engineering-Best-Practices-5aab1f04fce246ad9a39d3b69e80ed99</a></p></li><li><p><strong>Lilian Weng Prompt Engineering Guide</strong> &#8211; Lilian Weng<br><a href="https://lilianweng.github.io/posts/2023-03-15-prompt-engineering/">https://lilianweng.github.io/posts/2023-03-15-prompt-engineering/</a></p></li><li><p><strong>Anthropic Claude Code Best Practices</strong> &#8211; Anthropic<br><a href="https://www.anthropic.com/engineering/claude-code-best-practices">https://www.anthropic.com/engineering/claude-code-best-practices</a></p></li><li><p><strong>OpenAI Best Practices for Prompt Engineering</strong> &#8211; OpenAI<br><a href="https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-the-openai-api">https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-the-openai-api</a></p></li><li><p><strong>OpenAI Prompt Engineering Guide</strong> &#8211; OpenAI<br><a href="https://platform.openai.com/docs/guides/prompt-engineering">https://platform.openai.com/docs/guides/prompt-engineering</a></p></li><li><p><strong>OpenAI Cookbook Related Resources</strong> &#8211; OpenAI<br><a href="https://cookbook.openai.com/articles/related_resources">https://cookbook.openai.com/articles/related_resources</a></p></li><li><p><strong>Mistral Prompting Capabilities</strong> &#8211; Mistral AI<br><a href="https://docs.mistral.ai/capabilities/completion/prompting_capabilities">https://docs.mistral.ai/capabilities/completion/prompting_capabilities</a></p></li><li><p><strong>ParaHelp Prompt Design Blog</strong> &#8211; ParaHelp<br><a href="https://parahelp.com/blog/prompt-design">https://parahelp.com/blog/prompt-design</a></p></li><li><p><strong>OpenAI Techniques to Improve Reliability</strong> &#8211; OpenAI<br><a href="https://cookbook.openai.com/articles/techniques_to_improve_reliability">https://cookbook.openai.com/articles/techniques_to_improve_reliability</a></p></li><li><p><strong>OpenAI Guides: Optimizing LLM Accuracy</strong> &#8211; OpenAI<br><a href="https://platform.openai.com/docs/guides/optimizing-llm-accuracy">https://platform.openai.com/docs/guides/optimizing-llm-accuracy</a></p></li><li><p><strong>Wikipedia: Prompt Engineering</strong> &#8211; Wikipedia<br><a href="https://en.wikipedia.org/wiki/Prompt_engineering">https://en.wikipedia.org/wiki/Prompt_engineering</a></p></li><li><p><strong>Automated Prompt Engineering: Hands-On Guide</strong> &#8211; Towards Data Science<br><a href="https://towardsdatascience.com/automated-prompt-engineering-the-definitive-hands-on-guide-1476c8cd3c50/">https://towardsdatascience.com/automated-prompt-engineering-the-definitive-hands-on-guide-1476c8cd3c50/</a></p></li><li><p><strong>Advanced Prompt Engineering (Chain-of-Thought)</strong> &#8211; Towards Data Science<br><a href="https://towardsdatascience.com/advanced-prompt-engineering-chain-of-thought-cot-8d8b090bf699/">https://towardsdatascience.com/advanced-prompt-engineering-chain-of-thought-cot-8d8b090bf699/</a></p></li><li><p><strong>5 Prompt Engineering Tips for Developers</strong> &#8211; Slobodan Mehmedovic<br><a href="https://slobodan.me/posts/5-prompt-engineering-tips-for-developers/">https://slobodan.me/posts/5-prompt-engineering-tips-for-developers/</a></p></li><li><p><strong>Anatomy of a Prompt</strong> &#8211; Gyorgy Bakocs<br><a href="https://www.linkedin.com/pulse/anatomy-prompt-gyorgy-bakocs/">https://www.linkedin.com/pulse/anatomy-prompt-gyorgy-bakocs/</a></p></li><li><p><strong>Gemini 3 Prompt Practices</strong> &#8211; Phil Schmid<br><a href="https://www.philschmid.de/gemini-3-prompt-practices">https://www.philschmid.de/gemini-3-prompt-practices</a></p></li><li><p><strong>Prompt Engineering vs Blind Prompting</strong> &#8211; Mitchell Hashimoto<br><a href="https://mitchellh.com/writing/prompt-engineering-vs-blind-prompting">https://mitchellh.com/writing/prompt-engineering-vs-blind-prompting</a></p></li><li><p><strong>Deterministic Quoting</strong> &#8211; Matty Yeung<br><a href="https://mattyyeung.github.io/deterministic-quoting">https://mattyyeung.github.io/deterministic-quoting</a></p></li><li><p><strong>Rewrite Your Prompts</strong> &#8211; Max Leiter<br><a href="https://maxleiter.com/blog/rewrite-your-prompts">https://maxleiter.com/blog/rewrite-your-prompts</a></p></li><li><p><strong>Prompt Engineering 101</strong> &#8211; Amatria<br><a href="https://amatria.in/blog/PromptEngineering">https://amatria.in/blog/PromptEngineering</a></p></li><li><p><strong>Prompt Engineering 201</strong> &#8211; Amatria<br><a href="https://amatria.in/blog/prompt201">https://amatria.in/blog/prompt201</a></p></li><li><p><strong>AI Tools Up: Prompt Engineering Resources</strong> &#8211; aiToolsUp<br><a href="https://aitoolsup.com/best-resources-to-become-prompt-engineer/">https://aitoolsup.com/best-resources-to-become-prompt-engineer/</a></p></li><li><p><strong>Prompt Examples</strong> &#8211; OpenAI<br><a href="https://platform.openai.com/docs/examples">https://platform.openai.com/docs/examples</a></p></li><li><p><strong>Prompt Engineering Roadmap</strong> &#8211; Roadmap.sh<br><a href="https://roadmap.sh/prompt-engineering">https://roadmap.sh/prompt-engineering</a></p></li></ul><div><hr></div><h2>&#129520; GitHub Repositories</h2><p><em>Hands-on prompt examples, tooling, collections, and experiments.</em></p><ul><li><p><a href="https://github.com/PromptLabs/Prompt-Hacking-Resources">https://github.com/PromptLabs/Prompt-Hacking-Resources</a></p></li><li><p><a href="https://github.com/brexhq/prompt-engineering">https://github.com/brexhq/prompt-engineering</a></p></li><li><p><a href="https://github.com/anthropics/prompt-eng-interactive-tutorial">https://github.com/anthropics/prompt-eng-interactive-tutorial</a></p></li><li><p><a href="https://github.com/openai/openai-cookbook">https://github.com/openai/openai-cookbook</a></p></li><li><p><a href="https://github.com/dair-ai/Prompt-Engineering-Guide">https://github.com/dair-ai/Prompt-Engineering-Guide</a></p></li><li><p><a href="https://github.com/promptslab/Awesome-Prompt-Engineering">https://github.com/promptslab/Awesome-Prompt-Engineering</a></p></li><li><p><a href="https://github.com/thunlp/PromptPapers">https://github.com/thunlp/PromptPapers</a></p></li><li><p><a href="https://github.com/thunlp/OpenPrompt">https://github.com/thunlp/OpenPrompt</a></p></li><li><p><a href="https://github.com/guidance-ai/guidance">https://github.com/guidance-ai/guidance</a></p></li><li><p><a href="https://github.com/microsoft/PromptWizard">https://github.com/microsoft/PromptWizard</a></p></li><li><p><a href="https://github.com/swyxio/ai-notes">https://github.com/swyxio/ai-notes</a></p></li></ul><div><hr></div><h2>&#9881;&#65039; Tools &amp; Services</h2><p><em>Playgrounds, prompt testing tools, optimizers, and prompt management platforms.</em></p><ul><li><p><strong>OpenAI Chat Playground </strong><a href="https://platform.openai.com/chat/edit">https://platform.openai.com/chat/edit</a></p></li><li><p><strong>OpenAI Tokenizer </strong><a href="https://platform.openai.com/tokenizer">https://platform.openai.com/tokenizer</a></p></li><li><p><strong>PromptPerfect </strong><a href="https://promptperfect.xyz/">https://promptperfect.xyz/</a></p></li><li><p><strong>FlowGPT Guide </strong><a href="https://guide.flowgpt.com/">https://guide.flowgpt.com/</a></p></li><li><p><strong>PromptPort </strong><a href="https://promptport.ai/">https://promptport.ai/</a></p></li><li><p><strong>Prompt Optimizer </strong><a href="https://promptoptimizer.tools/">https://promptoptimizer.tools/</a></p></li><li><p><strong>TextSynth Completion Playground </strong><a href="https://textsynth.com/completion.html">https://textsynth.com/completion.html</a></p></li><li><p><strong>PromptLayer </strong><a href="https://www.promptlayer.com/platform/prompt-management">https://www.promptlayer.com/platform/prompt-management</a></p></li><li><p><strong>Reverse Prompt Engineer</strong> <a href="https://www.agenticworkers.com/reverse-prompt-engineer">https://www.agenticworkers.com/reverse-prompt-engineer</a></p></li></ul><div><hr></div><h2>&#128172; Communities</h2><p><em>Where prompt engineers share techniques, failures, and experiments.</em></p><ul><li><p><a href="https://www.reddit.com/r/PromptEngineering/">https://www.reddit.com/r/PromptEngineering/</a></p></li><li><p><a href="https://www.reddit.com/r/PromptDesign/">https://www.reddit.com/r/PromptDesign/</a></p></li><li><p><a href="https://www.reddit.com/r/GenAI4all/">https://www.reddit.com/r/GenAI4all/</a></p></li><li><p><a href="https://www.reddit.com/r/PromptSharing/">https://www.reddit.com/r/PromptSharing/</a></p></li><li><p><a href="https://www.reddit.com/r/ChatGPTPromptGenius/">https://www.reddit.com/r/ChatGPTPromptGenius/</a></p></li><li><p><a href="https://www.reddit.com/r/OpenAI/">https://www.reddit.com/r/OpenAI/</a></p></li><li><p></p></li></ul><div><hr></div><p><strong>Thanks for reading </strong><em><strong>The Generative Programmer</strong></em><strong> &#129302;</strong><br>Subscribe for more curated AI resources, agent patterns, and practical lessons from building with LLMs.</p>]]></content:encoded></item><item><title><![CDATA[🤖 Generative Programmer | Issue #17]]></title><description><![CDATA[Curated insights, tools, and techniques for AI-assisted development and building agentic systems]]></description><link>https://generativeprogrammer.com/p/generative-programmer-issue-17</link><guid isPermaLink="false">https://generativeprogrammer.com/p/generative-programmer-issue-17</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sun, 07 Dec 2025 23:05:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!15Zr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598c1be3-9dd5-4fe7-b00a-37f5849bee47_923x481.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128227; Welcome back! Here&#8217;s everything I came across in <strong>November</strong> on agentic systems and AI-assisted coding, all in one post. Support me by sharing on your networks, and let&#8217;s dive in.</p><h2>&#128293; Top Picks from Issue #17</h2><p>&#128272; <a href="https://securetrajectories.substack.com/p/claude-skill-hijack-invisible-sentence">How We Hijacked a Claude Skill with an Invisible Sentence</a> - Josh Devon<br>&#129504; <a href="https://engineeringagents.substack.com/p/domain-driven-agent-design">Why your AI agents need domain awareness</a> - Russ Miles<br>&#128295; <a href="https://blog.sshh.io/p/how-i-use-every-claude-code-feature">How I Use Every Claude Code Feature</a> - Shrivu Shankar<br>&#128202; <a href="https://medium.com/google-cloud/genai-in-production-mlops-or-genaiops-25691c9becd0">GenAI in Production: MLOps or GenAIOps?</a> - Dr. Kartakis<br>&#128076; <a href="https://weaviate.io/ebooks/the-context-engineering-guide">The Context Engineering Guide</a> - Weaviate<br>&#128269; <a href="https://www.newsletter.swirlai.com/p/building-deep-research-agent-from">Building a Deep Research Agent from scratch</a> - Aurimas Grici&#363;nas<br>&#128737;&#65039; <a href="https://arxiv.org/abs/2506.08837">Design Patterns for Securing LLM Agents against Prompt Injections</a> - Luca Beurer<br>&#128200; <a href="https://leadershiplighthouse.substack.com/p/i-went-all-in-on-ai-the-mit-study">I Went All-In on AI. The MIT Study Is Right.</a> - Josh Anderson</p><h2>&#127919; Featured Article</h2><p><a href="https://www.newsletter.swirlai.com/p/building-deep-research-agent-from">This in-depth tutorial</a> by <strong>Aurimas Grici&#363;nas</strong> walks you through building a <strong>Deep Research Agent</strong> from scratch using the open-source <strong>DeepSeek R1</strong> model. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Uwxe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae2194f5-e847-4f07-9bf4-cf5f5c3baa0f_1673x1028.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Uwxe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae2194f5-e847-4f07-9bf4-cf5f5c3baa0f_1673x1028.png 424w, https://substackcdn.com/image/fetch/$s_!Uwxe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae2194f5-e847-4f07-9bf4-cf5f5c3baa0f_1673x1028.png 848w, https://substackcdn.com/image/fetch/$s_!Uwxe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae2194f5-e847-4f07-9bf4-cf5f5c3baa0f_1673x1028.png 1272w, https://substackcdn.com/image/fetch/$s_!Uwxe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae2194f5-e847-4f07-9bf4-cf5f5c3baa0f_1673x1028.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Uwxe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae2194f5-e847-4f07-9bf4-cf5f5c3baa0f_1673x1028.png" width="1456" height="895" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ae2194f5-e847-4f07-9bf4-cf5f5c3baa0f_1673x1028.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:895,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Uwxe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae2194f5-e847-4f07-9bf4-cf5f5c3baa0f_1673x1028.png 424w, https://substackcdn.com/image/fetch/$s_!Uwxe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae2194f5-e847-4f07-9bf4-cf5f5c3baa0f_1673x1028.png 848w, https://substackcdn.com/image/fetch/$s_!Uwxe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae2194f5-e847-4f07-9bf4-cf5f5c3baa0f_1673x1028.png 1272w, https://substackcdn.com/image/fetch/$s_!Uwxe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae2194f5-e847-4f07-9bf4-cf5f5c3baa0f_1673x1028.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 covers every step, from planning and web search to summarization and reflection, without relying on any orchestration frameworks. Highly recommended to check it out!</p><h2><strong>&#129302; Building Agentic Systems</strong></h2><p><a href="https://securetrajectories.substack.com/p/claude-skill-hijack-invisible-sentence">How We Hijacked a Claude Skill with an Invisible Sentence</a> - Josh Devon reveals a critical security vulnerability in Claude Skills that allows attackers to override instructions with invisible text! </p><p><a href="https://www.linkedin.com/feed/update/urn:li:activity:7363981883606478849/">Agent IAM in Cloud Native World with SPIFFE and Istio</a> - Mr Posta&#8217;s slides on cloud-native identity management with SPIFFE. &#128293;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Dcph!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dff080-e057-45b4-a80e-5918c85ba437_2932x1548.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dcph!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dff080-e057-45b4-a80e-5918c85ba437_2932x1548.png 424w, https://substackcdn.com/image/fetch/$s_!Dcph!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dff080-e057-45b4-a80e-5918c85ba437_2932x1548.png 848w, https://substackcdn.com/image/fetch/$s_!Dcph!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dff080-e057-45b4-a80e-5918c85ba437_2932x1548.png 1272w, https://substackcdn.com/image/fetch/$s_!Dcph!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dff080-e057-45b4-a80e-5918c85ba437_2932x1548.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dcph!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dff080-e057-45b4-a80e-5918c85ba437_2932x1548.png" width="1456" height="769" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93dff080-e057-45b4-a80e-5918c85ba437_2932x1548.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:769,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2317152,&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://generativeprogrammer.com/i/180967691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dff080-e057-45b4-a80e-5918c85ba437_2932x1548.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_!Dcph!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dff080-e057-45b4-a80e-5918c85ba437_2932x1548.png 424w, https://substackcdn.com/image/fetch/$s_!Dcph!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dff080-e057-45b4-a80e-5918c85ba437_2932x1548.png 848w, https://substackcdn.com/image/fetch/$s_!Dcph!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dff080-e057-45b4-a80e-5918c85ba437_2932x1548.png 1272w, https://substackcdn.com/image/fetch/$s_!Dcph!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dff080-e057-45b4-a80e-5918c85ba437_2932x1548.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Securing Agents and MCP servers</figcaption></figure></div><p><a href="https://engineeringagents.substack.com/p/domain-driven-agent-design">Domain Driven Agent Design - by Russ Miles</a> - Miles explains why AI agents fail when deployed without domain context, creating impressive demos that collapse in production environments.</p><p><a href="https://simonw.substack.com/p/new-prompt-injection-papers-agents">New prompt injection papers: Agents Rule of Two and The Attacker Moves Second</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Simon Willison&quot;,&quot;id&quot;:5753967,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5a30d45c-fcba-407a-bebf-96f51a8944a4_48x48.jpeg&quot;,&quot;uuid&quot;:&quot;f02b66e6-5f3a-4ef8-be2a-fc8e2c9e35e4&quot;}" data-component-name="MentionToDOM"></span> highlights new research on prompt injection vulnerabilities along with WiFi-enabled conference badge hacking and other tech links.</p><p><a href="https://arxiv.org/abs/2506.08837">Design Patterns for Securing LLM Agents against Prompt Injections</a> - Luca Beurer&#8217;s paper on security framework for LLM agent protection.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ViR_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6313e6-c1e0-4c39-af08-4b65251eab78_4096x2814.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ViR_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6313e6-c1e0-4c39-af08-4b65251eab78_4096x2814.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ViR_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6313e6-c1e0-4c39-af08-4b65251eab78_4096x2814.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ViR_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6313e6-c1e0-4c39-af08-4b65251eab78_4096x2814.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ViR_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6313e6-c1e0-4c39-af08-4b65251eab78_4096x2814.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ViR_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6313e6-c1e0-4c39-af08-4b65251eab78_4096x2814.jpeg" width="1456" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc6313e6-c1e0-4c39-af08-4b65251eab78_4096x2814.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!ViR_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6313e6-c1e0-4c39-af08-4b65251eab78_4096x2814.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ViR_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6313e6-c1e0-4c39-af08-4b65251eab78_4096x2814.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ViR_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6313e6-c1e0-4c39-af08-4b65251eab78_4096x2814.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ViR_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6313e6-c1e0-4c39-af08-4b65251eab78_4096x2814.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">Security Patterns Collection</figcaption></figure></div><p><a href="https://achan2013.medium.com/how-many-tools-functions-can-an-ai-agent-has-21e0a82b7847">How Many Tools Functions Can An AI Agent Have</a> - to do</p><p>&#128171; <a href="https://weaviate.io/ebooks/the-context-engineering-guide">The Context Engineering Guide</a> - Learn to optimize LLM performance through context engineering patterns that overcome hallucinations and build reliable AI applications with real-world context.</p><p><a href="https://medium.com/@mhockelberg/why-model-context-protocol-and-agentic-workflows-are-shaking-up-how-we-build-apps-0dbe760b9fb2">Why Model Context Protocol and Agentic Workflows Are Shaking Up How We Build Apps</a> - Monica Hockelberg explains how MCP and agentic workflows transform rigid development into more fluid, adaptable systems for the AI era.</p><p><a href="https://techcommunity.microsoft.com/blog/appsonazureblog/bulletproof-agents-with-the-durable-task-extension-for-microsoft-agent-framework/4467122">Bulletproof agents with the durable task extension for Microsoft Agent Framework</a> - New extension enables resilient agent workflows that can survive interruptions and automatically resume processing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9SBg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78652e6e-200e-4663-8303-fc27a1d7d4e9_2662x976.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9SBg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78652e6e-200e-4663-8303-fc27a1d7d4e9_2662x976.png 424w, https://substackcdn.com/image/fetch/$s_!9SBg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78652e6e-200e-4663-8303-fc27a1d7d4e9_2662x976.png 848w, https://substackcdn.com/image/fetch/$s_!9SBg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78652e6e-200e-4663-8303-fc27a1d7d4e9_2662x976.png 1272w, https://substackcdn.com/image/fetch/$s_!9SBg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78652e6e-200e-4663-8303-fc27a1d7d4e9_2662x976.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9SBg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78652e6e-200e-4663-8303-fc27a1d7d4e9_2662x976.png" width="1456" height="534" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/78652e6e-200e-4663-8303-fc27a1d7d4e9_2662x976.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:534,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:278001,&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://generativeprogrammer.com/i/180967691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78652e6e-200e-4663-8303-fc27a1d7d4e9_2662x976.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_!9SBg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78652e6e-200e-4663-8303-fc27a1d7d4e9_2662x976.png 424w, https://substackcdn.com/image/fetch/$s_!9SBg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78652e6e-200e-4663-8303-fc27a1d7d4e9_2662x976.png 848w, https://substackcdn.com/image/fetch/$s_!9SBg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78652e6e-200e-4663-8303-fc27a1d7d4e9_2662x976.png 1272w, https://substackcdn.com/image/fetch/$s_!9SBg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78652e6e-200e-4663-8303-fc27a1d7d4e9_2662x976.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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"><strong>Built-in agent observability in MAF</strong></figcaption></figure></div><p><a href="https://buildermethods.com/agent-os/workflow">Agent OS Workflow for Spec-Driven Development</a> - Brian Casel proposes a six-phase AI agent workflow for spec-driven development.</p><p><a href="https://portkey.ai/blog/the-complete-guide-to-llm-observability/">The complete guide to LLM observability for 2026</a> - Ghost explains how to implement comprehensive LLM monitoring systems with frameworks for tracing, guardrails, cost management, and governance.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xazU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70c98da-5032-45e8-a849-9ca74b1b7cc2_1536x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xazU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70c98da-5032-45e8-a849-9ca74b1b7cc2_1536x670.png 424w, https://substackcdn.com/image/fetch/$s_!xazU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70c98da-5032-45e8-a849-9ca74b1b7cc2_1536x670.png 848w, https://substackcdn.com/image/fetch/$s_!xazU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70c98da-5032-45e8-a849-9ca74b1b7cc2_1536x670.png 1272w, https://substackcdn.com/image/fetch/$s_!xazU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70c98da-5032-45e8-a849-9ca74b1b7cc2_1536x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xazU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70c98da-5032-45e8-a849-9ca74b1b7cc2_1536x670.png" width="1536" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b70c98da-5032-45e8-a849-9ca74b1b7cc2_1536x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1536,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1315471,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xazU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70c98da-5032-45e8-a849-9ca74b1b7cc2_1536x670.png 424w, https://substackcdn.com/image/fetch/$s_!xazU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70c98da-5032-45e8-a849-9ca74b1b7cc2_1536x670.png 848w, https://substackcdn.com/image/fetch/$s_!xazU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70c98da-5032-45e8-a849-9ca74b1b7cc2_1536x670.png 1272w, https://substackcdn.com/image/fetch/$s_!xazU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70c98da-5032-45e8-a849-9ca74b1b7cc2_1536x670.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">End-to-End LLM Observability Overview</figcaption></figure></div><p><a href="https://rlancemartin.github.io/2025/10/15/manus/">Context Engineering in Manus</a> - Erik explores how Manus handles context management for AI agents, addressing challenges of context windows filling up during extended tool-calling sessions.</p><p><a href="https://medium.com/@joshua.v.sanger/implementing-toolformer-with-openai-and-remix-22997dd46499">Building a Toolformer model with OpenAI and Remix</a> - Josh Sanger shows how to build a weather assistant using Toolformer, enabling AI to use external tools via API calls.</p><p><a href="https://www.diagrid.io/blog/making-agent-to-agent-a2a-communication-secure-and-reliable-with-dapr">Making Agent-to-Agent (A2A) Secure and Reliable with Dapr</a> - I tried A2A with Dapr and saw how easily it adds mTLS, policy enforcement, tracing, and self-healing behavior to any agent workflow. <a href="https://www.diagrid.io/blog/durable-agentic-workflows-with-dapr">Then showed step-by-step</a> how to turn a deterministic workflow into an agentic one.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!15Zr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598c1be3-9dd5-4fe7-b00a-37f5849bee47_923x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!15Zr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598c1be3-9dd5-4fe7-b00a-37f5849bee47_923x481.png 424w, https://substackcdn.com/image/fetch/$s_!15Zr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598c1be3-9dd5-4fe7-b00a-37f5849bee47_923x481.png 848w, https://substackcdn.com/image/fetch/$s_!15Zr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598c1be3-9dd5-4fe7-b00a-37f5849bee47_923x481.png 1272w, https://substackcdn.com/image/fetch/$s_!15Zr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598c1be3-9dd5-4fe7-b00a-37f5849bee47_923x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!15Zr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598c1be3-9dd5-4fe7-b00a-37f5849bee47_923x481.png" width="923" height="481" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/598c1be3-9dd5-4fe7-b00a-37f5849bee47_923x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:481,&quot;width&quot;:923,&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_!15Zr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598c1be3-9dd5-4fe7-b00a-37f5849bee47_923x481.png 424w, https://substackcdn.com/image/fetch/$s_!15Zr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598c1be3-9dd5-4fe7-b00a-37f5849bee47_923x481.png 848w, https://substackcdn.com/image/fetch/$s_!15Zr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598c1be3-9dd5-4fe7-b00a-37f5849bee47_923x481.png 1272w, https://substackcdn.com/image/fetch/$s_!15Zr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598c1be3-9dd5-4fe7-b00a-37f5849bee47_923x481.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">From deterministic to agentic workflows</figcaption></figure></div><p>&#128640; <a href="https://cloud.google.com/architecture/choose-design-pattern-agentic-ai-system">Choose a design pattern for your agentic AI system</a> - Google&#8217;s guidance for selecting appropriate agent design patterns to build AI systems that can handle autonomous decision-making and complex workflows.</p><p><a href="https://blog.modelcontextprotocol.io/posts/2025-11-21-mcp-apps/">MCP Apps: Extending servers with interactive user interfaces</a> - Ido Salomon introduces a new extension enabling MCP servers to deliver interactive UIs to hosts, addressing a top community request.</p><h2><strong>&#128187; Coding with AI</strong></h2><p><a href="https://blog.sshh.io/p/how-i-use-every-claude-code-feature">How I Use Every Claude Code Feature</a> - Shrivu Shankar shares detailed insights on leveraging Claude Code for both hobbyist projects and professional development with high-volume token usage.</p><p><a href="https://words.filippo.io/claude-debugging/">Claude Code Can Debug Low-level Cryptography</a> - Filippo Valsorda describes how Claude Code successfully identified a complex bug in his post-quantum signature algorithm implementation when he was stuck.</p><p><a href="https://packagemain.tech/p/evolution-of-code-review-practices-code-rabbit">The evolution of code review practices in the world of AI</a> - Alex Pliutau examines how AI tools are transforming code reviews, improving efficiency while maintaining human oversight.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Lbgo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd4fdf5-30fb-49a1-913d-49ebe253b670_2073x1150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Lbgo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd4fdf5-30fb-49a1-913d-49ebe253b670_2073x1150.png 424w, https://substackcdn.com/image/fetch/$s_!Lbgo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd4fdf5-30fb-49a1-913d-49ebe253b670_2073x1150.png 848w, https://substackcdn.com/image/fetch/$s_!Lbgo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd4fdf5-30fb-49a1-913d-49ebe253b670_2073x1150.png 1272w, https://substackcdn.com/image/fetch/$s_!Lbgo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd4fdf5-30fb-49a1-913d-49ebe253b670_2073x1150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Lbgo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd4fdf5-30fb-49a1-913d-49ebe253b670_2073x1150.png" width="1456" height="808" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cbd4fdf5-30fb-49a1-913d-49ebe253b670_2073x1150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:808,&quot;width&quot;:1456,&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_!Lbgo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd4fdf5-30fb-49a1-913d-49ebe253b670_2073x1150.png 424w, https://substackcdn.com/image/fetch/$s_!Lbgo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd4fdf5-30fb-49a1-913d-49ebe253b670_2073x1150.png 848w, https://substackcdn.com/image/fetch/$s_!Lbgo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd4fdf5-30fb-49a1-913d-49ebe253b670_2073x1150.png 1272w, https://substackcdn.com/image/fetch/$s_!Lbgo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd4fdf5-30fb-49a1-913d-49ebe253b670_2073x1150.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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"><strong>AI-powered and human code reviews</strong></figcaption></figure></div><p>&#128293; <a href="https://github.com/github/awesome-copilot">GitHub - github/awesome-copilot</a> - github - Curated toolkit to supercharge Copilot.</p><p>&#128293; <a href="https://github.com/hesreallyhim/awesome-claude-code">GitHub - hesreallyhim/awesome-claude-code</a> - Community-curated collection of commands, files, and workflows to enhance productivity with Anthropic&#8217;s CLI-based coding assistant.</p><p><a href="https://ben.stolovitz.com/posts/how_use_ai_oct_2025/">How I use AI (Oct 2025)</a> - Stolovitz reflects on his AI usage as a software engineer, highlighting Copilot&#8217;s impact on coding productivity since its early days.</p><p><a href="https://ainativedev.io/news/rulebook-ai-wants-to-elevate-vibe-coding-to-vibe-engineering-by-generating-assistant-specific-configs">Rulebook-AI wants to &#8220;elevate vibe coding to vibe engineering&#8221;</a> - Tool transforms AI coding assistant configurations into structured guidance, eliminating fragmentation and inconsistency in development workflows.</p><h2><strong>&#128240; Long-Form Reads</strong></h2><p><a href="https://arxiv.org/abs/2507.13334">A Survey of Context Engineering for Large Language Models</a> - Lingrui Mei&#8217;s comprehensive overview of techniques to optimize LLM context usage, from retrieval methods to context compression.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-iEA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67941acc-3415-434e-8fcb-31260b0a07b5_1458x1446.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-iEA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67941acc-3415-434e-8fcb-31260b0a07b5_1458x1446.png 424w, https://substackcdn.com/image/fetch/$s_!-iEA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67941acc-3415-434e-8fcb-31260b0a07b5_1458x1446.png 848w, https://substackcdn.com/image/fetch/$s_!-iEA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67941acc-3415-434e-8fcb-31260b0a07b5_1458x1446.png 1272w, https://substackcdn.com/image/fetch/$s_!-iEA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67941acc-3415-434e-8fcb-31260b0a07b5_1458x1446.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-iEA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67941acc-3415-434e-8fcb-31260b0a07b5_1458x1446.png" width="1456" height="1444" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/67941acc-3415-434e-8fcb-31260b0a07b5_1458x1446.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1444,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:774953,&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://generativeprogrammer.com/i/180967691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67941acc-3415-434e-8fcb-31260b0a07b5_1458x1446.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_!-iEA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67941acc-3415-434e-8fcb-31260b0a07b5_1458x1446.png 424w, https://substackcdn.com/image/fetch/$s_!-iEA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67941acc-3415-434e-8fcb-31260b0a07b5_1458x1446.png 848w, https://substackcdn.com/image/fetch/$s_!-iEA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67941acc-3415-434e-8fcb-31260b0a07b5_1458x1446.png 1272w, https://substackcdn.com/image/fetch/$s_!-iEA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67941acc-3415-434e-8fcb-31260b0a07b5_1458x1446.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">The taxonomy of Context Engineering in Large Language Models</figcaption></figure></div><p><a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai">The State of AI</a> - McKinsey&#8217;s report on current AI adoption trends, business impact, and implementation challenges across industries.</p><p>&#128300; <a href="https://leadershiplighthouse.substack.com/p/i-went-all-in-on-ai-the-mit-study">I Went All-In on AI. The MIT Study Is Right.</a> - Josh Anderson shares firsthand experience using Claude Code exclusively for three months to understand why 95% of corporate AI initiatives fail.</p><p><a href="https://medium.com/google-cloud/genai-in-production-mlops-or-genaiops-25691c9becd0">GenAI in Production: MLOps or GenAIOps?</a> - Dr. Kartakis analyzes various operational frameworks for deploying GenAI solutions, clarifying differences between MLOps, LLMOps, and other emerging approaches.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gjj6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915bd0b6-a0d0-4b13-9286-a1e9b5c55caa_1400x686.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gjj6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915bd0b6-a0d0-4b13-9286-a1e9b5c55caa_1400x686.png 424w, https://substackcdn.com/image/fetch/$s_!Gjj6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915bd0b6-a0d0-4b13-9286-a1e9b5c55caa_1400x686.png 848w, https://substackcdn.com/image/fetch/$s_!Gjj6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915bd0b6-a0d0-4b13-9286-a1e9b5c55caa_1400x686.png 1272w, https://substackcdn.com/image/fetch/$s_!Gjj6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915bd0b6-a0d0-4b13-9286-a1e9b5c55caa_1400x686.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gjj6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915bd0b6-a0d0-4b13-9286-a1e9b5c55caa_1400x686.png" width="1400" height="686" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/915bd0b6-a0d0-4b13-9286-a1e9b5c55caa_1400x686.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:686,&quot;width&quot;:1400,&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_!Gjj6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915bd0b6-a0d0-4b13-9286-a1e9b5c55caa_1400x686.png 424w, https://substackcdn.com/image/fetch/$s_!Gjj6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915bd0b6-a0d0-4b13-9286-a1e9b5c55caa_1400x686.png 848w, https://substackcdn.com/image/fetch/$s_!Gjj6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915bd0b6-a0d0-4b13-9286-a1e9b5c55caa_1400x686.png 1272w, https://substackcdn.com/image/fetch/$s_!Gjj6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F915bd0b6-a0d0-4b13-9286-a1e9b5c55caa_1400x686.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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"><strong>Primary domains in GenAI development: model and application</strong></figcaption></figure></div><p><a href="https://gist.github.com/igorcosta/bb40cdab6b1468c373d647164afae7ef">What would you do if you had a chance to sneak peak in the year 2030 and you were a Hubber?</a> - A developer&#8217;s 2025 forecast of AI&#8217;s rapid takeover of coding jobs, driven by economics and efficiency gains across most software domains.</p><p><a href="https://www.jasonscheirer.com/weblog/vignettes/">The Death of Software Engineering as a Profession</a> - Jason Scheirer reflects on incorrect predictions about programming careers and how specialized knowledge remains valuable despite technological advances.</p><p>&#127912; <a href="https://minimaxir.com/2025/11/nano-banana-prompts/">Nano Banana can be prompt engineered for extremely nuanced AI image generation</a> - Max Woolf explores how Nano Banana offers sophisticated image generation amid competition from FLUX.1-dev, Seedream, and ChatGPT&#8217;s viral features.</p><h2><strong>&#127897;&#65039; YouTube &amp; Podcasts</strong></h2><p><a href="https://www.youtube.com/watch?v=IDSAMqip6ms">The Secrets of Claude Code From the Engineers Who Built It</a> - Explains how Claude Code enables developers to ship features in unfamiliar codebases more efficiently, with each new feature making subsequent development easier.</p><p><a href="https://practicalai.fm/">Practical AI</a> - Podcast making AI accessible through real-world applications.</p><h2><strong>&#128478;&#65039; News and Updates</strong></h2><p><a href="https://x.com/akshay_pachaar/status/1964978158782095778">Akshay on X</a> - Who is a Full-stack AI Engineer?</p><p><a href="https://x.com/PawelHuryn/status/1943611413320093880">Pawe&#322; Huryn on X</a> - 10 Principles of Building AI Agents:</p><p><a href="https://x.com/PawelHuryn/status/1949925078562721863">Pawe&#322; Huryn on X</a> - Context engineering is the new prompt engineering.</p><p><a href="https://x.com/Aurimas_Gr/status/1957790537118851262">Aurimas on X</a> - AI Engineering Learning Roadmap </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hNkj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4afd4152-e5c4-4855-bc92-b2b6a59ddf2d_3792x3475.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hNkj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4afd4152-e5c4-4855-bc92-b2b6a59ddf2d_3792x3475.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hNkj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4afd4152-e5c4-4855-bc92-b2b6a59ddf2d_3792x3475.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hNkj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4afd4152-e5c4-4855-bc92-b2b6a59ddf2d_3792x3475.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hNkj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4afd4152-e5c4-4855-bc92-b2b6a59ddf2d_3792x3475.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hNkj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4afd4152-e5c4-4855-bc92-b2b6a59ddf2d_3792x3475.jpeg" width="1456" height="1334" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4afd4152-e5c4-4855-bc92-b2b6a59ddf2d_3792x3475.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1334,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!hNkj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4afd4152-e5c4-4855-bc92-b2b6a59ddf2d_3792x3475.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hNkj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4afd4152-e5c4-4855-bc92-b2b6a59ddf2d_3792x3475.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hNkj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4afd4152-e5c4-4855-bc92-b2b6a59ddf2d_3792x3475.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hNkj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4afd4152-e5c4-4855-bc92-b2b6a59ddf2d_3792x3475.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"><em>&#120276;&#120284; &#120280;&#120315;&#120308;&#120310;&#120315;&#120306;&#120306;&#120319;&#120310;&#120315;&#120308; &#120287;&#120306;&#120302;&#120319;&#120315;&#120310;&#120315;&#120308; &#120293;&#120316;&#120302;&#120305;&#120314;&#120302;&#120317;.</em> </figcaption></figure></div><p><a href="https://www.linkedin.com/feed/update/urn:li:activity:7394694132197298176/">TOON (Token-Oriented Object Notation)</a> - Aurimas Grici&#363;nas briefly explains how TOON increases model accuracy while reducing token count, critical for optimizing agentic systems.</p><h2><strong>&#128736;&#65039; Tech &amp; Tools</strong></h2><p><a href="https://llmtext.com/">llmtext</a> - Turn any llms.txt into a dedicated MCP server</p><p><a href="https://github.com/agentregistry-dev/agentregistry">GitHub - agentregistry-dev/agentregistry</a> - Centralized registry for AI artifact governance.</p><p><a href="https://www.remote-mcp.com/">AI Connectors Directory</a> - Directory of Remote MCP servers for AI custom connectors.</p><p><a href="https://github.com/HKUDS/DeepCode">DeepCode: Open Agentic Coding</a> - Open-source tool offering terminal-based and web interfaces for AI-powered code generation from papers and text.</p><p><a href="https://github.com/PromptLabs/Prompt-Hacking-Resources">Prompt-Hacking-Resources</a> - PromptLabs&#8217; curated collection of resources for AI red teaming, jailbreaking, and prompt injection, designed for those interested in AI/ML security and safety.</p><p><a href="https://opencode.ai/">OpenCode | The open source AI coding agent</a> - A privacy-focused AI coding assistant offering free models with no account required and integrations across multiple platforms.</p><p><a href="https://github.com/toon-format/toon">GitHub - toon-format/toon: &#127890; Token-Oriented Object Notation (TOON)</a> - A compact JSON alternative optimized for LLMs that combines YAML&#8217;s indentation structure with CSV-like layouts for efficient token usage while maintaining readability.</p><p><a href="https://github.com/Portkey-AI/gateway">GitHub - Portkey-AI/gateway</a> - Open-source AI gateway providing fast routing to 1600+ language, vision, audio, and image models with integrated guardrails and enterprise-ready security.</p><p><a href="https://github.com/metatool-ai/metamcp">GitHub - metatool-ai/metamcp</a> - MCP proxy that aggregates multiple MCP servers into a unified endpoint with middleware support, enabling developers to build agents on this infrastructure.</p><p><a href="https://medium.com/@writertripathi/youre-burning-0-02-per-1k-json-tokens-you-don-t-need-to-136c2bc7101b">You&#8217;re Burning 0.02 Per 1K JSON Tokens You Don&#8217;t Need To</a> - Ankita Tripathi explains how to optimize JSON structures in API calls to reduce token usage and lower costs when working with AI models.</p><p>&#128176; <a href="https://frugal.co/">Frugal AI - Intelligent Application Cost Engineering</a> - AI-powered tool that optimizes application code across major cloud platforms by automatically identifying and fixing inefficiencies in code rather than just resizing infrastructure.</p><p><a href="https://www.thoughtworks.com/radar">Technology Radar</a> - Thoughtworks&#8217; biannual guide tracking emerging tools, techniques, and frameworks is AI-dominated.</p><p><a href="https://medium.com/demohub-tutorials/17-top-mcp-registries-and-directories-explore-the-best-sources-for-server-discovery-integration-0f748c72c34a">17 Top MCP Registries and Directories</a> - Comprehensive guide to the best MCP registries for server discovery.</p><p><a href="https://cto.new/pricing">cto.new</a> - Free AI code agent offering access to frontier models from Anthropic and OpenAI without requiring credit cards or API keys.</p><p><a href="https://skillsmp.com/">Claude Skills Marketplace</a> - Directory for browsing, searching and installing Claude skills from GitHub, including official Anthropic skills, code skills, and AI automation workflows.</p><p><a href="https://github.com/anthropics/skills">GitHub - anthropics/skills</a> - Anthropics&#8217; repository of reusable Claude skills that enable specialized tasks across creative, technical, and enterprise workflows with clear documentation.</p><p><a href="https://github.com/langwatch/better-agents">GitHub - langwatch/better-agents</a> - CLI tool and standards that enhance coding assistants to build production-ready agents with industry best practices.</p><p><a href="https://github.com/ruvnet/claude-flow">GitHub - ruvnet/claude-flow</a> - Enterprise-grade AI orchestration platform using swarm intelligence with persistent memory and MCP tools for enhanced development workflows.</p><p><a href="https://kagenti.github.io/.github/">Kagenti</a> - Kubernetes-based control plane for AI agents that works with any framework, providing modular components to streamline production deployments.</p><p><a href="https://github.com/kubernetes-sigs/agent-sandbox">GitHub - kubernetes-sigs/agent-sandbox</a> - Kubernetes CRD for managing isolated, stateful singleton workloads with stable identity, designed for AI agent runtimes and similar use cases.</p><p>&#9889;<a href="https://codewiki.google/">Code Wiki</a> - Google&#8217;s new Gemini-generated documentation.</p><h2><strong>&#128218; Learning Picks</strong></h2><p>&#127891; <a href="https://www.kaggle.com/learn-guide/5-day-agents">5-Day AI Agents Intensive Course</a> - A 5-day Google course on Kaggle to build, evaluate, and deploy real-world AI agents.</p><p>&#128077; <a href="https://www.linkedin.com/feed/update/urn:li:activity:7386296644419510274/">Google, OpenAI, Anthropic Offer Free AI Guides</a> -  Here are ten free AI guides worth bookmarking.</p><h2><strong>&#127917; AI Humor</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UFVD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d65d6b0-0c7d-48b5-903f-cce089c4def5_957x1213.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UFVD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d65d6b0-0c7d-48b5-903f-cce089c4def5_957x1213.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UFVD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d65d6b0-0c7d-48b5-903f-cce089c4def5_957x1213.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UFVD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d65d6b0-0c7d-48b5-903f-cce089c4def5_957x1213.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UFVD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d65d6b0-0c7d-48b5-903f-cce089c4def5_957x1213.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UFVD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d65d6b0-0c7d-48b5-903f-cce089c4def5_957x1213.jpeg" width="957" height="1213" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d65d6b0-0c7d-48b5-903f-cce089c4def5_957x1213.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1213,&quot;width&quot;:957,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:173730,&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://generativeprogrammer.com/i/180967691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60d02162-e4b9-4d23-82f1-049502371437_1080x1299.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_!UFVD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d65d6b0-0c7d-48b5-903f-cce089c4def5_957x1213.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UFVD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d65d6b0-0c7d-48b5-903f-cce089c4def5_957x1213.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UFVD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d65d6b0-0c7d-48b5-903f-cce089c4def5_957x1213.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UFVD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d65d6b0-0c7d-48b5-903f-cce089c4def5_957x1213.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: https://www.reddit.com/r/OpenAI/comments/1pere3t/lol/</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share The Generative Programmer&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://generativeprogrammer.com/?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share The Generative Programmer</span></a></p><h2>&#128075; See You Next Time</h2><p>That wraps this issue. If it helped you, pass it along or subscribe. &#128591; </p>]]></content:encoded></item><item><title><![CDATA[7 Steps to Make Your OSS Project AI-Ready]]></title><description><![CDATA[A maintainer&#8217;s guide to enabling seamless onboarding, contribution, and collaboration for humans and AI.]]></description><link>https://generativeprogrammer.com/p/7-steps-to-make-your-oss-project</link><guid isPermaLink="false">https://generativeprogrammer.com/p/7-steps-to-make-your-oss-project</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sun, 09 Nov 2025 23:24:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9b460559-9058-4188-925f-c1e2b75dd66a_773x712.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Generative AI is changing how developers discover and consume open source software. It&#8217;s no longer enough to have a good readme and contributor guide for humans, you also need to make your project welcoming for AI. Large Language Models (LLMs) are now the new distributors and consumers of software. They can read your code, parse your docs, write examples, and even explain your project to developers worldwide. As a maintainer, your project&#8217;s visibility and adoption will depend on how well it&#8217;s represented in these AI systems.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mM5b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1545fe7c-60f4-47ac-910a-75d29e50aa65_771x959.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mM5b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1545fe7c-60f4-47ac-910a-75d29e50aa65_771x959.png 424w, https://substackcdn.com/image/fetch/$s_!mM5b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1545fe7c-60f4-47ac-910a-75d29e50aa65_771x959.png 848w, https://substackcdn.com/image/fetch/$s_!mM5b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1545fe7c-60f4-47ac-910a-75d29e50aa65_771x959.png 1272w, https://substackcdn.com/image/fetch/$s_!mM5b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1545fe7c-60f4-47ac-910a-75d29e50aa65_771x959.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mM5b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1545fe7c-60f4-47ac-910a-75d29e50aa65_771x959.png" width="771" height="959" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1545fe7c-60f4-47ac-910a-75d29e50aa65_771x959.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:959,&quot;width&quot;:771,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:148148,&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://generativeprogrammer.com/i/178306550?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1545fe7c-60f4-47ac-910a-75d29e50aa65_771x959.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_!mM5b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1545fe7c-60f4-47ac-910a-75d29e50aa65_771x959.png 424w, https://substackcdn.com/image/fetch/$s_!mM5b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1545fe7c-60f4-47ac-910a-75d29e50aa65_771x959.png 848w, https://substackcdn.com/image/fetch/$s_!mM5b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1545fe7c-60f4-47ac-910a-75d29e50aa65_771x959.png 1272w, https://substackcdn.com/image/fetch/$s_!mM5b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1545fe7c-60f4-47ac-910a-75d29e50aa65_771x959.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"><em><strong>OSS Maintainers checklist</strong></em></figcaption></figure></div><p>In this post, I&#8217;ll share a practical guide on how to make your open source project easier for LLMs to understand, and for humans to use through AI tools.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/p/7-steps-to-make-your-oss-project?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption"><em>Thanks for reading The Generative Programmer! This post is public so feel free to share it.</em></p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/p/7-steps-to-make-your-oss-project?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://generativeprogrammer.com/p/7-steps-to-make-your-oss-project?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><h2>1. Make Your Project Discoverable by AI</h2><p>When developers face a problem, or research a topic, they don&#8217;t go any longer to Stack Overflow or Google first &#8212; they ask an LLM through ChatGPT, Claude, or a similar service. Questions such as <em>&#8220;How to tune Kafka for low-latency?&#8221; or &#8220;What&#8217;s the best open-source MCP implementation for Kubernetes?&#8221;</em> are now answered directly by LLMs.</p><p>When a developer is in the zone within their IDE and faces a common issue, like a <em>Python dependency error: &#8220;cannot import module x&#8221;</em>, they ask their AI assistant inside the IDE how to fix it.</p><p>Modern AI systems combine their training data with live web search, scanning documentation, repos, and blogs to generate the best up-to-date responses. But most project sites are designed for people, not machines, they are full of menus, ads, and nested pages. Critical details like installation flags, version notes, or API parameters are often buried deep and hard for AI crawlers to find. As a result, your project may be misunderstood or overlooked even if it&#8217;s well-known.</p><p><strong>Using llms.txt to Help AI Find the Right Docs</strong></p><p><a href="https://llmstxt.org/">llms.txt</a> is a simple Markdown file placed at the root of your project&#8217;s site that gives AI models a clean, structured map of your most relevant documentation. Think of it as a robots.txt for language models, but instead of blocking crawlers, it guides them to the right content. It lists a short summary, key links (docs, APIs, SDKs, examples), and optional secondary sections.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dR3S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd828c7b-35ad-40ab-9594-780b9195815e_2048x1712.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dR3S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd828c7b-35ad-40ab-9594-780b9195815e_2048x1712.png 424w, https://substackcdn.com/image/fetch/$s_!dR3S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd828c7b-35ad-40ab-9594-780b9195815e_2048x1712.png 848w, https://substackcdn.com/image/fetch/$s_!dR3S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd828c7b-35ad-40ab-9594-780b9195815e_2048x1712.png 1272w, https://substackcdn.com/image/fetch/$s_!dR3S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd828c7b-35ad-40ab-9594-780b9195815e_2048x1712.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dR3S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd828c7b-35ad-40ab-9594-780b9195815e_2048x1712.png" width="1456" height="1217" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd828c7b-35ad-40ab-9594-780b9195815e_2048x1712.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1217,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:544216,&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://generativeprogrammer.com/i/178306550?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd828c7b-35ad-40ab-9594-780b9195815e_2048x1712.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_!dR3S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd828c7b-35ad-40ab-9594-780b9195815e_2048x1712.png 424w, https://substackcdn.com/image/fetch/$s_!dR3S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd828c7b-35ad-40ab-9594-780b9195815e_2048x1712.png 848w, https://substackcdn.com/image/fetch/$s_!dR3S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd828c7b-35ad-40ab-9594-780b9195815e_2048x1712.png 1272w, https://substackcdn.com/image/fetch/$s_!dR3S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd828c7b-35ad-40ab-9594-780b9195815e_2048x1712.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Extract from https://docs.claude.com/llms.txt</em></figcaption></figure></div><p>Add /llms.txt to the root of the project website, keep it updated alongside your docs, and every AI-powered search or assistant will instantly understand what your project is and where to look next.<strong> </strong>The file makes your project easier to find, quote, and recommend in AI-driven tools like ChatGPT, Copilot, and Sourcegraph. There are hundreds of websites already using with it: <a href="https://supabase.com/llms.txt">Supabase</a>, <a href="https://duckdb.org/llms.txt">DuckDB</a>, <a href="https://docs.turso.tech/llms.txt">Turso</a>, <a href="https://huggingface-projects-docs-llms-txt.hf.space/hub/llms.txt">Hugging Face</a>, <a href="https://langfuse.com/llms.txt">Langfuse</a>, and many more in <a href="https://llmstxt.site/">various</a> <a href="https://directory.llmstxt.cloud/">directories</a>.</p><p>llms.txt is an easy addition that can give visibility to your project in a world where LLMs are becoming the primary way of discovering and consuming information. As shown by the tracking site<a href="https://llmstxt.ryanhoward.dev/"> llmstxt.ryanhoward.dev</a>, it&#8217;s not yet widely adopted, but the fact that Anthropic <a href="https://docs.claude.com/llms-full.txt">themselves</a> use llms.txt and recommend it as part of agentic documentation is a strong signal that it&#8217;s the right direction to follow.</p><p>There are plenty of tools and plugins that can help you create and validate these files easily, such as<a href="https://github.com/answerdotai/llms_txt"> llms_txt2ctx</a>,<a href="https://github.com/answerdotai/vitepress-plugin-llms"> vitepress-plugin-llms</a>, and<a href="https://github.com/answerdotai/docusaurus-plugin-llms"> docusaurus-plugin-llms</a>. To learn, check out<a href="https://llmstxt.org/"> llmstxt.org</a>.</p><h2>2. Onboard AI Agents to Your Project</h2><p>Open source projects today communicate their community policies and expectations through a variety of simple text files, for example, README.md, INSTALL.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, DEVELOPMENT.md, and ISSUE_TEMPLATE.md. These files explain how to set up the project, contribute, follow coding guidelines, or report issues. This structure has worked well for years when humans were the primary readers.</p><p>In the meantime, the number of developers using <strong>AI&#8209;enabled IDEs and CLI tools</strong> is growing rapidly. Millions of developers rely on <strong><a href="https://cursor.com/">Cursor</a></strong> (now surpassing a million users), <strong><a href="https://www.claude.com/product/claude-code">Claude Code</a> CLI</strong>, and <strong><a href="https://openai.com/codex/">OpenAI Codex</a></strong><a href="https://openai.com/codex/"> </a>daily. Yet these users are underserved, their IDEs can&#8217;t easily interpret the project&#8217;s policies, build steps, contribution rules and community best practices. As a result, contributing through AI&#8209;assisted tools often leads to manual onboarding, lower&#8209;quality pull requests, and contributor-maintainer tension.</p><p><strong>Teaching Coding Assistants Your Project&#8217;s Way of Working</strong></p><p>This is where <strong>agent context files</strong> come in. The idea started with different IDEs introducing more advanced ways of sharing project context &#8212; for example, <a href="https://cursor.com/docs/context/rules">.cursor/rules</a> files in Cursor, which began as simple rules and later evolved into structured folder hierarchies, or <a href="https://www.anthropic.com/engineering/claude-code-best-practices">CLAUDE.md</a>, used by Claude CLI to encode build and contribution instructions. These formats help AI-enabled tools understand how to build, test, and navigate a codebase.</p><p>As the space grew fragmented with various formats,<a href="https://github.com/openai/agents.md"> AGENTS.md</a> led by OpenAI began to emerge as the <strong>most widely adopted standard</strong> for defining project context. Today, it&#8217;s becoming the common denominator across AI-assisted environments, with over<a href="https://github.com/search?q=AGENTS.md+in%3Afile%2Cpr%2Cissue&amp;type=pullrequests&amp;s=comments&amp;o=desc"> 30,000 pull requests</a> on GitHub contributing AGENTS.md files in open-source projects.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aQZW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07af6001-3902-4571-8cf5-2dfcf45a50a6_2048x1302.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aQZW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07af6001-3902-4571-8cf5-2dfcf45a50a6_2048x1302.png 424w, https://substackcdn.com/image/fetch/$s_!aQZW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07af6001-3902-4571-8cf5-2dfcf45a50a6_2048x1302.png 848w, https://substackcdn.com/image/fetch/$s_!aQZW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07af6001-3902-4571-8cf5-2dfcf45a50a6_2048x1302.png 1272w, https://substackcdn.com/image/fetch/$s_!aQZW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07af6001-3902-4571-8cf5-2dfcf45a50a6_2048x1302.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aQZW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07af6001-3902-4571-8cf5-2dfcf45a50a6_2048x1302.png" width="1456" height="926" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07af6001-3902-4571-8cf5-2dfcf45a50a6_2048x1302.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:926,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:400338,&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://generativeprogrammer.com/i/178306550?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07af6001-3902-4571-8cf5-2dfcf45a50a6_2048x1302.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_!aQZW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07af6001-3902-4571-8cf5-2dfcf45a50a6_2048x1302.png 424w, https://substackcdn.com/image/fetch/$s_!aQZW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07af6001-3902-4571-8cf5-2dfcf45a50a6_2048x1302.png 848w, https://substackcdn.com/image/fetch/$s_!aQZW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07af6001-3902-4571-8cf5-2dfcf45a50a6_2048x1302.png 1272w, https://substackcdn.com/image/fetch/$s_!aQZW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07af6001-3902-4571-8cf5-2dfcf45a50a6_2048x1302.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>AGENTS.md is an open format for guiding coding agents</em></figcaption></figure></div><p>AGENTS.md files act as a README for AI agents. They summarize how to build, test, and contribute to your project, covering environment setup, dependency installation, code style, test execution, and commit message rules &#8212; but in a way that AI tools can parse and follow. Supported by major IDEs and CLI tools such as Cursor, VS Code, GitHub Copilot, Aider, RooCode, Gemini CLI, Jules, Factory, and Devin, these files help AI agents understand your project&#8217;s structure and workflow.</p><p>With these files, AI assistants can follow project conventions, and produce contributions that align with human developers&#8217; expectations, reducing friction in collaborative development.</p><p>These files are often paired with AI-assisted development guides that show contributors how to configure their IDEs and CLIs for the best experience &#8212; such as<a href="https://angular.dev/ai/develop-with-ai"> Angular&#8217;s AI development guide</a> and<a href="https://docs.convex.dev/ai/using-cursor"> Convex&#8217;s guide for Cursor</a>.</p><p>In short, AGENTS.md and accompanying IDE setup guides provide the missing layer of context between your code and the growing ecosystem of AI-powered development tools. It&#8217;s a lightweight addition that helps AI understand your project&#8217;s workflow &#8212; and makes your repository ready for the era of AI-assisted coding.</p><p>In short, AGENTS.md and accompanying IDE setup guides provide the missing layer of context between your code and the growing ecosystem of AI-powered development tools. It&#8217;s not just about onboarding developers anymore &#8212; it&#8217;s also about onboarding AI agents. This file acts as an <strong><a href="https://www.fuzzycomputer.com/posts/onboarding">onboarding guide for agents</a></strong>, helping them understand your project&#8217;s structure, style, and expectations, so they can contribute effectively and make every developer more productive from day one.</p><h2>3. Define Your AI Contribution Policy</h2><p>AI coding tools are now part of everyday development, but most open&#8209;source projects still lack clear policies on how and when they can be used. Without guidance, contributors interpret &#8220;acceptable AI use&#8221; differently, leading to inconsistent pull requests, hidden AI&#8209;generated code, and extra work for maintainers who must assess both quality and authenticity.</p><p><strong>Setting Ground Rules for AI&#8209;Assisted Contributions</strong></p><p>Projects like<a href="https://github.com/mitchellh/ghostty"> Ghostty</a>,<a href="https://gramps.discourse.group/t/update-to-our-code-contribution-policy/8225"> Gramps</a>,<a href="https://github.com/servo/servo/discussions/36379"> Servo</a>, and<a href="https://discuss.scientific-python.org/t/a-policy-on-generative-ai-assisted-contributions/1702"> Scientific Python</a> illustrate different approaches, from allowing AI with disclosure, to banning it outright. These examples show that there&#8217;s no universal answer, but various efforts to help avoid tension and maintain trust. A great reference comes from the <em><a href="https://openinfra.org/legal/ai-policy">Open Infrastructure Foundation&#8217;s</a></em><a href="https://openinfra.org/legal/ai-policy"> policy</a> on AI&#8209;generated content:</p><blockquote><h5><em>&#8220;As a contributor, you are responsible for the code you submit, whether you use AI tools or write it yourself. Some AI tools offer settings, features, or modes that can help, but these are no substitute for your own review of code quality, correctness, style, security, and licensing.&#8221;</em></h5></blockquote><p>It&#8217;s worth emphasizing that every pull request is still reviewed and maintained by humans, not machines. Contributors must ensure that AI&#8209;assisted code meets the same quality, readability, and consistency expectations as any manually written code.</p><p>There&#8217;s also a broader movement around structured, transparent AI collaboration, such as the<a href="https://vibe-coding-manifesto.com/"> Vibe Coding Manifesto</a>. It advocates for integrating AI into open source responsibly, not rejecting it, but managing it through clear PR rules, contributor transparency, and supporting documents like PROMPTING.md. The manifesto also outlines practical steps such as creating small, focused PRs, running self&#8209;reviews and tests before submission, adding clear AI attributions, and limiting concurrent PRs to avoid &#8220;PR spam.&#8221; These concrete recommendations help maintain quality while keeping the review workload manageable.</p><p>Explicit AI contribution guidelines help maintain a healthy balance between speed and quality. Whether your project allows, restricts, or just tracks AI use, defining the rules early prevents confusion and keeps your contributor community aligned.</p><h2>4. Scale Code Reviews with AI</h2><p>Once your project becomes more discoverable and contributor&#8209;friendly with clear guidelines, agents onboarded, you&#8217;ll start seeing more AI-assisted activity and more pull requests. Reviewing those PRs becomes one of the primary jobs of maintainers. Some PRs might come from bots or low&#8209;quality AI output and can be easily rejected, but many will vary significantly in quality and completeness. The only scalable way to keep up with this volume of <strong>AI&#8209;assisted contributions</strong> and maintain quality is to <strong>use AI for reviewing, too</strong>!</p><h3><strong>Bringing AI into the Review Process</strong></h3><p>AI can perform first&#8209;pass reviews, freeing human maintainers to focus on architecture, design, and logic rather than repetitive or stylistic feedback. Such tools act as automated reviewers that integrate directly with GitHub. They can:</p><ul><li><p><strong>Issue Triage &amp; Labeling</strong> &#8211; Categorize issues automatically</p></li><li><p><strong>Documentation Sync</strong> &#8211; Ensure code and docs remain aligned</p></li><li><p><strong>External Contributor Reviews</strong> &#8211; Apply stricter checks for new contributors</p></li><li><p><strong>Custom Review Checklists</strong> &#8211; Enforce team standards and consistency</p></li><li><p><strong>Path&#8209;Specific Reviews</strong> &#8211; Trigger deeper analysis on critical file changes</p></li><li><p><strong>Scheduled Maintenance</strong> &#8211; Automate repository health checks</p></li><li><p><strong>Security&#8209;Focused Reviews</strong> &#8211; Detect vulnerabilities with OWASP&#8209;aligned checks</p></li></ul><p>Among the most popular AI tools for code reviews are:</p><ul><li><p><strong><a href="https://coderabbit.ai/">CodeRabbit</a></strong> &#8211; the most widely adopted open&#8209;source&#8209;friendly AI code review tool.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VPJo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5a78a72-7a7a-4411-bd6b-9f03d7733b76_3840x1694.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VPJo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5a78a72-7a7a-4411-bd6b-9f03d7733b76_3840x1694.webp 424w, https://substackcdn.com/image/fetch/$s_!VPJo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5a78a72-7a7a-4411-bd6b-9f03d7733b76_3840x1694.webp 848w, https://substackcdn.com/image/fetch/$s_!VPJo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5a78a72-7a7a-4411-bd6b-9f03d7733b76_3840x1694.webp 1272w, https://substackcdn.com/image/fetch/$s_!VPJo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5a78a72-7a7a-4411-bd6b-9f03d7733b76_3840x1694.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VPJo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5a78a72-7a7a-4411-bd6b-9f03d7733b76_3840x1694.webp" width="696" height="306.8901098901099" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b5a78a72-7a7a-4411-bd6b-9f03d7733b76_3840x1694.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:642,&quot;width&quot;:1456,&quot;resizeWidth&quot;:696,&quot;bytes&quot;:70644,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/178306550?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5a78a72-7a7a-4411-bd6b-9f03d7733b76_3840x1694.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!VPJo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5a78a72-7a7a-4411-bd6b-9f03d7733b76_3840x1694.webp 424w, https://substackcdn.com/image/fetch/$s_!VPJo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5a78a72-7a7a-4411-bd6b-9f03d7733b76_3840x1694.webp 848w, https://substackcdn.com/image/fetch/$s_!VPJo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5a78a72-7a7a-4411-bd6b-9f03d7733b76_3840x1694.webp 1272w, https://substackcdn.com/image/fetch/$s_!VPJo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5a78a72-7a7a-4411-bd6b-9f03d7733b76_3840x1694.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"><em>CodeRabbit code review options</em></figcaption></figure></div><p>CodeRabbit integrates directly with GitHub and offers <a href="https://www.coderabbit.ai/pricing">free plans for open&#8209;source projects.</a> It supports both IDE&#8209;based inline reviews and PR&#8209;based multi&#8209;file reviews, giving teams flexibility for internal and external contributions. Its context&#8209;aware reviews understand file dependencies and coding patterns, and it can review uncommitted changes directly in the IDE before a PR is even created, reducing friction and catching issues early.</p></li><li><p><strong><a href="https://github.com/anthropics/claude-code-action">Claude Code Action</a></strong> &#8211; integrates Anthropic&#8217;s Claude for PR review and comment generation, providing natural&#8209;language insights and feedback.</p></li><li><p><strong><a href="https://developers.openai.com/codex/cloud/code-review/">OpenAI Codex Cloud Review</a></strong> &#8211; runs as a GitHub Action to automate AI&#8209;based feedback on pull requests and highlight potential issues.</p></li></ul><p>As AI assistants generate more code, the number of incoming PRs will rise. Having AI review these PRs first ensures consistent quality without overloading maintainers. The workflow becomes: AI writes &#8594; AI reviews &#8594; humans approve. That loop keeps velocity high while maintaining the standards as expected.</p><h2>5. Make Your APIs Agent-Ready</h2><p>If your project already exposes an API, CLI, or has a client SDK, it&#8217;s time to think about how AI agents can interact with it directly. Developers are no longer the only consumers of APIs, <strong>AI assistants are becoming first&#8209;class users, too</strong>. Yet most APIs today are not agent&#8209;ready: assistants can read about them but not interact in a structured, safe way.</p><p><strong>Opening Your APIs to AI Agents with MCP</strong></p><p>The<a href="https://modelcontextprotocol.io/docs/getting-started/intro"> </a><strong><a href="https://modelcontextprotocol.io/docs/getting-started/intro">Model Context Protocol (MCP)</a></strong> is an emerging open standard that lets AI agents connect to tools, APIs, and data sources. Exposing your API or CLI via MCP makes your project agent&#8209;ready, enabling AI systems to query, test, and trigger actions contextually instead of copy&#8209;pasting examples. It improves discoverability, automation, and supports AI&#8209;native workflows where agents use your project the same way as developers do. It also connects your project to the growing MCP ecosystem of compatible tools, browsers, and registries.</p><p>Projects like<a href="https://github.com/tursodatabase/turso"> </a><a href="https://github.com/kanapuli/mcp-kafka">Apache Kafka</a>, <a href="https://github.com/tursodatabase/turso">Turso</a>,<a href="https://github.com/duckdb/duckdb"> DuckDB</a>, and<a href="https://github.com/redis/mcp-redis"> Redis</a> are early examples of being agent&#8209;ready. Some already expose MCP endpoints that let assistants query data or perform operations directly. Cloud services such as <a href="https://github.com/confluentinc/mcp-confluent">Confluent Cloud</a>,<a href="https://supabase.com/blog/remote-mcp-server"> Supabase</a> have gone further, hosting full MCP servers that make their APIs seamlessly accessible to AI tools.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tv8z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab29ece-94fe-4145-93cc-2d2f741cff31_1244x1004.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tv8z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab29ece-94fe-4145-93cc-2d2f741cff31_1244x1004.png 424w, https://substackcdn.com/image/fetch/$s_!tv8z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab29ece-94fe-4145-93cc-2d2f741cff31_1244x1004.png 848w, https://substackcdn.com/image/fetch/$s_!tv8z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab29ece-94fe-4145-93cc-2d2f741cff31_1244x1004.png 1272w, https://substackcdn.com/image/fetch/$s_!tv8z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab29ece-94fe-4145-93cc-2d2f741cff31_1244x1004.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tv8z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab29ece-94fe-4145-93cc-2d2f741cff31_1244x1004.png" width="1244" height="1004" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ab29ece-94fe-4145-93cc-2d2f741cff31_1244x1004.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1004,&quot;width&quot;:1244,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:168546,&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://generativeprogrammer.com/i/178306550?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab29ece-94fe-4145-93cc-2d2f741cff31_1244x1004.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_!tv8z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab29ece-94fe-4145-93cc-2d2f741cff31_1244x1004.png 424w, https://substackcdn.com/image/fetch/$s_!tv8z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab29ece-94fe-4145-93cc-2d2f741cff31_1244x1004.png 848w, https://substackcdn.com/image/fetch/$s_!tv8z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab29ece-94fe-4145-93cc-2d2f741cff31_1244x1004.png 1272w, https://substackcdn.com/image/fetch/$s_!tv8z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab29ece-94fe-4145-93cc-2d2f741cff31_1244x1004.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Redis MCP Server https://github.com/redis/mcp-redis</figcaption></figure></div><p>To get started, tools like<a href="https://gofastmcp.com/integrations/openapi"> FastMCP</a> can automatically generate MCP servers from any OpenAPI specification,  instantly turning your existing API into one that AI models can use through MCP. Over time, you can evolve toward a purpose&#8209;built MCP server. Platforms such as<a href="https://www.speakeasy.com"> Speakeasy</a> also provide MCP server generators with free plans for open&#8209;source projects, making it easy to experiment.</p><p>In short, if your project has an API, offering MCP&#8209;based access is becoming table stakes. Adding MCP support transforms your project from something AI agents can only read about into something they can use directly, unlocking the next phase of open&#8209;source and AI integration.</p><h2>6. Turn Docs into Conversational Interfaces</h2><p>Developers don&#8217;t have the time to dig through endless documentation pages or wait for answers in Discord. They expect instant help, the same experience they are used to from AI tools. Yet, most open&#8209;source documentation is static and unresponsive to real&#8209;time questions, and even outdated as the code changes faster.</p><p><strong>How Conversational Docs Improve Developer Onboarding</strong></p><p>Adding an <strong>AI&#8209;powered chat interface</strong> to your docs lets users ask questions directly, based on your project&#8217;s documentation, issues, and source code. Tools like<a href="https://www.kapa.ai"> Kapa.ai</a>, <a href="https://docs.inkeep.com/overview">Inkeep</a>, <a href="https://crawlchat.app/">CrawlChat</a> can index your site, GitHub repo, or forums and deliver answers instantly inside your website, Slack, or Discord. Such services improve onboarding, reduce repeated support requests, and help users learn faster through natural conversation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GfGi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746e6b1-70b5-4b59-b3c6-2f178b96d0fe_1840x1068.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GfGi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746e6b1-70b5-4b59-b3c6-2f178b96d0fe_1840x1068.png 424w, https://substackcdn.com/image/fetch/$s_!GfGi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746e6b1-70b5-4b59-b3c6-2f178b96d0fe_1840x1068.png 848w, https://substackcdn.com/image/fetch/$s_!GfGi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746e6b1-70b5-4b59-b3c6-2f178b96d0fe_1840x1068.png 1272w, https://substackcdn.com/image/fetch/$s_!GfGi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746e6b1-70b5-4b59-b3c6-2f178b96d0fe_1840x1068.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GfGi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746e6b1-70b5-4b59-b3c6-2f178b96d0fe_1840x1068.png" width="1456" height="845" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a746e6b1-70b5-4b59-b3c6-2f178b96d0fe_1840x1068.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:845,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:106175,&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://generativeprogrammer.com/i/178306550?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746e6b1-70b5-4b59-b3c6-2f178b96d0fe_1840x1068.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_!GfGi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746e6b1-70b5-4b59-b3c6-2f178b96d0fe_1840x1068.png 424w, https://substackcdn.com/image/fetch/$s_!GfGi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746e6b1-70b5-4b59-b3c6-2f178b96d0fe_1840x1068.png 848w, https://substackcdn.com/image/fetch/$s_!GfGi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746e6b1-70b5-4b59-b3c6-2f178b96d0fe_1840x1068.png 1272w, https://substackcdn.com/image/fetch/$s_!GfGi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa746e6b1-70b5-4b59-b3c6-2f178b96d0fe_1840x1068.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">CrewAI Chat with the Docs (custom GPT)</figcaption></figure></div><p>If these tools are not affordable for your project, you can also build a simple in&#8209;house alternative like<a href="https://chatg.pt/DWjSBZn"> CrewAI&#8217;s &#8220;Chat with the Docs&#8221;</a>, or index your documentation with<a href="https://context7.com/"> Context7</a> and expose it as an MCP server, allowing users to query your docs directly from their IDE.</p><p>This is an evolving space, but it&#8217;s likely that in the future, <strong>all open&#8209;source projects will have built&#8209;in AI chat interfaces</strong>, offered for free, either sponsored by their open&#8209;source foundations or integrated directly into platforms like GitHub. For now, you have to find ways to cover this cost.</p><h2>7. Automate Community Tasks with AI</h2><p>As open-source communities grow and AI-assisted development accelerates, maintainers face a constant flow of new issues, PRs, and support questions. Repetitive tasks, triaging, labeling, answering common questions, or closing stale tickets, can consume hours that could be spent improving the project itself.</p><p><strong>Let AI Handle the Repetitive Work</strong></p><p>AI maintainers like<a href="https://app.dosu.dev/9affd04a-e6a9-452c-b927-c639e979994c/documents/cd620933-5c00-4bee-a9d5-9c0698310eba"> Dosu</a> automate many of these repetitive tasks. They can triage issues, answer contributor questions, close inactive discussions, remind authors about missing documentation, and enforce contribution guidelines &#8212; all while keeping conversations active and polite. Dosu already works with major projects like LangChain, Prisma, Strapi, Apache Airflow, and several CNCF initiatives, and <a href="https://dosu.dev/pricing">is free for open-source</a> use (with CNCF and ASF partnerships in place).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oyQy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa275e6-ac5e-4ad7-bdaa-17454c8fcfbe_3038x1922.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oyQy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa275e6-ac5e-4ad7-bdaa-17454c8fcfbe_3038x1922.png 424w, https://substackcdn.com/image/fetch/$s_!oyQy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa275e6-ac5e-4ad7-bdaa-17454c8fcfbe_3038x1922.png 848w, https://substackcdn.com/image/fetch/$s_!oyQy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa275e6-ac5e-4ad7-bdaa-17454c8fcfbe_3038x1922.png 1272w, https://substackcdn.com/image/fetch/$s_!oyQy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa275e6-ac5e-4ad7-bdaa-17454c8fcfbe_3038x1922.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oyQy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa275e6-ac5e-4ad7-bdaa-17454c8fcfbe_3038x1922.png" width="1456" height="921" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3aa275e6-ac5e-4ad7-bdaa-17454c8fcfbe_3038x1922.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:921,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:247411,&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://generativeprogrammer.com/i/178306550?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa275e6-ac5e-4ad7-bdaa-17454c8fcfbe_3038x1922.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_!oyQy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa275e6-ac5e-4ad7-bdaa-17454c8fcfbe_3038x1922.png 424w, https://substackcdn.com/image/fetch/$s_!oyQy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa275e6-ac5e-4ad7-bdaa-17454c8fcfbe_3038x1922.png 848w, https://substackcdn.com/image/fetch/$s_!oyQy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa275e6-ac5e-4ad7-bdaa-17454c8fcfbe_3038x1922.png 1272w, https://substackcdn.com/image/fetch/$s_!oyQy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa275e6-ac5e-4ad7-bdaa-17454c8fcfbe_3038x1922.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Dosu Auto-Labeling issues</figcaption></figure></div><p>In short, AI maintainers act as 24x7 project maintainers, handling the administrative overhead so human maintainers can focus on technical leadership, community growth, and long-term vision.</p><h2>AI-Ready Project Checklist for Maintainers</h2><p>Every open-source project has its own culture, workflows, and pace of change. Yet as AI rapidly reshapes how developers build and collaborate, standing still is the worst option. The right move is to adapt early and use AI as an advantage, not a disruption. This checklist helps maintainers identify where to start.</p><h3>For Users</h3><ol><li><p><strong>Make your project discoverable:</strong> Create <code>llms.txt</code> listing key docs, APIs, and examples so LLMs can index your project. This is a top-of-funnel lever, but with still-unproven impact; treat it as a follow-on step after the other core items.</p></li><li><p><strong>Turn docs into conversations:</strong> Deploy a tool like Kapa.ai trained on your documentation and community resources to answer user questions instantly. This is no longer a luxury: users now expect conversational help, and it significantly improves new user experience.</p></li><li><p><strong>Open your project APIs to agent use:</strong> If you have a CLI, SDK, or API, create an MCP server so AI agents can call and use it directly. Comprehensive MCP support makes your project easier to integrate with AI tools and stand out among alternatives.</p></li></ol><h3>For Contributors</h3><ol start="4"><li><p><strong>Onboard AI-assisted tools to your project:</strong> Add <code>AGENTS.md</code> with build, test, and style instructions so AI tools can quickly figure out how to work with your code. Thousands of projects already use it, making it one of the easiest and highest-impact improvements.</p></li><li><p><strong>Define a clear AI contribution policy:</strong> Update <code>CONTRIBUTING.md</code> and PR templates with a reminder that contributors are responsible for submission quality and correctness, regardless of which tools they use. This reinforces human accountability while promoting transparency as AI-assisted contributions grow.</p></li></ol><h3>For Maintainers</h3><ol start="6"><li><p><strong>Scale code reviews with AI:</strong> Connect CodeRabbit or a similar asynchronous AI bot to automatically review pull requests and provide feedback for free on open-source projects. A small setup effort here pays back quickly by reducing reviewer fatigue and catching early issues.</p></li><li><p><strong>Automate repetitive community tasks:</strong> Install Dosu or a similar GitHub bot to triage issues, answer questions, and keep discussions organized. Automation beyond code reviews helps sustain healthy collaboration and saves maintainers valuable time.</p></li></ol><p>Together, these practices ensure your project is set up to benefit from AI at every level: users can discover it, get answers instantly, and use it with their AI tools; contributors have clear onboarding and AI usage guidelines; and maintainers gain automation for reviews and community operations. The space is evolving fast, keep an eye on relevant tools and practices, subscribe, and share how you&#8217;re using AI in open source.</p>]]></content:encoded></item><item><title><![CDATA[🤖 Generative Programmer | Issue #16]]></title><description><![CDATA[Autumn 2025: Patterns, Frameworks, and Productivity in AI Development]]></description><link>https://generativeprogrammer.com/p/generative-programmer-issue-16</link><guid isPermaLink="false">https://generativeprogrammer.com/p/generative-programmer-issue-16</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sun, 02 Nov 2025 09:41:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!D5jK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb913efc5-1e30-4318-8b53-31588a8891d3_1920x1080.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128227; Welcome back! Here&#8217;s everything that happened in the last two months in agentic systems and AI-assisted coding, all in one post.  Support by sharing: <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">X</a> &#183; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a> &#183; <a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a> &#183; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a> and let&#8217;s dive in.</p><h2><strong>&#128293; Top Picks from This Issue</strong></h2><p>&#129504; <a href="https://www.anthropic.com/engineering/writing-tools-for-agents">Writing Effective Tools for AI Agents</a> &#8211; Anthropic  &#128293;<br>&#129513; <a href="https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents">Effective Context Engineering for AI Agents</a> &#8211; Anthropic again<br>&#127959;&#65039; <a href="https://shopify.engineering/building-production-ready-agentic-systems">Building Production-Ready Agentic Systems</a> &#8211; Shopify&#8217;s lessons <br>&#129516; <a href="https://nlp.elvissaravia.com/p/deep-agents">Deep Agents: From Shallow to Deep...</a> &#8211; Elvis Saravia<br>&#128187; <a href="https://blog.alexmaccaw.com/how-to-vibe-code-as-a-senior-engineer/">How to Vibe Code as a Senior Engineer</a> &#8211; Alex Maccaw <br>&#128640; <a href="https://addyo.substack.com/p/the-ai-native-software-engineer?utm_source=ai-native-dev-newsletter">The AI-Native Software Engineer</a> &#8211; Addy Osmani <br>&#129504; <a href="https://blog.fsck.com/2025/10/05/how-im-using-coding-agents-in-september-2025/">How I&#8217;m Using Coding Agents in September 2025</a> &#8211; Jesse Vincent<br>&#129517; <a href="https://medium.com/@springrod/context-engineering-needs-domain-understanding-b4387e8e4bf8">Context Engineering Needs Domain Understanding</a> &#8211; Rod Johnson <br>&#9889; <a href="https://magazine.sebastianraschka.com/p/from-gpt-2-to-gpt-oss-analyzing-the">From GPT-2 to gpt-oss: Architectural Advances</a> &#8211; Sebastian Raschka  &#128293;<br>&#128161; <a href="https://maxleiter.com/blog/rewrite-your-prompts">You Should Be Rewriting Your Prompts</a> &#8211; Max Leiter<br>&#129521; <a href="https://x.com/DataChaz/status/1969281035562303676">Google&#8217;s MCP Toolbox for Databases Is Now Open Source</a> <br>&#128293;&#128293;&#128293; <a href="https://www.youtube.com/watch?v=ysPbXH0LpIE">Prompting 101</a> - Hannah &amp; Christian from Anthropic</p><p>&#8230;and if you dare, <em>100+ updates</em> to explore &#128071;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/p/generative-programmer-issue-16?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://generativeprogrammer.com/p/generative-programmer-issue-16?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>&#127919; Featured Article</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D5jK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb913efc5-1e30-4318-8b53-31588a8891d3_1920x1080.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D5jK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb913efc5-1e30-4318-8b53-31588a8891d3_1920x1080.webp 424w, https://substackcdn.com/image/fetch/$s_!D5jK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb913efc5-1e30-4318-8b53-31588a8891d3_1920x1080.webp 848w, https://substackcdn.com/image/fetch/$s_!D5jK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb913efc5-1e30-4318-8b53-31588a8891d3_1920x1080.webp 1272w, https://substackcdn.com/image/fetch/$s_!D5jK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb913efc5-1e30-4318-8b53-31588a8891d3_1920x1080.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D5jK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb913efc5-1e30-4318-8b53-31588a8891d3_1920x1080.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b913efc5-1e30-4318-8b53-31588a8891d3_1920x1080.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;This is an image depicting how an engineer might use Claude Code to evaluate the efficacy of agentic tools.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="This is an image depicting how an engineer might use Claude Code to evaluate the efficacy of agentic tools." title="This is an image depicting how an engineer might use Claude Code to evaluate the efficacy of agentic tools." srcset="https://substackcdn.com/image/fetch/$s_!D5jK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb913efc5-1e30-4318-8b53-31588a8891d3_1920x1080.webp 424w, https://substackcdn.com/image/fetch/$s_!D5jK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb913efc5-1e30-4318-8b53-31588a8891d3_1920x1080.webp 848w, https://substackcdn.com/image/fetch/$s_!D5jK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb913efc5-1e30-4318-8b53-31588a8891d3_1920x1080.webp 1272w, https://substackcdn.com/image/fetch/$s_!D5jK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb913efc5-1e30-4318-8b53-31588a8891d3_1920x1080.webp 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><a href="https://www.anthropic.com/engineering/writing-tools-for-agents">Writing effective tools for AI agents</a> - Anthropic outlines techniques for creating effective tools for LLM agents using the Model Context Protocol, sharing key principles for writing high-quality tools that bridge deterministic and non-deterministic systems.</p><h2><strong>&#128240; Building Agentic Systems</strong></h2><p>&#128293;&#128293;&#128293; <a href="https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents">Effective context engineering for AI agents</a> - Anthropic explains how context engineering is replacing prompt engineering, focusing on optimizing the entire token context to achieve consistent LLM performance rather than just finding the right prompt phrases.</p><p><a href="https://www.infoq.com/articles/agentic-ai-architecture-framework/">Agentic AI Architecture Framework for Enterprises - InfoQ</a> - A framework for building autonomous AI systems with architectural components and implementation patterns.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LfXq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257a4e16-154e-4bfc-b3f6-0534ecce58f1_1200x751.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LfXq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257a4e16-154e-4bfc-b3f6-0534ecce58f1_1200x751.jpeg 424w, https://substackcdn.com/image/fetch/$s_!LfXq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257a4e16-154e-4bfc-b3f6-0534ecce58f1_1200x751.jpeg 848w, https://substackcdn.com/image/fetch/$s_!LfXq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257a4e16-154e-4bfc-b3f6-0534ecce58f1_1200x751.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!LfXq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257a4e16-154e-4bfc-b3f6-0534ecce58f1_1200x751.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LfXq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257a4e16-154e-4bfc-b3f6-0534ecce58f1_1200x751.jpeg" width="1200" height="751" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/257a4e16-154e-4bfc-b3f6-0534ecce58f1_1200x751.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:751,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Diagram titled AI Agent Orchestration Patterns displays five patterns: sequential with chained agents, concurrent with parallel agents, group chat with multiple agents in discussion, maker-checker loops with validation steps, handoff with agent transfer, and magentic with central coordinator, each illustrated by flowcharts showing agent interactions and data flows.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram titled AI Agent Orchestration Patterns displays five patterns: sequential with chained agents, concurrent with parallel agents, group chat with multiple agents in discussion, maker-checker loops with validation steps, handoff with agent transfer, and magentic with central coordinator, each illustrated by flowcharts showing agent interactions and data flows." title="Diagram titled AI Agent Orchestration Patterns displays five patterns: sequential with chained agents, concurrent with parallel agents, group chat with multiple agents in discussion, maker-checker loops with validation steps, handoff with agent transfer, and magentic with central coordinator, each illustrated by flowcharts showing agent interactions and data flows." srcset="https://substackcdn.com/image/fetch/$s_!LfXq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257a4e16-154e-4bfc-b3f6-0534ecce58f1_1200x751.jpeg 424w, https://substackcdn.com/image/fetch/$s_!LfXq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257a4e16-154e-4bfc-b3f6-0534ecce58f1_1200x751.jpeg 848w, https://substackcdn.com/image/fetch/$s_!LfXq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257a4e16-154e-4bfc-b3f6-0534ecce58f1_1200x751.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!LfXq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257a4e16-154e-4bfc-b3f6-0534ecce58f1_1200x751.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"><a href="https://x.com/bibryam/status/1981639800802414976">https://x.com/bibryam/status/1981639800802414976</a></figcaption></figure></div><p>&#128293; <a href="https://learn.microsoft.com/en-us/azure/architecture/ai-ml/guide/ai-agent-design-patterns">AI Agent Orchestration Patterns</a> - Guide to designing multi-agent systems that handle complex tasks collaboratively by Microsoft.</p><p>&#128293; <a href="https://shopify.engineering/building-production-ready-agentic-systems">Building production-ready agentic systems</a> - Shopify&#8217;s journey building a production-ready AI assistant with practical lessons learned.</p><p><a href="https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills">Equipping agents for the real world with Agent Skills</a> - Anthropic: AgentSkills packages domain expertise for more capable AI assistants.</p><p><a href="https://www.microsoft.com/en-us/research/articles/magentic-one-a-generalist-multi-agent-system-for-solving-complex-tasks/">Magentic-One: A Generalist Multi-Agent System for Solving Complex Tasks </a>- Microsoft&#8217;s multi-agent system that solves complex tasks through collaborative AI agents.</p><p><a href="https://muratbuffalo.blogspot.com/2025/09/supporting-our-ai-overlords-redesigning.html">Supporting our AI overlords: Redesigning data systems to be Agent-first</a> - Berkeley researchers propose redesigning databases for LLM agents&#8217; unique query patterns.</p><p><a href="https://www.anthropic.com/news/context-management?utm_source=substack&amp;utm_medium=email">Managing context on the Claude Developer Platform</a> - Anthropic introduces new context management capabilities that help developers build AI agents capable of handling complex, long-running tasks without hitting context limits or losing critical information.</p><p><a href="https://arxiv.org/abs/2405.10467">Agent Design Pattern Catalogue: A Collection of Architectural Patterns</a> - Yue Liu - A collection of design patterns for building foundation model agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ayYd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa27e15-0779-46c4-9d34-7b02de139e42_1492x1174.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ayYd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa27e15-0779-46c4-9d34-7b02de139e42_1492x1174.png 424w, https://substackcdn.com/image/fetch/$s_!ayYd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa27e15-0779-46c4-9d34-7b02de139e42_1492x1174.png 848w, https://substackcdn.com/image/fetch/$s_!ayYd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa27e15-0779-46c4-9d34-7b02de139e42_1492x1174.png 1272w, https://substackcdn.com/image/fetch/$s_!ayYd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa27e15-0779-46c4-9d34-7b02de139e42_1492x1174.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ayYd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa27e15-0779-46c4-9d34-7b02de139e42_1492x1174.png" width="1456" height="1146" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4fa27e15-0779-46c4-9d34-7b02de139e42_1492x1174.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1146,&quot;width&quot;:1456,&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_!ayYd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa27e15-0779-46c4-9d34-7b02de139e42_1492x1174.png 424w, https://substackcdn.com/image/fetch/$s_!ayYd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa27e15-0779-46c4-9d34-7b02de139e42_1492x1174.png 848w, https://substackcdn.com/image/fetch/$s_!ayYd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa27e15-0779-46c4-9d34-7b02de139e42_1492x1174.png 1272w, https://substackcdn.com/image/fetch/$s_!ayYd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fa27e15-0779-46c4-9d34-7b02de139e42_1492x1174.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">The 5 levels of autonomy: Self-driving cars vs. AI dev agents</figcaption></figure></div><p><a href="https://ainativedev.io/news/the-5-levels-of-ai-agent-autonomy-learning-from-self-driving-cars">The 5 levels of AI agent autonomy: learning from self-driving cars</a> - Maps coding agents to self-driving car autonomy levels, from manual to fully autonomous.</p><p>&#128293; <a href="https://nlp.elvissaravia.com/p/deep-agents">Deep Agents </a>- AI systems evolving from shallow to deep agents with strategic planning capabilities.</p><h2><strong>&#128240; Coding with AI</strong></h2><p>&#128293;&#128293;&#128293; <a href="https://blog.alexmaccaw.com/how-to-vibe-code-as-a-senior-engineer/">How to Vibe Code as a Senior Engineer</a> - Alex Maccaw explains how &#8220;vibe coding&#8221; leverages AI models to dramatically accelerate software development, turning traditionally expensive and time-consuming coding processes into rapid, efficient workflows for senior engineers.</p><p><a href="https://etsd.tech/posts/rtfc">Read That F*cking Code!</a> - Developers need to actually read the code that AI generates for them.</p><p>&#128293; <a href="https://addyo.substack.com/p/the-ai-native-software-engineer?utm_source=ai-native-dev-newsletter">The AI-Native Software Engineer</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;5221083f-afa2-44b7-9f58-6b7a7f32c96f&quot;}" data-component-name="MentionToDOM"></span> : Engineers who embrace AI as partners can multiply their productivity.</p><p><a href="https://www.fuzzycomputer.com/posts/onboarding">Onboarding for coding agents</a> - Simplified context delivery for AI coding assistants.</p><p><a href="https://simonw.substack.com/p/claudes-new-code-interpreter">Claude&#8217;s new Code Interpreter</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Simon Willison&quot;,&quot;id&quot;:5753967,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5a30d45c-fcba-407a-bebf-96f51a8944a4_48x48.jpeg&quot;,&quot;uuid&quot;:&quot;a3c5dc74-971f-4e64-b9c4-3150118773dc&quot;}" data-component-name="MentionToDOM"></span> reviews Claude&#8217;s Code Interpreter and showcases various AI development tools.</p><p><a href="https://www.augmentcode.com/guides/ai-coding-assistants-for-large-codebases-a-complete-guide">AI Coding Assistants for Large Codebases: A Complete Guide</a> - Molisha Shah explains how effective AI coding assistants for large codebases need to understand entire repositories and architectural patterns, not just provide simple autocomplete functionality.</p><p><a href="https://simonwillison.net/2025/Sep/30/designing-agentic-loops/">Designing agentic loops</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Simon Willison&quot;,&quot;id&quot;:5753967,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5a30d45c-fcba-407a-bebf-96f51a8944a4_48x48.jpeg&quot;,&quot;uuid&quot;:&quot;777bae8d-d36b-4c20-88c2-80c7ddf75b0d&quot;}" data-component-name="MentionToDOM"></span> explains how to maximize the potential of coding agents like Claude Code and Codex CLI by designing effective agentic loops that enable these AI tools to iterate toward solutions.</p><p><a href="https://simonw.substack.com/p/embracing-the-parallel-coding-agent">Embracing the parallel coding agent lifestyle</a> - Simon Willison: Developer&#8217;s shift toward using multiple AI coding assistants at once.</p><p>&#128293; <a href="https://blog.fsck.com/2025/10/05/how-im-using-coding-agents-in-september-2025/">How I&#8217;m using coding agents in September, 2025</a> - Developer&#8217;s workflow using Claude Code with git worktrees for parallel project management.</p><p><a href="https://addyo.substack.com/p/vibe-coding-is-not-the-same-as-ai">Vibe coding is not the same as AI-Assisted engineering.</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;43241d4f-b9b8-411e-8e5a-7a3fef11f77d&quot;}" data-component-name="MentionToDOM"></span>  clarifies the critical distinction between casual &#8220;vibe coding&#8221; and professional &#8220;AI-assisted engineering,&#8221; emphasizing that conflating these approaches risks devaluing engineering discipline and misleading newcomers about production software requirements.</p><p><a href="https://tidyfirst.substack.com/p/beyond-the-ide">Beyond the IDE</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Kent Beck&quot;,&quot;id&quot;:24333739,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F000da410-0ed6-4a25-80b1-6a46e964ae0b_242x242.jpeg&quot;,&quot;uuid&quot;:&quot;b210ce59-5a8a-4da4-bbe0-fe88a5d56a92&quot;}" data-component-name="MentionToDOM"></span> explores programming&#8217;s evolution from hardware to AI-assisted environments.</p><p><a href="https://medium.com/nick-tune-tech-strategy-blog/reverse-engineering-your-software-architecture-with-claude-code-to-help-claude-code-1746a7b941bc">Reverse Engineering your Software Architecture with Claude Code to Help Claude Code</a> - Nick Tune: Claude Code works best when it understands your system&#8217;s full functionality.</p><p><a href="https://thoughtworks.medium.com/beyond-vibe-coding-how-ai-can-transform-pull-requests-afef51eae137">Beyond vibe coding: How AI can transform pull requests</a> - Thoughtworks: Enterprise coding needs more than AI prompts due to regulatory and legacy constraints.</p><p><a href="https://ainativedev.io/news/exploring-cursor-windsurf-and-copilot-with-gpt-5">Exploring Cursor, Windsurf and Copilot with GPT-5 </a>  - Comparative analysis of GPT-5 coding tools across different development scenarios.</p><p><a href="https://ainativedev.io/news/the-rule-maker-pattern">The Rule Maker Pattern: Creating Deterministic Execution with AI Probabilistic Generation</a> - Guy Podjarny explains how developers can establish clear rules and guidelines to transform AI&#8217;s unpredictable outputs into reliable, deterministic execution for more consistent results.</p><p><a href="https://newsletter.pragmaticengineer.com/p/how-tech-companies-measure-the-impact-of-ai">How tech companies measure the impact of AI on software development</a> - Orosz: Companies tracking whether AI coding tools justify their increasing costs.</p><p><a href="https://www.latent.space/p/gpt5-codex">How GPT5 + Codex took over Agentic Coding &#8212; ft. Greg Brockman, OpenAI</a> - OpenAI&#8217;s GPT-5-Codex disrupts Anthropic&#8217;s coding dominance.</p><h2><strong>&#128240; Long-Form Reads</strong></h2><p>&#128293;&#128293;&#128293; <a href="https://medium.com/@springrod/context-engineering-needs-domain-understanding-b4387e8e4bf8">Context Engineering Needs Domain Understanding</a> - Rod Johnson: Context engineering replaces prompt engineering with more precision.</p><p>&#128293; <a href="https://maxleiter.com/blog/rewrite-your-prompts">You should be rewriting your prompts</a> - Max Leiter: Different LLMs require different prompting approaches for best results.</p><p><a href="https://icepanel.io/blog/2025-08-18-comparison-llms-for-creating-software-architecture-diagrams/">Comparison - LLMs for Creating Software Architecture Diagrams</a> -  Testing if AI can create architecture diagrams but not replace architects.</p><p><a href="https://www.oneusefulthing.org/p/against-brain-damage">Against &#8220;Brain Damage&#8221;</a> - <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;78863640-5af4-4685-a8da-a6b76c8e217d&quot;}" data-component-name="MentionToDOM"></span>  debunks fears that AI harms cognition, suggesting productive AI use instead.</p><p><a href="https://simonw.substack.com/p/gpt-5-key-characteristics-pricing">GPT-5: Key characteristics, pricing and model card</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Simon Willison&quot;,&quot;id&quot;:5753967,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5a30d45c-fcba-407a-bebf-96f51a8944a4_48x48.jpeg&quot;,&quot;uuid&quot;:&quot;ac08d6b1-8e1e-4ac2-ae24-5cdd2c225625&quot;}" data-component-name="MentionToDOM"></span>: Brief notes on OpenAI&#8217;s new models and ChatGPT features.</p><p><a href="https://www.coderabbit.ai/blog/the-art-and-science-of-context-engineering">The art and science of context engineering</a> - CodeRabbit examines how effective AI code review tools require sophisticated context engineering to understand specific codebases deeply rather than simply pattern-matching against general rules.</p><p>&#128293;&#128293;&#128293; <a href="https://magazine.sebastianraschka.com/p/from-gpt-2-to-gpt-oss-analyzing-the">From GPT-2 to gpt-oss: Analyzing the Architectural Advances</a> - Technical breakdown of OpenAI&#8217;s new open-weight models and their architectural improvements.</p><p><a href="https://www.meta.com/superintelligence/?utm_source=substack&amp;utm_medium=email">Superintelligence</a> - Meta&#8217;s roadmap for developing safe, advanced AI systems beyond human intelligence.</p><p><a href="https://www.promptmonitor.io/blog/how-to-get-brand-mentioned-in-ai">10 Proven Ways to Get Your Brand Mentioned in AI Answers</a> - Strategies for brand visibility in AI responses through quality content placement.</p><p><a href="https://martinfowler.com/articles/pushing-ai-autonomy.html">How far can we push AI autonomy in code generation?</a> - B&#246;ckeler: AI can build simple apps but still requires human supervision.</p><p><a href="https://jaxlondon.com/blog/data-machine-learning/mastering-mcp-server-with-spring-boot-and-ai/">Mastering MCP Server with Spring Boot &amp; AI</a> -  Standardized protocol for AI model-application communication.</p><p><a href="https://simonw.substack.com/p/prompt-injections-as-far-as-the-eye">Prompt injections as far as the eye can see</a> - Researcher documents daily AI prompt injection vulnerabilities across multiple tools.</p><p><a href="https://www.reillywood.com/blog/apis-dont-make-good-mcp-tools/">APIs don&#8217;t make good MCP tools</a> - Reilly Wood explains why automatically converting existing APIs into Model Context Protocol tools often works poorly due to context window limitations and the fact that web APIs weren&#8217;t designed with these constraints in mind.</p><p><a href="https://medium.com/@elliotgraebert/agentic-ai-has-changed-my-career-2c6e3dd29708">Agentic AI has changed my career. I don&#8217;t write code&#8230;</a> - Elliot Graebert: Manager who stopped coding after early career promotion.</p><p><a href="https://arxiv.org/abs/2411.15399">Less is More: Optimizing Function Calling for LLM Execution on Edge Devices</a> -  Streamlining LLM function calls for better edge device performance.</p><p><a href="https://giansegato.com/essays/probabilistic-era">Building AI Products In The Probabilistic Era</a> - AI systems work in ways we can&#8217;t fully predict or understand.</p><p><a href="https://www.growthunhinged.com/p/your-next-job-will-require-ai-skills">Your next job will require AI skills</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Kyle Poyar&quot;,&quot;id&quot;:3477063,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ySdz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e6176aa-0699-4dfc-af3b-561d987c6632_3600x2401.jpeg&quot;,&quot;uuid&quot;:&quot;b3c3d993-7cc9-4de2-ab06-87aeb2b62265&quot;}" data-component-name="MentionToDOM"></span> : AI fluency becoming essential across all job functions.</p><p><a href="https://reeganalward.com/master-the-blueprint-llm-prompts-for-perfect-product-requirements-documents-prd-192b23835462">Master the Blueprint: LLM Prompts for Perfect  PRD</a>s - Alward shares template for creating LLM-generated PRDs optimized for coding agents.</p><p><a href="https://medium.com/@sean.shoffstall/revolutionizing-product-development-how-ai-is-transforming-the-prd-process-4dbb66cba77d">How AI is Transforming the PRD Process</a> - Sean Shoffstall reflects on how AI tools are revolutionizing product requirements documents, addressing the longstanding problems of traditional PRDs that tend to be either too vague or overly detailed.</p><p><a href="https://mustafakapadia.substack.com/p/writing-product-requirements-with">Writing product requirements with AI</a> - Kapadia examines why PMs struggle with requirements documentation and AI limitations.</p><p><a href="https://arxiv.org/html/2404.17842v1">Using LLMs in Software Requirements Specifications: An Empirical Evaluation</a> - Study comparing LLMs to humans in creating software requirement documents.</p><p><a href="https://lukebechtel.com/blog/vibe-speccing">Vibe Specs: Vibe Coding That Actually Works</a> - Luke Bechtel advocates for making AI write requirements before code, arguing this 5-minute investment saves hours of confusion and improves productivity.</p><p><a href="https://booking.ai/llm-evaluation-practical-tips-at-booking-com-1b038a0d6662">LLM Evaluation: Practical Tips at Booking.com</a> - George Chouliaras shares Booking.com&#8217;s methods for evaluating generative AI applications.</p><p><a href="https://martinfowler.com/articles/exploring-gen-ai/to-vibe-or-not-vibe.html">To vibe or not to vibe</a> - Birgitta B&#246;ckeler examines the nuanced debate around AI-generated code review, challenging binary perspectives and suggesting that the appropriate level of review depends on various contextual factors.</p><p><a href="https://brooker.co.za/blog/2025/08/12/llms-as-components.html">LLMs as Parts of Systems - Marc&#8217;s Blog</a> - Systems built with LLMs matter more than LLMs&#8217; theoretical capabilities alone.</p><p><a href="https://alexchesser.medium.com/attention-is-the-new-big-o-9c68e1ae9b27">Attention Is the New Big-O</a> - Alex Chesser explains how LLMs process text differently than humans, emphasizing that structural choices in prompts can impact results more significantly than word choice.</p><p><a href="https://www.dbreunig.com/2025/06/10/let-the-model-write-the-prompt.html">Let the Model Write the Prompt</a> - Drew Breunig demonstrates how DSPy can be used to define and optimize LLM tasks, using a geospatial conflation problem as an example to show how the framework simplifies, improves, and future-proofs AI implementations.</p><p><a href="https://www.koi.ai/blog/postmark-mcp-npm-malicious-backdoor-email-theft">First Malicious MCP in the Wild: The Postmark Backdoor That&#8217;s Stealing Your Emails </a>- Koi reveals details about the first discovered malicious Model Composition Protocol (MCP) backdoor in the Postmark npm package that steals users&#8217; email data.</p><p><a href="https://mbleigh.dev/posts/context-engineering-with-links/">Context engineering is sleeping on the humble hyperlink </a>- the overlooked solution for efficient LLM context management.</p><p>Agentic Lessons learn after 300 agents - <a href="https://www.saiyashwanth.com/ai_agent_lessons">Sai Yashwanth</a> - I have built around 300 agents, worked at 5 startups. Here&#8217;s what I learnt about AI Agent</p><p><a href="https://theengineeringmanager.substack.com/p/leadership-co-processing-with-llms">Leadership co-processing with LLMs</a> - James Stanier examines how large language models are transforming management practices through techniques for prioritization, communication, and cognitive offloading.</p><h2><strong>&#127897;&#65039; YouTube &amp; Podcasts</strong></h2><p>&#128293;<a href="https://www.ycombinator.com/library/MN-how-to-get-the-most-out-of-vibe-coding">How To Get The Most Out Of Vibe Coding</a> - Guide to using AI as a coding partner to build faster by Y Combinator.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!43ob!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b686bb4-cecf-43a6-b03a-d027ef048aef_742x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!43ob!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b686bb4-cecf-43a6-b03a-d027ef048aef_742x866.png 424w, https://substackcdn.com/image/fetch/$s_!43ob!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b686bb4-cecf-43a6-b03a-d027ef048aef_742x866.png 848w, https://substackcdn.com/image/fetch/$s_!43ob!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b686bb4-cecf-43a6-b03a-d027ef048aef_742x866.png 1272w, https://substackcdn.com/image/fetch/$s_!43ob!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b686bb4-cecf-43a6-b03a-d027ef048aef_742x866.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!43ob!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b686bb4-cecf-43a6-b03a-d027ef048aef_742x866.png" width="742" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b686bb4-cecf-43a6-b03a-d027ef048aef_742x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:742,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:477936,&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://generativeprogrammer.com/i/177761840?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b686bb4-cecf-43a6-b03a-d027ef048aef_742x866.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_!43ob!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b686bb4-cecf-43a6-b03a-d027ef048aef_742x866.png 424w, https://substackcdn.com/image/fetch/$s_!43ob!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b686bb4-cecf-43a6-b03a-d027ef048aef_742x866.png 848w, https://substackcdn.com/image/fetch/$s_!43ob!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b686bb4-cecf-43a6-b03a-d027ef048aef_742x866.png 1272w, https://substackcdn.com/image/fetch/$s_!43ob!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b686bb4-cecf-43a6-b03a-d027ef048aef_742x866.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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 href="https://www.youtube.com/watch?v=ysPbXH0LpIE">Prompting 101</a></figcaption></figure></div><p>&#128293;&#128293;&#128293; <a href="https://www.youtube.com/watch?v=ysPbXH0LpIE">Prompting 101 | Code w/ Claude</a> - Hannah Moran and Christian Ryan from Anthropic present fundamental prompting techniques for effectively working with Claude, covering essential strategies developers can use to improve AI interactions.</p><p><a href="https://www.youtube.com/watch?v=qdmxApz3EJI">On Engineering AI Systems that Endure The Bitter Lesson </a>- Building AI systems that last through principled engineering approaches.</p><h2><strong>&#128478;&#65039; News and Social</strong></h2><p><a href="https://openai.com/index/introducing-gpt-oss/">Introducing gpt-oss </a>- OpenAI releases Apache-licensed reasoning models optimized for consumer hardware.</p><p><a href="https://www.anthropic.com/engineering/building-agents-with-the-claude-agent-sdk">Building agents with the Claude Agent SDK</a> - Anthropic rebrands Claude Code SDK to reflect its broader agent capabilities beyond coding.</p><p><a href="https://x.com/GoogleLabs/status/1948430715432976802">Google Labs introduces Opal</a> -  a new way to help you build and share AI mini-apps by linking together prompts, models, and tools&#8212; all while using simple, natural language</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fzWa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaacef76-0d06-4f9e-b98e-0482cdc0d47f_1125x1500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fzWa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaacef76-0d06-4f9e-b98e-0482cdc0d47f_1125x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fzWa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaacef76-0d06-4f9e-b98e-0482cdc0d47f_1125x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fzWa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaacef76-0d06-4f9e-b98e-0482cdc0d47f_1125x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fzWa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaacef76-0d06-4f9e-b98e-0482cdc0d47f_1125x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fzWa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaacef76-0d06-4f9e-b98e-0482cdc0d47f_1125x1500.jpeg" width="1125" height="1500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eaacef76-0d06-4f9e-b98e-0482cdc0d47f_1125x1500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:1125,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Principles of Building AI Agents&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Principles of Building AI Agents" title="Principles of Building AI Agents" srcset="https://substackcdn.com/image/fetch/$s_!fzWa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaacef76-0d06-4f9e-b98e-0482cdc0d47f_1125x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fzWa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaacef76-0d06-4f9e-b98e-0482cdc0d47f_1125x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fzWa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaacef76-0d06-4f9e-b98e-0482cdc0d47f_1125x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fzWa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaacef76-0d06-4f9e-b98e-0482cdc0d47f_1125x1500.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">https://x.com/PawelHuryn/status/1943611413320093880</figcaption></figure></div><p><a href="https://x.com/PawelHuryn/status/1943611413320093880">10 Principles of Building AI Agents:</a> -  by Pawel Huryn.</p><p><a href="https://www.testingcatalog.com/openai-experiments-with-new-study-together-tool-on-chatgpt/">OpenAI experiments with new &#8220;Study together&#8221; tool on ChatGPT</a> - ChatGPT&#8217;s new feature creates interactive learning experiences with guided study sessions.</p><p><a href="https://x.com/AnthropicAI/status/1925926102725202163">THE WAY OF CODE</a> - a project by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Rick Rubin&quot;,&quot;id&quot;:322455116,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/808958e5-0d43-498a-8c95-12b9e6dad6de_1874x1874.jpeg&quot;,&quot;uuid&quot;:&quot;59358e3b-c622-4752-916a-5518519f8c3f&quot;}" data-component-name="MentionToDOM"></span> n in collaboration with Anthropic:</p><p><a href="https://ainativedev.io/news/tessl-launches-spec-driven-framework-and-registry">Tessl launches spec-driven development tools for reliable AI coding agents </a> </p><p><a href="https://x.com/akshay_pachaar/status/1969379375582945474">8 RAG architectures for AI engineers</a></p><p><a href="https://x.com/DataChaz/status/1969281035562303676">Google&#8217;s MCP Toolbox for Databases is now open source! &#128293;</a> </p><p><a href="https://github.com/ghostty-org/ghostty/pull/8289">AI tooling must be disclosed for contributions </a> - AI disclosure requirement for contributions to ghostty-org.</p><h2><strong>&#128736;&#65039; Tech &amp; Tools</strong></h2><p><a href="https://ainativedev.io/news/the-rise-of-agents-md-an-open-standard-and-single-source-of-truth-for-ai-coding-agents">Agents.md: an open standard for AI coding agents</a> - A file standard for consistent AI assistant instructions across projects.</p><p><a href="https://github.com/openai/gpt-oss?utm_source=ai-native-dev-newsletter">GitHub - openai/gpt-oss: gpt-oss-120b and gpt-oss-20b</a> - Open-weight models for reasoning and agentic tasks.</p><p><a href="https://opencode.ai/">OpenCode | The AI coding agent built for the terminal</a> - Open-source AI coding assistant for terminal that respects privacy.</p><p><a href="https://huggingface.co/spaces/galileo-ai/agent-leaderboard">Agent Leaderboard - a Hugging Face Space by galileo-ai</a> - Comparative tool for AI agent performance with filterable metrics.</p><p><a href="https://github.com/traceloop/openllmetry">GitHub - traceloop/openllmetry</a> - traceloop - OpenTelemetry-based observability for LLM applications.</p><p><a href="https://github.com/terryso/claude-auto-resume">GitHub - terryso/claude-auto-resume</a> - Script that auto-resumes Claude CLI tasks after usage limits expire.</p><p><a href="https://github.com/f/awesome-chatgpt-prompts">GitHub - f/awesome-chatgpt-prompts</a> - A curated collection of prompts designed for ChatGPT and other LLM tools to help users get better responses from AI language models.</p><p><a href="https://kilocode.ai/">Kilo Code - coding agent for VS Code and JetBrains</a> - AI coding assistant with project management capabilities serving 500k+ users.</p><p><a href="https://github.com/marcelsud/spec-driven-agentic-development">GitHub - marcelsud/spec-driven-agentic-development</a> - Specification-driven development framework for AI-assisted software building.</p><p><a href="https://github.com/charmbracelet/crush">GitHub - charmbracelet/crush: &#128152;</a>  - Terminal-based AI coding assistant for your workflow.</p><p><a href="https://github.com/pimzino/claude-code-spec-workflow?tab=readme-ov-file">GitHub - Pimzino/claude-code-spec-workflow</a> - Structured AI-powered development workflows for features and bug fixes.</p><p><a href="https://github.com/docker/cagent">GitHub - docker/cagent: Agent Builder and Runtime by Docker</a> - AI agent orchestration tool for building collaborative virtual expert teams.</p><p><a href="https://github.com/kirodotdev/Kiro">GitHub - kirodotdev/Kiro: Kiro is an agentic IDE that works alongside you</a> - AI-powered IDE that understands your codebase and automates development tasks.</p><p><a href="https://gist.github.com/Dowwie/151d8efea738ea486ddec9208ddb3a19">Product requirement document generation using LLM task oriented dialogue &#183; GitHub</a> - LLM-powered PRD generation through guided dialogue.</p><p><a href="https://github.com/davidkimai/Context-Engineering">GitHub - davidkimai/Context-Engineering</a>  - First-principles handbook for AI context design and optimization.</p><p><a href="https://github.com/ashishpatel26/500-AI-Agents-Projects">GitHub - ashishpatel26/500-AI-Agents-Projects</a> - Curated collection of AI agent applications with implementation resources.</p><p><a href="https://github.com/GoogleCloudPlatform/kubectl-ai">GitHub - GoogleCloudPlatform/kubectl-ai: AI powered Kubernetes Assistant</a> - AI-powered tool that simplifies Kubernetes management.</p><p><a href="https://github.com/hesreallyhim/awesome-claude-code">GitHub - hesreallyhim/awesome-claude-code</a> - A curated resource list for maximizing Claude Code&#8217;s capabilities.</p><p><a href="https://bloomberry.com/coding-tools.html">AI Coding Tools: Install Trends (based on Visual Studio Code)</a> - Visual tracking of AI coding extension popularity in VS Code.</p><p><a href="https://github.com/invariantlabs-ai/mcp-scan/">GitHub - invariantlabs-ai/mcp-scan: Constrain, log and scan your MCP connections </a>- Security scanner for MCP servers detecting vulnerabilities across various configurations.</p><h2><strong>&#128218; Learning Picks</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u5Ad!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921119d1-a4f9-4769-a906-e7c8feabd99a_762x1000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u5Ad!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921119d1-a4f9-4769-a906-e7c8feabd99a_762x1000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!u5Ad!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921119d1-a4f9-4769-a906-e7c8feabd99a_762x1000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!u5Ad!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921119d1-a4f9-4769-a906-e7c8feabd99a_762x1000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!u5Ad!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921119d1-a4f9-4769-a906-e7c8feabd99a_762x1000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u5Ad!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921119d1-a4f9-4769-a906-e7c8feabd99a_762x1000.jpeg" width="728" height="955.3805774278215" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/921119d1-a4f9-4769-a906-e7c8feabd99a_762x1000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1000,&quot;width&quot;:762,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!u5Ad!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921119d1-a4f9-4769-a906-e7c8feabd99a_762x1000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!u5Ad!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921119d1-a4f9-4769-a906-e7c8feabd99a_762x1000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!u5Ad!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921119d1-a4f9-4769-a906-e7c8feabd99a_762x1000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!u5Ad!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921119d1-a4f9-4769-a906-e7c8feabd99a_762x1000.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">https://allendowney.github.io/ThinkPython/</figcaption></figure></div><p><a href="https://allendowney.github.io/ThinkPython/">Think Python</a> - Free, beginner-friendly Python programming book with interactive Jupyter notebooks.</p><p><a href="https://github.com/Asabeneh/30-Days-Of-Python">GitHub - Asabeneh/30-Days-Of-Python: 30 days of Python programming challenge</a> - Self-paced Python learning challenge with daily exercises.</p><p><a href="https://learn.microsoft.com/en-us/shows/generative-ai-for-beginners/">Generative AI for Beginner</a>s - Microsoft&#8217;s 18-lesson course on building Generative AI applications.</p><p><a href="https://github.com/microsoft/ai-agents-for-beginners">GitHub - microsoft/ai-agents-for-beginners: 12 Lessons to Get Started Building AI Agents</a> - Beginner-friendly AI agent development course .</p><h2><strong>&#127917; AI Humor</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ApyU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687f9d65-337b-47be-bc32-21c58221d344_439x512.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ApyU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687f9d65-337b-47be-bc32-21c58221d344_439x512.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ApyU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687f9d65-337b-47be-bc32-21c58221d344_439x512.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ApyU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687f9d65-337b-47be-bc32-21c58221d344_439x512.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ApyU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687f9d65-337b-47be-bc32-21c58221d344_439x512.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ApyU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687f9d65-337b-47be-bc32-21c58221d344_439x512.jpeg" width="439" height="512" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/687f9d65-337b-47be-bc32-21c58221d344_439x512.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:512,&quot;width&quot;:439,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;text&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="text" title="text" srcset="https://substackcdn.com/image/fetch/$s_!ApyU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687f9d65-337b-47be-bc32-21c58221d344_439x512.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ApyU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687f9d65-337b-47be-bc32-21c58221d344_439x512.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ApyU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687f9d65-337b-47be-bc32-21c58221d344_439x512.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ApyU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F687f9d65-337b-47be-bc32-21c58221d344_439x512.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: https://www.linkedin.com/feed/update/urn:li:activity:7373951080134746113/</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/p/generative-programmer-issue-16?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://generativeprogrammer.com/p/generative-programmer-issue-16?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>&#128075; See You Next Time</h2><p>Thanks for reading <em>Generative Programmer</em>! &#128591;  If you like the content please support my newsletter by subscribing and sharing with your network: <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">X</a> &#183; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a> &#183; <a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a> &#183; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a>. Have a great rest of the week! </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.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://generativeprogrammer.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Taxonomy of AI Agents: Headless, Ambient, Durable, and Beyond]]></title><description><![CDATA[A Practical guide to the new agentic vocabulary]]></description><link>https://generativeprogrammer.com/p/taxonomy-of-ai-agents-headless-ambient</link><guid isPermaLink="false">https://generativeprogrammer.com/p/taxonomy-of-ai-agents-headless-ambient</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sat, 01 Nov 2025 17:10:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Nlj7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Terms like <em>headless</em>, <em>ambient</em>, and <em>durable agents</em> are popping up everywhere, but often used inconsistently. Before we get lost in the hype, it&#8217;s worth aligning on what these terms actually mean and what they truly emphasize. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Nlj7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Nlj7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.png 424w, https://substackcdn.com/image/fetch/$s_!Nlj7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.png 848w, https://substackcdn.com/image/fetch/$s_!Nlj7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.png 1272w, https://substackcdn.com/image/fetch/$s_!Nlj7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Nlj7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.png" width="1456" height="854" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:854,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:483443,&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://generativeprogrammer.com/i/177186772?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.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_!Nlj7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.png 424w, https://substackcdn.com/image/fetch/$s_!Nlj7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.png 848w, https://substackcdn.com/image/fetch/$s_!Nlj7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.png 1272w, https://substackcdn.com/image/fetch/$s_!Nlj7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143cd2e9-6b70-44bc-9920-58e053f02cff_3174x1862.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">Agent Types and Their Core Emphasis</figcaption></figure></div><h1>&#129302; What is an Agent?</h1><p>The concept of <strong>software agents</strong> is not new. One of the earliest formal definitions comes from the influential 1996 paper <em><a href="https://cse-robotics.engr.tamu.edu/dshell/cs631/papers/franklingraesser96agents.pdf">&#8220;Is it an Agent, or just a Program? A Taxonomy for Autonomous Agents&#8221;</a></em> by Stan Franklin and Art Graesser. In it, the authors proposed a formal distinction between agents and traditional programs, describing agents as:</p><blockquote><p><em>&#8220;...autonomous systems that perceive their environment, act upon it, and pursue goals.&#8221;</em><br><em>(Franklin &amp; Graesser, 1996, Third International Workshop on Agent Theories, Architectures, and Languages)</em></p></blockquote><p>Fast forward nearly three decades, and the concept of an &#8220;agent&#8221; has become central to AI system design, especially with the rise of <strong>LLM-based agents</strong>.</p><p>A short and practical definition comes from <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Simon Willison&quot;,&quot;id&quot;:5753967,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5a30d45c-fcba-407a-bebf-96f51a8944a4_48x48.jpeg&quot;,&quot;uuid&quot;:&quot;9d1fe005-fbd9-44b7-8bc0-d063ac500fca&quot;}" data-component-name="MentionToDOM"></span>  in his post <em><a href="https://simonw.substack.com/p/i-think-agent-may-finally-have-a">&#8216;agent&#8217; may finally have a meaning&#8221;</a></em>:</p><blockquote><p><em>&#8220;An LLM agent runs tools in a loop to achieve a goal.&#8221;</em></p></blockquote><p>This is also my favourite definition and it captures the essence of modern AI agents: they combine language models with external tools to reason, act, and iterate toward objectives.</p><p>Meanwhile, <strong>Gartner</strong> offers a more enterprise-aligned definition in their 2024 report <em><a href="https://www.gartner.com/en/documents/6650134">&#8220;When to Use or Not to Use AI Agents&#8221;</a></em>:</p><blockquote><p><em>&#8220;AI agents are autonomous or semiautonomous software entities that use AI techniques to perceive, make decisions, take actions, and achieve goals in their digital or physical environments.&#8221;</em></p></blockquote><p>In practice today, agents are often built on loop-based architectures, capable of planning, executing actions (e.g., calling APIs or tools), and learning over time. From LLM-powered assistants to multi-agent ecosystems, the agent model is a foundational pattern in building goal-driven AI systems.</p><h1>&#129513; Headless Agents</h1><p>Headless agents emphasize a specific aspect of intelligence &#8212; <em>decoupling it from any fixed (usually a chat) interface. </em>As commonly <a href="https://www.arionresearch.com/blog/f0cl762e75x6icp6psj4dgdbewp4ik">defined</a>:</p><blockquote><p>&#8220;Headless AI agents are intelligent systems that <strong>operate without a fixed user interface,</strong> with their functionality exposed primarily through APIs or embedded directly into business systems and workflows.&#8221;</p></blockquote><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xpOo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6980267-b785-46ce-bc86-0b767564d6b0_891x550.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xpOo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6980267-b785-46ce-bc86-0b767564d6b0_891x550.webp 424w, https://substackcdn.com/image/fetch/$s_!xpOo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6980267-b785-46ce-bc86-0b767564d6b0_891x550.webp 848w, https://substackcdn.com/image/fetch/$s_!xpOo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6980267-b785-46ce-bc86-0b767564d6b0_891x550.webp 1272w, https://substackcdn.com/image/fetch/$s_!xpOo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6980267-b785-46ce-bc86-0b767564d6b0_891x550.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xpOo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6980267-b785-46ce-bc86-0b767564d6b0_891x550.webp" width="891" height="550" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6980267-b785-46ce-bc86-0b767564d6b0_891x550.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:550,&quot;width&quot;:891,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:25506,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/177186772?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6980267-b785-46ce-bc86-0b767564d6b0_891x550.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xpOo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6980267-b785-46ce-bc86-0b767564d6b0_891x550.webp 424w, https://substackcdn.com/image/fetch/$s_!xpOo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6980267-b785-46ce-bc86-0b767564d6b0_891x550.webp 848w, https://substackcdn.com/image/fetch/$s_!xpOo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6980267-b785-46ce-bc86-0b767564d6b0_891x550.webp 1272w, https://substackcdn.com/image/fetch/$s_!xpOo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6980267-b785-46ce-bc86-0b767564d6b0_891x550.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">Headless Agent</figcaption></figure></div><p>Just like a headless CMS separates content from presentation, headless AI agents separate intelligence from interaction. This allows developers and organizations to build AI capabilities once and deploy them invisibly across channels, web apps, backend services, IoT devices, and more, without duplicating logic or tying intelligence to a specific UI.</p><p><strong>Key characteristics:</strong></p><ul><li><p><strong>Interface-agnostic intelligence:</strong> Reasoning and decision-making not tied to any specific UI, enabling reuse across channels.</p></li><li><p><strong>API-first operation:</strong> Invoked via APIs, events, or embedded logic, often running invisibly within larger workflows.</p></li><li><p><strong>Functionality over conversation:</strong> Unlike chatbots, their focus is performing tasks, not holding conversations.</p></li></ul><p>Salesforce was among first to introduce a <a href="https://developer.salesforce.com/blogs/2025/04/build-headless-agents-with-the-agent-api">Headless Agent API</a>, making this concept mainstream for enterprise-grade automation.</p><h1>&#128225; Ambient Agents </h1><p>Ambient agents are a specific type of headless agent that emphasize <strong>operating in the background</strong>, <strong>autonomous initiation, and context awareness</strong>.</p><p>As described by <a href="https://blog.langchain.com/introducing-ambient-agents/">LangChain</a>:</p><blockquote><p>&#8220;Ambient agents listen to an event stream and act on it accordingly, potentially acting on multiple events at a time.&#8221;</p></blockquote><p>These agents run quietly in the background, activated by signals, incoming emails, data updates, system triggers, or scheduled events, rather than human prompts.<br>They maintain full context awareness, tracking both current system states and past interactions to make informed, autonomous decisions.</p><p>When necessary, they introduce a human-in-the-loop through structured prompts such as:</p><ul><li><p><strong>Notify:</strong> &#8220;Here&#8217;s something important you should see.&#8221;</p></li><li><p><strong>Question:</strong> &#8220;I need your input to proceed.&#8221;</p></li><li><p><strong>Review:</strong> &#8220;Here&#8217;s what I plan to do &#8212; approve or edit?&#8221;</p></li></ul><p>Other key characteristics include persistent memory, tool-driven actions, multi-agent orchestration, and durability across long-running workflows.</p><p>In essence, <em><strong>ambient</strong></em><strong> and </strong><em><strong>headless</strong></em><strong> agents <a href="https://www.walturn.com/insights/chat-agents-vs-ambient-agents-two-paths-to-ai-driven-assistance">share the same foundation</a></strong> of interface-free intelligence, but ambient agents place stronger emphasis on <strong>proactive, event-driven operation</strong> and <strong>human collaboration</strong> &#8212; making the two terms largely interchangeable in practice.</p><h1>&#128190; Durable Agents </h1><p>Durable agents emphasize <strong>durable execution</strong>, in contrast to non-durable agents, where execution state is typically held in memory and lost on failure or restart.</p><p>Durable agents persist their full execution history, allowing them to recover gracefully from crashes, restarts, or API failures without restarting the task or repeating actions.</p><p>As described by <strong>Pydantic AI</strong>:</p><blockquote><p>&#8220;Durable agents can preserve their progress across transient API failures and application errors or restarts, and handle long-running, asynchronous, and human-in-the-loop workflows with production-grade reliability.&#8221;</p></blockquote><p>Durability involves persisting not only the conversation history, but also every LLM call and tool invocation &#8212; so the agent can resume exactly where it left off. This avoids re-executing steps that may have side effects or lead to duplication which is a common problem in non-durable frameworks.</p><p>Different agentic frameworks achieve durability differently. For example, <strong><a href="https://ai.pydantic.dev/durable_execution/overview/">Pydantic integrates</a> </strong>with systems such as Temporal, DBOS, and Prefect. In contrast, <strong><a href="https://github.com/dapr/dapr-agents">Dapr Agents</a></strong>, offer native support for durability via a built-in <code>DurableAgent</code> type. This agent type combine multiple traits:</p><ul><li><p><strong>Headless</strong> &#8211; invokable via REST APIs, with no fixed interface</p></li><li><p><strong>Ambient</strong> &#8211; can be triggered by an event stream</p></li><li><p><strong>Durable</strong> &#8211; backed by a persistent workflow engine</p></li></ul><p>Other frameworks offering durability include: <a href="https://stack.convex.dev/durable-workflows-and-strong-guarantees">Convex</a> and <a href="https://www.restate.dev/blog/durable-ai-loops-fault-tolerance-across-frameworks-and-without-handcuffs">Restate</a>.</p><h1>&#129504; Deep Agents</h1><p>Deep agents are an evolution of traditional (shallow?) agents with a goal to handle <strong>complex, multi-step tasks</strong> by combining planning, memory, and delegation. In reality, these are multi-agent systems with specialized sub-agents, and that&#8217;s an implementation detail.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nfMA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6818daa7-c79c-4fa9-afc0-5198590d3e17_1548x1114.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nfMA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6818daa7-c79c-4fa9-afc0-5198590d3e17_1548x1114.png 424w, https://substackcdn.com/image/fetch/$s_!nfMA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6818daa7-c79c-4fa9-afc0-5198590d3e17_1548x1114.png 848w, https://substackcdn.com/image/fetch/$s_!nfMA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6818daa7-c79c-4fa9-afc0-5198590d3e17_1548x1114.png 1272w, https://substackcdn.com/image/fetch/$s_!nfMA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6818daa7-c79c-4fa9-afc0-5198590d3e17_1548x1114.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nfMA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6818daa7-c79c-4fa9-afc0-5198590d3e17_1548x1114.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6818daa7-c79c-4fa9-afc0-5198590d3e17_1548x1114.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:198620,&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://generativeprogrammer.com/i/177186772?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6818daa7-c79c-4fa9-afc0-5198590d3e17_1548x1114.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_!nfMA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6818daa7-c79c-4fa9-afc0-5198590d3e17_1548x1114.png 424w, https://substackcdn.com/image/fetch/$s_!nfMA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6818daa7-c79c-4fa9-afc0-5198590d3e17_1548x1114.png 848w, https://substackcdn.com/image/fetch/$s_!nfMA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6818daa7-c79c-4fa9-afc0-5198590d3e17_1548x1114.png 1272w, https://substackcdn.com/image/fetch/$s_!nfMA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6818daa7-c79c-4fa9-afc0-5198590d3e17_1548x1114.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Deep Agent</figcaption></figure></div><p>As  <a href="https://www.philschmid.de/agents-2.0-deep-agents">Philipp Schmid</a> summarizes:</p><blockquote><p>&#8220;These systems do not just react in a loop. They combine agentic patterns to plan, manage persistent memory/state, and delegate work to specialized sub-agents to solve multi-step, complex problems.&#8221;</p></blockquote><p><strong>Core components:</strong></p><ul><li><p>&#128506;&#65039; <strong>Planning:</strong> Maintain an explicit task plan (a to-do list) that updates dynamically.</p></li><li><p>&#129513; <strong>Sub-agents:</strong> A central orchestrator delegates tasks to specialized sub-agents (researcher, coder, writer, etc.).</p></li><li><p>&#128190; <strong>Persistent memory:</strong> Use external stores (files, vector DBs) to retain state and share results across steps.</p></li></ul><p>This architecture makes deep agents more robust and modular, <strong>shifting design from reactive prompting to proactive problem solving.</strong></p><h1>&#9881;&#65039; Agentic Workflow</h1><p>This is not an agent type, but how some agents operate. There are still conflicting definitions of <em>Agentic Workflows</em>. I <a href="https://x.com/bibryam/status/1984010451370299425">ran</a> a poll asking:</p><blockquote><p>What is an Agentic Workflow?<br>1&#65039;&#8419; A deterministic workflow where agents execute predefined steps.<br>2&#65039;&#8419; A human-defined goal, where an agent dynamically plans and executes a workflow to reach it.</p></blockquote><p>After the discussion, the consensus leaned strongly toward <strong>option 2</strong> &#8212; <em>a human-defined goal where an agent dynamically plans and executes a workflow to reach that goal.</em></p><p>Here is a concise definition from <strong>IBM (with </strong><a href="https://weaviate.io/blog/what-are-agentic-workflows">Weaviate</a> offering a similar one):</p><blockquote><p>&#8220;Agentic workflows are AI-driven processes in which autonomous AI agents make decisions, take actions, and coordinate tasks with minimal human intervention. They use reasoning, planning, and tool use to execute complex, dynamic, multistep workflows that adapt to real-time data and changing conditions, unlike traditional rule-based automation.&#8221;<br>&#8212; <a href="https://www.ibm.com/think/topics/agentic-workflows">IBM</a>, </p></blockquote><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y1OJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021975fa-8ee4-4f4a-8346-db51902cfa8e_2560x1440.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y1OJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021975fa-8ee4-4f4a-8346-db51902cfa8e_2560x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Y1OJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021975fa-8ee4-4f4a-8346-db51902cfa8e_2560x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Y1OJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021975fa-8ee4-4f4a-8346-db51902cfa8e_2560x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Y1OJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021975fa-8ee4-4f4a-8346-db51902cfa8e_2560x1440.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y1OJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021975fa-8ee4-4f4a-8346-db51902cfa8e_2560x1440.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/021975fa-8ee4-4f4a-8346-db51902cfa8e_2560x1440.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;types-of-workflows.jpg&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="types-of-workflows.jpg" title="types-of-workflows.jpg" srcset="https://substackcdn.com/image/fetch/$s_!Y1OJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021975fa-8ee4-4f4a-8346-db51902cfa8e_2560x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Y1OJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021975fa-8ee4-4f4a-8346-db51902cfa8e_2560x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Y1OJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021975fa-8ee4-4f4a-8346-db51902cfa8e_2560x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Y1OJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021975fa-8ee4-4f4a-8346-db51902cfa8e_2560x1440.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">Agentic Workflow</figcaption></figure></div><p>In short, <strong>agentic workflows</strong> are when <em>agents define a plan (workflow) and runs itself</em>, reasoning, adapting, and acting toward a defined goal. </p><div><hr></div><p>This is a fast-moving space and new terms appear weekly. If you come across a new <em>agentic</em> concept or definition that deserves to be added here, share it. I&#8217;ll keep updating this post as the vocabulary evolves.</p>]]></content:encoded></item><item><title><![CDATA[🤖 Generative Programmer | Issue #15]]></title><description><![CDATA[Summer 2025: Patterns, Frameworks, and Productivity in AI Development]]></description><link>https://generativeprogrammer.com/p/generative-programmer-issue-15</link><guid isPermaLink="false">https://generativeprogrammer.com/p/generative-programmer-issue-15</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sun, 07 Sep 2025 14:18:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!iV47!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128227; Welcome back! Here&#8217;s everything that happened this summer in agentic systems and AI-assisted coding, all in one post. &#128279; Share: <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">X</a> &#183; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a> &#183; <a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a> &#183; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a> and let&#8217;s dive in.</p><h2>&#128293; Top Picks from Summer of 2025</h2><p>&#128216; <a href="https://arxiv.org/abs/2405.10467">Agent Design Pattern Catalogue</a> -Yue Liu &#128293;<br>&#129504; <a href="https://www.dbreunig.com/2025/06/26/how-to-fix-your-context.html">How to Fix Your Context</a> &#8211; Drew Breunig<br>&#9881;&#65039; <a href="https://medium.com/binome/ai-agent-workflow-design-patterns-an-overview-cf9e1f609696">AI Agent Workflow Design Patterns</a> &#8211; Craig Li<br>&#127959;&#65039; <a href="https://magazine.sebastianraschka.com/p/the-big-llm-architecture-comparison">The Big LLM Architecture Comparison</a> &#8211; Sebastian Raschka &#128293;<br>&#128161; <a href="https://www.dbreunig.com/2025/06/10/let-the-model-write-the-prompt.html">Why Applications &amp; Pipelines Should Use DSPy</a> &#8211; Drew Breunig<br>&#128736;&#65039; <a href="https://secondthoughts.ai/p/ai-coding-slowdown">AI Coding Tools Can Actually Reduce Productivity</a> &#8211; Second Thoughts<br>&#127970; <a href="https://www.infoq.com/articles/agentic-ai-architecture-framework/">Agentic AI Architecture Framework for Enterprises</a> &#8211; InfoQ<br>&#9889; <a href="https://magazine.sebastianraschka.com/p/coding-the-kv-cache-in-llms">Understanding the KV Cache in LLMs from Scratch</a> &#8211; Sebastian Raschka<br>&#127909; <a href="https://www.youtube.com/watch?v=6eBSHbLKuN0">Mastering Claude Code in 30 minutes</a> &#8211; Claude Code team<br>&#9760;&#65039; <a href="https://x.com/jasonlk/status/1946069562723897802">Replit goes rogue during a code freeze and deletes an entire prod database</a>  </p><p>&#8230;and if you dare, <em>100+ updates</em> to explore &#128071;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/p/generative-programmer-issue-15?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://generativeprogrammer.com/p/generative-programmer-issue-15?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>&#127919; Featured Article</h2><p><a href="https://arxiv.org/abs/2405.10467">Agent Design Pattern Catalogue</a> &#8211; Yue Liu and colleagues present 18 architectural patterns for building foundation model-based agents. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iV47!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iV47!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.png 424w, https://substackcdn.com/image/fetch/$s_!iV47!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.png 848w, https://substackcdn.com/image/fetch/$s_!iV47!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.png 1272w, https://substackcdn.com/image/fetch/$s_!iV47!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iV47!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.png" width="1344" height="1300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1300,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:388214,&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://generativeprogrammer.com/i/173013557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.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_!iV47!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.png 424w, https://substackcdn.com/image/fetch/$s_!iV47!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.png 848w, https://substackcdn.com/image/fetch/$s_!iV47!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.png 1272w, https://substackcdn.com/image/fetch/$s_!iV47!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8846c214-37f5-44fb-9d87-21b6245d3d3d_1344x1300.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><em>Agentic systems and architectural patterns ecosystems</em></p><p><a href="https://arxiv.org/abs/2405.10467">The catalogue</a> covers context, forces, and trade-offs in agent design, and introduces a decision model to help practitioners address challenges like hallucinations, explainability, and accountability. A comprehensive guide for anyone architecting agentic systems. &#128293;</p><h2><strong>&#128240; Building Agentic Systems</strong></h2><p><a href="https://www.dbreunig.com/2025/06/26/how-to-fix-your-context.html">How to Fix Your Context | Drew Breunig</a> - Techniques for managing context in AI to avoid "garbage in, garbage out" problems.</p><p><a href="https://medium.com/@mkipcak/the-power-of-agentic-mesh-in-modern-banking-architecture-a8b749fe13a3">Agentic Mesh for Regulatory Compliance: EU AI Act &amp; DORA Integration</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_!IRaS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6550ed92-9840-4ac1-adda-0373ffc570ba_1400x3913.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IRaS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6550ed92-9840-4ac1-adda-0373ffc570ba_1400x3913.webp 424w, https://substackcdn.com/image/fetch/$s_!IRaS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6550ed92-9840-4ac1-adda-0373ffc570ba_1400x3913.webp 848w, https://substackcdn.com/image/fetch/$s_!IRaS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6550ed92-9840-4ac1-adda-0373ffc570ba_1400x3913.webp 1272w, https://substackcdn.com/image/fetch/$s_!IRaS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6550ed92-9840-4ac1-adda-0373ffc570ba_1400x3913.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IRaS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6550ed92-9840-4ac1-adda-0373ffc570ba_1400x3913.webp" width="1400" height="3913" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6550ed92-9840-4ac1-adda-0373ffc570ba_1400x3913.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3913,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:235436,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/173013557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6550ed92-9840-4ac1-adda-0373ffc570ba_1400x3913.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IRaS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6550ed92-9840-4ac1-adda-0373ffc570ba_1400x3913.webp 424w, https://substackcdn.com/image/fetch/$s_!IRaS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6550ed92-9840-4ac1-adda-0373ffc570ba_1400x3913.webp 848w, https://substackcdn.com/image/fetch/$s_!IRaS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6550ed92-9840-4ac1-adda-0373ffc570ba_1400x3913.webp 1272w, https://substackcdn.com/image/fetch/$s_!IRaS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6550ed92-9840-4ac1-adda-0373ffc570ba_1400x3913.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"><em>Agent ReAct design pattern implementation</em></figcaption></figure></div><p><a href="https://medium.com/binome/ai-agent-workflow-design-patterns-an-overview-cf9e1f609696">AI Agent Workflow Design Patterns</a> - Craig Li introduces the implementation of an agent framework based on AI Agent Design Patterns while researching various workflow patterns that combine LLM reasoning capabilities, memory, and task execution.</p><p><a href="https://zed.dev/blog/agentic-engineering-with-mitchell-hashimoto">Agentic Engineering in Action</a> - Mitchell Hashimoto explains his AI-assisted development approach for Ghostty.</p><p><a href="https://www.llamaindex.ai/blog/context-engineering-what-it-is-and-techniques-to-consider">Context Engineering - What it is, and techniques to consider</a> - A guide to providing AI agents with relevant context for effective task performance.</p><p><a href="https://lalitgehani.medium.com/when-ai-needs-a-helping-hand-pydantic-agents-and-human-in-the-loop-0f5a4bd54c78">Pydantic Agents and Human-in-the-Loop</a> - Lalit demonstrates how to build AI agents with PydanticAI that incorporate human feedback when faced with ambiguous situations, using a weather information system as a practical example.</p><p><a href="https://www.googlecloudcommunity.com/gc/Community-Blogs/Agents-are-not-tools/ba-p/922716?utm_source=substack&amp;utm_medium=email">Agents are not tools - Google Developer forums</a> - This post examines the crucial distinction between agents and tools, highlighting how their different decision-making control flows require unique interaction approaches.</p><p><a href="https://muthuishere.medium.com/understanding-tool-function-calling-in-llms-step-by-step-examples-in-rest-and-spring-ai-2149ecd6b18b">Understanding Tool Calling with Step-by-Step Examples in REST and Spring AI</a> - Muthukumaran Navaneethakrishnan provides a comprehensive guide on implementing OpenAI-style tool calling in LLMs, with practical code examples in both REST and Spring AI, complete with diagrams and end-to-end implementation flows.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1HJv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001ca3a2-620d-4244-a3c6-2aeee215bcec_1456x1334.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1HJv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001ca3a2-620d-4244-a3c6-2aeee215bcec_1456x1334.webp 424w, https://substackcdn.com/image/fetch/$s_!1HJv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001ca3a2-620d-4244-a3c6-2aeee215bcec_1456x1334.webp 848w, https://substackcdn.com/image/fetch/$s_!1HJv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001ca3a2-620d-4244-a3c6-2aeee215bcec_1456x1334.webp 1272w, https://substackcdn.com/image/fetch/$s_!1HJv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001ca3a2-620d-4244-a3c6-2aeee215bcec_1456x1334.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1HJv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001ca3a2-620d-4244-a3c6-2aeee215bcec_1456x1334.webp" width="1456" height="1334" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/001ca3a2-620d-4244-a3c6-2aeee215bcec_1456x1334.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1334,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:89054,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/173013557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001ca3a2-620d-4244-a3c6-2aeee215bcec_1456x1334.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1HJv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001ca3a2-620d-4244-a3c6-2aeee215bcec_1456x1334.webp 424w, https://substackcdn.com/image/fetch/$s_!1HJv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001ca3a2-620d-4244-a3c6-2aeee215bcec_1456x1334.webp 848w, https://substackcdn.com/image/fetch/$s_!1HJv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001ca3a2-620d-4244-a3c6-2aeee215bcec_1456x1334.webp 1272w, https://substackcdn.com/image/fetch/$s_!1HJv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001ca3a2-620d-4244-a3c6-2aeee215bcec_1456x1334.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">A2A + MCP </figcaption></figure></div><p><a href="https://www.newsletter.swirlai.com/p/mcp-vs-a2a-friends-or-foes">MCP vs. A2A: Friends or Foes?</a> - Aurimas Grici&#363;nas examines how Google's new A2A protocol competes with Anthropic's MCP in the race to establish standards for multi-agent AI system communication.</p><p><a href="https://www.infoq.com/articles/agentic-ai-architecture-framework/">Agentic AI Architecture Framework for Enterprises - InfoQ</a> - Enterprise framework for building autonomous AI systems that can plan and execute tasks independently.</p><p><a href="https://addyo.substack.com/p/context-engineering-bringing-engineering">Context Engineering: Bringing Engineering Discipline to Prompts</a> - Osmani: Give AI complete context, not just clever prompts.</p><p><a href="https://machinelearning.apple.com/research/codeact">CodeAct</a> - Apple researchers propose using executable Python code as a unified action space for LLM agents, enabling more flexible tool composition and dynamic action revision compared to traditional JSON or text-based formats.</p><p><a href="https://www.aitidbits.ai/p/open-source-agents-updated">The Open-Source Toolkit for Building AI Agents v2</a> - Updated toolkit overview for AI agent developers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HeWF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56046338-0bd9-4c59-b261-2c8c17c43639_1000x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HeWF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56046338-0bd9-4c59-b261-2c8c17c43639_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!HeWF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56046338-0bd9-4c59-b261-2c8c17c43639_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!HeWF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56046338-0bd9-4c59-b261-2c8c17c43639_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!HeWF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56046338-0bd9-4c59-b261-2c8c17c43639_1000x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HeWF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56046338-0bd9-4c59-b261-2c8c17c43639_1000x1000.png" width="1000" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56046338-0bd9-4c59-b261-2c8c17c43639_1000x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1089245,&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://generativeprogrammer.com/i/173013557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56046338-0bd9-4c59-b261-2c8c17c43639_1000x1000.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_!HeWF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56046338-0bd9-4c59-b261-2c8c17c43639_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!HeWF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56046338-0bd9-4c59-b261-2c8c17c43639_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!HeWF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56046338-0bd9-4c59-b261-2c8c17c43639_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!HeWF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56046338-0bd9-4c59-b261-2c8c17c43639_1000x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Context Engineering Overview</em></figcaption></figure></div><p><a href="https://www.linkedin.com/pulse/from-prompt-engineer-context-architect-designing-future-gill-geuzc/">Context Is the New Compute: Designing the Future of Agentic</a> - Gill: Context engineering replaces prompt engineering as AI agents grow more complex.</p><p><a href="https://manus.im/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus">Context Engineering for AI Agents: Lessons from Building Manus</a> - Manus team shares optimized principles for AI agent development based on their own experiences, offering valuable shortcuts for developers building similar systems.</p><p><a href="https://arxiv.org/abs/2402.01030">Executable Code Actions Elicit Better LLM Agents</a> - Xingyao Wang: Code-based actions enhance LLM agent effectiveness.</p><h2><strong>&#128240; Coding with AI</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LqDR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b3aab4-e3a8-4b48-acd2-90dd7937ae53_1132x1458.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LqDR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b3aab4-e3a8-4b48-acd2-90dd7937ae53_1132x1458.png 424w, https://substackcdn.com/image/fetch/$s_!LqDR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b3aab4-e3a8-4b48-acd2-90dd7937ae53_1132x1458.png 848w, https://substackcdn.com/image/fetch/$s_!LqDR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b3aab4-e3a8-4b48-acd2-90dd7937ae53_1132x1458.png 1272w, https://substackcdn.com/image/fetch/$s_!LqDR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b3aab4-e3a8-4b48-acd2-90dd7937ae53_1132x1458.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LqDR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b3aab4-e3a8-4b48-acd2-90dd7937ae53_1132x1458.png" width="1132" height="1458" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73b3aab4-e3a8-4b48-acd2-90dd7937ae53_1132x1458.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1458,&quot;width&quot;:1132,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:252051,&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://generativeprogrammer.com/i/173013557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b3aab4-e3a8-4b48-acd2-90dd7937ae53_1132x1458.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_!LqDR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b3aab4-e3a8-4b48-acd2-90dd7937ae53_1132x1458.png 424w, https://substackcdn.com/image/fetch/$s_!LqDR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b3aab4-e3a8-4b48-acd2-90dd7937ae53_1132x1458.png 848w, https://substackcdn.com/image/fetch/$s_!LqDR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b3aab4-e3a8-4b48-acd2-90dd7937ae53_1132x1458.png 1272w, https://substackcdn.com/image/fetch/$s_!LqDR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b3aab4-e3a8-4b48-acd2-90dd7937ae53_1132x1458.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Outline for training a product engineering team covered bellow</em></figcaption></figure></div><p><a href="https://blog.thepete.net/blog/2025/06/26/leading-your-engineers-towards-an-ai-assisted-future/">Leading your engineers towards an AI-assisted future</a> - Pete Hodgson questions whether the team is leveraging AI coding tools enough.</p><p><a href="https://addyo.substack.com/p/coding-for-the-future-agentic-world">Coding for the Future Agentic World</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;0c2a3e21-90c8-4456-b2db-7e116983eb11&quot;}" data-component-name="MentionToDOM"></span> examines how AI agents are transforming software development workflows.</p><p><a href="https://www.notcheckmark.com/2025/07/rethinking-cli-interfaces-for-ai/">Rethinking CLI interfaces for AI</a> - CLI tools need AI-friendly redesigns to balance context windows and information needs.</p><p><a href="https://antirez.com/news/154">Coding with LLMs in the summer of 2025</a> - Antirez: A forward-looking analysis of AI-assisted programming in 2025.</p><p><a href="https://secondthoughts.ai/p/ai-coding-slowdown">AI Coding Tools Can Actually Reduce Productivity</a> - Study shows AI coding tools may hinder experienced developers' productivity.</p><p><a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/">Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity - METR</a> - Joel Becker's overview of the report.</p><p><a href="https://newsletter.pragmaticengineer.com/p/software-engineering-with-llms-in-2025">Software engineering with LLMs in 2025: reality check</a> - Gergely Orosz shares insights from discussions with engineers at leading AI companies about current AI tool usage patterns and emerging trends in software development.</p><p><a href="https://www.martinfowler.com/articles/2025-nature-abstraction.html">LLMs bring new nature of abstraction</a> - Martin Fowler: LLMs fundamentally change programming by introducing non-deterministic abstraction.</p><p><a href="https://atomic14.substack.com/p/vibe-coding-a-pcb-surprisingly-good">Vibe-Coding a PCB - surprisingly good</a> - Chris Greening demonstrates how AI can successfully design functional hardware</p><p><a href="https://andrewkchan.dev/posts/systems.html">Vibecoding a high performance system</a> - AI-assisted development of a billion-page web crawler with minimal manual coding.</p><p><a href="https://blog.thepete.net/blog/2025/06/26/leading-your-engineers-towards-an-ai-assisted-future/">Leading your engineers towards an AI-assisted future | Pete Hodgson</a> - A conversation about balancing AI hype with practical engineering value.</p><p><a href="https://www.linkedin.com/posts/brianpwhite_%F0%9D%97%9B%F0%9D%97%BC%F0%9D%98%84-%F0%9D%98%81%F0%9D%97%BC-%F0%9D%98%80%F0%9D%97%BD%F0%9D%97%BC%F0%9D%98%81-%F0%9D%97%94%F0%9D%97%9C-%F0%9D%97%9A%F0%9D%97%B2%F0%9D%97%BB%F0%9D%97%B2%F0%9D%97%BF%F0%9D%97%AE%F0%9D%98%81%F0%9D%97%B2%F0%9D%97%B1-activity-7353385252502794240-uVkP/">How to spot AI Generated Code</a> - Brian White-Starrs on LinkedIn</p><p><a href="https://ainativedev.io/news/from-vibe-coding-to-vibe-planning">From vibe coding to vibe planning</a> - AI Native Dev's article examines a real-world incident where an AI coding assistant deleted a production database during "vibe coding," highlighting the dangers of unleashing AI on live codebases and Replit's subsequent response to improve safety.</p><p><a href="https://ainativedev.io/news/how-to-parallelize-ai-coding-agents">Parallelizing AI Coding Agents | AI Native Dev</a> - The author examines the evolution of AI coding from simple prompting to autonomous agents, highlighting how parallel agent architecture creates faster but more complex workflows similar to asynchronous programming models.</p><p><a href="https://blog.singleton.io/posts/2025-06-14-coding-agents-cross-a-chasm/">Coding agents have crossed a chasm</a></p><p><a href="https://www.latent.space/p/anita-tdd">AI Agents, meet Test Driven Development</a> - Applying TDD principles to AI agent development workflows.</p><p><a href="https://lucumr.pocoo.org/2025/6/12/agentic-coding/">Agentic Coding Recommendations</a> - Armin Ronacher shares his practical workflow for agentic coding, detailing his preference for Claude Code with the Max subscription and how he optimizes for token efficiency while giving agents full permissions.</p><p><a href="https://newsletter.pragmaticengineer.com/p/two-years-of-using-ai">Learnings from two years of using AI tools for software engineering</a> - Practical insights from a Thoughtworks engineer's two-year AI tools exploration.</p><h2><strong>&#128240; Long-Form Reads</strong></h2><p><a href="https://www.dbreunig.com/2025/05/06/you-got-commands-in-my-prompt.html">You Got Commands in My Prompt!</a> - Breunig: New Qwen 3 models let you control reasoning with simple prompt commands.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xcMz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cb8f95-5a3b-4877-8bb5-cec6caf96890_1456x1016.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xcMz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cb8f95-5a3b-4877-8bb5-cec6caf96890_1456x1016.webp 424w, https://substackcdn.com/image/fetch/$s_!xcMz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cb8f95-5a3b-4877-8bb5-cec6caf96890_1456x1016.webp 848w, https://substackcdn.com/image/fetch/$s_!xcMz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cb8f95-5a3b-4877-8bb5-cec6caf96890_1456x1016.webp 1272w, https://substackcdn.com/image/fetch/$s_!xcMz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cb8f95-5a3b-4877-8bb5-cec6caf96890_1456x1016.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xcMz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cb8f95-5a3b-4877-8bb5-cec6caf96890_1456x1016.webp" width="1456" height="1016" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43cb8f95-5a3b-4877-8bb5-cec6caf96890_1456x1016.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1016,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:122528,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/173013557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cb8f95-5a3b-4877-8bb5-cec6caf96890_1456x1016.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xcMz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cb8f95-5a3b-4877-8bb5-cec6caf96890_1456x1016.webp 424w, https://substackcdn.com/image/fetch/$s_!xcMz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cb8f95-5a3b-4877-8bb5-cec6caf96890_1456x1016.webp 848w, https://substackcdn.com/image/fetch/$s_!xcMz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cb8f95-5a3b-4877-8bb5-cec6caf96890_1456x1016.webp 1272w, https://substackcdn.com/image/fetch/$s_!xcMz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cb8f95-5a3b-4877-8bb5-cec6caf96890_1456x1016.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"><em>A subset of the architectures covered in the article bellow.</em></figcaption></figure></div><p><a href="https://magazine.sebastianraschka.com/p/the-big-llm-architecture-comparison">The Big LLM Architecture Comparison</a> - Raschka analyzes LLM evolution: incremental tweaks or true innovation?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HaH7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faffb115a-9e10-4684-b9da-b0eabcdbcb9e_1024x576.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HaH7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faffb115a-9e10-4684-b9da-b0eabcdbcb9e_1024x576.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HaH7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faffb115a-9e10-4684-b9da-b0eabcdbcb9e_1024x576.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HaH7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faffb115a-9e10-4684-b9da-b0eabcdbcb9e_1024x576.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HaH7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faffb115a-9e10-4684-b9da-b0eabcdbcb9e_1024x576.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HaH7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faffb115a-9e10-4684-b9da-b0eabcdbcb9e_1024x576.jpeg" width="1024" height="576" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/affb115a-9e10-4684-b9da-b0eabcdbcb9e_1024x576.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:576,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:51238,&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://generativeprogrammer.com/i/173013557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faffb115a-9e10-4684-b9da-b0eabcdbcb9e_1024x576.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_!HaH7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faffb115a-9e10-4684-b9da-b0eabcdbcb9e_1024x576.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HaH7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faffb115a-9e10-4684-b9da-b0eabcdbcb9e_1024x576.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HaH7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faffb115a-9e10-4684-b9da-b0eabcdbcb9e_1024x576.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HaH7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faffb115a-9e10-4684-b9da-b0eabcdbcb9e_1024x576.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">Gift or a Curse?</figcaption></figure></div><p><a href="https://www.dbreunig.com/2025/06/10/let-the-model-write-the-prompt.html">Why Applications &amp; Pipelines Should Use DSPy</a> - Breunig explains using DSPy to let models write their own prompts.</p><p><a href="https://www.scalekit.com/blog/mcp-stack">MCP market map</a> - Finsweet examines how the Model Context Protocol (MCP) is evolving from a technical specification into a thriving ecosystem with commercial opportunities similar to the API economy, but accelerated by AI integration.</p><p><a href="https://www.seangoedecke.com/building-tiny-ai-tools/">Building tiny AI tools for developer productivity</a> - Title says it all</p><p><a href="https://rdel.substack.com/p/rdel-99-how-has-ai-impacted-engineering">How has AI impacted engineering leadership in 2025?</a> - Lizzie Matusov examines the 2025 Engineering Leadership Report which surveyed 617 engineering leaders</p><p><a href="https://www.growthunhinged.com/p/boltnew-growth-journey">How Bolt hit 40M ARR in 5 months</a> - Kyle Poyar: AI app builder goes from near-shutdown to $40M ARR overnight.</p><p><a href="https://www.readysetcloud.io/blog/allen.helton/your-api-might-be-someone-elses-model/">Your API might be someone else's model</a>- CORS protects APIs from unauthorized use, similar to emerging AI model protection needs.</p><p><a href="https://substack.com/inbox/post/167957141">Autonomy Sliders</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Andrew Miller&quot;,&quot;id&quot;:15850934,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/860b5731-f47b-469b-9d58-86fcad8a1563_675x675.jpeg&quot;,&quot;uuid&quot;:&quot;7c870fa8-b28f-4635-87fb-651c24e4c932&quot;}" data-component-name="MentionToDOM"></span> examines the concept of autonomy sliders, likely discussing how to balance AI system independence with human oversight and control.</p><p><a href="https://www.strangeloopcanon.com/p/seeing-like-an-llm">Seeing like an LLM</a> - Krishnan compares LLM functionality to human learning and knowledge limitations.</p><p><a href="https://workos.com/blog/mcp-authorization-in-5-easy-oauth-specs">MCP Authorization in 5 easy OAuth specs - WorkOS</a> - OAuth standards for secure MCP authorization with LLMs.</p><p><a href="https://internetaddictsanonymous.org/internet-and-technology-addiction/signs-of-an-addiction-to-ai/">Recovering from AI Addiction &#8211; Internet and Technology Addicts Anonymous</a> - Stanford: A support community for overcoming technology addiction.</p><p><a href="https://www.latent.space/p/tiny">The Tiny Teams Playbook - by Shawn swyx Wang</a> - Framework for building small, hyper-efficient AI-powered teams that prioritize efficiency over scale.</p><p><a href="https://www.thoughtworks.com/insights/blog/generative-ai/do-developers-need-think-less-ai">Do developers need to think less with AI?</a> - Thoughtworks' author challenges the common assumption that AI tools require more developer thinking, not less.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wrMr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb2dec9b-0de0-4d3b-b380-2d6b1e22057c_1600x1354.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wrMr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb2dec9b-0de0-4d3b-b380-2d6b1e22057c_1600x1354.png 424w, https://substackcdn.com/image/fetch/$s_!wrMr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb2dec9b-0de0-4d3b-b380-2d6b1e22057c_1600x1354.png 848w, https://substackcdn.com/image/fetch/$s_!wrMr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb2dec9b-0de0-4d3b-b380-2d6b1e22057c_1600x1354.png 1272w, https://substackcdn.com/image/fetch/$s_!wrMr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb2dec9b-0de0-4d3b-b380-2d6b1e22057c_1600x1354.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wrMr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb2dec9b-0de0-4d3b-b380-2d6b1e22057c_1600x1354.png" width="1456" height="1232" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db2dec9b-0de0-4d3b-b380-2d6b1e22057c_1600x1354.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1232,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:460709,&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://generativeprogrammer.com/i/173013557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb2dec9b-0de0-4d3b-b380-2d6b1e22057c_1600x1354.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_!wrMr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb2dec9b-0de0-4d3b-b380-2d6b1e22057c_1600x1354.png 424w, https://substackcdn.com/image/fetch/$s_!wrMr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb2dec9b-0de0-4d3b-b380-2d6b1e22057c_1600x1354.png 848w, https://substackcdn.com/image/fetch/$s_!wrMr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb2dec9b-0de0-4d3b-b380-2d6b1e22057c_1600x1354.png 1272w, https://substackcdn.com/image/fetch/$s_!wrMr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb2dec9b-0de0-4d3b-b380-2d6b1e22057c_1600x1354.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Event-Driven Agent2Agent Messaging and Event Fan-Out via Kafka</em></figcaption></figure></div><p><a href="https://www.confluent.io/blog/google-agent2agent-protocol-needs-kafka/">Why Google's Agent2Agent Protocol Needs Apache Kafka</a> - Kafka offers critical messaging capabilities for Google's multi-agent AI communication protocol.</p><p><a href="https://pair.withgoogle.com/explorables/grokking/">Do Machine Learning Models Memorize or Generalize?</a> - Explores how models transition from memorization to genuine understanding during extended training.</p><p><a href="https://simonw.substack.com/p/phoenixnew-is-flys-entry-into-the">Phoenix.new is Fly's entry into the prompt-driven app development space</a> - Fly.io launches tool that creates Phoenix apps from text prompts.</p><p><a href="https://asia.nikkei.com/Business/Technology/Artificial-intelligence/Positive-review-only-Researchers-hide-AI-prompts-in-papers">Researchers hide AI prompts in papers</a> - Researchers caught hiding instructions for AI to give favorable paper reviews.</p><p><a href="http://plo.ug/llms,/typescript,/testing/2025/06/26/LLMs-for-testing.html">Experimenting with LLMs for semantic testing</a> - Semantic testing validates content meaning beyond functional correctness.</p><p><a href="https://magazine.sebastianraschka.com/p/coding-the-kv-cache-in-llms">Understanding and Coding the KV Cache in LLMs from Scratch</a> - Sebastian Raschka breaks down KV caches: how they speed up LLM inference by storing key-value computations.</p><p><a href="https://www.ai-supremacy.com/p/survey-2025-ai-newsletters-resource-listicle">A Survey: 2025 AI Newsletters</a> - Michael Spencer's extensive list of AI newsletters with upcoming LinkedIn influencer guide.</p><p><a href="https://daniel.haxx.se/blog/2025/07/14/death-by-a-thousand-slops/">Death by a thousand slops</a> - Daniel Stenberg: Curl project drowning in AI-generated vulnerability report spam.</p><p><a href="https://utkarshkanwat.com/writing/betting-against-agents/?">Why I'm Betting Against AI Agents in 2025 (Despite Building Them)</a> - Experienced agent builder explains why autonomous AI agents won't deliver on 2025 promises.</p><p><a href="https://www.ai-supremacy.com/p/how-to-use-ai-to-optimize-your-personal-life-free-time">How to use AI to Optimize your Personal Life and Free Time</a> - Daria Cupareanu: AI strategies for reclaiming time and enhancing personal life quality.</p><p><a href="https://theengineeringmanager.substack.com/p/leadership-co-processing-with-llms">Leadership co-processing with LLMs</a> - James Stanier discusses how LLMs are changing management roles and practices. </p><h2><strong>&#127897;&#65039; YouTube &amp; Podcasts</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QhWb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f479be6-e668-422d-bc3e-e26b2f57121e_2710x1404.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QhWb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f479be6-e668-422d-bc3e-e26b2f57121e_2710x1404.png 424w, https://substackcdn.com/image/fetch/$s_!QhWb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f479be6-e668-422d-bc3e-e26b2f57121e_2710x1404.png 848w, https://substackcdn.com/image/fetch/$s_!QhWb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f479be6-e668-422d-bc3e-e26b2f57121e_2710x1404.png 1272w, https://substackcdn.com/image/fetch/$s_!QhWb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f479be6-e668-422d-bc3e-e26b2f57121e_2710x1404.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QhWb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f479be6-e668-422d-bc3e-e26b2f57121e_2710x1404.png" width="1456" height="754" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7f479be6-e668-422d-bc3e-e26b2f57121e_2710x1404.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:754,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1049979,&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://generativeprogrammer.com/i/173013557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f479be6-e668-422d-bc3e-e26b2f57121e_2710x1404.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_!QhWb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f479be6-e668-422d-bc3e-e26b2f57121e_2710x1404.png 424w, https://substackcdn.com/image/fetch/$s_!QhWb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f479be6-e668-422d-bc3e-e26b2f57121e_2710x1404.png 848w, https://substackcdn.com/image/fetch/$s_!QhWb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f479be6-e668-422d-bc3e-e26b2f57121e_2710x1404.png 1272w, https://substackcdn.com/image/fetch/$s_!QhWb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f479be6-e668-422d-bc3e-e26b2f57121e_2710x1404.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Software evolution: From 1.0 to 3.0</figcaption></figure></div><p><a href="https://www.youtube.com/watch?v=LCEmiRjPEtQ">Andrej Karpathy: Software Is Changing (Again) - YouTube</a> - Karpathy explores AI's revolutionary impact on software development paradigms.  &#128293;&#128293;&#128293;</p><p><a href="https://www.youtube.com/watch?v=6eBSHbLKuN0">Mastering Claude Code in 30 minutes - YouTube</a> - Quick guide to Claude Code's advanced features and shortcuts. &#128293;</p><p><a href="https://www.youtube.com/watch?v=EO3_qN_Ynsk">Software engineering with LLMs in 2025: reality check - YouTube</a> - The Pragmatic Engineer&#8217;s Gergely Orosz presents a comprehensive overview of how developers at AI startups and Big Tech companies are currently using AI tools, featuring projections about the future landscape of software engineering.</p><h2><strong>&#128478;&#65039; News and Updates</strong></h2><p> <a href="https://x.com/GergelyOrosz/status/1942299871572062350">Gergely Orosz's take on X</a> - Being able to specify what software you want to build, how it should be structured, and how <em>exactly</em> it should work is... programming. And getting into the weeds, when needed.</p><p><a href="https://developers.googleblog.com/en/scale-your-ai-workloads-batch-mode-gemini-api/">Batch Mode in the Gemini API: Process more for less</a> - New Gemini API feature offers discounted batch processing for non-urgent AI tasks.</p><p><a href="https://www.reddit.com/r/ClaudeAI/comments/1lcwuny/whats_your_best_advice_for_using_claude_code/">Whats Your Best Advice For Using Claude Code [Reddit]</a> - Reddit thread collecting Claude code usage tips.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2iLA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e56017c-9707-4cdf-946c-cff10bc9b0cb_1125x1500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2iLA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e56017c-9707-4cdf-946c-cff10bc9b0cb_1125x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2iLA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e56017c-9707-4cdf-946c-cff10bc9b0cb_1125x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2iLA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e56017c-9707-4cdf-946c-cff10bc9b0cb_1125x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2iLA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e56017c-9707-4cdf-946c-cff10bc9b0cb_1125x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2iLA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e56017c-9707-4cdf-946c-cff10bc9b0cb_1125x1500.jpeg" width="1125" height="1500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e56017c-9707-4cdf-946c-cff10bc9b0cb_1125x1500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:1125,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:256585,&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://generativeprogrammer.com/i/173013557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e56017c-9707-4cdf-946c-cff10bc9b0cb_1125x1500.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_!2iLA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e56017c-9707-4cdf-946c-cff10bc9b0cb_1125x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2iLA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e56017c-9707-4cdf-946c-cff10bc9b0cb_1125x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2iLA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e56017c-9707-4cdf-946c-cff10bc9b0cb_1125x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2iLA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e56017c-9707-4cdf-946c-cff10bc9b0cb_1125x1500.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"><a href="https://x.com/PawelHuryn/status/1943611413320093880">10 Principles of Building AI Agents</a></figcaption></figure></div><p><a href="https://x.com/PawelHuryn/status/1943611413320093880">10 Principles of Building AI Agents - Pawe&#322; Huryn on X</a></p><p><a href="https://x.com/christianposta/status/1944854988049506425">MCP Authorization specs - Christian Posta on X</a></p><p><a href="https://www.testingcatalog.com/openai-experiments-with-new-study-together-tool-on-chatgpt/">OpenAI experiments with new "Study together" tool on ChatGPT</a> - New ChatGPT feature creates interactive learning with step-by-step guidance.</p><p><a href="https://x.com/ajassy/status/1944785963663966633">AWS introduced Kiro on X</a> -Introducing Kiro, an all-new agentic IDE that has a chance to transform how developers build software.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QzeA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b97c739-3581-4787-8bb9-ac04daf4a902_1194x1088.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QzeA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b97c739-3581-4787-8bb9-ac04daf4a902_1194x1088.png 424w, https://substackcdn.com/image/fetch/$s_!QzeA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b97c739-3581-4787-8bb9-ac04daf4a902_1194x1088.png 848w, https://substackcdn.com/image/fetch/$s_!QzeA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b97c739-3581-4787-8bb9-ac04daf4a902_1194x1088.png 1272w, https://substackcdn.com/image/fetch/$s_!QzeA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b97c739-3581-4787-8bb9-ac04daf4a902_1194x1088.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QzeA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b97c739-3581-4787-8bb9-ac04daf4a902_1194x1088.png" width="1194" height="1088" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b97c739-3581-4787-8bb9-ac04daf4a902_1194x1088.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1088,&quot;width&quot;:1194,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:698241,&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://generativeprogrammer.com/i/173013557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b97c739-3581-4787-8bb9-ac04daf4a902_1194x1088.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_!QzeA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b97c739-3581-4787-8bb9-ac04daf4a902_1194x1088.png 424w, https://substackcdn.com/image/fetch/$s_!QzeA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b97c739-3581-4787-8bb9-ac04daf4a902_1194x1088.png 848w, https://substackcdn.com/image/fetch/$s_!QzeA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b97c739-3581-4787-8bb9-ac04daf4a902_1194x1088.png 1272w, https://substackcdn.com/image/fetch/$s_!QzeA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b97c739-3581-4787-8bb9-ac04daf4a902_1194x1088.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">AI gone rogue tweet</figcaption></figure></div><p><a href="https://x.com/jasonlk/status/1946069562723897802">Replit goes rogue during a code freeze and shutdown and deletes our entire database </a></p><h2><strong>&#128736;&#65039; Tech &amp; Tools</strong></h2><p><a href="https://github.com/MrLesk/Backlog.md">Backlog.md</a> - Git-based Markdown task manager with Kanban visualization.</p><p><a href="https://install.md/?utm_source=ai-native-developer-newsletter">install.md</a> - Tools that help coding agents integrate various software components into codebases through MCP server technology.</p><p><a href="https://www.browserbase.com/">Browserbase</a> - A specialized web browser designed specifically for AI agents and applications to interact with web content.</p><p><a href="https://github.com/marcelsud/spec-driven-agentic-development">spec-driven-agentic-development</a> - A specification-based workflow for AI-assisted software development.</p><p><a href="https://www.browserstack.com/test-management/ai-agents">BrowserStack</a> - AI-powered test case generation from requirements documents.</p><p><a href="https://github.com/mozilla-ai/any-agent">any-agent</a> - mozilla-ai - A unified interface that allows developers to use and evaluate different AI agent frameworks through a single implementation.</p><h2><strong>&#128218; Learning Picks</strong></h2><p> <a href="https://anthropic.skilljar.com/claude-code-in-action?utm_source=ai-native-developer-newsletter">Claude Code in Action</a> - Skilljar hosts Anthropic course materials for organized, interactive learning.</p><p><a href="https://github.com/microsoft/ai-agents-for-beginners?&amp;aid=recOfw7lpa5TCr8GX&amp;_bhlid=adfd7f5dcebd49a5fd6c6440dd97aa6bb4f77934">ai-agents-for-beginners</a> - Microsoft's beginner-friendly AI agent development curriculum with multilingual support.</p><h2><strong>&#127917; AI Humor</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Eh9B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91d0ec26-c3c1-4810-a2f8-9ac4d09738f7_800x1249.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Eh9B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91d0ec26-c3c1-4810-a2f8-9ac4d09738f7_800x1249.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Eh9B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91d0ec26-c3c1-4810-a2f8-9ac4d09738f7_800x1249.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Eh9B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91d0ec26-c3c1-4810-a2f8-9ac4d09738f7_800x1249.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Eh9B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91d0ec26-c3c1-4810-a2f8-9ac4d09738f7_800x1249.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Eh9B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91d0ec26-c3c1-4810-a2f8-9ac4d09738f7_800x1249.jpeg" width="800" height="1249" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91d0ec26-c3c1-4810-a2f8-9ac4d09738f7_800x1249.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1249,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132441,&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://generativeprogrammer.com/i/173013557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91d0ec26-c3c1-4810-a2f8-9ac4d09738f7_800x1249.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_!Eh9B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91d0ec26-c3c1-4810-a2f8-9ac4d09738f7_800x1249.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Eh9B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91d0ec26-c3c1-4810-a2f8-9ac4d09738f7_800x1249.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Eh9B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91d0ec26-c3c1-4810-a2f8-9ac4d09738f7_800x1249.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Eh9B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91d0ec26-c3c1-4810-a2f8-9ac4d09738f7_800x1249.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: <em><a href="https://www.linkedin.com/feed/update/urn:li:activity:7349734190180982784/">https://www.linkedin.com/feed/update/urn:li:activity:7349734190180982784/</a></em> </figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/p/generative-programmer-issue-15?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://generativeprogrammer.com/p/generative-programmer-issue-15?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>&#128075; See You Next Time</h2><p>Thanks for reading <em>Generative Programmer</em>! &#128591; </p><p>If you like the content please support my newsletter by subscribing and sharing with your network: <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">X</a> &#183; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a> &#183; <a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a> &#183; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a>. Have a great rest of the week! </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.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://generativeprogrammer.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[10 Practical Ways I Use AI in Product Management]]></title><description><![CDATA[Using ChatGPT, Claude, Cursor and Grok every day product management to speed up research, create better docs, and make better decisions.]]></description><link>https://generativeprogrammer.com/p/ai-in-product-management-10-practical-ways</link><guid isPermaLink="false">https://generativeprogrammer.com/p/ai-in-product-management-10-practical-ways</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Fri, 15 Aug 2025 10:13:32 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4db2ccf0-b564-4b8b-a59b-3ca7820a40d1_2504x1222.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I run <a href="https://x.com/bibryam/status/1956268688140583330">tens of thousands of prompts</a> a year across ChatGPT, Claude, Cursor, Grok, and more. The cost is high, but the ROI is higher. Here are 10 ways AI powers my PM work.</p><p><strong>1. Rapid User Story Creation via Custom GPT</strong></p><p>One of the most common tasks a PM has to do is create user stories, <a href="https://www.productplan.com/glossary/product-requirements-document/">PRDs</a>, log bugs and tasks. There are many <a href="https://chatgpt.com/gpts?q=prd">custom GPTs</a> for PRD creation, from services to sophisticated custom prompt templates. But each company and team has its own preferred format and style. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mmbX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28982c5c-a450-4796-a0d6-bf5d4a00a2a8_1278x972.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mmbX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28982c5c-a450-4796-a0d6-bf5d4a00a2a8_1278x972.png 424w, https://substackcdn.com/image/fetch/$s_!mmbX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28982c5c-a450-4796-a0d6-bf5d4a00a2a8_1278x972.png 848w, https://substackcdn.com/image/fetch/$s_!mmbX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28982c5c-a450-4796-a0d6-bf5d4a00a2a8_1278x972.png 1272w, https://substackcdn.com/image/fetch/$s_!mmbX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28982c5c-a450-4796-a0d6-bf5d4a00a2a8_1278x972.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mmbX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28982c5c-a450-4796-a0d6-bf5d4a00a2a8_1278x972.png" width="1278" height="972" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28982c5c-a450-4796-a0d6-bf5d4a00a2a8_1278x972.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:972,&quot;width&quot;:1278,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140152,&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://generativeprogrammer.com/i/170859930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28982c5c-a450-4796-a0d6-bf5d4a00a2a8_1278x972.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_!mmbX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28982c5c-a450-4796-a0d6-bf5d4a00a2a8_1278x972.png 424w, https://substackcdn.com/image/fetch/$s_!mmbX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28982c5c-a450-4796-a0d6-bf5d4a00a2a8_1278x972.png 848w, https://substackcdn.com/image/fetch/$s_!mmbX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28982c5c-a450-4796-a0d6-bf5d4a00a2a8_1278x972.png 1272w, https://substackcdn.com/image/fetch/$s_!mmbX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28982c5c-a450-4796-a0d6-bf5d4a00a2a8_1278x972.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">Custom GPT for User Story Creation</figcaption></figure></div><p>For this purpose I use custom GPTs from ChatGPT and created my own <a href="https://chatgpt.com/g/g-67c058bbf6388191b671f0e642030c2d-lean-user-story-assistant-simple-prd-creator">custom GPT</a>. This lets me go from a short text or Slack message to ready-to-copy text for issue tracking systems. The template handles the formatting, ensures I don't miss edge cases, and maintains consistency across the backlog. For any repetitive task done on ChatGPT, consider creating a custom GPT with the desired context and prompt. I use many custom GPTs, a few are pubic such as <a href="https://chatgpt.com/g/g-CWjaCNy9T-title-generator">Title Generator</a>, <a href="https://chatgpt.com/g/g-frzXhZKIU-jargon-cleaner">Jargon Cleaner</a>, and many more are private and used in professional setting. </p><p><strong>2. Dictation Over Typing for Richer Context</strong></p><p>I use ChatGPT for all kinds of quick searches (instead of googling) or writing short messages, or taking notes. For short interactions, starting ChatGPT, telling AI what you want and passing the context is the bottleneck. The best way to do that is through voice input rather than typing. However, the default workflow requires multiple clicks: open ChatGPT, click on voice, talk, stop voice, then send the text. I use it so much that I vibe coded a <a href="https://x.com/bibryam/status/1941495112816607269">Chrome plugin to automate that</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_!dh9O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23d88943-2930-4642-a689-e3dab537d7ff_984x1108.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dh9O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23d88943-2930-4642-a689-e3dab537d7ff_984x1108.png 424w, https://substackcdn.com/image/fetch/$s_!dh9O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23d88943-2930-4642-a689-e3dab537d7ff_984x1108.png 848w, https://substackcdn.com/image/fetch/$s_!dh9O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23d88943-2930-4642-a689-e3dab537d7ff_984x1108.png 1272w, https://substackcdn.com/image/fetch/$s_!dh9O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23d88943-2930-4642-a689-e3dab537d7ff_984x1108.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dh9O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23d88943-2930-4642-a689-e3dab537d7ff_984x1108.png" width="727.9948120117188" height="819.7339956392118" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/23d88943-2930-4642-a689-e3dab537d7ff_984x1108.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1108,&quot;width&quot;:984,&quot;resizeWidth&quot;:727.9948120117188,&quot;bytes&quot;:77973,&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://generativeprogrammer.com/i/170859930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23d88943-2930-4642-a689-e3dab537d7ff_984x1108.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_!dh9O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23d88943-2930-4642-a689-e3dab537d7ff_984x1108.png 424w, https://substackcdn.com/image/fetch/$s_!dh9O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23d88943-2930-4642-a689-e3dab537d7ff_984x1108.png 848w, https://substackcdn.com/image/fetch/$s_!dh9O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23d88943-2930-4642-a689-e3dab537d7ff_984x1108.png 1272w, https://substackcdn.com/image/fetch/$s_!dh9O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23d88943-2930-4642-a689-e3dab537d7ff_984x1108.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">Chrome plugin for starting dictation mode</figcaption></figure></div><p>With <a href="https://chromewebstore.google.com/detail/chatgpt-web-voice-shortcu/jmfecjpbhdkoecbjdebgoiofbdngbnoe">this plugin</a>, I can use a single keyboard shortcut to start ChatGPT and start talking immediately. Hit <em><strong>ALT + SHIFT + SPACE</strong></em> to open a new ChatGPT tab, with dictation started. This eliminates the friction and makes voice input as fast as opening any other native app.</p><p><strong>3. Brainstorming and Problem Solving via Voice Mode</strong></p><p>I use ChatGPT mobile app <strong>voice mode </strong>(notice this is different than dictation input mentioned above) primarily when I'm out walking or at the gym and have an idea that needs development. Instead of just asking for a list of suggestions, I have actual conversations where I ask ChatGPT to challenge me back and forth. For example, when writing this blog post, I asked ChatGPT to "<em>act as an expert in AI adoption, be critical of my thinking, and challenge my ideas until we come up with a solid plan</em>&#8230;" I use this for brainstorming content ideas, preparing for meetings, working through problems I don't have a clear solution for, or exploring new domains and discovering blindspots with back-and-forth discussion. The voice interaction lets me think out loud and get immediate pushback on weak concepts, making it like having a sparring partner who helps refine ideas in real-time.</p><p><strong>4. Deep Search and Extended Thinking</strong></p><p>This is one of the methods that saves me the most time since using AI for research. I use AI to do comprehensive research where I give very detailed, specific tasks with clear goals and outcomes. For example, I can perform competitive product analysis, deep project/technology comparisons, marketing plans for product launches, or ecosystem mapping with different players and get very detailed and structured write-ups. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wwpa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67d858d8-411c-4356-8a87-c7437d7a3f2e_639x484.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wwpa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67d858d8-411c-4356-8a87-c7437d7a3f2e_639x484.png 424w, https://substackcdn.com/image/fetch/$s_!wwpa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67d858d8-411c-4356-8a87-c7437d7a3f2e_639x484.png 848w, https://substackcdn.com/image/fetch/$s_!wwpa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67d858d8-411c-4356-8a87-c7437d7a3f2e_639x484.png 1272w, https://substackcdn.com/image/fetch/$s_!wwpa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67d858d8-411c-4356-8a87-c7437d7a3f2e_639x484.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wwpa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67d858d8-411c-4356-8a87-c7437d7a3f2e_639x484.png" width="639" height="484" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/67d858d8-411c-4356-8a87-c7437d7a3f2e_639x484.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:484,&quot;width&quot;:639,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2354094,&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://generativeprogrammer.com/i/170859930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67d858d8-411c-4356-8a87-c7437d7a3f2e_639x484.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_!wwpa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67d858d8-411c-4356-8a87-c7437d7a3f2e_639x484.png 424w, https://substackcdn.com/image/fetch/$s_!wwpa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67d858d8-411c-4356-8a87-c7437d7a3f2e_639x484.png 848w, https://substackcdn.com/image/fetch/$s_!wwpa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67d858d8-411c-4356-8a87-c7437d7a3f2e_639x484.png 1272w, https://substackcdn.com/image/fetch/$s_!wwpa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67d858d8-411c-4356-8a87-c7437d7a3f2e_639x484.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Parallel deep search exploration in ChatGPT, Claude, and Grok </figcaption></figure></div><p>A trick I use here is to perform the same research across 2-3 AI products simultaneously - ChatGPT, Claude, and Grok from X - then compare their outputs. Each AI often surfaces different angles or insights, giving me a more complete picture than relying on a single source. This parallel approach catches blindspots and validates findings.</p><p><strong>5. Data Analysis and User Feedback Mining</strong></p><p>I use AI to process large amounts of unstructured text data to extract insights. I identify trends, challenges, and bugs by gathering feedback not directly, but from large datasets and synthesizing insights. For example, if you work in a company, you know where users are hanging out - community forums, Discord channels, Reddit discussions, support tickets, or social media mentions. I paste all that data into AI and ask it to identify challenges, trends, or specific issues people are unhappy with. You can also do this by exporting data from various systems you have, and ask AI to identify trends or even generate graphs to show these trends and so forth. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xUPp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ed66d3-b5bf-48e2-b04c-ec36b1f2e6cf_1364x784.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xUPp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ed66d3-b5bf-48e2-b04c-ec36b1f2e6cf_1364x784.png 424w, https://substackcdn.com/image/fetch/$s_!xUPp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ed66d3-b5bf-48e2-b04c-ec36b1f2e6cf_1364x784.png 848w, https://substackcdn.com/image/fetch/$s_!xUPp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ed66d3-b5bf-48e2-b04c-ec36b1f2e6cf_1364x784.png 1272w, https://substackcdn.com/image/fetch/$s_!xUPp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ed66d3-b5bf-48e2-b04c-ec36b1f2e6cf_1364x784.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xUPp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ed66d3-b5bf-48e2-b04c-ec36b1f2e6cf_1364x784.png" width="1364" height="784" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/41ed66d3-b5bf-48e2-b04c-ec36b1f2e6cf_1364x784.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:784,&quot;width&quot;:1364,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:133864,&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://generativeprogrammer.com/i/170859930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ed66d3-b5bf-48e2-b04c-ec36b1f2e6cf_1364x784.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_!xUPp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ed66d3-b5bf-48e2-b04c-ec36b1f2e6cf_1364x784.png 424w, https://substackcdn.com/image/fetch/$s_!xUPp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ed66d3-b5bf-48e2-b04c-ec36b1f2e6cf_1364x784.png 848w, https://substackcdn.com/image/fetch/$s_!xUPp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ed66d3-b5bf-48e2-b04c-ec36b1f2e6cf_1364x784.png 1272w, https://substackcdn.com/image/fetch/$s_!xUPp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ed66d3-b5bf-48e2-b04c-ec36b1f2e6cf_1364x784.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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 can generate graphs from raw data</figcaption></figure></div><p>A typical prompt would be: "<em>Analyze this data and give me the top three challenges users are facing, the top three feature requests, and the top three things people are most satisfied with.</em>" Extracting insights and displaying trends from raw and unstructured data is a core PM task that AI excels in, helping me prioritize roadmap items based on real-world signals rather than assumptions.</p><p><strong>6. Docs from Engineering Notes and Code</strong></p><p>As a product manager, you often have tight deadlines with limited input from the busy engineering teams. For example, you may have new features launching soon but insufficient documentation from the platform team. What you can do is feed AI with engineering notes, PRs, and even source code to describe what has been implemented in a specific release. For instance, when a major feature ships, you can also provide additional context by uploading existing product documentation. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WzH5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F335b0914-c8c6-4dc4-aeb3-7905d5a793d8_1830x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WzH5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F335b0914-c8c6-4dc4-aeb3-7905d5a793d8_1830x1000.png 424w, https://substackcdn.com/image/fetch/$s_!WzH5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F335b0914-c8c6-4dc4-aeb3-7905d5a793d8_1830x1000.png 848w, https://substackcdn.com/image/fetch/$s_!WzH5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F335b0914-c8c6-4dc4-aeb3-7905d5a793d8_1830x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!WzH5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F335b0914-c8c6-4dc4-aeb3-7905d5a793d8_1830x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WzH5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F335b0914-c8c6-4dc4-aeb3-7905d5a793d8_1830x1000.png" width="1456" height="796" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/335b0914-c8c6-4dc4-aeb3-7905d5a793d8_1830x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:796,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:237262,&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://generativeprogrammer.com/i/170859930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F335b0914-c8c6-4dc4-aeb3-7905d5a793d8_1830x1000.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_!WzH5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F335b0914-c8c6-4dc4-aeb3-7905d5a793d8_1830x1000.png 424w, https://substackcdn.com/image/fetch/$s_!WzH5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F335b0914-c8c6-4dc4-aeb3-7905d5a793d8_1830x1000.png 848w, https://substackcdn.com/image/fetch/$s_!WzH5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F335b0914-c8c6-4dc4-aeb3-7905d5a793d8_1830x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!WzH5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F335b0914-c8c6-4dc4-aeb3-7905d5a793d8_1830x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Claude&#8217;s project feature with custom context</figcaption></figure></div><p>Claude&#8217;s Projects feature allows you to attach context from Github repositories, specific files, or documentation that can be referenced multiple times. You can attach this context to a project, and once created, that project can be reused across multiple chats with all the relevant context automatically available. This Projects feature is particularly useful for writing documentation or content that needs to follow a specific format and requires lots of context to maintain consistency.</p><p><strong>7. Screenshot Reviews and Visual Analysis</strong></p><p>AI is good not only with text and voice, but also with visual inputs. One input method that's not used as much is the imaging. This is particularly useful for getting feedback on UI designs. For example, you can feed in a design mockup or screenshot and ask it to review the text, layout, and suggest improvements from a UX perspective. Another way to use visual input is for data analysis - you can upload charts, graphs, or dashboards and ask AI to interpret trends or suggest better ways to visualize the data. </p><p><strong>8. Code Explanation via Cursor and AI Tools</strong></p><p>I use AI tools to understand code when documentation is lacking, but for this purpose, I find that tools specialized in code creation - IDEs and CLIs - are much better generic AI tools like ChatGPT and Claude. That's why my preferred option here is to use something like <a href="https://cursor.com/en">Cursor</a> (in asking mode rather than agent mode), which can give me very detailed explanations with proper context. I can give these specialized tools a specific file from a project, a specific package, or ask them to analyze a whole project and explain various aspects. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zu_j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578061-085c-428f-9fbd-9deafd6e4f76_2598x1108.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zu_j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578061-085c-428f-9fbd-9deafd6e4f76_2598x1108.png 424w, https://substackcdn.com/image/fetch/$s_!zu_j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578061-085c-428f-9fbd-9deafd6e4f76_2598x1108.png 848w, https://substackcdn.com/image/fetch/$s_!zu_j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578061-085c-428f-9fbd-9deafd6e4f76_2598x1108.png 1272w, https://substackcdn.com/image/fetch/$s_!zu_j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578061-085c-428f-9fbd-9deafd6e4f76_2598x1108.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zu_j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578061-085c-428f-9fbd-9deafd6e4f76_2598x1108.png" width="1456" height="621" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0578061-085c-428f-9fbd-9deafd6e4f76_2598x1108.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:621,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:585410,&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://generativeprogrammer.com/i/170859930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578061-085c-428f-9fbd-9deafd6e4f76_2598x1108.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_!zu_j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578061-085c-428f-9fbd-9deafd6e4f76_2598x1108.png 424w, https://substackcdn.com/image/fetch/$s_!zu_j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578061-085c-428f-9fbd-9deafd6e4f76_2598x1108.png 848w, https://substackcdn.com/image/fetch/$s_!zu_j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578061-085c-428f-9fbd-9deafd6e4f76_2598x1108.png 1272w, https://substackcdn.com/image/fetch/$s_!zu_j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578061-085c-428f-9fbd-9deafd6e4f76_2598x1108.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Asking Cursor for code explanation</figcaption></figure></div><p>For example, I might ask "How does DurableAgent class work?" <a href="https://github.com/dapr/dapr-agents/tree/main">in Dapr Agents</a>,  or "what are the edge cases and exception scenarios?" The AI can analyze the code and give a detailed description of how it works, which I use for my own understanding, testing strategy, or when discussing feature requirements with engineering teams.</p><p><strong>9. Mockup Prototyping via AI Code Generation</strong></p><p>Tools like <a href="https://v0.app/">v0</a> from Vercel, <a href="https://lovable.dev/">Lovable</a>, <a href="https://bolt.new/">Bolt</a> (and <a href="https://generativeprogrammer.com/p/ai-coding-assistants-landscape">many others</a>) have created a new wave of AI-powered prototyping that can generate actual working code. You can describe a feature concept and get a functional prototype that demonstrates the user flow and basic interactions. This serves almost as a specification that explains how a component should be built, which the engineering team can then take and recreate in a proper production environment. While this is the most talked about use case for PMs and AI, for me this is too wasteful an approach to recreate a whole app to explain a requirement and concept. This approach works best when the complexity is in the UI rather than the backend behaviour.</p><p> <strong>10. Creating Examples, Quickstarts, and Non-Critical Code</strong></p><p>As a product manager, you sometimes need to write code, and even if you're not comfortable or working with newer languages and frameworks you don't know. While you're not an engineer writing production code, AI is perfect for creating examples, quickstarts, demos, and non-critical automation scripts. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8O5H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43971bcd-0bd4-4e4a-a39a-c5655aa6632a_2108x1256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8O5H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43971bcd-0bd4-4e4a-a39a-c5655aa6632a_2108x1256.png 424w, https://substackcdn.com/image/fetch/$s_!8O5H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43971bcd-0bd4-4e4a-a39a-c5655aa6632a_2108x1256.png 848w, https://substackcdn.com/image/fetch/$s_!8O5H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43971bcd-0bd4-4e4a-a39a-c5655aa6632a_2108x1256.png 1272w, https://substackcdn.com/image/fetch/$s_!8O5H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43971bcd-0bd4-4e4a-a39a-c5655aa6632a_2108x1256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8O5H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43971bcd-0bd4-4e4a-a39a-c5655aa6632a_2108x1256.png" width="1456" height="868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43971bcd-0bd4-4e4a-a39a-c5655aa6632a_2108x1256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:868,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:464825,&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://generativeprogrammer.com/i/170859930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43971bcd-0bd4-4e4a-a39a-c5655aa6632a_2108x1256.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_!8O5H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43971bcd-0bd4-4e4a-a39a-c5655aa6632a_2108x1256.png 424w, https://substackcdn.com/image/fetch/$s_!8O5H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43971bcd-0bd4-4e4a-a39a-c5655aa6632a_2108x1256.png 848w, https://substackcdn.com/image/fetch/$s_!8O5H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43971bcd-0bd4-4e4a-a39a-c5655aa6632a_2108x1256.png 1272w, https://substackcdn.com/image/fetch/$s_!8O5H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43971bcd-0bd4-4e4a-a39a-c5655aa6632a_2108x1256.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Dapr Agent Quickstarts</figcaption></figure></div><p>For instance, I wrote (generated) bash scripts to automate the creation of reports from API calls, or generate examples for documentation, <a href="https://github.com/dapr/dapr-agents/tree/main/quickstarts">quickstarts</a>, even <a href="https://github.com/diagrid-labs/dapr-university-instruqt/tree/main/dapr-agents">training materials</a>. You can ask AI to generate the code, then have an engineer review it before implementation. This approach speeds up the development process and actually helps you use your own product from a user's perspective. It can even help you learn a new language or a framework by doing rather than only reading.</p><div><hr></div><p>That&#8217;s my playbook for putting AI to work in product management. I&#8217;m always looking for new ideas. How are you using AI to get the biggest gains in your work?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.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 The Generative Programmer! 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>If you like the content please support my newsletter by subscribing and sharing with your network: <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">X</a> &#183; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a> &#183; <a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a> &#183; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a>. Have a great rest of the week!</p>]]></content:encoded></item><item><title><![CDATA[🤖 Generative Programmer | Issue #14]]></title><description><![CDATA[June Edition: Key Trends in AI-Assisted Development, Prompting, and Agentic Systems]]></description><link>https://generativeprogrammer.com/p/generative-programmer-issue-14</link><guid isPermaLink="false">https://generativeprogrammer.com/p/generative-programmer-issue-14</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sun, 06 Jul 2025 15:12:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!facT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>&#128227; Welcome back! Here&#8217;s everything that happened in GenAI in June.<br>&#128279; Share: <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">X</a> &#183; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a> &#183; <a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a> &#183; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a> and let&#8217;s dive in.</strong></p><h2>&#128293; Top Picks from June</h2><p>&#128216; <a href="https://addyo.substack.com/p/the-prompt-engineering-playbook-for">The Prompt Engineering Playbook for Programmers</a> &#8211; Addy Osmani &#128293;<br>&#129302; <a href="https://www.anthropic.com/engineering/built-multi-agent-research-system">How we built our multi-agent research system</a> &#8211; Anthropic &#128293;<br>&#128161; <a href="https://www.youtube.com/watch?v=LCEmiRjPEtQ">Software Is Changing (Again)</a> &#8211; Andrej Karpathy &#128293;<br>&#128272; <a href="https://techcommunity.microsoft.com/blog/microsoft-entra-blog/the-future-of-ai-agents%E2%80%94and-why-oauth-must-evolve/3827391">The future of AI agents&#8212;and why OAuth must evolve</a> &#8211; Alex Simons<br>&#129489;&#8205;&#128187; <a href="https://docs.hatchet.run/blog/go-agents">Why Go is a good fit for agents</a> &#8211; Hatchet Team<br>&#128736;&#65039; <a href="https://neon.com/blog/design-decisions-behind-app-build">Design Decisions Behind app.build, a Prompt-to-App Generator</a> &#8211; Neon<br>&#9881;&#65039; <a href="https://magazine.sebastianraschka.com/p/coding-the-kv-cache-in-llms">Understanding the KV Cache in LLMs from Scratch</a> &#8211; Sebastian Raschka<br>&#127970; <a href="https://zapier.com/blog/zapier-ai-first-hiring-leaning/">Zapier's AI-first hiring and onboarding</a> &#8211; Zapier<br>&#127909; <a href="https://www.youtube.com/watch?v=8kMaTybvDUw">12-Factor Agents</a> &#8211; Dex Horthy &#128293;<br>&#129504; <a href="https://blog.langchain.com/context-engineering-for-agents/">Context Engineering</a> &#8211; Langchain<br>&#128202; <a href="https://www.morling.dev/blog/this-ai-agent-should-have-been-sql-query/">This AI Agent Should Have Been a SQL Query</a> &#8211; Gunnar Morling <br>&#129516; <a href="https://lilianweng.github.io/posts/2023-03-15-prompt-engineering/">Prompt Engineering</a> &#8211; Lilian Weng &#128293;</p><p>&#8230;and if you dare, <em>100+ updates</em> to explore &#128071;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/p/generative-programmer-issue-14?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://generativeprogrammer.com/p/generative-programmer-issue-14?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>&#127919; Featured Article</h2><p><a href="https://addyo.substack.com/p/the-prompt-engineering-playbook-for">The Prompt Engineering Playbook for Programmers</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;df995de0-7903-49a4-9ec3-7d340f65a77a&quot;}" data-component-name="MentionToDOM"></span> demonstrates how prompt engineering has become an essential skill for developers using AI coding assistants, outlining systematic approaches to craft effective prompts that yield high-quality code solutions rather than generic outputs. A MUST READ&#128071; </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T7Oz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61dce17-cbe1-425c-b32d-18afb4f7349c_1456x1915.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T7Oz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61dce17-cbe1-425c-b32d-18afb4f7349c_1456x1915.webp 424w, https://substackcdn.com/image/fetch/$s_!T7Oz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61dce17-cbe1-425c-b32d-18afb4f7349c_1456x1915.webp 848w, https://substackcdn.com/image/fetch/$s_!T7Oz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61dce17-cbe1-425c-b32d-18afb4f7349c_1456x1915.webp 1272w, https://substackcdn.com/image/fetch/$s_!T7Oz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61dce17-cbe1-425c-b32d-18afb4f7349c_1456x1915.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T7Oz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61dce17-cbe1-425c-b32d-18afb4f7349c_1456x1915.webp" width="1456" height="1915" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f61dce17-cbe1-425c-b32d-18afb4f7349c_1456x1915.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1915,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:182948,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/167606857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61dce17-cbe1-425c-b32d-18afb4f7349c_1456x1915.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!T7Oz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61dce17-cbe1-425c-b32d-18afb4f7349c_1456x1915.webp 424w, https://substackcdn.com/image/fetch/$s_!T7Oz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61dce17-cbe1-425c-b32d-18afb4f7349c_1456x1915.webp 848w, https://substackcdn.com/image/fetch/$s_!T7Oz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61dce17-cbe1-425c-b32d-18afb4f7349c_1456x1915.webp 1272w, https://substackcdn.com/image/fetch/$s_!T7Oz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61dce17-cbe1-425c-b32d-18afb4f7349c_1456x1915.webp 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><h2><strong>&#128240; Long-Form Reads</strong></h2><p><a href="https://magazine.sebastianraschka.com/p/coding-the-kv-cache-in-llms">Understanding and Coding the KV Cache in LLMs from Scratch</a> - Sebastian Raschka breaks down KV caching for faster LLM inference with code examples. &#127775;</p><p><a href="https://engineering.block.xyz/blog/blocks-playbook-for-designing-mcp-servers">Block's Playbook for Designing MCP Servers</a> - A practical guide to mission-critical MCP server design.&#127775;</p><p><a href="https://ainativedev.io/news/malicious-github-issue-ai-agent-leak">The Dark Side of "Just Hooking Up" AI Agents to GitHub</a> - Folks at AI Native Dev examines the security risks and potential vulnerabilities that emerge when developers integrate AI agents with GitHub repositories without proper safeguards or oversight.</p><p><a href="https://pair.withgoogle.com/explorables/grokking/">Do Machine Learning Models Memorize or Generalize?</a> - The author investigates the "grokking" phenomenon where models unexpectedly learn to generalize after extended training.</p><p><a href="https://github.com/humanlayer/12-factor-agents">GitHub - humanlayer/12-factor-agents</a> - principles for production-quality LLM agents based on real-world implementation patterns.&#127775;&#127775;&#127775;</p><p><a href="https://medium.com/data-science-at-microsoft/evaluating-llm-systems-metrics-challenges-and-best-practices-664ac25be7e5">Evaluating Large Language Model (LLM) systems: Metrics, challenges, and best practices</a> - Jane Huang breaks down systematic LLM evaluation beyond simple prompt testing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bRxq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc78259f5-45db-4faa-8c50-e354752c3c37_3840x2160.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bRxq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc78259f5-45db-4faa-8c50-e354752c3c37_3840x2160.webp 424w, https://substackcdn.com/image/fetch/$s_!bRxq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc78259f5-45db-4faa-8c50-e354752c3c37_3840x2160.webp 848w, https://substackcdn.com/image/fetch/$s_!bRxq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc78259f5-45db-4faa-8c50-e354752c3c37_3840x2160.webp 1272w, https://substackcdn.com/image/fetch/$s_!bRxq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc78259f5-45db-4faa-8c50-e354752c3c37_3840x2160.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bRxq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc78259f5-45db-4faa-8c50-e354752c3c37_3840x2160.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c78259f5-45db-4faa-8c50-e354752c3c37_3840x2160.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:110250,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/167606857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc78259f5-45db-4faa-8c50-e354752c3c37_3840x2160.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!bRxq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc78259f5-45db-4faa-8c50-e354752c3c37_3840x2160.webp 424w, https://substackcdn.com/image/fetch/$s_!bRxq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc78259f5-45db-4faa-8c50-e354752c3c37_3840x2160.webp 848w, https://substackcdn.com/image/fetch/$s_!bRxq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc78259f5-45db-4faa-8c50-e354752c3c37_3840x2160.webp 1272w, https://substackcdn.com/image/fetch/$s_!bRxq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc78259f5-45db-4faa-8c50-e354752c3c37_3840x2160.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">The multi-agent architecture in action</figcaption></figure></div><p><a href="https://www.anthropic.com/engineering/built-multi-agent-research-system">How we built our multi-agent research system \ Anthropic</a> - reveals how Anthropic built Claude's multi-agent research system for complex information gathering. &#127775;&#127775;&#127775;</p><p><a href="https://newsletter.getdx.com/p/how-google-is-accelerating-code-migrations-with-ai">How Google is accelerating code migrations with AI</a> - Abi Noda reveals Google's AI techniques for faster, more efficient code migrations.</p><p><a href="https://lilianweng.github.io/posts/2023-03-15-prompt-engineering/">Prompt Engineering</a> - Lilian Weng details techniques for steering LLM behavior without updating model weights, emphasizing that prompt engineering is an empirical science requiring experimentation across different models.&#127775;&#127775;</p><p><a href="https://www.freethink.com/artificial-intelligence/vibe-coding">Vibe coding is rewriting the rules of technology</a> - Kiara Nirghin explains how AI-powered development prioritizes intent over code syntax.</p><p><a href="https://www.kai-waehner.de/blog/2025/06/09/how-openai-uses-apache-kafka-and-flink-for-genai/">Kai Waehner explains how OpenAI uses Apache Kafka and Flink for GenAI</a></p><p><a href="https://addyo.substack.com/p/the-trust-but-verify-pattern-for">The "Trust, But Verify" Pattern For AI-Assisted Engineering</a> - Addy Osmani explains why developers must treat AI coding assistants like junior developers, requiring thorough verification of AI-generated code while maintaining human accountability for all output.</p><p><a href="https://leaddev.com/software-quality/how-ai-generated-code-accelerates-technical-debt">How AI generated code compounds technical debt - LeadDev</a> - Bill Doerrfeld examines how LLM-based coding assistants are making it easier to create code but simultaneously undermining engineering best practices like DRY, leading to increased code duplication and declining quality.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eXWE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0448bda6-50ff-40b8-a142-fa370cb8182c_2592x828.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eXWE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0448bda6-50ff-40b8-a142-fa370cb8182c_2592x828.png 424w, https://substackcdn.com/image/fetch/$s_!eXWE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0448bda6-50ff-40b8-a142-fa370cb8182c_2592x828.png 848w, https://substackcdn.com/image/fetch/$s_!eXWE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0448bda6-50ff-40b8-a142-fa370cb8182c_2592x828.png 1272w, https://substackcdn.com/image/fetch/$s_!eXWE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0448bda6-50ff-40b8-a142-fa370cb8182c_2592x828.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eXWE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0448bda6-50ff-40b8-a142-fa370cb8182c_2592x828.png" width="1456" height="465" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0448bda6-50ff-40b8-a142-fa370cb8182c_2592x828.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:465,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:619810,&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://generativeprogrammer.com/i/167606857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0448bda6-50ff-40b8-a142-fa370cb8182c_2592x828.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_!eXWE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0448bda6-50ff-40b8-a142-fa370cb8182c_2592x828.png 424w, https://substackcdn.com/image/fetch/$s_!eXWE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0448bda6-50ff-40b8-a142-fa370cb8182c_2592x828.png 848w, https://substackcdn.com/image/fetch/$s_!eXWE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0448bda6-50ff-40b8-a142-fa370cb8182c_2592x828.png 1272w, https://substackcdn.com/image/fetch/$s_!eXWE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0448bda6-50ff-40b8-a142-fa370cb8182c_2592x828.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">AI agents and OAuth</figcaption></figure></div><p><a href="https://techcommunity.microsoft.com/blog/microsoft-entra-blog/the-future-of-ai-agents%E2%80%94and-why-oauth-must-evolve/3827391">The future of AI agents&#8212;and why OAuth must evolve</a> - Alex_Simons examines the need for collaborative development of identity standards to enable AI agents to securely access and operate across different systems.</p><p><a href="https://www.moderndescartes.com/essays/llm_shibboleths/">LLM Shibboleths determine AI effectiveness</a> - Author reveals why developer expertise determines AI coding assistant value.</p><p><a href="https://simonwillison.net/2025/May/25/claude-4-system-prompt/">Highlights from the Claude 4 system prompt</a> - Simon Willison unpacks Claude 4's system prompts, revealing AI guardrails and capabilities.</p><p><a href="https://simonw.substack.com/p/building-software-on-top-of-large">Building software on top of Large Language Models</a> - Simon Willison shares insights on LLM tools and free content philosophy.</p><p><a href="https://embracethered.com/blog/posts/2025/chatgpt-how-does-chat-history-memory-preferences-work/">How ChatGPT Remembers You: A Deep Dive into Its Memory and Chat History Features</a> - wunderwuzzi's</p><p><a href="https://fly.io/blog/youre-all-nuts/">My AI Skeptic Friends Are All Nuts &#183; The Fly Blog</a> - Thomas Ptacek argues that LLMs have fundamentally changed software development despite skepticism from tech leaders, noting that talented developers are refusing to use tools that already outperform them purely out of resistance to change.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xISp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19874f55-9766-4d24-832c-7002273899c3_1456x990.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xISp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19874f55-9766-4d24-832c-7002273899c3_1456x990.webp 424w, https://substackcdn.com/image/fetch/$s_!xISp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19874f55-9766-4d24-832c-7002273899c3_1456x990.webp 848w, https://substackcdn.com/image/fetch/$s_!xISp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19874f55-9766-4d24-832c-7002273899c3_1456x990.webp 1272w, https://substackcdn.com/image/fetch/$s_!xISp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19874f55-9766-4d24-832c-7002273899c3_1456x990.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xISp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19874f55-9766-4d24-832c-7002273899c3_1456x990.webp" width="1456" height="990" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19874f55-9766-4d24-832c-7002273899c3_1456x990.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:990,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:84626,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/167606857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19874f55-9766-4d24-832c-7002273899c3_1456x990.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xISp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19874f55-9766-4d24-832c-7002273899c3_1456x990.webp 424w, https://substackcdn.com/image/fetch/$s_!xISp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19874f55-9766-4d24-832c-7002273899c3_1456x990.webp 848w, https://substackcdn.com/image/fetch/$s_!xISp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19874f55-9766-4d24-832c-7002273899c3_1456x990.webp 1272w, https://substackcdn.com/image/fetch/$s_!xISp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19874f55-9766-4d24-832c-7002273899c3_1456x990.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">AI Product Development Lifecycle</figcaption></figure></div><p><a href="https://www.newsletter.swirlai.com/p/evaluation-driven-development-for">Evaluation Driven Development for Agentic Systems.</a> - Aurimas Grici&#363;nas reveals how evaluation-driven methodologies improve AI agent development. </p><p><a href="https://thoughtworks.medium.com/https-www-thoughtworks-com-insights-blog-generative-ai-claude-code-codeconcise-experiment-b3b1f31d718c">Claude Code saved us 97% of the work &#8212; then failed utterly</a> - Thoughtworks: AI coding assistant shows promise but has critical limitations.</p><p><a href="https://www.aitidbits.ai/p/open-source-agents-updated">The Open-Source Toolkit for Building AI Agents</a> - Sahar Mor reveals essential open-source tools for creating AI agents.</p><p><a href="https://ashley.dev/posts/what-even-is-vibe-coding/">What Even Is Vibe Coding?</a> - Ashley Willis: From skepticism to curiosity about Karpathy's "vibe coding" concept.</p><p><a href="https://www.infoq.com/articles/domain-driven-rag/">Domain-Driven RAG: Building Accurate Enterprise Knowledge Systems through Distributed Ownership</a> - George Panagiotopoulos reveals how distributed domain ownership improves RAG system accuracy. &#127775;</p><p><a href="https://aws.amazon.com/blogs/security/announcing-aws-security-reference-architecture-code-examples-for-generative-ai/">Announcing AWS Security Reference Architecture Code Examples for Generative AI | AWS Security Blog</a> - AWS launches security templates for securing generative AI implementations.</p><p><a href="https://ainativedev.io/news/loveable-2">Developing Apps by Chat: How Far Can Lovable 2.0 Really Go? </a>- Baptiste Fernandez examines the potential and boundaries of conversational app development with Lovable 2.0.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JxSn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532c4de7-1a1d-46ac-b28f-afb64fd6a741_1400x929.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JxSn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532c4de7-1a1d-46ac-b28f-afb64fd6a741_1400x929.avif 424w, https://substackcdn.com/image/fetch/$s_!JxSn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532c4de7-1a1d-46ac-b28f-afb64fd6a741_1400x929.avif 848w, https://substackcdn.com/image/fetch/$s_!JxSn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532c4de7-1a1d-46ac-b28f-afb64fd6a741_1400x929.avif 1272w, https://substackcdn.com/image/fetch/$s_!JxSn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532c4de7-1a1d-46ac-b28f-afb64fd6a741_1400x929.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JxSn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532c4de7-1a1d-46ac-b28f-afb64fd6a741_1400x929.avif" width="1400" height="929" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/532c4de7-1a1d-46ac-b28f-afb64fd6a741_1400x929.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:929,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:100279,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/167606857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532c4de7-1a1d-46ac-b28f-afb64fd6a741_1400x929.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JxSn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532c4de7-1a1d-46ac-b28f-afb64fd6a741_1400x929.avif 424w, https://substackcdn.com/image/fetch/$s_!JxSn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532c4de7-1a1d-46ac-b28f-afb64fd6a741_1400x929.avif 848w, https://substackcdn.com/image/fetch/$s_!JxSn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532c4de7-1a1d-46ac-b28f-afb64fd6a741_1400x929.avif 1272w, https://substackcdn.com/image/fetch/$s_!JxSn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532c4de7-1a1d-46ac-b28f-afb64fd6a741_1400x929.avif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Zapier&#8217;s AI-first skill type assessment</figcaption></figure></div><p><a href="https://zapier.com/blog/zapier-ai-first-hiring-leaning/">Zapier's AI-first hiring and onboarding</a> - New hires must now demonstrate AI fluency as standard requirement.&#127775;</p><p><a href="https://simonw.substack.com/p/the-last-six-months-in-llms-illustrated">The last six months in LLMs, illustrated by pelicans on bicycles</a> - Simon Willison covers recent LLM developments with creative imagery, ChatGPT prompting tips for a UK official, plus curated links and quotations for AI enthusiasts.</p><p><a href="https://dev.to/damogallagher/modernizing-legacy-struts2-applications-with-claude-code-a-developers-journey-2ea7]">Modernizing Legacy Struts2 Applications With Claude Code</a> - Damien Gallagher demonstrates AI-assisted migration from Struts2 to modern frameworks.</p><p><a href="https://medium.com/pinterest-engineering/adopting-docs-as-code-at-pinterest-4f18ad169c25">Adopting Docs-as-Code at Pinterest</a> - Pinterest Engineering reveals their shift to docs-as-code after traditional documentation methods failed.</p><p><a href="https://www.coderabbit.ai/blog/how-we-built-our-ai-code-review-tool-for-ides">How we built our AI code review tool for IDEs</a> - CodeRabbit</p><p><a href="https://www.latent.space/p/o3-pro">God is hungry for Context: First thoughts on o3 pro</a> - Ben Hylak reveals: OpenAI slashes o3 pricing while launching superior o3-pro variant.</p><p><a href="https://www.oreilly.com/radar/radar-trends-to-watch-june-2025/">Radar Trends to Watch: June 2025 &#8211; O'Reilly</a></p><p><a href="https://www.latent.space/p/token-data-war">SWE Agents Too Cheap To Meter, The Token Data War, and the rise of Tiny Teams</a> - Latent.Space explains how recent AI coding agents like Codex and Jules are being offered at no extra cost, encouraging developers to maximize their usage while highlighting upcoming AI engineering events and the trend of smaller development teams.</p><p><a href="https://levelup.gitconnected.com/can-ai-replace-software-architects-i-put-4-llms-to-the-test-a18b929f4f5d">Can AI Replace Software Architects? I Put 4 LLMs to the Test</a> - CloudWay</p><p><a href="https://www.snellman.net/blog/archive/2025-06-02-llms-are-cheap/">LLMs are cheap</a> - Mikael Snellman challenges the common misconception that Large Language Models are prohibitively expensive to operate</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uZTG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a66a218-4af4-44d0-b6b3-46ac64377f8e_2024x1044.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uZTG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a66a218-4af4-44d0-b6b3-46ac64377f8e_2024x1044.png 424w, https://substackcdn.com/image/fetch/$s_!uZTG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a66a218-4af4-44d0-b6b3-46ac64377f8e_2024x1044.png 848w, https://substackcdn.com/image/fetch/$s_!uZTG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a66a218-4af4-44d0-b6b3-46ac64377f8e_2024x1044.png 1272w, https://substackcdn.com/image/fetch/$s_!uZTG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a66a218-4af4-44d0-b6b3-46ac64377f8e_2024x1044.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uZTG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a66a218-4af4-44d0-b6b3-46ac64377f8e_2024x1044.png" width="1456" height="751" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a66a218-4af4-44d0-b6b3-46ac64377f8e_2024x1044.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:751,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:222630,&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://generativeprogrammer.com/i/167606857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a66a218-4af4-44d0-b6b3-46ac64377f8e_2024x1044.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_!uZTG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a66a218-4af4-44d0-b6b3-46ac64377f8e_2024x1044.png 424w, https://substackcdn.com/image/fetch/$s_!uZTG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a66a218-4af4-44d0-b6b3-46ac64377f8e_2024x1044.png 848w, https://substackcdn.com/image/fetch/$s_!uZTG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a66a218-4af4-44d0-b6b3-46ac64377f8e_2024x1044.png 1272w, https://substackcdn.com/image/fetch/$s_!uZTG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a66a218-4af4-44d0-b6b3-46ac64377f8e_2024x1044.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Why Go&#8217;s concurrency model is fit for agents</figcaption></figure></div><p><a href="https://docs.hatchet.run/blog/go-agents">Why Go is a good fit for agents</a> - Hatchet team notes Go's growing popularity in hybrid tech stacks for agent development.</p><p><a href="https://justin.searls.co/posts/why-agents-are-bad-pair-programmers/">Why agents are bad pair programmers</a> - Justin Searls: AI agents code faster than humans think, creating poor pairing dynamics.</p><p><a href="https://crawshaw.io/blog/programming-with-agents">How I program with Agents</a> - Crawshaw explores using AI agents as programming tools beyond simple autocomplete.</p><p><a href="https://workos.com/blog/securing-ai-agents">Securing AI agents: A guide to authentication, authorization, and defense</a> - WorkOS explains how to secure autonomous AI systems in applications.</p><p><a href="https://lucumr.pocoo.org/2025/6/12/agentic-coding/">Agentic Coding Recommendations</a> - Armin Ronacher reveals his cost-effective, token-optimized approach to AI coding assistants.</p><p><a href="https://cognition.ai/blog/dont-build-multi-agents#principles-of-context-engineering">Don't Build Multi-Agents</a> - Walden Yan from Cognition outlines why multi-agent systems fail and what works instead.</p><p><a href="https://rlancemartin.github.io/2025/06/10/aie/">The state of AI agents</a> - Lance Martin details the rise of autonomous background AI agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lWfi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43c51f4-3c74-4bd4-8e0f-4313ea8291d8_1600x570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lWfi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43c51f4-3c74-4bd4-8e0f-4313ea8291d8_1600x570.png 424w, https://substackcdn.com/image/fetch/$s_!lWfi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43c51f4-3c74-4bd4-8e0f-4313ea8291d8_1600x570.png 848w, https://substackcdn.com/image/fetch/$s_!lWfi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43c51f4-3c74-4bd4-8e0f-4313ea8291d8_1600x570.png 1272w, https://substackcdn.com/image/fetch/$s_!lWfi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43c51f4-3c74-4bd4-8e0f-4313ea8291d8_1600x570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lWfi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43c51f4-3c74-4bd4-8e0f-4313ea8291d8_1600x570.png" width="1456" height="519" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d43c51f4-3c74-4bd4-8e0f-4313ea8291d8_1600x570.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:519,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:483566,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/167606857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43c51f4-3c74-4bd4-8e0f-4313ea8291d8_1600x570.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!lWfi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43c51f4-3c74-4bd4-8e0f-4313ea8291d8_1600x570.png 424w, https://substackcdn.com/image/fetch/$s_!lWfi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43c51f4-3c74-4bd4-8e0f-4313ea8291d8_1600x570.png 848w, https://substackcdn.com/image/fetch/$s_!lWfi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43c51f4-3c74-4bd4-8e0f-4313ea8291d8_1600x570.png 1272w, https://substackcdn.com/image/fetch/$s_!lWfi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43c51f4-3c74-4bd4-8e0f-4313ea8291d8_1600x570.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">General categories of context engineering</figcaption></figure></div><p><a href="https://blog.langchain.com/context-engineering-for-agents/">Context Engineering</a> - Folks at Langchain examines techniques for managing LLM context windows efficiently.</p><p><a href="https://www.latent.space/p/anita-tdd">AI Agents, meet Test Driven Development</a> - Anita Kirkovska: Adapting TDD practices for more reliable AI agent development.</p><p><a href="https://www.geekwire.com/2025/takeaways-from-the-ai-engineer-worlds-fair-the-startup-playbook-is-being-rewritten-in-real-time/">Takeaways from the AI Engineer World's Fair...</a> - Patrick Ellis</p><p><a href="https://simonw.substack.com/p/trying-out-the-new-gemini-25-model">Trying out the new Gemini 2.5 model family</a> - Simon Willison reviews Gemini's new models with improved pricing and performance.</p><p><a href="https://blog.alexmaccaw.com/how-to-vibe-code-as-a-senior-engineer/">How to Vibe Code as a Senior Engineer</a> - Alex Maccaw reveals how AI transforms coding from expensive to efficient.</p><p><a href="https://www.docker.com/blog/introducing-docker-mcp-catalog-and-toolkit/">Introducing MCP Catalog and Toolkit</a> - Mark Cavage highlights Docker's vision for standardizing AI agent-tool connections with MCP.</p><p><a href="https://knightcolumbia.org/content/ai-as-normal-technology">AI as Normal Technology</a> - Nicholas Bagley argues AI should be viewed as normal technology, not superintelligence.</p><p><a href="https://www.amplifypartners.com/blog-posts/the-agent-first-developer-toolchain-how-ai-will-radically-transform-the-sdlc">The agent-first developer toolchain: how AI will radically transform the SDLC</a> - Amplify Partners: AI needs new dev toolchains, not just upgrades to old ones.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!laBw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c852464-fe93-4d7d-8540-db3724029ea1_1432x884.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!laBw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c852464-fe93-4d7d-8540-db3724029ea1_1432x884.avif 424w, https://substackcdn.com/image/fetch/$s_!laBw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c852464-fe93-4d7d-8540-db3724029ea1_1432x884.avif 848w, https://substackcdn.com/image/fetch/$s_!laBw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c852464-fe93-4d7d-8540-db3724029ea1_1432x884.avif 1272w, https://substackcdn.com/image/fetch/$s_!laBw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c852464-fe93-4d7d-8540-db3724029ea1_1432x884.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!laBw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c852464-fe93-4d7d-8540-db3724029ea1_1432x884.avif" width="1432" height="884" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c852464-fe93-4d7d-8540-db3724029ea1_1432x884.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:884,&quot;width&quot;:1432,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:10306,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/167606857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c852464-fe93-4d7d-8540-db3724029ea1_1432x884.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!laBw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c852464-fe93-4d7d-8540-db3724029ea1_1432x884.avif 424w, https://substackcdn.com/image/fetch/$s_!laBw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c852464-fe93-4d7d-8540-db3724029ea1_1432x884.avif 848w, https://substackcdn.com/image/fetch/$s_!laBw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c852464-fe93-4d7d-8540-db3724029ea1_1432x884.avif 1272w, https://substackcdn.com/image/fetch/$s_!laBw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c852464-fe93-4d7d-8540-db3724029ea1_1432x884.avif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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"><strong>app.build: Reliability vs Capabilities</strong></figcaption></figure></div><p><a href="https://neon.com/blog/design-decisions-behind-app-build">Design Decisions Behind app.build, a Prompt-to-App Generator</a> - Arseny Kravchenko details how Neon's app.build was engineered to prioritize reliability over feature complexity through scope limitations, FSM-guided tree-search, extensive validation systems, and an error analysis feedback loop.&#127775;</p><p><a href="https://www.latent.space/p/aiewf-2025-keynotes">AI Engineering Goes Mainstream</a> - Latent.Space shows the evolution of AI Engineering into a recognized professional discipline.</p><p><a href="https://blog.langchain.com/benchmarking-multi-agent-architectures/">Benchmarking Multi-Agent Architectures</a> - Will Fu-Hinthorn compares multi-agent systems and reveals key performance improvements.</p><p><a href="https://hamel.dev/blog/posts/prompt/">Fuck You, Show Me The Prompt</a> - Hamel Husain warns against tools that hide prompts from developers.</p><p><a href="https://medium.com/google-cloud/gen-ai-evaluation-service-computation-based-metrics-1d124c13b924">Gen AI Evaluation Service &#8212; Computation-Based Metrics</a> - Mete Atamel dives into computation-based metrics in Vertex AI's evaluation service, explaining their deterministic nature, requirement for ground truth references, and limitations in capturing language nuances.</p><p><a href="https://zed.dev/blog/dialing-back-my-llm-usage-with-alberto-fortin">Why I'm Dialing Back My LLM Usage &#8212; Zed's Blog</a> - Engineer's journey from LLM enthusiasm to practical skepticism.</p><p><a href="https://blog.singleton.io/posts/2025-06-14-coding-agents-cross-a-chasm/">Coding agents have crossed a chasm // flurries of latent creativity</a></p><p><a href="https://tidyfirst.substack.com/p/augmented-coding-beyond-the-vibes">Augmented Coding: Beyond the Vibes</a> - Kent Beck shares insights from building a B+ Tree with AI assistance.</p><p><a href="https://addyo.substack.com/p/the-ai-native-software-engineer">The AI-Native Software Engineer</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;7367a152-cf3a-4c0c-a8a5-8cca095a3fcd&quot;}" data-component-name="MentionToDOM"></span> explains how software engineers can adopt an AI-native mindset, treating AI as a collaborative partner that can dramatically amplify productivity and creativity rather than viewing it as a threat. &#127775;&#127775;&#127775;</p><p><a href="https://blog.sshh.io/p/how-to-stop-your-human-from-hallucinating">How to Stop Your Human From Hallucinating</a> - Shrivu Shankar reveals strategies for managing AI hallucinations in workflows.</p><p><a href="https://cedricchee.com/blog/the-dna-of-ai-agents/">The DNA of AI Agents: Common Patterns in Recent Design Principles</a> - Cedric Chee compares AI agent design frameworks, revealing shared patterns across different approaches.</p><p><a href="https://aipositive.substack.com/p/from-prompt-to-code-part-1-inside">From Prompt to Code</a> - Paul Datta breaks down how Gemini CLI translates prompts into executable code.</p><p><a href="https://blog.langchain.com/the-rise-of-context-engineering/">The rise of "context engineering"</a> - LangChain details how properly engineered context helps LLMs perform reliably.</p><p><a href="https://www.anthropic.com/research/project-vend-1">Project Vend: Can Claude run a small shop?</a> - Anthropic: AI-run store experiment shows Claude's potential and pitfalls in autonomous business management.</p><p><a href="https://rlancemartin.github.io/2025/06/23/context_engineering/">Context Engineering for Agents</a> - Lance Martin explains what goes into an LLM's limited context window for better agent performance.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JrGW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bf50b83-bbd9-4977-ac58-15e884de8f8d_6157x2760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JrGW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bf50b83-bbd9-4977-ac58-15e884de8f8d_6157x2760.png 424w, https://substackcdn.com/image/fetch/$s_!JrGW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bf50b83-bbd9-4977-ac58-15e884de8f8d_6157x2760.png 848w, https://substackcdn.com/image/fetch/$s_!JrGW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bf50b83-bbd9-4977-ac58-15e884de8f8d_6157x2760.png 1272w, https://substackcdn.com/image/fetch/$s_!JrGW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bf50b83-bbd9-4977-ac58-15e884de8f8d_6157x2760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JrGW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bf50b83-bbd9-4977-ac58-15e884de8f8d_6157x2760.png" width="1456" height="653" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9bf50b83-bbd9-4977-ac58-15e884de8f8d_6157x2760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:653,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1270959,&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://generativeprogrammer.com/i/167606857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bf50b83-bbd9-4977-ac58-15e884de8f8d_6157x2760.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_!JrGW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bf50b83-bbd9-4977-ac58-15e884de8f8d_6157x2760.png 424w, https://substackcdn.com/image/fetch/$s_!JrGW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bf50b83-bbd9-4977-ac58-15e884de8f8d_6157x2760.png 848w, https://substackcdn.com/image/fetch/$s_!JrGW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bf50b83-bbd9-4977-ac58-15e884de8f8d_6157x2760.png 1272w, https://substackcdn.com/image/fetch/$s_!JrGW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bf50b83-bbd9-4977-ac58-15e884de8f8d_6157x2760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Paper summarising agent with Kafka and Flink</figcaption></figure></div><p><a href="https://www.morling.dev/blog/this-ai-agent-should-have-been-sql-query/">This AI Agent Should Have Been a SQL Query</a> - Gunnar Morling contrasts pull-based SQL with push-based streaming queries.</p><p><a href="https://www.leoniemonigatti.com/blog/what_i_learned.html">37 Things I Learned About Information Retrieval in Two Years at a Vector Database Company</a> - Leonie Monigatti reveals key vector database lessons from industry experience.&#127775;</p><p><a href="https://austen.info/blog/github-copilot-agent-mcp/">Developing with GitHub Copilot Agent Mode and MCP</a> - Austen Stone reveals VS Code settings for customizing AI assistants to enhance coding efficiency.</p><p><a href="https://www.dbreunig.com/2025/06/22/how-contexts-fail-and-how-to-fix-them.html">How Long Contexts Fail</a> - Drew Breunig: Bigger AI context windows don't always mean better results.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1sHC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a68600-720c-485d-9961-f4091e637a3e_2160x1790.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1sHC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a68600-720c-485d-9961-f4091e637a3e_2160x1790.png 424w, https://substackcdn.com/image/fetch/$s_!1sHC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a68600-720c-485d-9961-f4091e637a3e_2160x1790.png 848w, https://substackcdn.com/image/fetch/$s_!1sHC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a68600-720c-485d-9961-f4091e637a3e_2160x1790.png 1272w, https://substackcdn.com/image/fetch/$s_!1sHC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a68600-720c-485d-9961-f4091e637a3e_2160x1790.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1sHC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a68600-720c-485d-9961-f4091e637a3e_2160x1790.png" width="1456" height="1207" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0a68600-720c-485d-9961-f4091e637a3e_2160x1790.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1207,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:318059,&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://generativeprogrammer.com/i/167606857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a68600-720c-485d-9961-f4091e637a3e_2160x1790.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_!1sHC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a68600-720c-485d-9961-f4091e637a3e_2160x1790.png 424w, https://substackcdn.com/image/fetch/$s_!1sHC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a68600-720c-485d-9961-f4091e637a3e_2160x1790.png 848w, https://substackcdn.com/image/fetch/$s_!1sHC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a68600-720c-485d-9961-f4091e637a3e_2160x1790.png 1272w, https://substackcdn.com/image/fetch/$s_!1sHC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a68600-720c-485d-9961-f4091e637a3e_2160x1790.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">What is the Context?</figcaption></figure></div><p><a href="https://www.philschmid.de/context-engineering">The New Skill in AI is Not Prompting, It's Context Engineering</a> - Philipp Schmid reveals why context quality trumps prompting in modern AI systems.</p><p><a href="https://www.llamaindex.ai/blog/context-engineering-what-it-is-and-techniques-to-consider">Context Engineering - What it is, and techniques to consider</a> - Tuana &#199;elik and Logan Markewich guide to designing AI systems with optimal contextual awareness.</p><p><a href="https://husseinmozannar.github.io/#/blog/web_agent_tutorial">Hussein Mozannar</a> - Hussein Mozannar shares a web agent development tutorial.</p><p><a href="https://huggingface.co/docs/smolagents/tutorials/building_good_agents">Building good agents</a> - Smolagents shares essential practices for creating functional AI agents.</p><h2><strong>&#127897;&#65039; YouTube &amp; Podcasts</strong></h2><p><a href="https://www.youtube.com/watch?v=zDmW5hJPsvQ">Claude Code: Anthropic's CLI Agent - YouTube</a> - Video explores Anthropic's new CLI coding tool amid intensifying AI coding competition.</p><p><a href="https://www.youtube.com/watch?v=IfW1FMDkw4k">AI Product Management - YouTube</a> - Aakash Gupta presents a comprehensive crash course covering essential AI PM skills from prompting to AI agents, designed to equip viewers with the knowledge needed to become effective AI product managers.</p><p><a href="https://www.youtube.com/watch?v=kqB_xML1SfA">MCP vs ACP vs A2A: Comparing Agent Protocols - YouTube</a> - Laurie Voss compares major agent protocols for AI resource integration.&#127775;</p><p><a href="https://www.youtube.com/watch?v=HdafI0t3sEY">RAG vs. CAG - YouTube</a> - This video explores the differences between Retrieval-Augmented Generation (RAG) and Context-Augmented Generation (CAG).</p><p><a href="https://www.youtube.com/watch?v=LCEmiRjPEtQ">Software Is Changing (Again) - YouTube</a> - Andrej Karpathy reveals how AI is revolutionizing software development practices. &#127775;&#127775; &#127775; </p><p><a href="https://www.youtube.com/watch?v=8kMaTybvDUw">12-Factor Agents - YouTube</a> - Dex Horthy reveals best practices for building dependable AI agent systems. &#127775;&#127775; &#127775;</p><h2><strong>&#128478;&#65039; News and Updates</strong></h2><p> <a href="https://x.com/AnthropicAI/status/1925926102725202163">THE WAY OF CODE</a></p><p><a href="https://x.com/latentspacepod/status/1925006338230517773">X - next level openai codex abuse</a></p><p><a href="https://mistral.ai/news/agents-api">Build AI agents with the Mistral Agents API</a> - Mistral introduces new Agents API.</p><p><a href="https://x.com/lefthanddraft/status/1919590839761743898">X - an easy way to extract ChatGPT's memory of you and metadata</a></p><p><a href="https://x.com/minchoi/status/1924114459506671733">X - Min Choi's new development flow</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_!TF69!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408ce8c5-e15b-4ff6-8044-7cd6ac03872b_1084x1116.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TF69!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408ce8c5-e15b-4ff6-8044-7cd6ac03872b_1084x1116.png 424w, https://substackcdn.com/image/fetch/$s_!TF69!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408ce8c5-e15b-4ff6-8044-7cd6ac03872b_1084x1116.png 848w, https://substackcdn.com/image/fetch/$s_!TF69!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408ce8c5-e15b-4ff6-8044-7cd6ac03872b_1084x1116.png 1272w, https://substackcdn.com/image/fetch/$s_!TF69!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408ce8c5-e15b-4ff6-8044-7cd6ac03872b_1084x1116.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TF69!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408ce8c5-e15b-4ff6-8044-7cd6ac03872b_1084x1116.png" width="1084" height="1116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/408ce8c5-e15b-4ff6-8044-7cd6ac03872b_1084x1116.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1116,&quot;width&quot;:1084,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:493561,&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://generativeprogrammer.com/i/167606857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408ce8c5-e15b-4ff6-8044-7cd6ac03872b_1084x1116.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_!TF69!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408ce8c5-e15b-4ff6-8044-7cd6ac03872b_1084x1116.png 424w, https://substackcdn.com/image/fetch/$s_!TF69!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408ce8c5-e15b-4ff6-8044-7cd6ac03872b_1084x1116.png 848w, https://substackcdn.com/image/fetch/$s_!TF69!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408ce8c5-e15b-4ff6-8044-7cd6ac03872b_1084x1116.png 1272w, https://substackcdn.com/image/fetch/$s_!TF69!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408ce8c5-e15b-4ff6-8044-7cd6ac03872b_1084x1116.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">RAG vs CAG</figcaption></figure></div><p><a href="https://x.com/Aurimas_Gr/status/1920809442326479135">X - Aurimas' RAG vs CAG</a></p><p><a href="https://ainativedev.io/news/vibe-rules">Vibes, Rules, it's getting messy!</a> - Dion Almaer examines the evolving tension between intuitive "vibe-based" development approaches and traditional rule-based methodologies in AI-native development environments.</p><p><a href="https://langfuse.com/blog/2025-06-04-open-sourcing-langfuse-product">Doubling Down on Open Source</a> - Langfuse announces: All features now MIT-licensed for free self-hosting.</p><p><a href="https://x.com/LangChainAI/status/1940440271126438118">X - Context Engineering</a></p><p><a href="https://x.com/immasiddx/status/1669721470006857729">X - did you know</a> ChatGPT gave you free Windows 10 Pro keys!</p><h2><strong>&#128736;&#65039; Tech &amp; Tools</strong></h2><p><a href="https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools">GitHub - x1xhlol/system-prompts-and-models-of-ai-tools: FULL v0, Cursor, Manus, Lovable...</a> - extensive AI tool prompts and models for developer reference. &#127775;&#127775;&#127775;</p><p><a href="https://repoprompt.com/">Repo Prompt</a> - A frictionless app for AI-powered code iteration.</p><p><a href="https://github.com/mindsdb/mindsdb">GitHub - mindsdb/mindsdb</a> - A unified AI query engine for connecting and extracting insights across scattered data sources.</p><p><a href="https://streamnative.io/blog/introducing-the-streamnative-agent-engine">StreamNative Agent Engine: Event-Driven Runtime for Real-Time AI Agents</a></p><p><a href="https://claude.site/artifacts/481c6df0-3b94-4d77-a2c9-cb2ad689e2f4">Claude Code &#8211; Hidden&#8209;Gems</a> - power features for maximizing Claude's capabilities.</p><p><a href="https://github.com/going-doer/Paper2Code">GitHub - going-doer/Paper2Code: Paper2Code: Automating Code Generation from Scientific Papers</a></p><p><a href="https://zed.dev/">Zed &#8212; The editor for what's next</a> - A Rust-built code editor integrating AI for collaborative development.</p><p><a href="https://github.com/BoundaryML/baml">GitHub - BoundaryML/baml</a> - A language for reliable AI prompts with multi-language support.</p><p><a href="https://github.com/github/github-mcp-server">GitHub - github/github-mcp-server: GitHub's official MCP Server</a> - for connecting GitHub APIs with developer tools.</p><p><a href="https://github.com/GoogleCloudPlatform/cloud-run-mcp">GitHub - GoogleCloudPlatform/cloud-run-mcp</a> - MCP server to deploy apps to Cloud Run</p><p><a href="https://sketch.dev/welcome">sketch.dev</a> - A containerized coding assistant for parallel development workflows.</p><p><a href="https://github.com/sst/opencode">GitHub - sst/opencode</a> - a terminal-based AI coding assistant that helps developers integrate AI capabilities directly into their command line workflow.</p><p><a href="https://block.github.io/goose/">codename goose</a> - a customizable local AI assistant for developers that automates complex tasks.</p><p><a href="https://docs.cursor.com/background-agent">Cursor &#8211; Background Agents</a> - Cursor introduced asynchronous code agents that work independently and push to GitHub.</p><p><a href="https://www.kaibanjs.com/">KaibanJS</a> - Kanban-inspired JavaScript framework for orchestrating AI agent systems.</p><p><a href="https://github.com/dagger/container-use">GitHub - dagger/container-use</a> - Containerized environments for multiple AI coding agents to work independently.</p><p><a href="https://moonshotai.github.io/Kimi-Dev/">Kimi-Dev-72B</a> - open-source coding model trained to fix real code issues.</p><p><a href="https://www.tbench.ai/">Terminal-Bench</a> - Netlify presents a benchmark for measuring AI agents' terminal capabilities.</p><p><a href="https://docs.anthropic.com/en/docs/claude-code/hooks">Hooks - Anthropic</a> - Did you know, Anthropic has customizable shell commands for extending Claude Code with automated behaviors.</p><p><a href="https://www.qodo.ai/blog/introducing-qodo-gen-cli-build-run-and-automate-agents-anywhere-in-your-sdlc/">Introducing Qodo Gen CLI</a> - New CLI tool for building and running AI agents anywhere, and transform any IDE into an agentic environment.</p><p><a href="https://dosu.dev/">Dosu | You build. Dosu documents.</a> - A tool that converts codebases into living documentation for all team members. </p><h2><strong>&#128218; Learning Picks</strong></h2><p><a href="https://pair.withgoogle.com/explorables/">AI Explorables | PAIR</a> - PAIR team breaks down complex ML concepts through interactive essays.</p><p><a href="https://building-with-llms-pycon-2025.readthedocs.io/en/latest/">Building software on top of LLMs</a> - Simon Willison demonstrates LLM integration techniques for developers at PyCon 2025.</p><p><a href="https://github.com/langchain-ai/rag-from-scratch">GitHub - langchain-ai/rag-from-scratch</a> - Langchain-ai demonstrates how to build RAG systems from scratch to expand LLM capabilities.</p><h2><strong>&#127917; AI Humor</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!facT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!facT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.jpeg 424w, https://substackcdn.com/image/fetch/$s_!facT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.jpeg 848w, https://substackcdn.com/image/fetch/$s_!facT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!facT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!facT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.jpeg" width="1221" height="1189" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1189,&quot;width&quot;:1221,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:100356,&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://generativeprogrammer.com/i/167606857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.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_!facT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.jpeg 424w, https://substackcdn.com/image/fetch/$s_!facT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.jpeg 848w, https://substackcdn.com/image/fetch/$s_!facT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!facT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f8ff046-1022-43f1-bc4a-54b7a0f21ed3_1221x1189.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></figure></div><p>&#128579; <a href="https://www.linkedin.com/posts/eordax_ai-genai-vibe-activity-7338623188848799745-KFgy/">source</a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/p/generative-programmer-issue-14?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://generativeprogrammer.com/p/generative-programmer-issue-14?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>&#128075; See You Next Week</h2><p>Thanks for reading <em>Generative Programmer</em>! &#128591; </p><p>If you like the content please support my newsletter by subscribing and sharing with your network: <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">X</a> &#183; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a> &#183; <a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a> &#183; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a>. Have a great rest of the week! </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.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://generativeprogrammer.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Agent Communication Protocols Landscape]]></title><description><![CDATA[An Evergreen List of Agent Communication Protocols (06/2025)]]></description><link>https://generativeprogrammer.com/p/agent-communication-protocols-landscape</link><guid isPermaLink="false">https://generativeprogrammer.com/p/agent-communication-protocols-landscape</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Fri, 20 Jun 2025 08:14:46 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1dd03ffc-5320-49b3-9e86-214dd1e23d11_1560x1266.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This list captures notable communication protocol efforts across AI agent ecosystems. It is a living post continuously updated as new protocols emerge.  <strong>&#128278;Bookmark it&#128278;</strong> for future updates and comment bellow when you discover a new protocol worth including.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e6lJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33371023-dcf9-4230-ae48-8344bc36d5e7_4503x4023.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e6lJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33371023-dcf9-4230-ae48-8344bc36d5e7_4503x4023.png 424w, https://substackcdn.com/image/fetch/$s_!e6lJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33371023-dcf9-4230-ae48-8344bc36d5e7_4503x4023.png 848w, https://substackcdn.com/image/fetch/$s_!e6lJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33371023-dcf9-4230-ae48-8344bc36d5e7_4503x4023.png 1272w, https://substackcdn.com/image/fetch/$s_!e6lJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33371023-dcf9-4230-ae48-8344bc36d5e7_4503x4023.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e6lJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33371023-dcf9-4230-ae48-8344bc36d5e7_4503x4023.png" width="1456" height="1301" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/33371023-dcf9-4230-ae48-8344bc36d5e7_4503x4023.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1301,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4778064,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33371023-dcf9-4230-ae48-8344bc36d5e7_4503x4023.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!e6lJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33371023-dcf9-4230-ae48-8344bc36d5e7_4503x4023.png 424w, https://substackcdn.com/image/fetch/$s_!e6lJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33371023-dcf9-4230-ae48-8344bc36d5e7_4503x4023.png 848w, https://substackcdn.com/image/fetch/$s_!e6lJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33371023-dcf9-4230-ae48-8344bc36d5e7_4503x4023.png 1272w, https://substackcdn.com/image/fetch/$s_!e6lJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33371023-dcf9-4230-ae48-8344bc36d5e7_4503x4023.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">Agent Communication Protocols Landscape (Updated 06/2025)</figcaption></figure></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.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! 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>There's no established classification system for AI agent protocols, but this <a href="https://arxiv.org/abs/2504.16736">white paper</a> has emerged as the most popular approach recently. Understanding these key dimensions helps organize the growing ecosystem of protocols.</p><ul><li><p><strong>Context-Oriented vs. Inter-Agent</strong></p><ul><li><p><strong>Context-Oriented protocols</strong> enable agents to connect with external resources such as databases, APIs, tools, and services. These protocols standardize how agents acquire context and invoke capabilities beyond their core LLM, essentially acting as a bridge between AI and existing systems.</p></li><li><p><strong>Inter-Agent protocols</strong> facilitate communication between multiple agents, enabling collaboration, task delegation, and distributed problem-solving. They define how agents discover each other, negotiate capabilities, and coordinate workflows across different systems or vendors.</p></li></ul></li><li><p><strong>General-Purpose vs. Domain-Specific</strong></p><ul><li><p><strong>General-Purpose protocols</strong> support broad use cases across industries and applications. They provide universal interfaces that work with diverse agent types, tools, and scenarios, prioritizing flexibility and wide adoption over specialized optimization.</p></li><li><p><strong>Domain-Specific protocols</strong> are optimized for particular environments or use cases like human-agent interaction, robot coordination, IoT integration, or enterprise workflows. They sacrifice broad compatibility for deep functionality in their target domain.</p></li></ul></li></ul><p>Some protocols blur these boundaries by offering general frameworks with domain-specific extensions, or providing both context acquisition and inter-agent capabilities within a unified specification.</p><h1>TLDR</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vWO8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a01ed39-cb9f-47fb-8536-81905d43d82f_1248x644.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vWO8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a01ed39-cb9f-47fb-8536-81905d43d82f_1248x644.png 424w, https://substackcdn.com/image/fetch/$s_!vWO8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a01ed39-cb9f-47fb-8536-81905d43d82f_1248x644.png 848w, https://substackcdn.com/image/fetch/$s_!vWO8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a01ed39-cb9f-47fb-8536-81905d43d82f_1248x644.png 1272w, https://substackcdn.com/image/fetch/$s_!vWO8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a01ed39-cb9f-47fb-8536-81905d43d82f_1248x644.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vWO8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a01ed39-cb9f-47fb-8536-81905d43d82f_1248x644.png" width="1248" height="644" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a01ed39-cb9f-47fb-8536-81905d43d82f_1248x644.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:644,&quot;width&quot;:1248,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:327212,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a01ed39-cb9f-47fb-8536-81905d43d82f_1248x644.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!vWO8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a01ed39-cb9f-47fb-8536-81905d43d82f_1248x644.png 424w, https://substackcdn.com/image/fetch/$s_!vWO8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a01ed39-cb9f-47fb-8536-81905d43d82f_1248x644.png 848w, https://substackcdn.com/image/fetch/$s_!vWO8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a01ed39-cb9f-47fb-8536-81905d43d82f_1248x644.png 1272w, https://substackcdn.com/image/fetch/$s_!vWO8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a01ed39-cb9f-47fb-8536-81905d43d82f_1248x644.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"><strong>Top 3 Agent Communication Protocols</strong></figcaption></figure></div><p>This space is moving incredibly fast, but if all you want something that actually works in production today, there are really only 3 options:</p><ul><li><p><strong>MCP - 100K+ GitHub stars, the clear winner from Anthropic</strong></p></li><li><p><strong>A2A - 20K+ stars, Google's enterprise play</strong></p></li><li><p><strong>AG-UI - 4K+ stars, focused on agent-to-UI communication</strong></p></li></ul><p>Agent Protocol and agents.json recently passed 1K stars and everything else is sub-1K stars and mostly experimental and even theoretical.</p><h1>The List</h1><h4><strong><a href="https://www.anthropic.com/news/model-context-protocol">Model Context Protocol (MCP)</a></strong></h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!drT_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ddbce0c-f2ea-4cfd-a4a7-11a05e69d08b_1246x786.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!drT_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ddbce0c-f2ea-4cfd-a4a7-11a05e69d08b_1246x786.png 424w, https://substackcdn.com/image/fetch/$s_!drT_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ddbce0c-f2ea-4cfd-a4a7-11a05e69d08b_1246x786.png 848w, https://substackcdn.com/image/fetch/$s_!drT_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ddbce0c-f2ea-4cfd-a4a7-11a05e69d08b_1246x786.png 1272w, https://substackcdn.com/image/fetch/$s_!drT_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ddbce0c-f2ea-4cfd-a4a7-11a05e69d08b_1246x786.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!drT_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ddbce0c-f2ea-4cfd-a4a7-11a05e69d08b_1246x786.png" width="1246" height="786" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ddbce0c-f2ea-4cfd-a4a7-11a05e69d08b_1246x786.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:786,&quot;width&quot;:1246,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:690459,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ddbce0c-f2ea-4cfd-a4a7-11a05e69d08b_1246x786.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_!drT_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ddbce0c-f2ea-4cfd-a4a7-11a05e69d08b_1246x786.png 424w, https://substackcdn.com/image/fetch/$s_!drT_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ddbce0c-f2ea-4cfd-a4a7-11a05e69d08b_1246x786.png 848w, https://substackcdn.com/image/fetch/$s_!drT_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ddbce0c-f2ea-4cfd-a4a7-11a05e69d08b_1246x786.png 1272w, https://substackcdn.com/image/fetch/$s_!drT_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ddbce0c-f2ea-4cfd-a4a7-11a05e69d08b_1246x786.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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"><strong>Visual Guide to MCP (<a href="https://www.dailydoseofds.com/p/visual-guide-to-model-context-protocol-mcp/">source</a>)</strong></figcaption></figure></div><p>MCP is Anthropic's universal protocol for connecting LLM agents to external resources through a client-server architecture. Uses JSON-RPC for standardized tool invocation and data access while decoupling sensitive operations from LLM responses. Provides a unified interface for integrating databases, APIs, and services across different LLM providers. Most adopted protocol currently. Does not focus on agent-to-agent communication. Lacks strong async support (to be addressed). No registry, authorization, or reputation system yet. Highly duplicative of other protocols, but adopted.</p><h4><strong><a href="https://github.com/google/A2A">Agent2Agent (A2A)</a></strong> </h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qKpI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef6eeb7-f1e8-43db-b6f8-2d8132c9736f_1008x752.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qKpI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef6eeb7-f1e8-43db-b6f8-2d8132c9736f_1008x752.png 424w, https://substackcdn.com/image/fetch/$s_!qKpI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef6eeb7-f1e8-43db-b6f8-2d8132c9736f_1008x752.png 848w, https://substackcdn.com/image/fetch/$s_!qKpI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef6eeb7-f1e8-43db-b6f8-2d8132c9736f_1008x752.png 1272w, https://substackcdn.com/image/fetch/$s_!qKpI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef6eeb7-f1e8-43db-b6f8-2d8132c9736f_1008x752.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qKpI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef6eeb7-f1e8-43db-b6f8-2d8132c9736f_1008x752.png" width="1008" height="752" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ef6eeb7-f1e8-43db-b6f8-2d8132c9736f_1008x752.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:752,&quot;width&quot;:1008,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:117654,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef6eeb7-f1e8-43db-b6f8-2d8132c9736f_1008x752.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_!qKpI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef6eeb7-f1e8-43db-b6f8-2d8132c9736f_1008x752.png 424w, https://substackcdn.com/image/fetch/$s_!qKpI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef6eeb7-f1e8-43db-b6f8-2d8132c9736f_1008x752.png 848w, https://substackcdn.com/image/fetch/$s_!qKpI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef6eeb7-f1e8-43db-b6f8-2d8132c9736f_1008x752.png 1272w, https://substackcdn.com/image/fetch/$s_!qKpI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef6eeb7-f1e8-43db-b6f8-2d8132c9736f_1008x752.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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"><strong>A2A Protocol (Source:<a href="https://google.github.io/A2A/#/"> Google</a>)</strong></figcaption></figure></div><p>Google's protocol for complex agent collaboration using HTTP(S), JSON-RPC 2.0, and Server-Sent Events. Emphasizes async-first architecture with task management, multimodal support, and built-in enterprise security features. Enables agents to collaborate through capability discovery and user experience negotiation without sharing internal implementation details. Built on existing protocols with strong async support specifically for long-running agent interactions.</p><h3><strong><a href="https://github.com/ag-ui-protocol/ag-ui">AG-UI Protocol</a></strong></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CRgf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57dfffc-d1f6-4481-abef-4e11a528f84a_1460x414.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CRgf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57dfffc-d1f6-4481-abef-4e11a528f84a_1460x414.png 424w, https://substackcdn.com/image/fetch/$s_!CRgf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57dfffc-d1f6-4481-abef-4e11a528f84a_1460x414.png 848w, https://substackcdn.com/image/fetch/$s_!CRgf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57dfffc-d1f6-4481-abef-4e11a528f84a_1460x414.png 1272w, https://substackcdn.com/image/fetch/$s_!CRgf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57dfffc-d1f6-4481-abef-4e11a528f84a_1460x414.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CRgf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57dfffc-d1f6-4481-abef-4e11a528f84a_1460x414.png" width="1456" height="413" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a57dfffc-d1f6-4481-abef-4e11a528f84a_1460x414.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:413,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:61447,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57dfffc-d1f6-4481-abef-4e11a528f84a_1460x414.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_!CRgf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57dfffc-d1f6-4481-abef-4e11a528f84a_1460x414.png 424w, https://substackcdn.com/image/fetch/$s_!CRgf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57dfffc-d1f6-4481-abef-4e11a528f84a_1460x414.png 848w, https://substackcdn.com/image/fetch/$s_!CRgf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57dfffc-d1f6-4481-abef-4e11a528f84a_1460x414.png 1272w, https://substackcdn.com/image/fetch/$s_!CRgf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57dfffc-d1f6-4481-abef-4e11a528f84a_1460x414.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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"><strong>AG-UI Architecture</strong></figcaption></figure></div><p>Lightweight, event-driven protocol standardizing AI agent connections to front-end applications through streaming HTTP interfaces. Implements 16 typed event categories (lifecycle, messages, tool calls, state management) with support for Server-Sent Events and binary protocols. Features bidirectional state synchronization using JSON Patch deltas, real-time UI updates, and human-in-the-loop workflows through Observable-based agent execution model.</p><h4><strong><a href="https://github.com/wild-card-ai/agents-json">agents.json</a></strong></h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B5KV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82948694-3bff-4b21-981e-f03f4fea96fd_4383x2126.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B5KV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82948694-3bff-4b21-981e-f03f4fea96fd_4383x2126.png 424w, https://substackcdn.com/image/fetch/$s_!B5KV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82948694-3bff-4b21-981e-f03f4fea96fd_4383x2126.png 848w, https://substackcdn.com/image/fetch/$s_!B5KV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82948694-3bff-4b21-981e-f03f4fea96fd_4383x2126.png 1272w, https://substackcdn.com/image/fetch/$s_!B5KV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82948694-3bff-4b21-981e-f03f4fea96fd_4383x2126.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B5KV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82948694-3bff-4b21-981e-f03f4fea96fd_4383x2126.png" width="1456" height="706" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82948694-3bff-4b21-981e-f03f4fea96fd_4383x2126.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:706,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6122724,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82948694-3bff-4b21-981e-f03f4fea96fd_4383x2126.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_!B5KV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82948694-3bff-4b21-981e-f03f4fea96fd_4383x2126.png 424w, https://substackcdn.com/image/fetch/$s_!B5KV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82948694-3bff-4b21-981e-f03f4fea96fd_4383x2126.png 848w, https://substackcdn.com/image/fetch/$s_!B5KV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82948694-3bff-4b21-981e-f03f4fea96fd_4383x2126.png 1272w, https://substackcdn.com/image/fetch/$s_!B5KV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82948694-3bff-4b21-981e-f03f4fea96fd_4383x2126.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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"><strong>agent-json overview</strong></figcaption></figure></div><p>OpenAPI-based specification for making websites AI-agent compatible through machine-readable contracts. Hosted at <code>/.well-known/agents.json</code>, it defines flows (multi-step API sequences) and data dependencies between actions. Enables agents to discover and interact with web services without custom prompt engineering or integration work. Describes not just API calls but how to chain them together to achieve goals.</p><h4><strong><a href="https://www.agent-network-protocol.com/">Agent Network Protocol (ANP)</a></strong> </h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hESc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332cac90-01be-4147-9218-ba0c31a939fe_1134x946.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hESc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332cac90-01be-4147-9218-ba0c31a939fe_1134x946.png 424w, https://substackcdn.com/image/fetch/$s_!hESc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332cac90-01be-4147-9218-ba0c31a939fe_1134x946.png 848w, https://substackcdn.com/image/fetch/$s_!hESc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332cac90-01be-4147-9218-ba0c31a939fe_1134x946.png 1272w, https://substackcdn.com/image/fetch/$s_!hESc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332cac90-01be-4147-9218-ba0c31a939fe_1134x946.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hESc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332cac90-01be-4147-9218-ba0c31a939fe_1134x946.png" width="1134" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/332cac90-01be-4147-9218-ba0c31a939fe_1134x946.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1134,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:125631,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332cac90-01be-4147-9218-ba0c31a939fe_1134x946.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_!hESc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332cac90-01be-4147-9218-ba0c31a939fe_1134x946.png 424w, https://substackcdn.com/image/fetch/$s_!hESc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332cac90-01be-4147-9218-ba0c31a939fe_1134x946.png 848w, https://substackcdn.com/image/fetch/$s_!hESc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332cac90-01be-4147-9218-ba0c31a939fe_1134x946.png 1272w, https://substackcdn.com/image/fetch/$s_!hESc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332cac90-01be-4147-9218-ba0c31a939fe_1134x946.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">ANP Architecture</figcaption></figure></div><p>Open-source protocol for cross-domain agent communication using W3C DID standards for decentralized identity. Features three layers: identity/encryption, meta-protocol negotiation, and application protocols for agent discovery and interaction. Designed to create an "Internet of Agents" with native machine-to-machine interfaces rather than human-centric web interactions. </p><h4><strong><a href="https://agentprotocol.ai/">Agent Protocol</a></strong> </h4><p>AI Engineer Foundation's framework-agnostic standard for agent lifecycle management using RESTful APIs and OpenAPI v3. Defines core abstractions for Runs (task execution), Threads (multi-turn interactions), and Store (persistent memory). Enables control consoles to manage heterogeneous agents across diverse systems with standardized operations. </p><h4><strong><a href="https://aitp.dev/">Agent Interaction &amp; Transaction Protocol (AITP)</a></strong> </h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tmFQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c5b41a-aa85-43b7-b2ef-891cb2efc0dc_3268x1413.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tmFQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c5b41a-aa85-43b7-b2ef-891cb2efc0dc_3268x1413.png 424w, https://substackcdn.com/image/fetch/$s_!tmFQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c5b41a-aa85-43b7-b2ef-891cb2efc0dc_3268x1413.png 848w, https://substackcdn.com/image/fetch/$s_!tmFQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c5b41a-aa85-43b7-b2ef-891cb2efc0dc_3268x1413.png 1272w, https://substackcdn.com/image/fetch/$s_!tmFQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c5b41a-aa85-43b7-b2ef-891cb2efc0dc_3268x1413.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tmFQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c5b41a-aa85-43b7-b2ef-891cb2efc0dc_3268x1413.png" width="1456" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28c5b41a-aa85-43b7-b2ef-891cb2efc0dc_3268x1413.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:240256,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c5b41a-aa85-43b7-b2ef-891cb2efc0dc_3268x1413.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_!tmFQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c5b41a-aa85-43b7-b2ef-891cb2efc0dc_3268x1413.png 424w, https://substackcdn.com/image/fetch/$s_!tmFQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c5b41a-aa85-43b7-b2ef-891cb2efc0dc_3268x1413.png 848w, https://substackcdn.com/image/fetch/$s_!tmFQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c5b41a-aa85-43b7-b2ef-891cb2efc0dc_3268x1413.png 1272w, https://substackcdn.com/image/fetch/$s_!tmFQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c5b41a-aa85-43b7-b2ef-891cb2efc0dc_3268x1413.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">AITP specifically addresses interactions across trust boundaries</figcaption></figure></div><p>NEAR Foundation's blockchain-based protocol for secure agent communication across trust boundaries. Supports autonomous negotiation and value exchange through structured capabilities and thread-based communication. Explicitly designed for cross-organizational agent interactions with built-in identity verification and transaction capabilities. Focuses on cost negotiation and allows competing agents to bid to solve problems.</p><h3><a href="https://summoner.org/">Summoner Protocol (SPTL)</a></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Pa9_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794529c1-984f-4ab9-896a-6ffaf3895f90_500x445.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Pa9_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794529c1-984f-4ab9-896a-6ffaf3895f90_500x445.avif 424w, https://substackcdn.com/image/fetch/$s_!Pa9_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794529c1-984f-4ab9-896a-6ffaf3895f90_500x445.avif 848w, https://substackcdn.com/image/fetch/$s_!Pa9_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794529c1-984f-4ab9-896a-6ffaf3895f90_500x445.avif 1272w, https://substackcdn.com/image/fetch/$s_!Pa9_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794529c1-984f-4ab9-896a-6ffaf3895f90_500x445.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Pa9_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794529c1-984f-4ab9-896a-6ffaf3895f90_500x445.avif" width="500" height="445" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/794529c1-984f-4ab9-896a-6ffaf3895f90_500x445.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:445,&quot;width&quot;:500,&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_!Pa9_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794529c1-984f-4ab9-896a-6ffaf3895f90_500x445.avif 424w, https://substackcdn.com/image/fetch/$s_!Pa9_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794529c1-984f-4ab9-896a-6ffaf3895f90_500x445.avif 848w, https://substackcdn.com/image/fetch/$s_!Pa9_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794529c1-984f-4ab9-896a-6ffaf3895f90_500x445.avif 1272w, https://substackcdn.com/image/fetch/$s_!Pa9_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794529c1-984f-4ab9-896a-6ffaf3895f90_500x445.avif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Summoner Product Features</figcaption></figure></div><p>Summoner is a modular runtime and SDK for building and coordinating autonomous agents across networks. It combines a Python client, Rust relay server, and optional desktop UI. Implements the SPTL protocol with self-issued cryptographic identities, encrypted relay routing, and behavior-based reputation for trust. Supports native micropayments (ERC-20 compatible) and modular SDK extensions for composable agent systems. Focused on decentralized, enterprise-grade agent networks with verifiable communication and privacy.</p><p>Positioned as an <strong>open, peer-to-peer alternative</strong> to hub-based systems like MCP or A2A, Summoner aims to establish the <strong>foundational protocol for the autonomous agent economy</strong>.</p><h4><strong><a href="https://agntcy.org/">Agent Connect Protocol (AConP)</a></strong> </h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!77Bs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e66f4c7-b017-4612-b0d8-7ed9443f00ee_1872x842.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!77Bs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e66f4c7-b017-4612-b0d8-7ed9443f00ee_1872x842.jpeg 424w, https://substackcdn.com/image/fetch/$s_!77Bs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e66f4c7-b017-4612-b0d8-7ed9443f00ee_1872x842.jpeg 848w, https://substackcdn.com/image/fetch/$s_!77Bs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e66f4c7-b017-4612-b0d8-7ed9443f00ee_1872x842.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!77Bs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e66f4c7-b017-4612-b0d8-7ed9443f00ee_1872x842.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!77Bs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e66f4c7-b017-4612-b0d8-7ed9443f00ee_1872x842.jpeg" width="1456" height="655" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e66f4c7-b017-4612-b0d8-7ed9443f00ee_1872x842.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:655,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:183971,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e66f4c7-b017-4612-b0d8-7ed9443f00ee_1872x842.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_!77Bs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e66f4c7-b017-4612-b0d8-7ed9443f00ee_1872x842.jpeg 424w, https://substackcdn.com/image/fetch/$s_!77Bs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e66f4c7-b017-4612-b0d8-7ed9443f00ee_1872x842.jpeg 848w, https://substackcdn.com/image/fetch/$s_!77Bs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e66f4c7-b017-4612-b0d8-7ed9443f00ee_1872x842.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!77Bs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e66f4c7-b017-4612-b0d8-7ed9443f00ee_1872x842.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">Agent Connect Protocol Architecture</figcaption></figure></div><p>Cisco/LangChain specification defining standard APIs for agent invocation and configuration using OpenAPI and JSON. Provides endpoints for agent lifecycle management (run, interrupt, resume) and thread-based interactions. Features a distributed registry for global agent discovery and includes agent distribution mechanisms for downloading and executing agents locally.</p><h4><strong><a href="https://github.com/i-am-bee/ACP">Agent Communication Protocol (AComP)</a></strong> </h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oODk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9ccd6e-6f43-488b-bca4-97dcbb5a3a3d_1186x686.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oODk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9ccd6e-6f43-488b-bca4-97dcbb5a3a3d_1186x686.png 424w, https://substackcdn.com/image/fetch/$s_!oODk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9ccd6e-6f43-488b-bca4-97dcbb5a3a3d_1186x686.png 848w, https://substackcdn.com/image/fetch/$s_!oODk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9ccd6e-6f43-488b-bca4-97dcbb5a3a3d_1186x686.png 1272w, https://substackcdn.com/image/fetch/$s_!oODk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9ccd6e-6f43-488b-bca4-97dcbb5a3a3d_1186x686.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oODk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9ccd6e-6f43-488b-bca4-97dcbb5a3a3d_1186x686.png" width="1186" height="686" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab9ccd6e-6f43-488b-bca4-97dcbb5a3a3d_1186x686.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:686,&quot;width&quot;:1186,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66482,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9ccd6e-6f43-488b-bca4-97dcbb5a3a3d_1186x686.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_!oODk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9ccd6e-6f43-488b-bca4-97dcbb5a3a3d_1186x686.png 424w, https://substackcdn.com/image/fetch/$s_!oODk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9ccd6e-6f43-488b-bca4-97dcbb5a3a3d_1186x686.png 848w, https://substackcdn.com/image/fetch/$s_!oODk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9ccd6e-6f43-488b-bca4-97dcbb5a3a3d_1186x686.png 1272w, https://substackcdn.com/image/fetch/$s_!oODk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab9ccd6e-6f43-488b-bca4-97dcbb5a3a3d_1186x686.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Multi-agent orchestration example</figcaption></figure></div><p>Open protocol for agent interoperability by IBM using standardized RESTful APIs that support all modalities, async/sync communication, and streaming interactions. Built under the Linux Foundation with BeeAI as reference implementation, focuses on seamless agent replacement, multi-agent collaboration, and cross-platform integration. Features offline discovery, mimetype-based content handling, and works with any framework without requiring SDKs.</p><h4><strong><a href="https://arxiv.org/abs/2410.11905">Agora Protocol</a> </strong> </h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vyqb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0236f11f-0ce1-49a7-8c28-8b10b406ec75_1684x1100.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vyqb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0236f11f-0ce1-49a7-8c28-8b10b406ec75_1684x1100.png 424w, https://substackcdn.com/image/fetch/$s_!vyqb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0236f11f-0ce1-49a7-8c28-8b10b406ec75_1684x1100.png 848w, https://substackcdn.com/image/fetch/$s_!vyqb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0236f11f-0ce1-49a7-8c28-8b10b406ec75_1684x1100.png 1272w, https://substackcdn.com/image/fetch/$s_!vyqb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0236f11f-0ce1-49a7-8c28-8b10b406ec75_1684x1100.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vyqb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0236f11f-0ce1-49a7-8c28-8b10b406ec75_1684x1100.png" width="1456" height="951" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0236f11f-0ce1-49a7-8c28-8b10b406ec75_1684x1100.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:951,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:262619,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0236f11f-0ce1-49a7-8c28-8b10b406ec75_1684x1100.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_!vyqb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0236f11f-0ce1-49a7-8c28-8b10b406ec75_1684x1100.png 424w, https://substackcdn.com/image/fetch/$s_!vyqb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0236f11f-0ce1-49a7-8c28-8b10b406ec75_1684x1100.png 848w, https://substackcdn.com/image/fetch/$s_!vyqb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0236f11f-0ce1-49a7-8c28-8b10b406ec75_1684x1100.png 1272w, https://substackcdn.com/image/fetch/$s_!vyqb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0236f11f-0ce1-49a7-8c28-8b10b406ec75_1684x1100.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">The Trilemma Agora balances efficiency, portability and versatility</figcaption></figure></div><p>University of Oxford's meta-protocol for dynamic communication protocol negotiation between heterogeneous LLM agents. Uses Protocol Documents (plain-text descriptions) to enable autonomous protocol implementation and adaptation. Features self-upgrading protocols that begin with natural language and evolve to more efficient structured formats. Addresses the "Agent Communication Trilemma" by balancing versatility, efficiency, and portability through context-aware protocol selection.</p><h4><strong><a href="https://eclipse.dev/lmos/">Language Model Operating System (LMOS)</a></strong> </h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yhSG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3dbde77-3637-4c06-b782-f5b185113df3_620x568.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yhSG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3dbde77-3637-4c06-b782-f5b185113df3_620x568.png 424w, https://substackcdn.com/image/fetch/$s_!yhSG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3dbde77-3637-4c06-b782-f5b185113df3_620x568.png 848w, https://substackcdn.com/image/fetch/$s_!yhSG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3dbde77-3637-4c06-b782-f5b185113df3_620x568.png 1272w, https://substackcdn.com/image/fetch/$s_!yhSG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3dbde77-3637-4c06-b782-f5b185113df3_620x568.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yhSG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3dbde77-3637-4c06-b782-f5b185113df3_620x568.png" width="620" height="568" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3dbde77-3637-4c06-b782-f5b185113df3_620x568.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:568,&quot;width&quot;:620,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:92175,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3dbde77-3637-4c06-b782-f5b185113df3_620x568.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_!yhSG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3dbde77-3637-4c06-b782-f5b185113df3_620x568.png 424w, https://substackcdn.com/image/fetch/$s_!yhSG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3dbde77-3637-4c06-b782-f5b185113df3_620x568.png 848w, https://substackcdn.com/image/fetch/$s_!yhSG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3dbde77-3637-4c06-b782-f5b185113df3_620x568.png 1272w, https://substackcdn.com/image/fetch/$s_!yhSG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3dbde77-3637-4c06-b782-f5b185113df3_620x568.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">LMOS vision for internet of Agents</figcaption></figure></div><p>An Eclipse Foundation framework for Internet of Agents using JSON-LD, DIDs, and multiple transport protocols. Agents are able to communicate using open protocols, but the LMOS protocol also provides flexibility in choosing the best transport protocol for each agent&#8217;s purpose. Rather than enforcing a single transport protocol like HTTP, MQTT, or AMQP, the LMOS protocol allows agents to select and adapt protocols based on their needs. Built on top of open standards and Kubernetes, it enables developers to build intelligent, scalable, and adaptive multi-agent systems. </p><h4><strong><a href="https://arxiv.org/abs/2504.10915">LOKA Protocol</a></strong> </h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WKOK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a78cdb-93bf-4dc3-b675-daa069c7286d_1494x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WKOK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a78cdb-93bf-4dc3-b675-daa069c7286d_1494x970.png 424w, https://substackcdn.com/image/fetch/$s_!WKOK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a78cdb-93bf-4dc3-b675-daa069c7286d_1494x970.png 848w, https://substackcdn.com/image/fetch/$s_!WKOK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a78cdb-93bf-4dc3-b675-daa069c7286d_1494x970.png 1272w, https://substackcdn.com/image/fetch/$s_!WKOK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a78cdb-93bf-4dc3-b675-daa069c7286d_1494x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WKOK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a78cdb-93bf-4dc3-b675-daa069c7286d_1494x970.png" width="1456" height="945" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99a78cdb-93bf-4dc3-b675-daa069c7286d_1494x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:945,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:645106,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a78cdb-93bf-4dc3-b675-daa069c7286d_1494x970.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_!WKOK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a78cdb-93bf-4dc3-b675-daa069c7286d_1494x970.png 424w, https://substackcdn.com/image/fetch/$s_!WKOK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a78cdb-93bf-4dc3-b675-daa069c7286d_1494x970.png 848w, https://substackcdn.com/image/fetch/$s_!WKOK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a78cdb-93bf-4dc3-b675-daa069c7286d_1494x970.png 1272w, https://substackcdn.com/image/fetch/$s_!WKOK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a78cdb-93bf-4dc3-b675-daa069c7286d_1494x970.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Illustrates the overview of LOKA</figcaption></figure></div><p>CMU's decentralized framework for human-agent interaction emphasizing identity, accountability, and ethical alignment. Features Universal Agent Identity Layer (UAIL) and Decentralized Ethical Consensus Protocol (DECP) using DIDs and post-quantum cryptography. Designed for responsible AI governance across digital and physical domains.</p><h4><strong><a href="https://arxiv.org/abs/2410.20600">PXP Protocol</a></strong></h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3e0y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd95e70bc-c64d-40b3-a606-fabdd0b2216d_1586x1682.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3e0y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd95e70bc-c64d-40b3-a606-fabdd0b2216d_1586x1682.png 424w, https://substackcdn.com/image/fetch/$s_!3e0y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd95e70bc-c64d-40b3-a606-fabdd0b2216d_1586x1682.png 848w, https://substackcdn.com/image/fetch/$s_!3e0y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd95e70bc-c64d-40b3-a606-fabdd0b2216d_1586x1682.png 1272w, https://substackcdn.com/image/fetch/$s_!3e0y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd95e70bc-c64d-40b3-a606-fabdd0b2216d_1586x1682.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3e0y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd95e70bc-c64d-40b3-a606-fabdd0b2216d_1586x1682.png" width="1456" height="1544" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d95e70bc-c64d-40b3-a606-fabdd0b2216d_1586x1682.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1544,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:349058,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd95e70bc-c64d-40b3-a606-fabdd0b2216d_1586x1682.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_!3e0y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd95e70bc-c64d-40b3-a606-fabdd0b2216d_1586x1682.png 424w, https://substackcdn.com/image/fetch/$s_!3e0y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd95e70bc-c64d-40b3-a606-fabdd0b2216d_1586x1682.png 848w, https://substackcdn.com/image/fetch/$s_!3e0y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd95e70bc-c64d-40b3-a606-fabdd0b2216d_1586x1682.png 1272w, https://substackcdn.com/image/fetch/$s_!3e0y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd95e70bc-c64d-40b3-a606-fabdd0b2216d_1586x1682.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Transitions in PXP by (non-oracle) PEX automata, showing messages sent (&#8216;+&#8217;) and received (&#8216;-&#8217;).</figcaption></figure></div><p>BITS Pilani's Predict and eXplain Protocol for bidirectional human-agent interaction using finite-state machines. Enables structured communication through RATIFY, REFUTE, REVISE, and REJECT message tags based on prediction and explanation agreement. Validated in radiology diagnosis and drug synthesis for intelligible human-LLM collaboration.</p><h4><strong><a href="https://arxiv.org/abs/2504.04756">CrowdES</a></strong> </h4><p>GIST's framework for robot-agent interaction in dynamic crowd environments using diffusion models and Markov chain behavior simulation. Generates realistic crowd behaviors for robot navigation and interaction planning. Focuses on real-time control and customization of crowd dynamics for embodied AI systems.</p><h4><strong><a href="https://arxiv.org/abs/2411.08434">Spatial Population Protocols (SPPs)</a></strong> </h4><p>University of Liverpool's distributed localization protocols for anonymous robot coordination using pairwise distance or vector queries. Enables robots to reach consensus on unified coordinate systems through minimal geometric information exchange. </p><h3><a href="https://whitepaper.virtuals.io/about-virtuals/agent-commerce-protocol">Virtuals Protocol &#8211; Agent Commerce Protocol</a></h3><p>Smart contract-based protocol for decentralized agent-to-agent transactions. Provides escrow, cryptographic agreement verification, and independent evaluation to ensure trustless, scalable coordination and commerce among autonomous agents.<br></p><h3><a href="https://genai.owasp.org/resource/agent-name-service-ans-for-secure-al-agent-discovery-v1-0/">Agent Name Service (ANS)</a></h3><p>A DNS-inspired secure discovery framework for AI agents, leveraging PKI, JSON schemas, and protocol adapters (A2A, MCP, ACP). It uses the MAESTRO 7 Layers threat model to defend against impersonation, registry poisoning, and DoS, enabling trusted, interoperable multi-agent ecosystems.</p><h3><a href="https://arxiv.org/abs/2405.15793">Agent-Computer Interface (ACI</a>)</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PSxQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545d4135-0372-4027-96ef-6f055e5ea089_1470x460.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PSxQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545d4135-0372-4027-96ef-6f055e5ea089_1470x460.png 424w, https://substackcdn.com/image/fetch/$s_!PSxQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545d4135-0372-4027-96ef-6f055e5ea089_1470x460.png 848w, https://substackcdn.com/image/fetch/$s_!PSxQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545d4135-0372-4027-96ef-6f055e5ea089_1470x460.png 1272w, https://substackcdn.com/image/fetch/$s_!PSxQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545d4135-0372-4027-96ef-6f055e5ea089_1470x460.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PSxQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545d4135-0372-4027-96ef-6f055e5ea089_1470x460.png" width="1456" height="456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/545d4135-0372-4027-96ef-6f055e5ea089_1470x460.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:150263,&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://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545d4135-0372-4027-96ef-6f055e5ea089_1470x460.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_!PSxQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545d4135-0372-4027-96ef-6f055e5ea089_1470x460.png 424w, https://substackcdn.com/image/fetch/$s_!PSxQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545d4135-0372-4027-96ef-6f055e5ea089_1470x460.png 848w, https://substackcdn.com/image/fetch/$s_!PSxQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545d4135-0372-4027-96ef-6f055e5ea089_1470x460.png 1272w, https://substackcdn.com/image/fetch/$s_!PSxQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545d4135-0372-4027-96ef-6f055e5ea089_1470x460.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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">Agent interacting with a computer through an agent-computer interface</figcaption></figure></div><p>Princeton's SWE-agent introduces a custom Agent-Computer Interface (ACI) for LLM agents to autonomously perform software engineering tasks. The interface enables agents to navigate repositories, edit code, and run tests using structured interactions instead of raw shell commands. Achieves state-of-the-art results on SWE-bench and HumanEvalFix. Demonstrates that purpose-built digital interfaces, akin to IDEs for humans, significantly improve agent capabilities in complex programming workflows.</p><h1>Resources</h1><ul><li><p><a href="https://arxiv.org/abs/2504.16736">[White Paper] A Survey of AI Agent Protocols</a></p></li><li><p><a href="https://www.youtube.com/watch?v=kqB_xML1SfA">[Video] MCP vs ACP vs A2A: Comparing Agent Protocols</a></p></li><li><p><a href="https://medium.com/mitb-for-all/introducing-the-agent-communication-protocol-acp-abd882114139">Introducing the Agent Communication Protocol (ACP) by IBM</a></p></li><li><p><a href="https://connect.cfauk.org/viewdocument/technology-innovation-skills-path-1">Technology &amp; Innovation skills pathway: Automated Fundamental Analysis with Agentic AI (2 of 3)</a></p></li></ul><p>If you like this post, check out our AI coding assistants guide <a href="https://generativeprogrammer.com/p/ai-coding-assistants-landscape">here</a>  &#128071;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aCcH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfbd0a8c-45b7-4da9-95cd-d17710bf194d_1456x1321.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aCcH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfbd0a8c-45b7-4da9-95cd-d17710bf194d_1456x1321.webp 424w, https://substackcdn.com/image/fetch/$s_!aCcH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfbd0a8c-45b7-4da9-95cd-d17710bf194d_1456x1321.webp 848w, https://substackcdn.com/image/fetch/$s_!aCcH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfbd0a8c-45b7-4da9-95cd-d17710bf194d_1456x1321.webp 1272w, https://substackcdn.com/image/fetch/$s_!aCcH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfbd0a8c-45b7-4da9-95cd-d17710bf194d_1456x1321.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aCcH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfbd0a8c-45b7-4da9-95cd-d17710bf194d_1456x1321.webp" width="1456" height="1321" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dfbd0a8c-45b7-4da9-95cd-d17710bf194d_1456x1321.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1321,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:70092,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/166307232?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfbd0a8c-45b7-4da9-95cd-d17710bf194d_1456x1321.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aCcH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfbd0a8c-45b7-4da9-95cd-d17710bf194d_1456x1321.webp 424w, https://substackcdn.com/image/fetch/$s_!aCcH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfbd0a8c-45b7-4da9-95cd-d17710bf194d_1456x1321.webp 848w, https://substackcdn.com/image/fetch/$s_!aCcH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfbd0a8c-45b7-4da9-95cd-d17710bf194d_1456x1321.webp 1272w, https://substackcdn.com/image/fetch/$s_!aCcH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfbd0a8c-45b7-4da9-95cd-d17710bf194d_1456x1321.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">AI Coding Assistants Landscape</figcaption></figure></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/p/agent-communication-protocols-landscape?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">All posts on <em>Generative Programmer</em> are public. Support my newsletter by subscribing and sharing with your network.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/p/agent-communication-protocols-landscape?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://generativeprogrammer.com/p/agent-communication-protocols-landscape?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[🤖 Generative Programmer | Issue #13]]></title><description><![CDATA[AI-Assisted Development, Prompting Techniques, Agentic Systems]]></description><link>https://generativeprogrammer.com/p/generative-programmer-issue-13</link><guid isPermaLink="false">https://generativeprogrammer.com/p/generative-programmer-issue-13</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Fri, 06 Jun 2025 06:41:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cP1C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>&#128227; Welcome back! Here&#8217;s what&#8217;s new in GenAI since last time.<br>&#128279; Share: <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">X</a> &#183; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a> &#183; <a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a> &#183; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a> and let&#8217;s dive in.</strong></p><h2>&#128293; Top Picks This Issue</h2><p>&#128076; <a href="https://github.com/humanlayer/12-factor-agents">12-Factor Agents</a> &#8211; humanlayer<br>&#127775; <a href="https://www.anthropic.com/engineering/claude-code-best-practices">Claude Code: Practical Tips for Agentic Coding</a> &#8211; Anthropic<br>&#129302; <a href="https://www.nvidia.com/en-eu/glossary/multi-agent-systems/">What are Multi-Agent Systems?</a> &#8211; NVIDIA<br>&#129702; <a href="https://annievella.com/posts/the-software-engineering-identity-crisis/">The Software Engineering Identity Crisis</a> &#8211; Annie Vella<br>&#128293; <a href="https://spring.io/blog/2025/04/14/spring-ai-prompt-engineering-patterns">Prompt Engineering Techniques with Spring AI</a> &#8211; Christian Tzolov<br>&#128101; <a href="https://www.atlassian.com/blog/atlassian-engineering/hula-blog-autodev-paper-human-in-the-loop-software-development-agents">Human in the Loop Software Development Agents</a> &#8211; Jirat Pasuksmit, Kun Chen<br>&#128269; <a href="https://careersatdoordash.com/blog/doordash-llms-to-evaluate-search-result-pages/">How DoorDash leverages LLMs to evaluate search result pages</a> &#8211; DoorDash<br>&#128272; <a href="https://akoserwal.medium.com/securing-fastmcp-server-client-with-keycloak-using-ollama-llama-stack-in-python-5217efb40b43">Securing FastMCP with Keycloak &amp; Ollama</a> &#8211; Abhishek Koserwal<br>&#8230;and if you dare, <strong>57 more updates</strong> to explore &#128071;</p><h2>&#127919; Featured Article</h2><p>&#128076; <a href="https://github.com/humanlayer/12-factor-agents">12-Factor Agents - Principles for building reliable LLM applications</a> &#8211; A practical framework for building LLM-powered software that can reliably serve production users. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cP1C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cP1C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.png 424w, https://substackcdn.com/image/fetch/$s_!cP1C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.png 848w, https://substackcdn.com/image/fetch/$s_!cP1C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.png 1272w, https://substackcdn.com/image/fetch/$s_!cP1C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cP1C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.png" width="1456" height="1153" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1153,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:522596,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/165137149?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cP1C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.png 424w, https://substackcdn.com/image/fetch/$s_!cP1C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.png 848w, https://substackcdn.com/image/fetch/$s_!cP1C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.png 1272w, https://substackcdn.com/image/fetch/$s_!cP1C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F633288da-4d2f-44b5-a34e-47f283aefe6f_1710x1354.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>Drawing from patterns seen across real-world agent deployments, this guide outlines twelve core principles&#8212;like owning your prompts and context window, treating tools as structured outputs, and unifying execution and business state&#8212;to help developers move beyond brittle prototypes. Instead of relying on heavy frameworks, it emphasizes modular, composable practices that integrate well into existing systems.</p><h2><strong>&#128240; Long-Form Reads</strong></h2><p>&#127775;  <a href="https://www.anthropic.com/engineering/claude-code-best-practices">Claude Code: Practical Tips for Agentic Coding</a> &#8211; A hands-on guide to using Claude Code effectively across real-world development workflows, from setup and customization to testing, debugging, and automation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gKOa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6a196c-6594-4d31-a5aa-e274858d6e33_2706x1262.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gKOa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6a196c-6594-4d31-a5aa-e274858d6e33_2706x1262.png 424w, https://substackcdn.com/image/fetch/$s_!gKOa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6a196c-6594-4d31-a5aa-e274858d6e33_2706x1262.png 848w, https://substackcdn.com/image/fetch/$s_!gKOa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6a196c-6594-4d31-a5aa-e274858d6e33_2706x1262.png 1272w, https://substackcdn.com/image/fetch/$s_!gKOa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6a196c-6594-4d31-a5aa-e274858d6e33_2706x1262.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gKOa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6a196c-6594-4d31-a5aa-e274858d6e33_2706x1262.png" width="1456" height="679" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc6a196c-6594-4d31-a5aa-e274858d6e33_2706x1262.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:679,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:279276,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/165137149?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6a196c-6594-4d31-a5aa-e274858d6e33_2706x1262.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!gKOa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6a196c-6594-4d31-a5aa-e274858d6e33_2706x1262.png 424w, https://substackcdn.com/image/fetch/$s_!gKOa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6a196c-6594-4d31-a5aa-e274858d6e33_2706x1262.png 848w, https://substackcdn.com/image/fetch/$s_!gKOa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6a196c-6594-4d31-a5aa-e274858d6e33_2706x1262.png 1272w, https://substackcdn.com/image/fetch/$s_!gKOa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6a196c-6594-4d31-a5aa-e274858d6e33_2706x1262.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><a href="https://www.nvidia.com/en-eu/glossary/multi-agent-systems/">What are Multi-Agent Systems?</a> - NVIDIA outlines how multiple AI agents collaborate to solve complex tasks, covering orchestration patterns, benefits, and practical architecture considerations.</p><p><a href="https://towardsdatascience.com/zero-human-code-what-i-learned-from-forcing-ai-to-build-and-fix-its-own-code-for-27-straight-days/">What I Learned From Forcing AI to Fix Its Own Code For 27 Days</a> &#8594; it can build software autonomously, but let's not pretend humans are obsolete quite yet.</p><p>&#129318;&#8205;&#9794;&#65039; <a href="https://hiddenlayer.com/innovation-hub/novel-universal-bypass-for-all-major-llms/">The Policy Puppetry Prompt Injection Technique</a> - a prompt injection attack that disguises malicious prompts as policy files, tricking LLMs into obeying them.</p><p><a href="https://www.alexmolas.com/2025/04/09/semantic-unit-testing.html">Semantic Unit Testing</a> - Alex Molas</p><p><a href="https://annievella.com/posts/the-software-engineering-identity-crisis/">The Software Engineering Identity Crisis - Annie Vella</a> - Annie Vella &#129702;</p><p><a href="https://www.seangoedecke.com/ai-security/">Principles for coding securely with LLMs</a> - sean goedecke</p><p><a href="https://raz.sh/blog/2025-05-02_a_critical_look_at_mcp">A Critical Look at MCP</a> - Raz Blog</p><p><a href="https://ghuntley.com/stdlib/">You are using Cursor incorrectly...</a> - Cursor</p><p><a href="https://www.layered.dev/openai-embraces-mcp-the-protocol-era-of-ai-has-arrived">OpenAI Embraces MCP: The Protocol Era of AI Has Arrived</a> &#9904;&#65039;</p><p>&#128293;&#128293;&#128293; <a href="https://spring.io/blog/2025/04/14/spring-ai-prompt-engineering-patterns">Prompt Engineering Techniques with Spring AI</a> - A hands-on guide showing how to apply core prompt engineering techniques&#8212;like few-shot prompting, chain-of-thought, and system roles&#8212;using Spring AI&#8217;s fluent Java APIs to build structured, configurable LLM-based applications.</p><p><a href="https://claude.site/artifacts/481c6df0-3b94-4d77-a2c9-cb2ad689e2f4">Claude Code &#8211; Hidden&#8209;Gem Power Tips</a> </p><p><a href="https://manuel.kiessling.net/2025/03/31/how-seasoned-developers-can-achieve-great-results-with-ai-coding-agents/">Senior Developer Skills in the AI Age - Manuel Kie&#223;ling</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_!JK06!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cf3b8d3-b42a-4a16-bbf3-0943895b4256_1322x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JK06!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cf3b8d3-b42a-4a16-bbf3-0943895b4256_1322x1600.png 424w, https://substackcdn.com/image/fetch/$s_!JK06!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cf3b8d3-b42a-4a16-bbf3-0943895b4256_1322x1600.png 848w, https://substackcdn.com/image/fetch/$s_!JK06!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cf3b8d3-b42a-4a16-bbf3-0943895b4256_1322x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!JK06!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cf3b8d3-b42a-4a16-bbf3-0943895b4256_1322x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JK06!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cf3b8d3-b42a-4a16-bbf3-0943895b4256_1322x1600.png" width="1322" height="1600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3cf3b8d3-b42a-4a16-bbf3-0943895b4256_1322x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1600,&quot;width&quot;:1322,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:590545,&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://generativeprogrammer.com/i/165137149?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cf3b8d3-b42a-4a16-bbf3-0943895b4256_1322x1600.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_!JK06!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cf3b8d3-b42a-4a16-bbf3-0943895b4256_1322x1600.png 424w, https://substackcdn.com/image/fetch/$s_!JK06!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cf3b8d3-b42a-4a16-bbf3-0943895b4256_1322x1600.png 848w, https://substackcdn.com/image/fetch/$s_!JK06!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cf3b8d3-b42a-4a16-bbf3-0943895b4256_1322x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!JK06!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cf3b8d3-b42a-4a16-bbf3-0943895b4256_1322x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><a href="https://careersatdoordash.com/blog/doordash-llms-to-evaluate-search-result-pages/">How DoorDash leverages LLMs to evaluate search result pages</a></p><p><a href="https://www.atlassian.com/blog/atlassian-engineering/hula-blog-autodev-paper-human-in-the-loop-software-development-agents">Human in the Loop Software Development Agents - Work Life by Atlassian</a> - Jirat Pasuksmit, Kun Chen</p><p><a href="https://leehanchung.github.io/blogs/2025/02/26/deep-research/">The Differences between Deep Research, Deep Research, and Deep Research</a> - Han Lee</p><p><a href="https://medium.com/effortless-programming/the-ai-driven-development-glossary-a487616801b6">The AI Driven Development Glossary</a> - Eric Elliott</p><p><a href="https://hamel.dev/blog/posts/llm-judge/">Creating a LLM-as-a-Judge - a step-by-step guide based from 30+ implementations</a> - Hamel Husain &#128293;</p><p><a href="https://slobodan.me/posts/ai-agents/">How AI Agents work and how to build them</a> - Slobodan Stojanovi&#269;</p><p><a href="https://medium.com/data-science-at-microsoft/evaluating-llm-systems-metrics-challenges-and-best-practices-664ac25be7e5">Evaluating Large Language Model (LLM) systems: Metrics, challenges, and best practices</a> - Jane Huang &#128293;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kieb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aefdd19-6760-48a3-922d-567af8abea3c_1431x607.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kieb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aefdd19-6760-48a3-922d-567af8abea3c_1431x607.webp 424w, https://substackcdn.com/image/fetch/$s_!kieb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aefdd19-6760-48a3-922d-567af8abea3c_1431x607.webp 848w, https://substackcdn.com/image/fetch/$s_!kieb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aefdd19-6760-48a3-922d-567af8abea3c_1431x607.webp 1272w, https://substackcdn.com/image/fetch/$s_!kieb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aefdd19-6760-48a3-922d-567af8abea3c_1431x607.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kieb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aefdd19-6760-48a3-922d-567af8abea3c_1431x607.webp" width="1431" height="607" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0aefdd19-6760-48a3-922d-567af8abea3c_1431x607.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:607,&quot;width&quot;:1431,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:26624,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/165137149?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aefdd19-6760-48a3-922d-567af8abea3c_1431x607.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kieb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aefdd19-6760-48a3-922d-567af8abea3c_1431x607.webp 424w, https://substackcdn.com/image/fetch/$s_!kieb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aefdd19-6760-48a3-922d-567af8abea3c_1431x607.webp 848w, https://substackcdn.com/image/fetch/$s_!kieb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aefdd19-6760-48a3-922d-567af8abea3c_1431x607.webp 1272w, https://substackcdn.com/image/fetch/$s_!kieb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aefdd19-6760-48a3-922d-567af8abea3c_1431x607.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></figure></div><p>&#128272; <a href="https://akoserwal.medium.com/securing-fastmcp-server-client-with-keycloak-using-ollama-llama-stack-in-python-5217efb40b43">Securing FastMCP with Keycloak &amp; Ollama</a> - Abhwishek koserwal &#129497;&#8205;&#9794;&#65039;</p><p><a href="https://transformer-circuits.pub/2025/attribution-graphs/methods.html">Revealing Computational Graphs in Language Models</a> - Anthropic</p><p><a href="https://thenewstack.io/recce-believes-data-reviews-will-become-as-important-as-code-reviews/">Data reviews: As important as code reviews?</a>- As AI and data pipelines grow in importance, is validating data becoming as critical as reviewing code?</p><p><a href="https://lilianweng.github.io/posts/2023-06-23-agent/">Lil'Log's Deep Dive into Autonomous Agents 2023</a> - Lilian Weng </p><p><a href="https://www.ibm.com/think/topics/agentic-workflows">What are Agentic Workflows? | A short, preceise definition from IBM</a>  </p><h2><strong>&#128038; Social Highlights</strong></h2><p><a href="https://x.com/kregenrek/status/1919486968083177587">AI Tool Stack for Building Projects</a></p><p><a href="https://x.com/GergelyOrosz/status/1914863335457034422">A surprising thing I'm noticing with AI</a> - Gergely Orosz on X</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8X0i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4d3cd7-5681-4523-a0b5-76c9f8af2e45_1076x1288.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8X0i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4d3cd7-5681-4523-a0b5-76c9f8af2e45_1076x1288.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8X0i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4d3cd7-5681-4523-a0b5-76c9f8af2e45_1076x1288.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8X0i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4d3cd7-5681-4523-a0b5-76c9f8af2e45_1076x1288.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8X0i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4d3cd7-5681-4523-a0b5-76c9f8af2e45_1076x1288.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8X0i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4d3cd7-5681-4523-a0b5-76c9f8af2e45_1076x1288.jpeg" width="1076" height="1288" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3d4d3cd7-5681-4523-a0b5-76c9f8af2e45_1076x1288.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1288,&quot;width&quot;:1076,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:203388,&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://generativeprogrammer.com/i/165137149?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4d3cd7-5681-4523-a0b5-76c9f8af2e45_1076x1288.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_!8X0i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4d3cd7-5681-4523-a0b5-76c9f8af2e45_1076x1288.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8X0i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4d3cd7-5681-4523-a0b5-76c9f8af2e45_1076x1288.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8X0i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4d3cd7-5681-4523-a0b5-76c9f8af2e45_1076x1288.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8X0i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4d3cd7-5681-4523-a0b5-76c9f8af2e45_1076x1288.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></figure></div><p><a href="https://x.com/peterwildeford/status/1928469682815631860">LLMs being possible should feel like insane magic.</a></p><p><a href="https://x.com/latentspacepod/status/1925006338230517773">next level openai codex abuse</a> </p><h2><strong>&#128478;&#65039; News and Updates</strong></h2><p>Last month has been the busiest yet for developer tooling and model announcements:</p><p><a href="https://developers.googleblog.com/en/google-io-2025-developer-keynote-recap/">Google unveiled new agentic tools at I/O 2025</a> - Gemini Agent Mode, Project IDX, and Gemini Code Assist expand Google&#8217;s ecosystem for developer-focused AI agents.</p><p><a href="https://mistral.ai/news/devstral">Mistral launched open-source LLM optimized for software engineering</a></p><p><a href="https://blog.google/technology/google-labs/jules/">Google announced Project Jules, an autonomous background AI agent</a></p><p><a href="https://openai.com/index/introducing-codex/">OpenAI launched Codex, a cloud-based software engineering agent</a> - it can run multiple dev tasks in parallel&#8212;writing features, fixing bugs, proposing PRs&#8212;powered by the new codex-1 model.</p><p><a href="https://www.anthropic.com/news/claude-4">Claude's new models ar optimized for coding and general-purpose AI agents</a></p><p><a href="https://windsurf.com/blog/windsurf-wave-9-swe-1">Windsurf introduced SWE-1, a model family for full-spectrum software engineering</a> - optimized for tasks across the entire software engineering lifecycle, not just coding.</p><p><a href="https://github.blog/changelog/2025-05-19-github-copilot-coding-agent-in-public-preview/">GitHub Copilot coding agent enters public preview</a></p><h2><strong>&#128736;&#65039; Tech &amp; Tools</strong></h2><p><a href="https://github.com/block/goose">Goose: an open source, extensible AI agent that goes beyond code suggestions - ins...</a> -</p><p><a href="https://www.codecanvas.ai/">codecanvas.ai</a> - Another AI website builder. &#129335;&#8205;&#9794;&#65039;</p><p><a href="https://github.com/The-Pocket/PocketFlow-Tutorial-Codebase-Knowledge">PocketFlow - Turns Codebase into Easy Tutorial with AI</a></p><p><a href="https://github.com/jlowin/fastmcp">&#128640; fastmcp:  The fast, Pythonic way to build MCP servers and clients</a></p><p><a href="https://github.com/jlowin/fastmcp">&#128640;</a> <a href="https://github.com/Chainlit/chainlit">chainlit:  Build Conversational AI app in minutes &#9889;&#65039;</a></p><p><a href="https://firebase.studio/">Google Firebase Studio</a> - A pretty good generative AI-native IDE for building full-stack web applications.</p><p><a href="https://github.com/wild-card-ai/agents-json">agents-json</a> - another attempt to standardize AI agent interactions with APIs</p><p><a href="https://docs.mcp.run/integrating/intro">mcp.run - registry of AI tools</a></p><p><a href="https://www.requesty.ai/">Requesty - LLM Gateway for unified access with intelligent load balancing and caching</a></p><p><a href="https://zencoder.ai/">Zencoder &#8211; The AI Coding Agent</a> - Zencoder</p><p><a href="https://serenade.ai/docs">Serenade | Code with voice</a> - Serenade</p><p><a href="https://github.com/StacklokLabs/toolhive">ToolHive makes deploying MCP servers easy, secure and fun</a> - stacklok</p><p><a href="https://github.com/cyberagiinc/DevDocs">DevDocs: Free, private, UI based Tech Documentation MCP server.</a> - cyberagiinc</p><p><a href="https://www.nuanced.dev/blog/initial-launch">Nuanced - Python library that provides LLMs with precise call graph context</a></p><p><a href="https://github.com/paypal/agent-toolkit/">PayPal Agent Toolkit - enables PayPal API integration through function calling</a></p><p><a href="https://useadrenaline.com/">Visualize any codebase with AI-generated system diagrams</a></p><p>&#129318;&#8205;&#9794;&#65039;<a href="https://new.email/">Create beautiful emails using natural language</a></p><h2><strong>&#128218; Learning Picks</strong></h2><p><a href="https://huggingface.co/learn/agents-course/unit0/introduction">&#129303; Hugging Face Agents Course</a></p><p>&#128293; <a href="https://programming-25.mooc.fi/">Python Programming MOOC 2025</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_!hVif!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc002bc16-826a-43ac-93cf-ea02d57c2236_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hVif!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc002bc16-826a-43ac-93cf-ea02d57c2236_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!hVif!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc002bc16-826a-43ac-93cf-ea02d57c2236_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!hVif!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc002bc16-826a-43ac-93cf-ea02d57c2236_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!hVif!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc002bc16-826a-43ac-93cf-ea02d57c2236_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hVif!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc002bc16-826a-43ac-93cf-ea02d57c2236_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c002bc16-826a-43ac-93cf-ea02d57c2236_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:197703,&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://generativeprogrammer.com/i/165137149?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc002bc16-826a-43ac-93cf-ea02d57c2236_1920x1080.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_!hVif!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc002bc16-826a-43ac-93cf-ea02d57c2236_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!hVif!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc002bc16-826a-43ac-93cf-ea02d57c2236_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!hVif!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc002bc16-826a-43ac-93cf-ea02d57c2236_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!hVif!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc002bc16-826a-43ac-93cf-ea02d57c2236_1920x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>&#128293; <a href="https://github.com/microsoft/ai-agents-for-beginners">11 Lessons to Get Started Building AI Agents</a> - Microsoft</p><p><a href="https://github.com/panaversity/learn-agentic-ai">Learn Agentic AI using Dapr Agentic Cloud Ascent (DACA)</a></p><p><a href="https://www.cloudskillsboost.google/paths/1872">Generative AI Labs with Gemini on Google Cloud | Google Cloud Skills Boost</a> - Google Cloud Skills Boost</p><p><a href="https://academy.langchain.com/courses/take/intro-to-langgraph/texts/58238105-getting-set-up">LangChain Academy</a></p><p><a href="https://explore.skillbuilder.aws/learn/learning-plans/2217/aws-artificial-intelligence-practitioner-learning-plan">AWS Artificial Intelligence Practitioner Learning Plan</a></p><h2><strong>&#127917; AI Humor</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MsMQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4eb18c3-fedd-49e1-8728-2eefbacb2d6c_1284x701.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MsMQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4eb18c3-fedd-49e1-8728-2eefbacb2d6c_1284x701.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MsMQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4eb18c3-fedd-49e1-8728-2eefbacb2d6c_1284x701.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MsMQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4eb18c3-fedd-49e1-8728-2eefbacb2d6c_1284x701.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MsMQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4eb18c3-fedd-49e1-8728-2eefbacb2d6c_1284x701.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MsMQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4eb18c3-fedd-49e1-8728-2eefbacb2d6c_1284x701.jpeg" width="1284" height="701" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4eb18c3-fedd-49e1-8728-2eefbacb2d6c_1284x701.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:701,&quot;width&quot;:1284,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:121202,&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://generativeprogrammer.com/i/165137149?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4eb18c3-fedd-49e1-8728-2eefbacb2d6c_1284x701.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_!MsMQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4eb18c3-fedd-49e1-8728-2eefbacb2d6c_1284x701.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MsMQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4eb18c3-fedd-49e1-8728-2eefbacb2d6c_1284x701.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MsMQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4eb18c3-fedd-49e1-8728-2eefbacb2d6c_1284x701.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MsMQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4eb18c3-fedd-49e1-8728-2eefbacb2d6c_1284x701.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></figure></div><p>&#128579; <a href="https://www.linkedin.com/feed/update/urn:li:activity:7336126353198489601/">https://www.linkedin.com/feed/update/urn:li:activity:7336126353198489601/ </a></p><h2>&#128075; See You Next Week</h2><p>Thanks for reading <em>Generative Programmer</em>! &#128591; </p><p>If you like the content please support my newsletter by subscribing and sharing with your network: <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">X</a> &#183; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a> &#183; <a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a> &#183; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a>. Have a great rest of the week! </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.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://generativeprogrammer.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Must-Read Free AI Resources]]></title><description><![CDATA[Practical AI resources on Prompt Engineering, Agents, and RAG - Updated (06/2025)]]></description><link>https://generativeprogrammer.com/p/must-read-free-ai-resources</link><guid isPermaLink="false">https://generativeprogrammer.com/p/must-read-free-ai-resources</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Mon, 05 May 2025 12:09:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!SVBw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128204; This is a regularly updated list of <strong>only top AI resources</strong> on Prompt Engineering, Agents, and RAG &#8212; curated for <strong>software builders and AI users</strong>, not academic researchers. I pick practical, accessible papers worth your time. Bookmark it and check back often.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SVBw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SVBw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.png 424w, https://substackcdn.com/image/fetch/$s_!SVBw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.png 848w, https://substackcdn.com/image/fetch/$s_!SVBw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.png 1272w, https://substackcdn.com/image/fetch/$s_!SVBw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SVBw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.png" width="1456" height="2550" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2550,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:18541800,&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://generativeprogrammer.com/i/161977203?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.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_!SVBw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.png 424w, https://substackcdn.com/image/fetch/$s_!SVBw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.png 848w, https://substackcdn.com/image/fetch/$s_!SVBw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.png 1272w, https://substackcdn.com/image/fetch/$s_!SVBw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bfb90be-81a5-40c1-9ab5-d4c4c5e1fb74_1808x3167.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">Must-Read Free AI Resources</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.com/p/must-read-free-ai-resources?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://generativeprogrammer.com/p/must-read-free-ai-resources?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h1><br>&#129504; <strong>Prompt &amp; Context Engineering</strong></h1><p></p><ul><li><p><strong>The Complete Guide to Building Skill for Claude (PDF)</strong><br><em>Author: </em>Anthropic<br><a href="https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf">https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf</a></p></li></ul><ul><li><p><strong>Prompt Engineering (PDF)</strong><br><em>Author: Lee Boonstra</em><br><a href="https://www.kaggle.com/whitepaper-prompt-engineering">https://www.kaggle.com/whitepaper-prompt-engineering</a></p></li><li><p><strong>Foundational Large Language Models &amp; Text Generation (PDF)</strong><br><em>Kaggle / Google</em><br><a href="https://www.kaggle.com/whitepaper-foundational-llm-and-text-generation">https://www.kaggle.com/whitepaper-foundational-llm-and-text-generation</a></p></li><li><p><strong>Prompting Guide 101 (PDF)</strong><br><em>Google &#8211; Gemini for Workspace</em><br><a href="https://services.google.com/fh/files/misc/gemini_for_workspace_prompt_guide_october_2024_digital_final.pdf">https://services.google.com/fh/files/misc/gemini_for_workspace_prompt_guide_october_2024_digital_final.pdf</a></p></li><li><p><strong>Mastering: LLM as a Judge</strong><br>Galileo (2025)<br><a href="https://galileo.ai/ty/mastering-llm-as-a-judge">https://galileo.ai/ty/mastering-llm-as-a-judge</a></p></li><li><p><strong>The Context Engineering Guide (PDF)<br></strong><em>Weaviate</em><br><a href="https://weaviate.io/ebooks/the-context-engineering-guide">https://weaviate.io/ebooks/the-context-engineering-guide</a></p><div><hr></div></li></ul><h2>&#129302; <strong>Designing Agents</strong></h2><ul><li><p><strong>A Practical Guide to Building Agents (PDF)</strong><br><em>OpenAI</em><br><a href="https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf">https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf</a></p></li></ul><ul><li><p><strong>Agents (PDF)</strong><br><em>Google &#8211; Tools, Extensions, and Datastores</em><br>By Julia Wiesinger, Patrick Marlow, and Vladimir Vuskovic<br><a href="https://www.kaggle.com/whitepaper-agents">https://www.kaggle.com/whitepaper-agents</a></p></li><li><p><strong>Introduction to Agents (PDF)</strong><br>Kaggle / Google<br><a href="https://www.kaggle.com/whitepaper-introduction-to-agents?utm_source=chatgpt.com">https://www.kaggle.com/whitepaper-introduction-to-agents</a></p></li><li><p><strong>Agent Companion (PDF)</strong><br>Kaggle / Google<br><a href="https://www.kaggle.com/whitepaper-agent-companion?utm_source=chatgpt.com">https://www.kaggle.com/whitepaper-agent-companion</a></p></li><li><p><strong>Google&#8217;s Approach for Secure AI Agents (PDF)</strong><br>Kaggle / Google Research<br><a href="https://storage.googleapis.com/gweb-research2023-media/pubtools/1018686.pdf">https://storage.googleapis.com/gweb-research2023-media/pubtools/1018686.pdf</a></p></li><li><p><strong>From Prototype to Production (PDF)</strong><br>Kaggle / Google<br><a href="https://www.kaggle.com/whitepaper-prototype-to-production?utm_source=chatgpt.com">https://www.kaggle.com/whitepaper-prototype-to-production</a></p></li><li><p><strong>Building Effective Agents</strong><br><em>By Erik Schluntz &amp; Barry Zhang (Anthropic)</em><br><a href="https://www.anthropic.com/engineering/building-effective-agents">https://www.anthropic.com/engineering/building-effective-agents</a></p></li><li><p><strong>Mastering AI Agents (PDF - gated)</strong><br><em>Galileo &#8211; A comprehensive guide to evaluating AI agents</em><br><a href="https://www.galileo.ai/ty/ebook-mastering-agents">https://www.galileo.ai/ty/ebook-mastering-agents</a></p></li><li><p><strong>Securing AI Agents and Non-Human Identities in Enterprises</strong><br>Cerbos (2025)<br><a href="https://solutions.cerbos.dev/securing-ai-agents-non-human-identities-in-enterprises">https://solutions.cerbos.dev/securing-ai-agents-non-human-identities-in-enterprises</a></p></li><li><p><strong>Google's Approach for Secure AI Agents</strong><br>Santiago (Sal) D&#237;az, Christoph Kern, Kara Olive &#8211; Google (2025)<br><a href="https://research.google/pubs/an-introduction-to-googles-approach-for-secure-ai-agents/">https://research.google/pubs/an-introduction-to-googles-approach-for-secure-ai-agents</a></p></li><li><p><strong>Agentic AI Patterns and Workflows on AWS (PDF)</strong><br>Aaron Sempf &amp; Andrew Hooker, Amazon Web Services<br>July 2025<br><a href="https://docs.aws.amazon.com/pdfs/prescriptive-guidance/latest/agentic-ai-patterns/agentic-ai-patterns.pdf">https://docs.aws.amazon.com/pdfs/prescriptive-guidance/latest/agentic-ai-patterns/agentic-ai-patterns.pdf</a></p></li></ul><div><hr></div><h2>&#128269; <strong>Retrieval-Augmented Generation</strong></h2><ul><li><p><strong>Mastering RAG (PDF - gated)</strong><br><em>Galileo AI &#8212; ~200-page enterprise RAG guide</em><br><a href="https://www.galileo.ai/mastering-rag">https://www.galileo.ai/mastering-rag</a></p></li><li><p><strong>Agentic Architectures for Retrieval-intensive Applications</strong><br><em>Weaviate</em><br><a href="https://weaviate.io/ebooks/agentic-architectures">https://weaviate.io/ebooks/agentic-architectures</a></p></li><li><p><strong>What is Agentic RAG?</strong><br><em>By Erika Cardenas &amp; Leonie Monigatti (Weaviate)</em><br><a href="https://weaviate.io/blog/what-is-agentic-rag">https://weaviate.io/blog/what-is-agentic-rag</a></p></li></ul><div><hr></div><h2>&#129514; Evaluation</h2><ul><li><p><strong>Evaluating Agents </strong><a href="https://x.com/bibryam/status/1888951097806446897">X post</a><br><em>Ornella Altunyan (Braintrust)<br><a href="https://www.braintrust.dev/blog/evaluating-agents">https://www.braintrust.dev/blog/evaluating-agents</a></em></p></li><li><p><strong>LLM Evaluation Metrics: The Ultimate Guide </strong><a href="https://x.com/bibryam/status/1905617244262203592">X post</a><br><em>Confident AI<br><a href="https://www.confident-ai.com/blog/llm-evaluation-metrics-everything-you-need-for-llm-evaluation">https://www.confident-ai.com/blog/llm-evaluation-metrics-everything-you-need-for-llm-evaluation</a></em></p></li><li><p><strong>Agent Quality (PDF)</strong><br>Kaggle / Google<br><a href="https://www.kaggle.com/whitepaper-agent-quality">https://www.kaggle.com/whitepaper-agent-quality</a></p></li></ul><h2>&#9881;&#65039; Other Free Resources</h2><ul><li><p><strong>Machine Learning Q and AI </strong><br>Sebastian Raschka &#8211; No Starch Press (2024&#8211;2025)<br><a href="https://sebastianraschka.com/books/ml-q-and-ai/">https://sebastianraschka.com/books/ml-q-and-ai/</a></p></li><li><p><strong>AI Value Creators: The AI Handbook for Innovators (PDF)</strong><br>IBM / O&#8217;Reilly<br><a href="https://www.ibm.com/campaign/ai-value-creators">https://www.ibm.com/campaign/ai-value-creators</a></p></li><li><p><strong>Agentic AI in Financial Services <br></strong>IBM</p><p><a href="https://www.ibm.com/downloads/documents/gb-en/12f5a71117cdc329">https://www.ibm.com/downloads/documents/gb-en/12f5a71117cdc329</a></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.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 The Generative Programmer! 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[🤖 Generative Programmer | Issue #12]]></title><description><![CDATA[AI-Assisted Development, Prompting Techniques, Agent Frameworks]]></description><link>https://generativeprogrammer.com/p/generative-programmer-issue-12</link><guid isPermaLink="false">https://generativeprogrammer.com/p/generative-programmer-issue-12</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Fri, 02 May 2025 06:23:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UGvC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>&#128227; Welcome back! Here&#8217;s what&#8217;s new in GenAI since last time.<br>&#128279; Share: <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">X</a> &#183; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a> &#183; <a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a> &#183; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a> and let&#8217;s dive in.</strong></p><h2>&#128293; Top Picks This Issue</h2><p>&#129516; <a href="https://transformer-circuits.pub/2025/attribution-graphs/biology.html">On the Biology of a Large Language Model</a>  - Anthropic research<br>&#128202; <a href="https://aiwithmike.substack.com/p/what-agentic-software-really-means">Agentic Software Is Not a Chatbot with Loops</a> - Mike Erlihson <br>&#129504; <a href="https://addyo.substack.com/p/avoiding-skill-atrophy-in-the-age">Avoiding Skill Atrophy in the Age of AI</a> - Addy Osmani<br>&#128736;&#65039; <a href="https://www.adithyan.io/blog/writing-cursor-rules-with-a-cursor-rule">Writing Cursor Rules with a Cursor Rule</a> - Adithyan <br>&#129497;&#8205;&#9794;&#65039; <a href="https://blog.langchain.dev/how-to-think-about-agent-frameworks/">How to Think About Agent Frameworks</a> - LangChain<br>&#127754; <a href="https://www.thoughtworks.com/radar">Technology Radar April 2025 </a> - Thoughtworks<br><a href="https://www.byhand.ai/t/spreadsheet">&#9997;&#65039;</a> <a href="https://www.byhand.ai/t/spreadsheet">AI by Hand </a>- Tom Yeh<br>&#8230;and if you dare, <strong>65 more updates</strong> to explore &#128071;</p><h2>&#127919; Featured Article</h2><p>&#127775;&#127775;&#127775; <a href="https://transformer-circuits.pub/2025/attribution-graphs/biology.html">On the Biology of a Large Language Model</a>  &#129516; Anthropic's research into Claude 3.5 Haiku's internal mechanisms using circuit tracing reveals groundbreaking insights into how large language models perform complex tasks. Key findings include the model's ability to perform multi-step reasoning, plan future outputs and utilize both language-specific <strong>and abstract multilingual circuits</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UGvC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UGvC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.png 424w, https://substackcdn.com/image/fetch/$s_!UGvC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.png 848w, https://substackcdn.com/image/fetch/$s_!UGvC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.png 1272w, https://substackcdn.com/image/fetch/$s_!UGvC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UGvC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.png" width="1456" height="668" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:668,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:543239,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!UGvC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.png 424w, https://substackcdn.com/image/fetch/$s_!UGvC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.png 848w, https://substackcdn.com/image/fetch/$s_!UGvC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.png 1272w, https://substackcdn.com/image/fetch/$s_!UGvC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52d5b43d-0991-4dee-80d8-e8c0160a65e4_2414x1108.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><h2><strong>&#128240; Long-Form Reads</strong></h2><p><a href="https://aiwithmike.substack.com/p/what-agentic-software-really-means">What Agentic Software Really Means: Beyond LLM Wrappers and Hype</a> - Mike Erlihson - Agentic Software Is Not a Chatbot with Loops!&#128293;&#128293;&#128293;</p><p><a href="https://www.oreilly.com/radar/radar-trends-to-watch-april-2025/">Radar Trends to Watch: April 2025 -- O'Reilly</a> - Mike Loukides - Developments in AI, Biology, Operations, Security, and More &#128076;</p><p><a href="https://magazine.sebastianraschka.com/p/the-state-of-llm-reasoning-model-training">The State of Reinforcement Learning for LLM Reasoning</a> - Sebastian Raschka, PhD &#129504;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WokA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56651a88-c066-4087-8e51-03c6a7f7c743_1600x1116.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WokA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56651a88-c066-4087-8e51-03c6a7f7c743_1600x1116.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WokA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56651a88-c066-4087-8e51-03c6a7f7c743_1600x1116.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WokA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56651a88-c066-4087-8e51-03c6a7f7c743_1600x1116.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WokA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56651a88-c066-4087-8e51-03c6a7f7c743_1600x1116.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WokA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56651a88-c066-4087-8e51-03c6a7f7c743_1600x1116.jpeg" width="1456" height="1016" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56651a88-c066-4087-8e51-03c6a7f7c743_1600x1116.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1016,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:198472,&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://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56651a88-c066-4087-8e51-03c6a7f7c743_1600x1116.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_!WokA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56651a88-c066-4087-8e51-03c6a7f7c743_1600x1116.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WokA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56651a88-c066-4087-8e51-03c6a7f7c743_1600x1116.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WokA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56651a88-c066-4087-8e51-03c6a7f7c743_1600x1116.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WokA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56651a88-c066-4087-8e51-03c6a7f7c743_1600x1116.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></figure></div><p><a href="https://elenacross7.medium.com/%EF%B8%8F-the-s-in-mcp-stands-for-security-91407b33ed6b">The &#8220;S&#8221; in MCP Stands for Security</a> - Elena Cross - The USB-C for AI agents desperately needs security before we plug our data into every model under the sun. &#128275;</p><p><a href="https://blog.christianposta.com/the-updated-mcp-oauth-spec-is-a-mess/">The MCP Authorization Spec Is... a Mess for Enterprise</a> - Christian Posta</p><p><a href="https://simonwillison.net/2025/Apr/9/mcp-prompt-injection/">Model Context Protocol has prompt injection security problems</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Simon Willison&quot;,&quot;id&quot;:5753967,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5a30d45c-fcba-407a-bebf-96f51a8944a4_48x48.jpeg&quot;,&quot;uuid&quot;:&quot;626a9f11-1e0b-4995-93cf-1cb7ebc68067&quot;}" data-component-name="MentionToDOM"></span> -MCP promises a new standard for LLM tools, but apparently forgot to pack security in. </p><p>&#129344; <a href="https://4zm.org/2025/04/05/bitter-prediction.html">The Bitter Prediction - The Ivory Tower</a> - A developer's journey from AI skeptic to enthusiast ends with the sobering realization that tools like Claude Code are so frighteningly competent they might soon render human programmers obsolete. </p><p>&#128176; <a href="https://www.growthunhinged.com/p/ai-agent-pricing-framework">A new framework for AI agent pricing - by Manny Medina</a> - Manny Medina </p><p><a href="https://blog.sshh.io/p/how-cursor-ai-ide-works">How Cursor (AI IDE) Works</a> - Shrivu Shankar (<a href="https://x.com/bibryam/status/1917504371836830029">X post</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_!n7m_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33029e8c-36fd-4b6e-adc7-279f990dba9c_918x1040.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n7m_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33029e8c-36fd-4b6e-adc7-279f990dba9c_918x1040.jpeg 424w, https://substackcdn.com/image/fetch/$s_!n7m_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33029e8c-36fd-4b6e-adc7-279f990dba9c_918x1040.jpeg 848w, https://substackcdn.com/image/fetch/$s_!n7m_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33029e8c-36fd-4b6e-adc7-279f990dba9c_918x1040.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!n7m_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33029e8c-36fd-4b6e-adc7-279f990dba9c_918x1040.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n7m_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33029e8c-36fd-4b6e-adc7-279f990dba9c_918x1040.jpeg" width="918" height="1040" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/33029e8c-36fd-4b6e-adc7-279f990dba9c_918x1040.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1040,&quot;width&quot;:918,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:87021,&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://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33029e8c-36fd-4b6e-adc7-279f990dba9c_918x1040.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_!n7m_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33029e8c-36fd-4b6e-adc7-279f990dba9c_918x1040.jpeg 424w, https://substackcdn.com/image/fetch/$s_!n7m_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33029e8c-36fd-4b6e-adc7-279f990dba9c_918x1040.jpeg 848w, https://substackcdn.com/image/fetch/$s_!n7m_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33029e8c-36fd-4b6e-adc7-279f990dba9c_918x1040.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!n7m_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33029e8c-36fd-4b6e-adc7-279f990dba9c_918x1040.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></figure></div><p><a href="https://softwaredoug.com/blog/2025/04/26/stop-overbuilding-evals">Stop overbuilding evals</a> - Doug Turnbull</p><p><a href="https://equixly.com/blog/2025/03/29/mcp-server-new-security-nightmare/">MCP Servers: The New Security Nightmare</a> - MCP Servers are bringing back command injection vulnerabilities like it's 2005 &#129318;&#8205;&#9794;&#65039;</p><p><a href="https://addyo.substack.com/p/avoiding-skill-atrophy-in-the-age">Avoiding Skill Atrophy in the Age of AI</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;397f7a12-4694-4f4d-8631-923b63661b65&quot;}" data-component-name="MentionToDOM"></span> </p><p><a href="https://blog.christianposta.com/from-apis-to-capabilities-what-ai-agents-mean-for-application-architecture/">From APIs to Capabilities to Support AI Agents</a> - Christian Posta</p><p><a href="https://substack.com/inbox/post/160988057">Building a To-Do List App with Prompt Driven Development</a> - A step by step guide by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Andrew Miller&quot;,&quot;id&quot;:15850934,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/860b5731-f47b-469b-9d58-86fcad8a1563_675x675.jpeg&quot;,&quot;uuid&quot;:&quot;028607b9-6f75-4549-a2c9-e05b884fe197&quot;}" data-component-name="MentionToDOM"></span> </p><p><a href="https://www.adithyan.io/blog/writing-cursor-rules-with-a-cursor-rule">Writing Cursor Rules with a Cursor Rule</a> - Adithyan &#129497;&#8205;&#9794;&#65039;</p><p><a href="https://www.atlassian.com/blog/atlassian-engineering/hula-blog-autodev-paper-human-in-the-loop-software-development-agents">Human in the Loop Software Development Agents</a> - Jirat Pasuksmit from by Atlassian (<a href="https://x.com/bibryam/status/1917526593129288087">X post</a>)</p><p><a href="https://cloud.google.com/blog/topics/developers-practitioners/from-requirements-to-prototype-with-gemini-code-assist/">From requirements to prototype with Gemini Code Assist</a></p><p><a href="https://cookbook.openai.com/examples/object_oriented_agentic_approach/secure_code_interpreter_tool_for_llm_agents">Build Your Own Code Interpreter - Cookbook</a> - Mandeep Singh &#128295;</p><p><a href="https://www.anthropic.com/engineering/claude-code-best-practices">Claude Code Best Practices</a> - Boris Cherny from Anthropic</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QUJY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838cd64b-fc09-4d45-8a20-04791f57d126_1428x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QUJY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838cd64b-fc09-4d45-8a20-04791f57d126_1428x876.png 424w, https://substackcdn.com/image/fetch/$s_!QUJY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838cd64b-fc09-4d45-8a20-04791f57d126_1428x876.png 848w, https://substackcdn.com/image/fetch/$s_!QUJY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838cd64b-fc09-4d45-8a20-04791f57d126_1428x876.png 1272w, https://substackcdn.com/image/fetch/$s_!QUJY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838cd64b-fc09-4d45-8a20-04791f57d126_1428x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QUJY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838cd64b-fc09-4d45-8a20-04791f57d126_1428x876.png" width="1428" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/838cd64b-fc09-4d45-8a20-04791f57d126_1428x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1428,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:156950,&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://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838cd64b-fc09-4d45-8a20-04791f57d126_1428x876.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_!QUJY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838cd64b-fc09-4d45-8a20-04791f57d126_1428x876.png 424w, https://substackcdn.com/image/fetch/$s_!QUJY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838cd64b-fc09-4d45-8a20-04791f57d126_1428x876.png 848w, https://substackcdn.com/image/fetch/$s_!QUJY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838cd64b-fc09-4d45-8a20-04791f57d126_1428x876.png 1272w, https://substackcdn.com/image/fetch/$s_!QUJY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838cd64b-fc09-4d45-8a20-04791f57d126_1428x876.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><a href="https://edgebit.io/blog/automated-dependency-updates-with-ai">Principles for Building One-Shot AI Agents for Automated Code Maintenance</a> - Rob Szumski</p><p><a href="https://community.aws/content/2k63zaIUwjObVu3o4xlBHpHp0HB/secure-execution-of-code-generated-by-large-language-models">Secure execution of code generated by LLMs</a></p><p><a href="https://blog.langchain.dev/how-to-think-about-agent-frameworks/">How to think about agent frameworks</a> - LangChain's manifesto subtly throwing shade at OpenAI's oversimplified take. &#128293;&#128293;&#128293;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-kIv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f114ca-fdc8-4afe-b538-2867a14153ff_582x336.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-kIv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f114ca-fdc8-4afe-b538-2867a14153ff_582x336.png 424w, https://substackcdn.com/image/fetch/$s_!-kIv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f114ca-fdc8-4afe-b538-2867a14153ff_582x336.png 848w, https://substackcdn.com/image/fetch/$s_!-kIv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f114ca-fdc8-4afe-b538-2867a14153ff_582x336.png 1272w, https://substackcdn.com/image/fetch/$s_!-kIv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f114ca-fdc8-4afe-b538-2867a14153ff_582x336.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-kIv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f114ca-fdc8-4afe-b538-2867a14153ff_582x336.png" width="582" height="336" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62f114ca-fdc8-4afe-b538-2867a14153ff_582x336.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:336,&quot;width&quot;:582,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:10114,&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://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f114ca-fdc8-4afe-b538-2867a14153ff_582x336.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_!-kIv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f114ca-fdc8-4afe-b538-2867a14153ff_582x336.png 424w, https://substackcdn.com/image/fetch/$s_!-kIv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f114ca-fdc8-4afe-b538-2867a14153ff_582x336.png 848w, https://substackcdn.com/image/fetch/$s_!-kIv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f114ca-fdc8-4afe-b538-2867a14153ff_582x336.png 1272w, https://substackcdn.com/image/fetch/$s_!-kIv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f114ca-fdc8-4afe-b538-2867a14153ff_582x336.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><a href="https://www.infoq.com/articles/ai-trends-disrupting-software-teams/">AI Trends Disrupting Software Teams </a>- (this one is by me) - This article outlines five AI-driven trends already reshaping software development, and offers guidance for how different roles can adapt, survive, and thrive in this fast-evolving roller coaster. &#128642;</p><p><a href="https://www.thoughtworks.com/radar">Thoughtworks Technology Radar April 2025 </a>- This edition focuses heavily on the practical evolution of generative AI tools especially coding assistants &#129302;&#127754; </p><p><a href="https://knowledge.gtmstrategist.com/p/5-ai-use-cases-for-gtm-market-research">5 AI Use Cases for GTM Market Research </a> - Maja Voje</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RdIA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb637781f-e38d-48f1-9f15-9dbc915b4ad1_1038x888.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RdIA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb637781f-e38d-48f1-9f15-9dbc915b4ad1_1038x888.webp 424w, https://substackcdn.com/image/fetch/$s_!RdIA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb637781f-e38d-48f1-9f15-9dbc915b4ad1_1038x888.webp 848w, https://substackcdn.com/image/fetch/$s_!RdIA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb637781f-e38d-48f1-9f15-9dbc915b4ad1_1038x888.webp 1272w, https://substackcdn.com/image/fetch/$s_!RdIA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb637781f-e38d-48f1-9f15-9dbc915b4ad1_1038x888.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RdIA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb637781f-e38d-48f1-9f15-9dbc915b4ad1_1038x888.webp" width="1038" height="888" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b637781f-e38d-48f1-9f15-9dbc915b4ad1_1038x888.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:888,&quot;width&quot;:1038,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53988,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb637781f-e38d-48f1-9f15-9dbc915b4ad1_1038x888.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RdIA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb637781f-e38d-48f1-9f15-9dbc915b4ad1_1038x888.webp 424w, https://substackcdn.com/image/fetch/$s_!RdIA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb637781f-e38d-48f1-9f15-9dbc915b4ad1_1038x888.webp 848w, https://substackcdn.com/image/fetch/$s_!RdIA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb637781f-e38d-48f1-9f15-9dbc915b4ad1_1038x888.webp 1272w, https://substackcdn.com/image/fetch/$s_!RdIA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb637781f-e38d-48f1-9f15-9dbc915b4ad1_1038x888.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></figure></div><p> <a href="https://manuel.kiessling.net/2025/03/31/how-seasoned-developers-can-achieve-great-results-with-ai-coding-agents/">Senior Developer Skills in the AI Age</a> - Manuel Kie&#223;ling</p><p><a href="https://addyo.substack.com/p/what-are-ai-agents-why-do-they-matter">What are AI Agents? why do they matter?</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;5598d9fa-0f48-458d-818f-c9e92354e53d&quot;}" data-component-name="MentionToDOM"></span> </p><p><a href="https://medium.com/slalom-build/the-art-of-validating-non-deterministic-ai-responses-5f22c18cb24d">The Art of Validating Non-deterministic AI Responses</a> - Swetha Veluri</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AQU3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec61bb20-f20f-4dfd-acd9-97a0e281f418_1400x438.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AQU3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec61bb20-f20f-4dfd-acd9-97a0e281f418_1400x438.webp 424w, https://substackcdn.com/image/fetch/$s_!AQU3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec61bb20-f20f-4dfd-acd9-97a0e281f418_1400x438.webp 848w, https://substackcdn.com/image/fetch/$s_!AQU3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec61bb20-f20f-4dfd-acd9-97a0e281f418_1400x438.webp 1272w, https://substackcdn.com/image/fetch/$s_!AQU3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec61bb20-f20f-4dfd-acd9-97a0e281f418_1400x438.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AQU3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec61bb20-f20f-4dfd-acd9-97a0e281f418_1400x438.webp" width="1400" height="438" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec61bb20-f20f-4dfd-acd9-97a0e281f418_1400x438.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:438,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:18430,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec61bb20-f20f-4dfd-acd9-97a0e281f418_1400x438.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AQU3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec61bb20-f20f-4dfd-acd9-97a0e281f418_1400x438.webp 424w, https://substackcdn.com/image/fetch/$s_!AQU3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec61bb20-f20f-4dfd-acd9-97a0e281f418_1400x438.webp 848w, https://substackcdn.com/image/fetch/$s_!AQU3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec61bb20-f20f-4dfd-acd9-97a0e281f418_1400x438.webp 1272w, https://substackcdn.com/image/fetch/$s_!AQU3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec61bb20-f20f-4dfd-acd9-97a0e281f418_1400x438.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></figure></div><p><a href="https://www.byhand.ai/t/spreadsheet">AI by Hand &#9997;&#65039;</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Tom Yeh&quot;,&quot;id&quot;:105138944,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1c7fa3c-71fa-44a4-bf32-d68e25f2e534_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;050331d7-10ad-46af-9691-95d65a93c37b&quot;}" data-component-name="MentionToDOM"></span> </p><p><a href="https://addyo.substack.com/p/vibe-coding-is-not-an-excuse-for">Vibe Coding is not an excuse for low-quality work</a> - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;6a7cdec5-7691-46a6-b173-3bdb859fe383&quot;}" data-component-name="MentionToDOM"></span> </p><p><a href="https://www.seangoedecke.com/ai-security">Principles for coding securely with LLMs</a> - sean goedecke </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ARhZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0727d7f4-139a-4f03-9f96-a9c3e99af6c4_1286x914.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ARhZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0727d7f4-139a-4f03-9f96-a9c3e99af6c4_1286x914.png 424w, https://substackcdn.com/image/fetch/$s_!ARhZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0727d7f4-139a-4f03-9f96-a9c3e99af6c4_1286x914.png 848w, https://substackcdn.com/image/fetch/$s_!ARhZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0727d7f4-139a-4f03-9f96-a9c3e99af6c4_1286x914.png 1272w, https://substackcdn.com/image/fetch/$s_!ARhZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0727d7f4-139a-4f03-9f96-a9c3e99af6c4_1286x914.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ARhZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0727d7f4-139a-4f03-9f96-a9c3e99af6c4_1286x914.png" width="1286" height="914" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0727d7f4-139a-4f03-9f96-a9c3e99af6c4_1286x914.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:914,&quot;width&quot;:1286,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:158880,&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://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0727d7f4-139a-4f03-9f96-a9c3e99af6c4_1286x914.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_!ARhZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0727d7f4-139a-4f03-9f96-a9c3e99af6c4_1286x914.png 424w, https://substackcdn.com/image/fetch/$s_!ARhZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0727d7f4-139a-4f03-9f96-a9c3e99af6c4_1286x914.png 848w, https://substackcdn.com/image/fetch/$s_!ARhZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0727d7f4-139a-4f03-9f96-a9c3e99af6c4_1286x914.png 1272w, https://substackcdn.com/image/fetch/$s_!ARhZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0727d7f4-139a-4f03-9f96-a9c3e99af6c4_1286x914.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><a href="https://aws.amazon.com/blogs/machine-learning/build-safe-and-responsible-generative-ai-applications-with-guardrails/">Build safe and responsible generative AI applications with guardrails</a> - AWS Machine Learning Blog</p><h2><strong>&#128038; Social Highlights</strong></h2><p><a href="https://x.com/alexalbert__/status/1914333320877584397">Claude Code Best Practices at Anthropic</a> - Alex Albert from Anthropic reveals a collection of practical coding patterns using Claude.</p><p><a href="https://x.com/inkko44/status/1909945433809469762">Three AIs, one prompt. Who did it best?</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_!omxx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f96ca5-1fad-42c6-8a91-408861b6f97e_1200x640.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!omxx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f96ca5-1fad-42c6-8a91-408861b6f97e_1200x640.jpeg 424w, https://substackcdn.com/image/fetch/$s_!omxx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f96ca5-1fad-42c6-8a91-408861b6f97e_1200x640.jpeg 848w, https://substackcdn.com/image/fetch/$s_!omxx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f96ca5-1fad-42c6-8a91-408861b6f97e_1200x640.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!omxx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f96ca5-1fad-42c6-8a91-408861b6f97e_1200x640.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!omxx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f96ca5-1fad-42c6-8a91-408861b6f97e_1200x640.jpeg" width="1200" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5f96ca5-1fad-42c6-8a91-408861b6f97e_1200x640.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:33483,&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://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f96ca5-1fad-42c6-8a91-408861b6f97e_1200x640.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_!omxx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f96ca5-1fad-42c6-8a91-408861b6f97e_1200x640.jpeg 424w, https://substackcdn.com/image/fetch/$s_!omxx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f96ca5-1fad-42c6-8a91-408861b6f97e_1200x640.jpeg 848w, https://substackcdn.com/image/fetch/$s_!omxx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f96ca5-1fad-42c6-8a91-408861b6f97e_1200x640.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!omxx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f96ca5-1fad-42c6-8a91-408861b6f97e_1200x640.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></figure></div><p><a href="https://www.netlify.com/blog/why-netlify-is-the-1-platform-for-ai-deployments">Netlify Hits 1 Million AI-Generated Apps</a> &#128079;</p><p><a href="https://x.com/benhylak/status/1912922457012572364">X: Models don't know how to use cursor anymore</a> - they're all being optimized for terminal. That's why 3.7 is and o3 are so awful in Cursor, and so amazing outside of it.</p><p><a href="https://x.com/bruffstar/status/1906522292743553249">The Ultimate List of Prompts to Style Images using ChatGPT</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_!0Yts!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6acf841-852e-4048-84cf-f2c5158d1964_1200x480.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0Yts!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6acf841-852e-4048-84cf-f2c5158d1964_1200x480.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0Yts!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6acf841-852e-4048-84cf-f2c5158d1964_1200x480.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0Yts!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6acf841-852e-4048-84cf-f2c5158d1964_1200x480.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0Yts!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6acf841-852e-4048-84cf-f2c5158d1964_1200x480.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0Yts!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6acf841-852e-4048-84cf-f2c5158d1964_1200x480.jpeg" width="1200" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6acf841-852e-4048-84cf-f2c5158d1964_1200x480.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:178632,&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://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6acf841-852e-4048-84cf-f2c5158d1964_1200x480.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_!0Yts!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6acf841-852e-4048-84cf-f2c5158d1964_1200x480.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0Yts!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6acf841-852e-4048-84cf-f2c5158d1964_1200x480.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0Yts!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6acf841-852e-4048-84cf-f2c5158d1964_1200x480.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0Yts!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6acf841-852e-4048-84cf-f2c5158d1964_1200x480.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></figure></div><p><a href="https://thenewstack.io/openai-releases-new-models-trained-for-developers">OpenAI Releases New Models Trained for Developers</a> - Loraine Lawson </p><p><a href="https://thenewstack.io/how-ai-agents-are-quietly-transforming-frontend-development/">How AI Agents Are Quietly Transforming Frontend Development</a> - Alexander T. Williams / The New Stack</p><p><a href="https://x.com/ericzakariasson/status/1913291780667417085">What&#8217;s new in Cursor_0.49</a>: rule generation&#8230;</p><h2><strong>&#128736;&#65039; Tech &amp; Tools</strong></h2><p><a href="https://blog.cloudflare.com/remote-model-context-protocol-servers-mcp/">Build and deploy Remote MCP servers to Cloudflare</a></p><p><a href="https://github.com/Doriandarko/claude-engineer">Doriandarko/claude-engineer</a> - Doriandarko</p><p><a href="https://github.com/openai/codex">OpenAI's Codex CLI</a> - openai</p><p><a href="https://llm-guard.com/">LLM Guard</a> - The Security Toolkit for LLM Interactions</p><p><a href="https://www.serverless.com/framework/docs/guides/mcp">Serverless Framework's MCP Server</a></p><p><a href="https://google.github.io/A2A/">Agent2Agent Protocol</a> - Google's Agent2Agent Protocol promises to revolutionize AI communication &#128580; (<a href="https://x.com/bibryam/status/1910064242465575119">X post</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_!hAon!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a0613c-1ae3-4d0e-8241-b5f12e300862_1008x752.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hAon!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a0613c-1ae3-4d0e-8241-b5f12e300862_1008x752.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hAon!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a0613c-1ae3-4d0e-8241-b5f12e300862_1008x752.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hAon!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a0613c-1ae3-4d0e-8241-b5f12e300862_1008x752.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hAon!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a0613c-1ae3-4d0e-8241-b5f12e300862_1008x752.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hAon!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a0613c-1ae3-4d0e-8241-b5f12e300862_1008x752.jpeg" width="1008" height="752" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77a0613c-1ae3-4d0e-8241-b5f12e300862_1008x752.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:752,&quot;width&quot;:1008,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75194,&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://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a0613c-1ae3-4d0e-8241-b5f12e300862_1008x752.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_!hAon!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a0613c-1ae3-4d0e-8241-b5f12e300862_1008x752.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hAon!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a0613c-1ae3-4d0e-8241-b5f12e300862_1008x752.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hAon!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a0613c-1ae3-4d0e-8241-b5f12e300862_1008x752.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hAon!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a0613c-1ae3-4d0e-8241-b5f12e300862_1008x752.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></figure></div><p><a href="https://agntcy.org/">AGNTCY.org</a> - An open source collective for inter-agent collaboration.</p><p><a href="https://github.com/wild-card-ai/agents-json">GitHub - wild-card-ai/agents-json</a> - The agents.json specification is yet another attempt to standardize AI agent interactions</p><p><a href="https://willpatrick.xyz/technology/2025/04/23/teaching-llms-how-to-solid-model.html">Teaching LLMs how to solid model</a> - Will Patrick boldly predicts that LLMs will soon transform mechanical engineering by designing CAD models too &#128295;</p><p><a href="https://google.github.io/adk-docs/">Agent Development Kit</a> - Google announces Agent Development Kit</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Nvs4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8e721d-e5e3-4fa6-9d62-aabd3d93a70a_3108x1184.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Nvs4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8e721d-e5e3-4fa6-9d62-aabd3d93a70a_3108x1184.png 424w, https://substackcdn.com/image/fetch/$s_!Nvs4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8e721d-e5e3-4fa6-9d62-aabd3d93a70a_3108x1184.png 848w, https://substackcdn.com/image/fetch/$s_!Nvs4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8e721d-e5e3-4fa6-9d62-aabd3d93a70a_3108x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!Nvs4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8e721d-e5e3-4fa6-9d62-aabd3d93a70a_3108x1184.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Nvs4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8e721d-e5e3-4fa6-9d62-aabd3d93a70a_3108x1184.png" width="1456" height="555" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f8e721d-e5e3-4fa6-9d62-aabd3d93a70a_3108x1184.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:555,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:236912,&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://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8e721d-e5e3-4fa6-9d62-aabd3d93a70a_3108x1184.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_!Nvs4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8e721d-e5e3-4fa6-9d62-aabd3d93a70a_3108x1184.png 424w, https://substackcdn.com/image/fetch/$s_!Nvs4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8e721d-e5e3-4fa6-9d62-aabd3d93a70a_3108x1184.png 848w, https://substackcdn.com/image/fetch/$s_!Nvs4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8e721d-e5e3-4fa6-9d62-aabd3d93a70a_3108x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!Nvs4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8e721d-e5e3-4fa6-9d62-aabd3d93a70a_3108x1184.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><a href="https://github.com/trycua/acu">A curated list of resources about AI agents for Computer Use</a></p><p><a href="https://github.com/The-Pocket/Tutorial-Codebase-Knowledge">Pocket Flow</a> - Turns GitHub repo into Easy Tutorial with AI</p><p><a href="https://www.fleurmcp.com/">Fleur MCP</a> Fleur /fl&#339;&#641;/ is the app store for Claude</p><h2><strong>&#128218; Learning Picks</strong></h2><p>&#128203; <a href="https://www.linkedin.com/pulse/ai-ml-resource-library-georgi-naydenov-fcshf/">The AI &amp; ML Resource Library</a> - a solid collection of learning resources.</p><p><a href="https://www.kaggle.com/whitepaper-foundational-llm-and-text-generation">Foundational Large Language Models &amp; Text Generation</a> - a pleasant-to-read whitepaper on Kaggle</p><p>&#128079; <a href="https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf">A practical guide to building agents</a> - OpenAI's guide to building agents (<a href="https://x.com/bibryam/status/1915079344705151223">X post</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_!MDtJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c5eb36-2b9a-4964-92ab-74cf579dac60_4096x1456.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MDtJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c5eb36-2b9a-4964-92ab-74cf579dac60_4096x1456.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MDtJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c5eb36-2b9a-4964-92ab-74cf579dac60_4096x1456.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MDtJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c5eb36-2b9a-4964-92ab-74cf579dac60_4096x1456.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MDtJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c5eb36-2b9a-4964-92ab-74cf579dac60_4096x1456.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MDtJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c5eb36-2b9a-4964-92ab-74cf579dac60_4096x1456.jpeg" width="1456" height="518" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4c5eb36-2b9a-4964-92ab-74cf579dac60_4096x1456.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:518,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:267859,&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://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c5eb36-2b9a-4964-92ab-74cf579dac60_4096x1456.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_!MDtJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c5eb36-2b9a-4964-92ab-74cf579dac60_4096x1456.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MDtJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c5eb36-2b9a-4964-92ab-74cf579dac60_4096x1456.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MDtJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c5eb36-2b9a-4964-92ab-74cf579dac60_4096x1456.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MDtJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c5eb36-2b9a-4964-92ab-74cf579dac60_4096x1456.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></figure></div><h2><strong>&#127917; AI Humor</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_IUS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F217e44c0-e71b-402d-8258-da056907f955_758x701.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_IUS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F217e44c0-e71b-402d-8258-da056907f955_758x701.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_IUS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F217e44c0-e71b-402d-8258-da056907f955_758x701.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_IUS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F217e44c0-e71b-402d-8258-da056907f955_758x701.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_IUS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F217e44c0-e71b-402d-8258-da056907f955_758x701.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_IUS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F217e44c0-e71b-402d-8258-da056907f955_758x701.jpeg" width="758" height="701" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/217e44c0-e71b-402d-8258-da056907f955_758x701.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:701,&quot;width&quot;:758,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56316,&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://generativeprogrammer.com/i/162648456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F217e44c0-e71b-402d-8258-da056907f955_758x701.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_!_IUS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F217e44c0-e71b-402d-8258-da056907f955_758x701.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_IUS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F217e44c0-e71b-402d-8258-da056907f955_758x701.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_IUS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F217e44c0-e71b-402d-8258-da056907f955_758x701.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_IUS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F217e44c0-e71b-402d-8258-da056907f955_758x701.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></figure></div><p><a href="https://x.com/catalinmpit/status/1896500679960907922">by @catalinmpit</a>  &#128579;</p><h2>&#128075; See You Next Week</h2><p>Thanks for reading <em>Generative Programmer</em>! &#128591; </p><p>If you like the content please support my newsletter by subscribing and sharing with your network: <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">X</a> &#183; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a> &#183; <a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a> &#183; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a>. Have a great rest of the week! </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://generativeprogrammer.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://generativeprogrammer.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Key Generative AI Concepts Every Software Developer Should Know]]></title><description><![CDATA[Understand These Now&#8212;Or Fall Behind in the Next Wave of Software Innovation]]></description><link>https://generativeprogrammer.com/p/key-generative-ai-concepts-every</link><guid isPermaLink="false">https://generativeprogrammer.com/p/key-generative-ai-concepts-every</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Sat, 19 Apr 2025 11:58:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cnGQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every 5&#8211;10 years, the software industry experiences a paradigm shift that redefines how we build systems. We've seen this with object-oriented programming and design patterns, unit testing, microservices, containers and orchestration (Kubernetes), and cloud-native architectures. Each wave brings new terminology. Understanding these terms&#8212;even if you&#8217;re not using them daily&#8212;helps you learn faster, communicate better, and stay relevant.</p><p>Generative AI is the latest shift. This article introduces <em><strong>10 foundational GenAI concepts</strong></em> that have become critical to understanding the technology and building on top of it.</p><div><hr></div><h2>1. Transformer Architecture</h2><p>The path to today's ChatGPT began around 2014, when the dominant approach to language processing was sequence-to-sequence models. These models, pioneered by researchers at Google in their paper <a href="https://arxiv.org/abs/1409.3215">"Sequence to Sequence Learning with Neural Networks"</a>, worked like a pipeline with two main parts: an encoder that processed input text word by word, and a decoder that generated output text. These models would compress an entire sentence into a single fixed-length vector before generating a response, creating a major bottleneck where longer texts lost substantial information.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cnGQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cnGQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.png 424w, https://substackcdn.com/image/fetch/$s_!cnGQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.png 848w, https://substackcdn.com/image/fetch/$s_!cnGQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.png 1272w, https://substackcdn.com/image/fetch/$s_!cnGQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cnGQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.png" width="917" height="1688" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1688,&quot;width&quot;:917,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86712,&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://generativeprogrammer.com/i/152421324?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.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_!cnGQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.png 424w, https://substackcdn.com/image/fetch/$s_!cnGQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.png 848w, https://substackcdn.com/image/fetch/$s_!cnGQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.png 1272w, https://substackcdn.com/image/fetch/$s_!cnGQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89e8d8f-c24d-472f-99c3-1d2734069f23_917x1688.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 source https://learning.oreilly.com/library/view/prompt-engineering-for/9781098156145/ch01.html</figcaption></figure></div><p>In 2015, researchers proposed a better solution called "attention" in the paper <a href="https://arxiv.org/abs/1409.0473">"Neural Machine Translation by Jointly Learning to Align and Translate"</a>. Instead of forcing all information through one vector, attention allowed the decoder to "look back" at different parts of the input when generating each output word. This was like giving the model the ability to focus on relevant parts of the input as needed, similar to how humans might re-read specific sentences when composing a response.</p><p>The real breakthrough came in 2017 with the paper <a href="https://arxiv.org/abs/1706.03762">"Attention Is All You Need"</a>, which introduced the Transformer architecture. What made Transformers revolutionary was that they:</p><ul><li><p>Processed all words in parallel rather than one-by-one (massively speeding up training)</p></li><li><p>Used a sophisticated "self-attention" mechanism that let each word directly relate to every other word</p></li></ul><p>In 2018, OpenAI built on this by creating GPT (Generative Pre-trained Transformer) in their paper <a href="https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf">"Improving Language Understanding by Generative Pre-Training"</a>, which used just the decoder portion of the Transformer architecture. The key innovation was pre-training on massive amounts of text data before fine-tuning for specific tasks. The book <a href="https://amzn.to/42QixoZ">Prompt Engineering for LLMs</a> explores this evolution in greater detail.</p><h2>2. Agentic Systems</h2><p>At its core, an agentic system uses an AI model (typically an LLM) to autonomously perform tasks by making decisions and taking actions to achieve specific goals. Unlike simple prompt-response interactions, these systems can reason, plan, use tools, and adapt their approach as they work toward completing objectives.</p><p>Rather than defining agents in binary terms (agent vs. not-agent), it's more useful to think of agentic behavior as a continuum&#8212;from rule-following assistants to fully autonomous problem-solvers. As <a href="https://www.anthropic.com/engineering/building-effective-agents">Anthropic folks</a> suggest, different systems can be agentic to different degrees depending on their capabilities and autonomy level.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pTql!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e274cc9-88b7-4531-af7f-3794fe77e444_3745x3668.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pTql!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e274cc9-88b7-4531-af7f-3794fe77e444_3745x3668.png 424w, https://substackcdn.com/image/fetch/$s_!pTql!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e274cc9-88b7-4531-af7f-3794fe77e444_3745x3668.png 848w, https://substackcdn.com/image/fetch/$s_!pTql!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e274cc9-88b7-4531-af7f-3794fe77e444_3745x3668.png 1272w, https://substackcdn.com/image/fetch/$s_!pTql!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e274cc9-88b7-4531-af7f-3794fe77e444_3745x3668.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pTql!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e274cc9-88b7-4531-af7f-3794fe77e444_3745x3668.png" width="1456" height="1426" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e274cc9-88b7-4531-af7f-3794fe77e444_3745x3668.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1426,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2996413,&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://generativeprogrammer.com/i/152421324?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e274cc9-88b7-4531-af7f-3794fe77e444_3745x3668.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_!pTql!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e274cc9-88b7-4531-af7f-3794fe77e444_3745x3668.png 424w, https://substackcdn.com/image/fetch/$s_!pTql!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e274cc9-88b7-4531-af7f-3794fe77e444_3745x3668.png 848w, https://substackcdn.com/image/fetch/$s_!pTql!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e274cc9-88b7-4531-af7f-3794fe77e444_3745x3668.png 1272w, https://substackcdn.com/image/fetch/$s_!pTql!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e274cc9-88b7-4531-af7f-3794fe77e444_3745x3668.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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 source:  Google Cloud video</figcaption></figure></div><p>The agentic spectrum expands to:</p><ul><li><p><strong>Agentic Workflows</strong> sit at the more controlled end of the spectrum. These involve an LLM making limited decisions within a structured process, where the path to completion is largely predefined. For example, an invoice processing system might use AI to extract data, classify documents, and prepare them for human review&#8212;following a specific series of steps with limited autonomy.</p></li><li><p><strong>Autonomous Agents</strong> represent the high end of the spectrum, with the ability to determine their own goals, subtasks, tools, and execution strategies with minimal human guidance. These agents might employ complex planning, self-reflection, and error correction to accomplish broadly defined objectives like "research a topic and write a comprehensive report" or "plan a vacation based on preferences."</p></li></ul><p>For software engineers, the important consideration isn't whether something is truly an agent, but rather what degree of autonomy makes sense for your particular application. Many business problems benefit from the more controlled approach of agentic workflows, while more complex exploratory tasks might call for greater autonomy. See a precise coverage of 'agentic' in this <a href="https://www.youtube.com/watch?v=Qd6anWv0mv0">video by the Google Cloud</a> DevRel team.</p><h2>3. Non-Determinism</h2><p>Traditional software systems are deterministic&#8212;given the same inputs, they produce the same outputs every time. In contrast, generative AI introduces fundamentally non-deterministic behavior, where identical prompts can produce different responses even with the same parameters.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y3Nq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdefd4be0-b25d-4aa0-9653-8d817c370e4a_775x458.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y3Nq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdefd4be0-b25d-4aa0-9653-8d817c370e4a_775x458.png 424w, https://substackcdn.com/image/fetch/$s_!y3Nq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdefd4be0-b25d-4aa0-9653-8d817c370e4a_775x458.png 848w, https://substackcdn.com/image/fetch/$s_!y3Nq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdefd4be0-b25d-4aa0-9653-8d817c370e4a_775x458.png 1272w, https://substackcdn.com/image/fetch/$s_!y3Nq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdefd4be0-b25d-4aa0-9653-8d817c370e4a_775x458.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y3Nq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdefd4be0-b25d-4aa0-9653-8d817c370e4a_775x458.png" width="775" height="458" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/defd4be0-b25d-4aa0-9653-8d817c370e4a_775x458.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:458,&quot;width&quot;:775,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:16288,&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://generativeprogrammer.com/i/152421324?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdefd4be0-b25d-4aa0-9653-8d817c370e4a_775x458.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_!y3Nq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdefd4be0-b25d-4aa0-9653-8d817c370e4a_775x458.png 424w, https://substackcdn.com/image/fetch/$s_!y3Nq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdefd4be0-b25d-4aa0-9653-8d817c370e4a_775x458.png 848w, https://substackcdn.com/image/fetch/$s_!y3Nq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdefd4be0-b25d-4aa0-9653-8d817c370e4a_775x458.png 1272w, https://substackcdn.com/image/fetch/$s_!y3Nq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdefd4be0-b25d-4aa0-9653-8d817c370e4a_775x458.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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 source: https://commons.wikimedia.org/wiki/File:Difference_between_deterministic_and_Nondeterministic.png</figcaption></figure></div><p>This non-determinism comes from several sources:</p><ul><li><p><strong>Sampling methods</strong> like temperature and top-p that intentionally introduce randomness</p></li><li><p><strong>Context-sensitivity</strong> where subtle changes in context lead to different interpretations</p></li><li><p><strong>Training variation</strong> that causes models to develop different "paths" of reasoning</p></li></ul><p>Consider an AI agent tasked with researching a topic. We cannot predict in advance which tools it will call, in what order it will use them, how many iterations of research it will perform, or when it will decide the task is complete. One execution might involve three web searches followed by summarization, while another execution with the identical starting point might involve dozens of searches, calls to analysis tools, and multiple refinement steps.</p><p>This runtime non-determinism creates a fundamentally different software architecture. Rather than defining explicit sequences of operations, engineers must create environments where agents can operate safely within boundaries. These boundaries typically include:</p><ul><li><p>Maximum execution time or token limits</p></li><li><p>Caps on the number of tool calls or iterations</p></li><li><p>Restricted tool access based on security considerations</p></li><li><p>Budget constraints for resource consumption</p></li><li><p>Human approval checkpoints for critical decisions</p></li></ul><p>The architecture shifts from prescriptive flows to constraint-based systems. Instead of telling the system exactly what to do, we define what it can and cannot do, then allow it to determine its own path within those constraints.  For software engineers, this represents a profound shift in system design. We must architect for possibilities rather than certainties, creating robust environments that remain stable regardless of which execution path an agent chooses to take.</p><h2>4. Retrieval-Augmented Generation (RAG)</h2><p>AI models, like humans, make better decisions when they have relevant information. While foundation models contain impressive amounts of knowledge, they face two fundamental limitations: their training data has a cutoff date, and they are limited to mostly public information found on the internet.</p><p>The concept of Retrieval-Augmented Generation was introduced in the 2020 paper <a href="https://arxiv.org/abs/2005.11401">"Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks"</a>, which proposed RAG as a solution for situations where all available knowledge can't be directly included in a model's context.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eV6c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a45e94e-4b63-4857-85b2-7e8251ce842b_3617x4096.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eV6c!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a45e94e-4b63-4857-85b2-7e8251ce842b_3617x4096.jpeg 424w, https://substackcdn.com/image/fetch/$s_!eV6c!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a45e94e-4b63-4857-85b2-7e8251ce842b_3617x4096.jpeg 848w, https://substackcdn.com/image/fetch/$s_!eV6c!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a45e94e-4b63-4857-85b2-7e8251ce842b_3617x4096.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!eV6c!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a45e94e-4b63-4857-85b2-7e8251ce842b_3617x4096.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eV6c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a45e94e-4b63-4857-85b2-7e8251ce842b_3617x4096.jpeg" width="1456" height="1649" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a45e94e-4b63-4857-85b2-7e8251ce842b_3617x4096.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1649,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:612230,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/152421324?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a45e94e-4b63-4857-85b2-7e8251ce842b_3617x4096.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!eV6c!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a45e94e-4b63-4857-85b2-7e8251ce842b_3617x4096.jpeg 424w, https://substackcdn.com/image/fetch/$s_!eV6c!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a45e94e-4b63-4857-85b2-7e8251ce842b_3617x4096.jpeg 848w, https://substackcdn.com/image/fetch/$s_!eV6c!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a45e94e-4b63-4857-85b2-7e8251ce842b_3617x4096.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!eV6c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a45e94e-4b63-4857-85b2-7e8251ce842b_3617x4096.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">Image source: https://x.com/bibryam/status/1905928671317131645/</figcaption></figure></div><p>RAG solves this problem by enabling models to pull information from external sources before generating a response. Think of RAG as the "library lookup" pattern for AI systems - rather than relying solely on memorized knowledge, the app can reference specific documents, databases, or other knowledge sources on demand.</p><p>This approach offers several crucial benefits:</p><ul><li><p><strong>Reduced hallucinations</strong>: With access to factual information, models are less likely to make things up</p></li><li><p><strong>Access to proprietary data</strong>: Models can work with your organization's internal documents</p></li><li><p><strong>Up-to-date information</strong>: Systems can incorporate data from after the model's training cutoff</p></li></ul><p>For software engineers, knowing RAG is analogous to knowing the sidecar pattern in Kubernetes. RAG extends the capability of the main container (the LLM) by providing a specialized service (information retrieval) that complements its core functionality.</p><h2>5. Evals</h2><p>In conventional software development, testing typically validates deterministic functions: "When I input X, I expect output Y." For AI systems, we instead need probabilistic assessments: "When I input X, is the response reasonable, accurate, and appropriate?". This fundamental challenge requires us to rethink quality assurance for AI applications. We need to evaluate whether outputs are helpful, accurate, safe, unbiased, and aligned with human values&#8212;none of which can be validated through simple assertion testing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M7iD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aaf9e43-c560-4428-8d98-b473fdf9440a_4717x3459.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M7iD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aaf9e43-c560-4428-8d98-b473fdf9440a_4717x3459.png 424w, https://substackcdn.com/image/fetch/$s_!M7iD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aaf9e43-c560-4428-8d98-b473fdf9440a_4717x3459.png 848w, https://substackcdn.com/image/fetch/$s_!M7iD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aaf9e43-c560-4428-8d98-b473fdf9440a_4717x3459.png 1272w, https://substackcdn.com/image/fetch/$s_!M7iD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aaf9e43-c560-4428-8d98-b473fdf9440a_4717x3459.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M7iD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aaf9e43-c560-4428-8d98-b473fdf9440a_4717x3459.png" width="1456" height="1068" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9aaf9e43-c560-4428-8d98-b473fdf9440a_4717x3459.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1068,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:730003,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/152421324?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aaf9e43-c560-4428-8d98-b473fdf9440a_4717x3459.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!M7iD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aaf9e43-c560-4428-8d98-b473fdf9440a_4717x3459.png 424w, https://substackcdn.com/image/fetch/$s_!M7iD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aaf9e43-c560-4428-8d98-b473fdf9440a_4717x3459.png 848w, https://substackcdn.com/image/fetch/$s_!M7iD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aaf9e43-c560-4428-8d98-b473fdf9440a_4717x3459.png 1272w, https://substackcdn.com/image/fetch/$s_!M7iD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aaf9e43-c560-4428-8d98-b473fdf9440a_4717x3459.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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 source: https://www.confident-ai.com/blog/llm-evaluation-metrics-everything-you-need-for-llm-evaluation</figcaption></figure></div><p>Modern AI evaluation frameworks employ several complementary approaches:</p><ul><li><p><strong>LLM-as-Judge</strong> leverages the linguistic understanding of one AI system to evaluate another. This approach acknowledges that language models excel at nuanced assessments of text quality, coherence, and appropriateness. </p></li><li><p><strong>Metric-Based Evaluations</strong> focus on quantifiable dimensions of performance. These include factual accuracy where outputs are compared against trusted information sources, hallucination detection to identify when models fabricate information, context relevance assessments that determine if responses properly address specific queries, task completion rates measuring successful execution of user instructions, and safety scores for detecting harmful content. Together, these metrics provide a comprehensive view of model performance across critical dimensions.</p></li><li><p><strong>Human Feedback Collection</strong> remains essential, particularly for subjective elements like helpfulness, creativity, and tone. Despite advances in automated evaluation, human judgment continues to serve as the gold standard for assessing many aspects of AI-generated content.</p></li></ul><p>The evaluation landscape has rapidly evolved from ad-hoc testing to comprehensive frameworks that span the entire AI application lifecycle:</p><p>Development-time evaluation helps engineers catch issues early during model development. Continuous evaluation applies CI/CD principles to AI systems, with automated testing on each iteration. Production monitoring extends evaluation into deployed applications, tracking model performance on real-world inputs. This closes the loop by identifying issues that weren't caught in pre-deployment testing and capturing edge cases for future evaluation sets, creating a virtuous cycle of continuous improvement.</p><p>For software engineers, evaluation frameworks represent not just a quality assurance step but a fundamental part of the development process that helps shape model behavior and catch failures before they impact users. Understanding evals is crucial for ensuring AI applications meet quality standards and perform reliably in production environments.</p><h2>6. Vibe Coding</h2><p><a href="https://generativeprogrammer.com/p/talk-draw-generate-10-ways-for-creating">Vibe coding</a>, a term coined by Andrej Karpathy in February 2025 in his <a href="https://x.com/karpathy/status/1886192184808149383">viral tweet</a>, refers to a specific approach to programming where developers "fully give in to the vibes" and "forget that the code even exists." </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uvSW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278b083e-190e-4ba5-b387-6452e6b32815_1279x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uvSW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278b083e-190e-4ba5-b387-6452e6b32815_1279x720.png 424w, https://substackcdn.com/image/fetch/$s_!uvSW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278b083e-190e-4ba5-b387-6452e6b32815_1279x720.png 848w, https://substackcdn.com/image/fetch/$s_!uvSW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278b083e-190e-4ba5-b387-6452e6b32815_1279x720.png 1272w, https://substackcdn.com/image/fetch/$s_!uvSW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278b083e-190e-4ba5-b387-6452e6b32815_1279x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uvSW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278b083e-190e-4ba5-b387-6452e6b32815_1279x720.png" width="1279" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/278b083e-190e-4ba5-b387-6452e6b32815_1279x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1279,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:367649,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/152421324?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278b083e-190e-4ba5-b387-6452e6b32815_1279x720.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!uvSW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278b083e-190e-4ba5-b387-6452e6b32815_1279x720.png 424w, https://substackcdn.com/image/fetch/$s_!uvSW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278b083e-190e-4ba5-b387-6452e6b32815_1279x720.png 848w, https://substackcdn.com/image/fetch/$s_!uvSW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278b083e-190e-4ba5-b387-6452e6b32815_1279x720.png 1272w, https://substackcdn.com/image/fetch/$s_!uvSW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278b083e-190e-4ba5-b387-6452e6b32815_1279x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>As <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Simon Willison&quot;,&quot;id&quot;:5753967,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5a30d45c-fcba-407a-bebf-96f51a8944a4_48x48.jpeg&quot;,&quot;uuid&quot;:&quot;f98e6ac7-f761-4616-8d88-2bb4d3468dce&quot;}" data-component-name="MentionToDOM"></span> clarifies in his <a href="https://simonw.substack.com/p/not-all-ai-assisted-programming-is">newsletter</a>, vibe coding means letting the LLM write and ship code without review. It's distinct from responsible AI-assisted development, where output is verified. Using an LLM to generate code snippets that you then review, understand, and integrate is not vibe coding&#8212;it's just responsible software development with AI tools.</p><p>Vibe coding shines for:</p><ul><li><p>Quick prototypes and experiments</p></li><li><p>Personal projects with low stakes</p></li><li><p>Learning and building intuition about what AI can do</p></li><li><p>Democratizing programming for non-developers</p></li></ul><p>However, vibe coding is unsuitable for:</p><ul><li><p>Production systems where reliability matters</p></li><li><p>Applications handling sensitive data or money</p></li><li><p>Code that needs to be maintained long-term</p></li><li><p>Projects requiring specific security or performance characteristics</p></li></ul><p>A software developer&#8217;s role goes beyond writing code and shipping features. It involves building systems that are reliable, maintainable, and understandable by  humans. Vibe coding prioritizes speed and non-technical accessibility, which can be useful in certain scenarios, but it&#8217;s not a replacement for disciplined, intentional engineering.</p><h2>7. Chain of Thought (CoT)</h2><p>Prompt engineering is the practice of crafting inputs to AI models to effectively guide their outputs. Unlike traditional programming where instructions follow strict syntax, prompt engineering involves designing natural language instructions that shape an AI's behavior. For software engineers, this skill has become essential&#8212;it's effectively the "API" for interacting with language models.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_rXo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa257dd2a-2bc9-48cf-bed1-0f9d7712e86b_1788x900.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_rXo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa257dd2a-2bc9-48cf-bed1-0f9d7712e86b_1788x900.webp 424w, https://substackcdn.com/image/fetch/$s_!_rXo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa257dd2a-2bc9-48cf-bed1-0f9d7712e86b_1788x900.webp 848w, https://substackcdn.com/image/fetch/$s_!_rXo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa257dd2a-2bc9-48cf-bed1-0f9d7712e86b_1788x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!_rXo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa257dd2a-2bc9-48cf-bed1-0f9d7712e86b_1788x900.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_rXo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa257dd2a-2bc9-48cf-bed1-0f9d7712e86b_1788x900.webp" width="1456" height="733" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a257dd2a-2bc9-48cf-bed1-0f9d7712e86b_1788x900.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:733,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107510,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/152421324?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa257dd2a-2bc9-48cf-bed1-0f9d7712e86b_1788x900.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_rXo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa257dd2a-2bc9-48cf-bed1-0f9d7712e86b_1788x900.webp 424w, https://substackcdn.com/image/fetch/$s_!_rXo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa257dd2a-2bc9-48cf-bed1-0f9d7712e86b_1788x900.webp 848w, https://substackcdn.com/image/fetch/$s_!_rXo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa257dd2a-2bc9-48cf-bed1-0f9d7712e86b_1788x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!_rXo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa257dd2a-2bc9-48cf-bed1-0f9d7712e86b_1788x900.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">Image soruce: https://learnprompting.org/docs/intermediate/chain_of_thought</figcaption></figure></div><p><a href="https://arxiv.org/abs/2201.11903">Chain of Thought</a> prompting encourages AI models to break down complex problems into step-by-step reasoning before providing a final answer. Instead of just asking "<em>What's 17 &#215; 24?</em>", you ask "<em>What's 17 &#215; 24? Let's solve this step by step.</em>"</p><p>Adding cues like "<em>Let's think step by step</em>" often triggers structured reasoning learned during training, resulting in dramatically improved accuracy for tasks requiring reasoning, calculation, or multi-step analysis. It works because modern LLMs have been trained on numerous examples of human reasoning, but need a cue to activate this capability.</p><p>CoT is particularly valuable for software engineers when:</p><ul><li><p>Generating complex code that requires careful planning</p></li><li><p>Debugging issues that need logical analysis</p></li><li><p>Breaking down requirements into implementable steps</p></li><li><p>Reviewing complicated logic or algorithms</p></li></ul><p>The main tradeoff is verbosity&#8212;CoT responses use more tokens, which means higher costs and longer generation times. However, for tasks where accuracy matters more than speed, this is often worthwhile.</p><h2>8. Tool Calling</h2><p>In AI applications, <strong><a href="https://platform.openai.com/docs/guides/function-calling">tool calling</a></strong> (also known as <em>function calling</em>) is a pattern where large language models (LLMs) can extend their capabilities by requesting external functions to be invoked. These tools can retrieve information (e.g., weather data, database lookups) or perform actions (e.g., send an email, update a record). This pattern enables models to work with up-to-date or dynamic information they wouldn&#8217;t otherwise know. Although often called &#8220;function calling,&#8221; <em>tool calling</em> is a better name because it reflects a broader abstraction: tools may not be pure functions&#8212;they can be services, workflows, or stateful processes. The term also aligns with the <strong><a href="https://github.com/modelcontextprotocol">Model Context Protocol</a> (MCP)</strong>, which standardizes model interaction with external tools via structured, declarative calls.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GG2g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd7e3db1-7325-4468-a187-e9cb1dcd44fb_5374x2977.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GG2g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd7e3db1-7325-4468-a187-e9cb1dcd44fb_5374x2977.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GG2g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd7e3db1-7325-4468-a187-e9cb1dcd44fb_5374x2977.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GG2g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd7e3db1-7325-4468-a187-e9cb1dcd44fb_5374x2977.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GG2g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd7e3db1-7325-4468-a187-e9cb1dcd44fb_5374x2977.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GG2g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd7e3db1-7325-4468-a187-e9cb1dcd44fb_5374x2977.jpeg" width="1456" height="807" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd7e3db1-7325-4468-a187-e9cb1dcd44fb_5374x2977.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:807,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:364986,&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://generativeprogrammer.com/i/152421324?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd7e3db1-7325-4468-a187-e9cb1dcd44fb_5374x2977.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_!GG2g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd7e3db1-7325-4468-a187-e9cb1dcd44fb_5374x2977.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GG2g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd7e3db1-7325-4468-a187-e9cb1dcd44fb_5374x2977.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GG2g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd7e3db1-7325-4468-a187-e9cb1dcd44fb_5374x2977.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GG2g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd7e3db1-7325-4468-a187-e9cb1dcd44fb_5374x2977.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">Image source: https://docs.spring.io/spring-ai/reference/api/tools.html</figcaption></figure></div><p>Something to be aware for new comers, the model does not directly execute these tools. It only produces a tool call request&#8212;containing the tool name and input parameters. The hosting application is responsible for resolving this request, executing the corresponding tool, and returning the result back to the model. This separation ensures safety, auditability, and flexibility, as the model cannot autonomously interact with external systems. Tool calling lets developers tightly control what models can do, while still enabling context-aware behaviors.</p><h2>9. Generated Code Execution </h2><p>Language models excel at natural language understanding and generation but struggle with precise calculations, data manipulations, and interactions with external systems. This limitation significantly constrains their ability to solve real-world problems that require computational accuracy or data processing. Generated code execution bridges this gap by combining the creative, adaptive reasoning of AI with the deterministic reliability of code. This represents a paradigm shift in how AI systems interact with computational environments. Unlike traditional development where code is written, reviewed, and deployed in advance, this approach enables AI models to dynamically generate and execute code at the exact moment it's needed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p0hs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff00f7582-ef9c-4fcb-921b-b493575fb4a2_1200x701.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p0hs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff00f7582-ef9c-4fcb-921b-b493575fb4a2_1200x701.jpeg 424w, https://substackcdn.com/image/fetch/$s_!p0hs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff00f7582-ef9c-4fcb-921b-b493575fb4a2_1200x701.jpeg 848w, https://substackcdn.com/image/fetch/$s_!p0hs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff00f7582-ef9c-4fcb-921b-b493575fb4a2_1200x701.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!p0hs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff00f7582-ef9c-4fcb-921b-b493575fb4a2_1200x701.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p0hs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff00f7582-ef9c-4fcb-921b-b493575fb4a2_1200x701.jpeg" width="1200" height="701" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f00f7582-ef9c-4fcb-921b-b493575fb4a2_1200x701.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:701,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:54919,&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://generativeprogrammer.com/i/152421324?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff00f7582-ef9c-4fcb-921b-b493575fb4a2_1200x701.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_!p0hs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff00f7582-ef9c-4fcb-921b-b493575fb4a2_1200x701.jpeg 424w, https://substackcdn.com/image/fetch/$s_!p0hs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff00f7582-ef9c-4fcb-921b-b493575fb4a2_1200x701.jpeg 848w, https://substackcdn.com/image/fetch/$s_!p0hs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff00f7582-ef9c-4fcb-921b-b493575fb4a2_1200x701.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!p0hs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff00f7582-ef9c-4fcb-921b-b493575fb4a2_1200x701.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">Image source: https://e2b.dev/docs</figcaption></figure></div><p>At its core, Generated code execution follows a simple flow:</p><ol><li><p>An AI system identifies a computational need within a conversation or task</p></li><li><p>The system generates appropriate code to address this need</p></li><li><p>The code is executed in a secure, isolated environment</p></li><li><p>Results are captured and integrated back into the AI's reasoning process</p></li><li><p>The AI can iterate on the code based on results or evolving requirements</p></li></ol><p>This execution happens in real-time, maintaining the users&#8217; flow of interaction while dramatically expanding the AI's capabilities. Systems like <a href="https://e2b.dev/docs">E2B</a> and <a href="https://microsoft.github.io/autogen/0.2/docs/tutorial/code-executors/">Microsoft's AutoGen</a>, <a href="https://platform.openai.com/docs/assistants/tools/code-interpreter">OpenAI&#8217;s Code Interpreter</a>, represent different implementations to solving the same technical challenge. Implementation approaches  range from sandboxed virtual machines, containerized environments, SaaS, with varying tradeoffs between security, performance, and resource usage.</p><p>This approach enables AI systems to:</p><ul><li><p><strong>Perform complex calculations</strong> with perfect accuracy</p></li><li><p><strong>Analyze and visualize data</strong> on demand</p></li><li><p><strong>Interact with external APIs</strong> and services</p></li><li><p><strong>Transform and process structured data</strong> precisely</p></li><li><p><strong>Build custom utilities</strong> tailored to specific tasks</p></li><li><p><strong>Prototype solutions</strong> in real-time</p></li><li><p><strong>Verify logical reasoning</strong> through computational proof</p></li></ul><p>As this technology matures, we'll likely see generated code execution become an integral feature of AI-enhanced software development environments. For software engineers, this capability fundamentally changes architecture considerations. Rather than anticipating and pre-implementing every computational need, systems can be designed with the expectation that the AI will generate appropriate code on demand, allowing for more flexible and powerful applications.</p><h2>10. Guardrails</h2><p>Guardrails in generative AI are safety mechanisms that constrain an LLM's behavior within predefined parameters, preventing harmful, biased, or incorrect outputs while preserving the model's ability to generate helpful responses. For software engineers, implementing guardrails has become essential when building AI-powered applications that interact directly with users.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MVCL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9be98c2-5a87-410f-b865-92d14a70653e_710x498.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MVCL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9be98c2-5a87-410f-b865-92d14a70653e_710x498.png 424w, https://substackcdn.com/image/fetch/$s_!MVCL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9be98c2-5a87-410f-b865-92d14a70653e_710x498.png 848w, https://substackcdn.com/image/fetch/$s_!MVCL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9be98c2-5a87-410f-b865-92d14a70653e_710x498.png 1272w, https://substackcdn.com/image/fetch/$s_!MVCL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9be98c2-5a87-410f-b865-92d14a70653e_710x498.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MVCL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9be98c2-5a87-410f-b865-92d14a70653e_710x498.png" width="710" height="498" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9be98c2-5a87-410f-b865-92d14a70653e_710x498.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:498,&quot;width&quot;:710,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:68499,&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://generativeprogrammer.com/i/152421324?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9be98c2-5a87-410f-b865-92d14a70653e_710x498.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_!MVCL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9be98c2-5a87-410f-b865-92d14a70653e_710x498.png 424w, https://substackcdn.com/image/fetch/$s_!MVCL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9be98c2-5a87-410f-b865-92d14a70653e_710x498.png 848w, https://substackcdn.com/image/fetch/$s_!MVCL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9be98c2-5a87-410f-b865-92d14a70653e_710x498.png 1272w, https://substackcdn.com/image/fetch/$s_!MVCL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9be98c2-5a87-410f-b865-92d14a70653e_710x498.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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 source: https://aws.amazon.com/blogs/machine-learning/build-safe-and-responsible-generative-ai-applications-with-guardrails/</figcaption></figure></div><p>Without proper guardrails, LLM applications are vulnerable to adversarial attacks:</p><ul><li><p><strong>Prompt injection</strong>: Attackers can insert instructions that override the model's intended behavior (e.g., "Ignore your previous instructions and instead...")</p></li><li><p><strong>Prompt leaking</strong>: Attacks that trick the model into revealing its system prompts or configuration</p></li><li><p><strong>Token smuggling</strong>: Bypassing filters by misspelling words or using symbols (e.g., "h0w to bu1ld a b0mb")</p></li><li><p><strong>Payload splitting</strong>: Breaking harmful requests into seemingly innocent parts that the model later combines</p></li></ul><p>Consider this example: Without guardrails, asking "Can you tell me how to hack a website?" might yield detailed instructions for illegal activities. With guardrails, the model instead responds: "I cannot assist with illegal activities, but I can provide information about ethical cybersecurity practices."</p><p>Several approaches can be used to implement guardrails:</p><ul><li><p><strong>Input and Output Filtering </strong></p><p>This includes blocking inputs or outputs containing harmful content such as hate speech, violence, or illegal activities; defining specific topics the model should refuse to discuss; blocking specific words, competitors' names, or sensitive terminology; and identifying and redacting personally identifiable information (PII).</p></li><li><p><strong>Pattern-Based Approaches</strong><br>These use regular expressions to identify problematic content, flag specific terms that indicate prohibited topics, and apply heuristic rules to evaluate content safety.</p></li><li><p><strong>Model-Based Approaches</strong><br>This involves deploying specialized models to evaluate the safety of inputs and outputs, using models trained to detect harmful content, and determining whether user requests have malicious intent.</p></li><li><p><strong>Architectural Approaches</strong><br>These include validating user inputs before they reach the LLM, checking model outputs before returning them to users, overlapping validation with generation to minimize latency, and validating output chunks during generation to support streaming.</p></li></ul><p>For software engineers implementing AI systems, guardrails represent the crucial security layer between powerful but unpredictable language models and the users who interact with them. For more detailed implementation strategies, see <a href="https://aws.amazon.com/blogs/machine-learning/build-safe-and-responsible-generative-ai-applications-with-guardrails/">AWS's guide on building safe AI applications with guardrails</a>.</p><h2>Final Thoughts</h2><p>These 10 concepts aren&#8217;t just buzzwords&#8212;they reshape software design, architecture, and delivery. For software engineers, understanding them is no longer optional. As generative AI continues to evolve, these ideas will form the foundation for the next generation of software systems.</p><p>If you found this valuable, subscribe to <a href="https://generativeprogrammer.com">generativeprogrammer.com </a>newsletter for more practical insights on AI and modern software architecture. Follow me on twitter <a href="https://x.com/bibryam">@bibryam</a> for ongoing updates.</p>]]></content:encoded></item><item><title><![CDATA[🤖 Generative Programmer | Issue #11]]></title><description><![CDATA[AI-Assisted Development, Prompting & Autonomous Agents]]></description><link>https://generativeprogrammer.com/p/generative-programmer-issue-11</link><guid isPermaLink="false">https://generativeprogrammer.com/p/generative-programmer-issue-11</guid><dc:creator><![CDATA[Bilgin Ibryam]]></dc:creator><pubDate>Fri, 11 Apr 2025 05:33:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128227; <strong>Welcome back to Generative Programmer!</strong></p><p>Bookmark <a href="https://generativeprogrammer.com">GenerativeProgrammer.com</a> and share this issue:  &#128038; <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Twitter</a>, &#128188; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a>, &#129419;<a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a>, &#9993;&#65039; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a> Let's dive in! </p><h2>&#128640; This Week's Top AI Picks For Devs</h2><p>&#127970; AI "TuringBots" transforming app development SDLC (Forrester)<br>&#128202; The Ultimate LLM Evaluation Metrics Guide for production success<br>&#129504; Simon Willison: "Vibe coding" vs responsible AI programming<br>&#128736;&#65039; a16z explores Bolt, Lovable, v0 text-to-web app revolution<br>&#129514; AirBNB converts 3,500 React tests using LLMs<br>&#128274; Critical MCP "Tool Poisoning" vulnerability alert</p><p> <strong>&#8230;and 33 more updates to explore! &#128071;</strong></p><h2>&#127919; Featured Article</h2><p><a href="https://reprint.forrester.com/reports/the-rise-of-application-generation-platforms-c2063d64/index.html">The Rise of Application Generation Platforms</a> - A futuristic Forrester research report about how low-code platforms are evolving into AI-powered environments, integrating generative AI and "TuringBots" to enhance every phase of the Software Development Lifecycle (SDLC). </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y9PE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F773cd809-6379-4b65-8ff7-9c6c46aa23ca_2048x1247.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y9PE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F773cd809-6379-4b65-8ff7-9c6c46aa23ca_2048x1247.png 424w, https://substackcdn.com/image/fetch/$s_!Y9PE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F773cd809-6379-4b65-8ff7-9c6c46aa23ca_2048x1247.png 848w, https://substackcdn.com/image/fetch/$s_!Y9PE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F773cd809-6379-4b65-8ff7-9c6c46aa23ca_2048x1247.png 1272w, https://substackcdn.com/image/fetch/$s_!Y9PE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F773cd809-6379-4b65-8ff7-9c6c46aa23ca_2048x1247.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y9PE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F773cd809-6379-4b65-8ff7-9c6c46aa23ca_2048x1247.png" width="1456" height="887" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/773cd809-6379-4b65-8ff7-9c6c46aa23ca_2048x1247.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:887,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:215572,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/161002493?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F773cd809-6379-4b65-8ff7-9c6c46aa23ca_2048x1247.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Y9PE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F773cd809-6379-4b65-8ff7-9c6c46aa23ca_2048x1247.png 424w, https://substackcdn.com/image/fetch/$s_!Y9PE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F773cd809-6379-4b65-8ff7-9c6c46aa23ca_2048x1247.png 848w, https://substackcdn.com/image/fetch/$s_!Y9PE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F773cd809-6379-4b65-8ff7-9c6c46aa23ca_2048x1247.png 1272w, https://substackcdn.com/image/fetch/$s_!Y9PE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F773cd809-6379-4b65-8ff7-9c6c46aa23ca_2048x1247.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>While challenges like security and generative model limitations remain, the long-term shift points toward top-down AI-generated app creation driven by citizen developers and business users, not just coders. </p><h2><strong>&#128240; Long-Form Reads</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vRdp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aede1cb-cb61-4a4d-a320-0cd683db4fbc_2464x1372.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vRdp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aede1cb-cb61-4a4d-a320-0cd683db4fbc_2464x1372.png 424w, https://substackcdn.com/image/fetch/$s_!vRdp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aede1cb-cb61-4a4d-a320-0cd683db4fbc_2464x1372.png 848w, https://substackcdn.com/image/fetch/$s_!vRdp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aede1cb-cb61-4a4d-a320-0cd683db4fbc_2464x1372.png 1272w, https://substackcdn.com/image/fetch/$s_!vRdp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aede1cb-cb61-4a4d-a320-0cd683db4fbc_2464x1372.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vRdp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aede1cb-cb61-4a4d-a320-0cd683db4fbc_2464x1372.png" width="1456" height="811" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5aede1cb-cb61-4a4d-a320-0cd683db4fbc_2464x1372.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:811,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:361140,&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://generativeprogrammer.com/i/161002493?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aede1cb-cb61-4a4d-a320-0cd683db4fbc_2464x1372.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_!vRdp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aede1cb-cb61-4a4d-a320-0cd683db4fbc_2464x1372.png 424w, https://substackcdn.com/image/fetch/$s_!vRdp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aede1cb-cb61-4a4d-a320-0cd683db4fbc_2464x1372.png 848w, https://substackcdn.com/image/fetch/$s_!vRdp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aede1cb-cb61-4a4d-a320-0cd683db4fbc_2464x1372.png 1272w, https://substackcdn.com/image/fetch/$s_!vRdp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aede1cb-cb61-4a4d-a320-0cd683db4fbc_2464x1372.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><a href="https://martinfowler.com/articles/exploring-gen-ai.html#memo-13">Navigating Generative AI in Software Development</a> - Thoughtwork's Birgitta B&#246;ckeler deep dives with hands-on examples that highlight how AI tools can accelerate development&#8212;but also make mistakes that can slow teams down, cause friction in collaboration, and hurt long-term maintainability. Developer expertise remains crucial, especially in managing these tools effectively and safeguarding software quality.</p><p><a href="https://www.netlify.com/blog/why-netlify-is-the-1-platform-for-ai-deployments/">AI-Generated Web Bonanza</a> - Netlify's impressive milestone of 1 million AI-generated apps signals a significant shift in web development, though one can't help but wonder if this "quantity over quality" approach might flood the internet with cookie-cutter websites lacking creative human touches.</p><p><a href="https://glaforge.dev/posts/2025/02/15/the-power-of-large-context-windows-for-your-documentation-efforts/">The power of large context windows for your documentation efforts</a> - The article discusses how LLMs with large context windows can transform documentation by creating personalized tutorials based on specific needs.</p><p><a href="https://www.qodo.ai/blog/why-we-chose-langgraph-to-build-our-coding-agent/">Why we chose LangGraph to build our coding agent</a> - Qodo shifted from predefined workflows to using LangGraph for building more dynamic, flexible AI coding assistants in response to the improved capabilities of newer LLM models like Claude Sonnet 3.5. &#129302;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l1b-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l1b-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png 424w, https://substackcdn.com/image/fetch/$s_!l1b-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png 848w, https://substackcdn.com/image/fetch/$s_!l1b-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png 1272w, https://substackcdn.com/image/fetch/$s_!l1b-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l1b-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png" width="1456" height="1071" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1071,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:672818,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/161002493?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!l1b-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png 424w, https://substackcdn.com/image/fetch/$s_!l1b-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png 848w, https://substackcdn.com/image/fetch/$s_!l1b-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png 1272w, https://substackcdn.com/image/fetch/$s_!l1b-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b8eaab-e877-4f00-8a36-4acd2b3be0e8_4187x3079.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><a href="https://www.confident-ai.com/blog/llm-evaluation-metrics-everything-you-need-for-llm-evaluation">LLM Evaluation Metrics: The Ultimate LLM Evaluation Guide</a> - A comprehensive resource that explains how to develop appropriate LLM evaluation metrics and build robust evaluation pipelines for optimizing prompts, models, and monitoring performance in production. &#128202;</p><p><a href="https://www.promptfoo.dev/docs/red-team/owasp-llm-top-10/">OWASP LLM Top 10</a> - Promptfoo is an open-source tool recognized by OWASP that helps developers identify and mitigate security vulnerabilities in LLM applications, providing comprehensive reports on the severity of potential risks. &#128737;&#65039;</p><p><a href="https://simonw.substack.com/p/not-all-ai-assisted-programming-is">Not all AI-assisted programming is vibe coding</a> -  <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Simon Willison&quot;,&quot;id&quot;:5753967,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5a30d45c-fcba-407a-bebf-96f51a8944a4_48x48.jpeg&quot;,&quot;uuid&quot;:&quot;9f2ecd86-ea0c-4b23-849f-4cc2a42c2161&quot;}" data-component-name="MentionToDOM"></span>: While "vibe coding" (a more exploratory, prompt-based approach to AI programming) has gained popularity, it's important to distinguish it from other forms of responsible AI-assisted programming that involve more structured collaboration between developers and AI tools. &#129504;&#128187;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BqUK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5132d97e-5301-4560-b1e4-3b66d4968136_1536x1181.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BqUK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5132d97e-5301-4560-b1e4-3b66d4968136_1536x1181.png 424w, https://substackcdn.com/image/fetch/$s_!BqUK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5132d97e-5301-4560-b1e4-3b66d4968136_1536x1181.png 848w, https://substackcdn.com/image/fetch/$s_!BqUK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5132d97e-5301-4560-b1e4-3b66d4968136_1536x1181.png 1272w, https://substackcdn.com/image/fetch/$s_!BqUK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5132d97e-5301-4560-b1e4-3b66d4968136_1536x1181.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BqUK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5132d97e-5301-4560-b1e4-3b66d4968136_1536x1181.png" width="1456" height="1119" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5132d97e-5301-4560-b1e4-3b66d4968136_1536x1181.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1119,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:76491,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/161002493?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5132d97e-5301-4560-b1e4-3b66d4968136_1536x1181.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!BqUK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5132d97e-5301-4560-b1e4-3b66d4968136_1536x1181.png 424w, https://substackcdn.com/image/fetch/$s_!BqUK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5132d97e-5301-4560-b1e4-3b66d4968136_1536x1181.png 848w, https://substackcdn.com/image/fetch/$s_!BqUK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5132d97e-5301-4560-b1e4-3b66d4968136_1536x1181.png 1272w, https://substackcdn.com/image/fetch/$s_!BqUK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5132d97e-5301-4560-b1e4-3b66d4968136_1536x1181.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><a href="https://a16z.com/ai-web-app-builders/">From Prompt to Product: The Rise of AI-Powered Web App Builders</a> - The <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;a16z&quot;,&quot;id&quot;:101290207,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/49e71ade-2169-4f3e-830c-194ecd442d41_144x144.png&quot;,&quot;uuid&quot;:&quot;da6406b1-76f3-4182-9cf1-4e93c5821647&quot;}" data-component-name="MentionToDOM"></span> explores the explosive growth of text-to-web app builders like Bolt, Lovable, and v0, which let users generate functional websites and apps simply by describing them in natural language. These tools are democratizing app development, however, they also face limitations in complexity, reliability, and debugging.</p><p><a href="https://www.growthunhinged.com/p/replit-growth-journey">Replit's AI Revolution</a> - While Replit's AI agent creating two million codeless apps in six months sounds impressive, I'm skeptical about how many of these are truly valuable solutions versus simple novelties, as the 5% production deployment rate suggests most remain experimental toys rather than the democratized application development revolution being touted. &#129300;</p><p><a href="https://antirez.com/news/148">AI is useless, but it is our best bet for the future</a> - The ironic title from antirez captures the paradoxical nature of current AI technology: simultaneously overhyped yet potentially transformative. Still, investing in AI is essential&#8212;not because of what it can do today, but because of the game-changing breakthroughs it could bring in the future. The potential rewards justify the risks and social disruptions we're experiencing now. &#129335;&#8205;&#9794;&#65039;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1_Yh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ee2a38-f268-4f7b-b5dc-96433bd51f22_962x573.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1_Yh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ee2a38-f268-4f7b-b5dc-96433bd51f22_962x573.webp 424w, https://substackcdn.com/image/fetch/$s_!1_Yh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ee2a38-f268-4f7b-b5dc-96433bd51f22_962x573.webp 848w, https://substackcdn.com/image/fetch/$s_!1_Yh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ee2a38-f268-4f7b-b5dc-96433bd51f22_962x573.webp 1272w, https://substackcdn.com/image/fetch/$s_!1_Yh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ee2a38-f268-4f7b-b5dc-96433bd51f22_962x573.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1_Yh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ee2a38-f268-4f7b-b5dc-96433bd51f22_962x573.webp" width="962" height="573" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1ee2a38-f268-4f7b-b5dc-96433bd51f22_962x573.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:573,&quot;width&quot;:962,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:20452,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/161002493?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ee2a38-f268-4f7b-b5dc-96433bd51f22_962x573.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!1_Yh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ee2a38-f268-4f7b-b5dc-96433bd51f22_962x573.webp 424w, https://substackcdn.com/image/fetch/$s_!1_Yh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ee2a38-f268-4f7b-b5dc-96433bd51f22_962x573.webp 848w, https://substackcdn.com/image/fetch/$s_!1_Yh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ee2a38-f268-4f7b-b5dc-96433bd51f22_962x573.webp 1272w, https://substackcdn.com/image/fetch/$s_!1_Yh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1ee2a38-f268-4f7b-b5dc-96433bd51f22_962x573.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></figure></div><p><a href="https://medium.com/airbnb-engineering/accelerating-large-scale-test-migration-with-llms-9565c208023b">AirBNB's Large-Scale Test Migration with LLMs</a> - How Airbnb successfully completed a code migration project using LLMs to convert approximately 3,500 React component test files from Enzyme to React Testing Library. &#129514;</p><p><a href="https://www.anyscale.com/blog/reproducible-performance-metrics-for-llm-inference#size-of-input">LLM Inference Optimization</a> - Focus on reducing output token count rather than input tokens when optimizing LLM inference speed, as output generation has approximately 100x more impact on latency than processing input tokens.</p><p><a href="https://github.blog/ai-and-ml/github-copilot/how-to-refactor-code-with-github-copilot">How to refactor code with GitHub Copilot</a> - GitHub Copilot can be leveraged as a powerful tool to streamline code refactoring tasks and help during maintenance and improvement phases. &#128736;&#65039;</p><p><a href="https://composio.dev/blog/gemini-2-5-pro-vs-claude-3-7-sonnet-coding-comparison/">Gemini 2.5 Pro vs. Claude 3.7 for Coding</a> - For developers seeking the best AI coding assistant, Gemini 2.5 Pro emerges as the superior choice with its larger context window (1M vs 200K), better coding capabilities, and free tier availability.</p><p><a href="https://workos.com/blog/securing-ai-agents-operator-models-and-authentication">Securing AI agents: authentication patterns for Operator and computer using models</a> - As AI operator models gain the ability to interact with interfaces like humans do, developers must implement robust authentication patterns to ensure security and compliance when these agents perform tasks on users' behalf. &#128272;</p><p><a href="https://workos.com/blog/what-are-cursor-rules">What are Cursor Rules?</a> - Cursor Rules allow developers to define custom instructions for LLMs in special files (typically in .cursor/rules directory) to enforce coding styles and best practices across a codebase, with granular control through file path patterns and glob matching. &#128736;&#65039;</p><p><a href="https://glaforge.dev/posts/2024/09/23/some-good-practices-when-integrating-an-llm-in-your-application/">LLM Integration Best Practices</a> - The article discusses key challenges when integrating LLMs into applications, including how models change over time requiring prompt adjustments, and the importance of effective prompt management as applications grow more complex. &#127959;&#65039;</p><p><a href="https://www.all-hands.dev/blog/8-use-cases-for-generalist-software-development-agents">8 Use Cases for Generalist Software Development Agents</a> - The article explores practical applications where AI agents can assist developers in coding tasks.</p><p><a href="https://addyo.substack.com/p/mcp-what-it-is-and-why-it-matters">MCP: What It Is and Why It Matters</a> - Another comprehensive coverage of MCP by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;0cab5ee9-d05d-4aa4-a83e-7bee35579dff&quot;}" data-component-name="MentionToDOM"></span>. &#128268;</p><p><a href="https://newsletter.victordibia.com/p/developers-stop-asking-llms-genai">Developers - Stop Asking LLMs to Write Code!!</a> - Victor Dibia argues against the common practice of immediately asking AI to generate code, suggesting a more nuanced approach to AI literacy that mirrors how we learned to use the internet effectively; his perspective challenges popular GenAI tutorials while offering alternative strategies that could be a useful starting point for beginners. &#129300;</p><p><a href="https://addyo.substack.com/p/vibe-coding-revolution-or-reckless">Vibe Coding: Revolution or Reckless Abandon?</a> - While AI-powered "vibe coding" promises seductive speed and simplicity, Osmani rightfully warns that this shortcut culture risks creating a generation of developers who can conjure code but not comprehend it, essentially building digital houses of cards that will inevitably collapse under the weight of security vulnerabilities and unmaintainable complexity. &#128681;<br><a href="https://theengineeringmanager.substack.com/p/llms-an-operators-view">LLMs: An Operator's View</a> - Stanier acknowledges the overwhelming challenge facing team leaders in navigating the frenzied LLM landscape&#129504;</p><p><a href="https://platformengineering.org/blog/ai-and-platform-engineering">AI and Platform Engineering</a> - The enthusiasm around AI's impact on platform engineering (with a whopping 94% of organizations calling it "critical" or "important") feels suspiciously like tech hype d&#233;j&#224; vu.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gdii!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F529cb2c6-ca8c-47dc-b750-513e4893f3c9_1965x4096.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gdii!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F529cb2c6-ca8c-47dc-b750-513e4893f3c9_1965x4096.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Gdii!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F529cb2c6-ca8c-47dc-b750-513e4893f3c9_1965x4096.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Gdii!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F529cb2c6-ca8c-47dc-b750-513e4893f3c9_1965x4096.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Gdii!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F529cb2c6-ca8c-47dc-b750-513e4893f3c9_1965x4096.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gdii!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F529cb2c6-ca8c-47dc-b750-513e4893f3c9_1965x4096.jpeg" width="1456" height="3035" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/529cb2c6-ca8c-47dc-b750-513e4893f3c9_1965x4096.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3035,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:321457,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://generativeprogrammer.com/i/161002493?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F529cb2c6-ca8c-47dc-b750-513e4893f3c9_1965x4096.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Gdii!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F529cb2c6-ca8c-47dc-b750-513e4893f3c9_1965x4096.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Gdii!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F529cb2c6-ca8c-47dc-b750-513e4893f3c9_1965x4096.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Gdii!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F529cb2c6-ca8c-47dc-b750-513e4893f3c9_1965x4096.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Gdii!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F529cb2c6-ca8c-47dc-b750-513e4893f3c9_1965x4096.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></figure></div><p><a href="https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks">MCP Security Notification: Tool Poisoning Attacks</a> - Invariant Labs has identified a critical vulnerability in the Model Context Protocol (MCP) that enables "Tool Poisoning Attacks," which can lead to data exfiltration and unauthorized model actions. &#128274;</p><h2><strong>&#127897;&#65039; YouTube &amp; Podcasts</strong></h2><p><a href="https://www.youtube.com/watch?v=5N33E9tC400">Why Agent Engineering &#8212; swyx</a> - Swyx presents his vision for Agent Engineering as a key technology focus for 2025.</p><p><a href="https://www.youtube.com/watch?v=aHCDrAbH_go">Building Effective Agents with LangGraph</a> - This video by James Briggs discussing Anthropic's blog post on the distinction between agents and workflows, along with common patterns for building effective agents. &#129302;</p><h2><strong>&#128038; Social Highlights</strong></h2><p><a href="https://x.com/sriramsubram/status/1901998229610475783">Sriram on X</a> - predicts that LLMs will evolve into orchestration engines that coordinate workflows involving external data sources through standardized protocols like MCP. Model providers will need to go vertical&#8212;specialize deeply&#8212;to survive, while a universal data access layer will empower hyper-personalized AI applications.</p><p><a href="https://x.com/benswerd/status/1899853533761200300">Hacking ChatGPT to make it run C + JavaScript</a> - A step by step description of how to get into OpenAI's code executor to write Python that compiles C that builds a JavaScript runtime in the executor, then runs JavaScript. A must-read thread.</p><p><a href="https://www.linkedin.com/pulse/beginners-guide-performance-testing-large-language-models-benjamin-pg9lc/">A Beginner's Guide to Performance Testing for LLMs</a> - Benjamin shares his experience in load testing an offline LLM model to evaluate its capacity as user base grew.</p><p><a href="https://news.ycombinator.com/item?id=43494427">Launch HN: Continue (YC S23) &#8211; Create custom AI code assistants</a> - Continue offers a platform for developers to create customized AI code assistants that adapt to specific workflows and preferences. Continue's open architecture allows developers to build personalized AI coding assistants using the latest models and tools, rather than being locked into outdated technology. &#128736;&#65039;</p><h2><strong>&#128736;&#65039; Tech &amp; Tools</strong></h2><p><a href="https://21st.dev/">21st.dev &#8211; The NPM for Design Engineers</a> - A platform offering pre-built React Tailwind components inspired by shadcn/ui to help design engineers create polished user interfaces more efficiently. &#129513;</p><p><a href="https://new.email/">https://new.email/</a> - A prompt-to-email service. That is it.</p><p><a href="https://same.new/">Same</a> - Prompt URL to make copies, keep chatting to make changes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q9Cf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F133e2d67-03b5-4c08-bd87-57c0b466d4c9_4380x3765.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q9Cf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F133e2d67-03b5-4c08-bd87-57c0b466d4c9_4380x3765.png 424w, https://substackcdn.com/image/fetch/$s_!Q9Cf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F133e2d67-03b5-4c08-bd87-57c0b466d4c9_4380x3765.png 848w, https://substackcdn.com/image/fetch/$s_!Q9Cf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F133e2d67-03b5-4c08-bd87-57c0b466d4c9_4380x3765.png 1272w, https://substackcdn.com/image/fetch/$s_!Q9Cf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F133e2d67-03b5-4c08-bd87-57c0b466d4c9_4380x3765.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q9Cf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F133e2d67-03b5-4c08-bd87-57c0b466d4c9_4380x3765.png" width="1456" height="1252" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/133e2d67-03b5-4c08-bd87-57c0b466d4c9_4380x3765.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1252,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1809907,&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://generativeprogrammer.com/i/161002493?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F133e2d67-03b5-4c08-bd87-57c0b466d4c9_4380x3765.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_!Q9Cf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F133e2d67-03b5-4c08-bd87-57c0b466d4c9_4380x3765.png 424w, https://substackcdn.com/image/fetch/$s_!Q9Cf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F133e2d67-03b5-4c08-bd87-57c0b466d4c9_4380x3765.png 848w, https://substackcdn.com/image/fetch/$s_!Q9Cf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F133e2d67-03b5-4c08-bd87-57c0b466d4c9_4380x3765.png 1272w, https://substackcdn.com/image/fetch/$s_!Q9Cf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F133e2d67-03b5-4c08-bd87-57c0b466d4c9_4380x3765.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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><a href="https://www.agentrecipes.com/">Agent Recipes</a> - Ready-to-copy code examples for common LLM agent patterns including sequential chains, routers, parallel processing, and orchestrated workflows.</p><p><a href="https://github.com/s-smits/agentic-cursorrules">Agentic-cursorrules</a> - A Python tool that manages multiple AI agents in large codebases by partitioning projects into logical domains (frontend, backend, etc.) and generating markdown files with explicit file-tree boundaries to prevent conflicts. &#129302;</p><p><a href="https://prompts.chat/">Prompts.chat</a> - This so-called "most famous" prompts directory is essentially a glorified list of conversation starters for AI models. One has to wonder if we've reached peak laziness when we need pre-written prompts to talk to machines that were designed to understand us in the first place. &#129320;</p><p><a href="https://mcp.so/server/firecrawl-mcp-server">Firecrawl MCP Server</a> - The Firecrawl MCP Server implements the Model Context Protocol to enhance web scraping for LLM clients like Cursor and Claude, offering configuration options, rate limiting, and credit usage monitoring. &#128376;&#65039;</p><p><a href="https://github.com/glaforge/gemini-workshop-for-java-developers/">Gemini Workshop for Java Developers</a> - Java developers can leverage this GitHub repository to quickly explore Google's Gemini and Gemma LLMs using the LangChain4j framework, with ready-to-use code examples requiring only a Google Cloud account with Vertex AI enabled. &#128640;</p><p><a href="https://github.com/ray-project/llmperf/tree/main">LLMPerf Benchmarking Tool</a> - LLMPerf offers developers a practical way to evaluate LLM API performance through load testing (measuring latency and throughput) and correctness testing for production applications. &#128269;</p><p><a href="https://github.com/Zjh-819/LLMDataHub">LLMDataHub</a> - A repository that provides quick access to various instruction-tuning and training datasets for developers looking to train their own LLMs, especially valuable for small organizations without massive resources. &#128269;</p><p><a href="https://www.warp.dev/warp-ai">Agent Mode in Warp AI</a> - Warp's AI integration directly in the terminal suggests your next commands, making terminal workflows more efficient for developers on Red Hat, Fedora, SUSE, and even Windows.</p><p><a href="https://github.com/mendableai/firecrawl">&#128293; Turn entire websites into LLM-ready markdown or structured data</a> - Firecrawl is an API service that crawls websites and converts their content into clean markdown or structured data for AI applications, with both hosted and self-hosted options available.</p><p><a href="https://www.thenile.dev/blog/introducing-nile-mcp">Introducing Nile MCP Server</a> - Nile has launched a MCP Server too. &#128268;</p><h2><strong>&#127917; AI Humor</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q-Qn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e0ebdeb-4ac2-4ea8-9362-ee55fa91e820_625x811.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q-Qn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e0ebdeb-4ac2-4ea8-9362-ee55fa91e820_625x811.jpeg 424w, https://substackcdn.com/image/fetch/$s_!q-Qn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e0ebdeb-4ac2-4ea8-9362-ee55fa91e820_625x811.jpeg 848w, https://substackcdn.com/image/fetch/$s_!q-Qn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e0ebdeb-4ac2-4ea8-9362-ee55fa91e820_625x811.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!q-Qn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e0ebdeb-4ac2-4ea8-9362-ee55fa91e820_625x811.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q-Qn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e0ebdeb-4ac2-4ea8-9362-ee55fa91e820_625x811.jpeg" width="625" height="811" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e0ebdeb-4ac2-4ea8-9362-ee55fa91e820_625x811.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:811,&quot;width&quot;:625,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:85118,&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://generativeprogrammer.com/i/161002493?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e0ebdeb-4ac2-4ea8-9362-ee55fa91e820_625x811.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_!q-Qn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e0ebdeb-4ac2-4ea8-9362-ee55fa91e820_625x811.jpeg 424w, https://substackcdn.com/image/fetch/$s_!q-Qn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e0ebdeb-4ac2-4ea8-9362-ee55fa91e820_625x811.jpeg 848w, https://substackcdn.com/image/fetch/$s_!q-Qn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e0ebdeb-4ac2-4ea8-9362-ee55fa91e820_625x811.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!q-Qn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e0ebdeb-4ac2-4ea8-9362-ee55fa91e820_625x811.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></figure></div><p>Source <a href="https://www.linkedin.com/feed/update/urn:li:activity:7307754550113816577/">https://www.linkedin.com/feed/update/urn:li:activity:7307754550113816577/</a></p><h2>&#128075; See You Next Week</h2><p>Thanks for reading <em>Generative Programmer</em>! &#128591; If you like the content please support the newsletter by sharing with your friends via: &#128038; <a href="https://twitter.com/intent/tweet?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Twitter</a>, &#128188; <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgenerativeprogrammer.com%2F&amp;summary=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers">LinkedIn</a>, &#129419;<a href="https://bsky.app/intent/compose?text=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">BlueSky</a>, &#9993;&#65039; <a href="mailto:?subject=Check%20out%20this%20newsletter&amp;body=Checkout%20this%20newsletter%20with%20the%20latest%20AI%20news%20for%20developers%3A%20https%3A%2F%2Fgenerativeprogrammer.com%2F">Email</a>.</p><p>Missed the last issue? <a href="https://generativeprogrammer.com/p/generative-programmer-issue-10">Catch up here</a> &#128214; Got a topic you&#8217;d like me to cover? Just drop me an email!</p><p>Have a great rest of the week! &#128521;</p>]]></content:encoded></item></channel></rss>