<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheet.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:podcast="https://podcastindex.org/namespace/1.0">
  <channel>
    <atom:link rel="self" type="application/rss+xml" href="https://feeds.transistor.fm/better-with-kent" title="MP3 Audio"/>
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com/"/>
    <podcast:podping usesPodping="true"/>
    <title>Better with Kent</title>
    <generator>Transistor (https://transistor.fm)</generator>
    <itunes:new-feed-url>https://feeds.transistor.fm/better-with-kent</itunes:new-feed-url>
    <description>Solo episodes from Kent C. Dodds on durable skills for people who ship software: judgment, accountability, problem clarity, and what stays valuable as AI takes on more implementation. Kent teaches directly on camera — no guest, one idea at a time. Complements guest interviews on Become a Product Engineer (Chats with Kent). Episode 1 adapts The Last Software Engineer; later episodes cover traps like building the wrong thing faster and skills like making user pain visible. Subscribe for evergreen episodes as the series grows.</description>
    <copyright>© 2026 Kent C. Dodds Tech LLC</copyright>
    <podcast:guid>1bac0abf-d77b-5f59-8fa5-ea9183a65f91</podcast:guid>
    <podcast:locked>yes</podcast:locked>
    <podcast:trailer pubdate="Fri, 22 May 2026 14:07:49 -0600" url="https://media.transistor.fm/39c16504/674c9a81.mp3" length="5143547" type="audio/mpeg">Introducing Better with Kent</podcast:trailer>
    <language>en</language>
    <pubDate>Tue, 13 Oct 2026 08:33:33 -0600</pubDate>
    <lastBuildDate>Tue, 13 Oct 2026 08:34:09 -0600</lastBuildDate>
    <link>https://kentcdodds.com/better</link>
    <image>
      <url>https://img.transistorcdn.com/SqDjIrdt8bMt7qf7GQR6GHFjf66SFO3SMmUCX1rULwk/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9jZmU5/ZWRlNjZkMDRkOGU3/ZTNkMWY4ZjgyNGRi/ZTJiMS5qcGc.jpg</url>
      <title>Better with Kent</title>
      <link>https://kentcdodds.com/better</link>
    </image>
    <itunes:category text="Technology"/>
    <itunes:category text="Education">
      <itunes:category text="Self-Improvement"/>
    </itunes:category>
    <itunes:type>episodic</itunes:type>
    <itunes:author>Kent C. Dodds</itunes:author>
    <itunes:image href="https://img.transistorcdn.com/SqDjIrdt8bMt7qf7GQR6GHFjf66SFO3SMmUCX1rULwk/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9jZmU5/ZWRlNjZkMDRkOGU3/ZTNkMWY4ZjgyNGRi/ZTJiMS5qcGc.jpg"/>
    <itunes:summary>Solo episodes from Kent C. Dodds on durable skills for people who ship software: judgment, accountability, problem clarity, and what stays valuable as AI takes on more implementation. Kent teaches directly on camera — no guest, one idea at a time. Complements guest interviews on Become a Product Engineer (Chats with Kent). Episode 1 adapts The Last Software Engineer; later episodes cover traps like building the wrong thing faster and skills like making user pain visible. Subscribe for evergreen episodes as the series grows.</itunes:summary>
    <itunes:subtitle>Solo episodes from Kent C.</itunes:subtitle>
    <itunes:keywords>Better with Kent,durable skills,software engineering,product judgment,Kent C. Dodds,AI and engineering,accountability,user empathy</itunes:keywords>
    <itunes:owner>
      <itunes:name>Kent C. Dodds</itunes:name>
    </itunes:owner>
    <itunes:complete>No</itunes:complete>
    <itunes:explicit>No</itunes:explicit>
    <item>
      <title>How to Put Your Codebase on Autopilot</title>
      <itunes:episode>27</itunes:episode>
      <podcast:episode>27</podcast:episode>
      <itunes:title>How to Put Your Codebase on Autopilot</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f7f52e79-bb0c-457c-8814-94f689273a83</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>I shipped 122 PRs in 24 hours straight out of my software factory, mostly while I was doing something else. Here's the system that lets agents file their own friction, make good PRs, catch their own mistakes, and keep the blast radius small.</p><p>Here's what 122 PRs in one day looks like: https://github.com/kentcdodds/kody/releases/tag/v2026.10.11</p><p></p><ul><li>(00:00) - 122 PRs in 24 hours</li>
<li>(00:17) - Agent-filed friction, agent-shipped fix</li>
<li>(00:51) - Agents work around friction</li>
<li>(01:41) - The ship PR skill files friction</li>
<li>(02:43) - Lauren Tan: 2,500 PRs a month</li>
<li>(03:43) - Three pillars of confidence</li>
<li>(04:19) - Sponsor: Devin</li>
<li>(05:35) - Good PRs: decisions directory</li>
<li>(06:06) - Primitives catalog</li>
<li>(07:11) - control Kody CLI for self-verification</li>
<li>(08:24) - System recap on every PR</li>
<li>(09:24) - Catch mistakes: the ship PR package</li>
<li>(10:00) - AI reviewers: Bugbot, CodeRabbit, Devin</li>
<li>(11:07) - Merge, watch deploy, Discord report</li>
<li>(12:19) - Limit blast radius: feature flags</li>
<li>(13:46) - Disaster recovery</li>
<li>(14:33) - Cleanup: agents don't love deleting code</li>
<li>(15:28) - Dogfooding and product decisions</li>
<li>(16:31) - Pipe signals in: Sentry, errors, feedback</li>
<li>(18:00) - Nightly and weekly agents</li>
<li>(18:35) - Recap</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Thank you to Devin (Cognition) for sponsoring this episode: <a href="https://10xn.link/kcd-cognition">https://10xn.link/kcd-cognition</a></p><p>Agents don't fix friction. They work around it, and those workarounds compound across every agent touching your codebase. The fix is to turn your agents into complainers: the ship PR skill ends every merge by filing friction, and other agents come through and fix it - sometimes while you sleep.</p><p>Kent walks the three pillars that make that safe: (1) good PRs in the first place (a decisions directory, a primitives catalog, the control Kody CLI for self-verification, and a system recap on every PR), (2) catch mistakes before prod (the ship PR package, CI, CodeRabbit, Cursor Bugbot, Devin AI review, preview deploys), and (3) limit the blast radius (feature flags with success metrics, disaster recovery with restore tests). Then cleanup, dogfooding, and signal pipelines from Sentry, runtime errors, user feedback, and nightly/weekly agents.</p><p>Agents handle polish, code quality, and implementation. The product vision stays with you.</p><p><strong>Links</strong></p><ul><li><a href="https://10xn.link/kcd-cognition">Devin (sponsor)</a></li><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>I shipped 122 PRs in 24 hours straight out of my software factory, mostly while I was doing something else. Here's the system that lets agents file their own friction, make good PRs, catch their own mistakes, and keep the blast radius small.</p><p>Here's what 122 PRs in one day looks like: https://github.com/kentcdodds/kody/releases/tag/v2026.10.11</p><p></p><ul><li>(00:00) - 122 PRs in 24 hours</li>
<li>(00:17) - Agent-filed friction, agent-shipped fix</li>
<li>(00:51) - Agents work around friction</li>
<li>(01:41) - The ship PR skill files friction</li>
<li>(02:43) - Lauren Tan: 2,500 PRs a month</li>
<li>(03:43) - Three pillars of confidence</li>
<li>(04:19) - Sponsor: Devin</li>
<li>(05:35) - Good PRs: decisions directory</li>
<li>(06:06) - Primitives catalog</li>
<li>(07:11) - control Kody CLI for self-verification</li>
<li>(08:24) - System recap on every PR</li>
<li>(09:24) - Catch mistakes: the ship PR package</li>
<li>(10:00) - AI reviewers: Bugbot, CodeRabbit, Devin</li>
<li>(11:07) - Merge, watch deploy, Discord report</li>
<li>(12:19) - Limit blast radius: feature flags</li>
<li>(13:46) - Disaster recovery</li>
<li>(14:33) - Cleanup: agents don't love deleting code</li>
<li>(15:28) - Dogfooding and product decisions</li>
<li>(16:31) - Pipe signals in: Sentry, errors, feedback</li>
<li>(18:00) - Nightly and weekly agents</li>
<li>(18:35) - Recap</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Thank you to Devin (Cognition) for sponsoring this episode: <a href="https://10xn.link/kcd-cognition">https://10xn.link/kcd-cognition</a></p><p>Agents don't fix friction. They work around it, and those workarounds compound across every agent touching your codebase. The fix is to turn your agents into complainers: the ship PR skill ends every merge by filing friction, and other agents come through and fix it - sometimes while you sleep.</p><p>Kent walks the three pillars that make that safe: (1) good PRs in the first place (a decisions directory, a primitives catalog, the control Kody CLI for self-verification, and a system recap on every PR), (2) catch mistakes before prod (the ship PR package, CI, CodeRabbit, Cursor Bugbot, Devin AI review, preview deploys), and (3) limit the blast radius (feature flags with success metrics, disaster recovery with restore tests). Then cleanup, dogfooding, and signal pipelines from Sentry, runtime errors, user feedback, and nightly/weekly agents.</p><p>Agents handle polish, code quality, and implementation. The product vision stays with you.</p><p><strong>Links</strong></p><ul><li><a href="https://10xn.link/kcd-cognition">Devin (sponsor)</a></li><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 13 Oct 2026 08:33:33 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/b8004c3b/a2cd3f00.mp3" length="18418048" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3474554" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/b8004c3b/a2cd3f00.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=lDRjsHjkbjI">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/FW3Fd-m6FkpwLYqiPX-gebVuVZ0P7c9-EVErddYg20U/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8wZWUx/NTczNjM4NjM1YjBi/MWIyYmVmNWNlYmFk/ZjRiYS5qcGc.jpg"/>
      <itunes:duration>1146</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>I shipped 122 PRs in 24 hours straight out of my software factory, mostly while I was doing something else. Here's the system that lets agents file their own friction, make good PRs, catch their own mistakes, and keep the blast radius small.</p><p>Here's what 122 PRs in one day looks like: https://github.com/kentcdodds/kody/releases/tag/v2026.10.11</p><p></p><ul><li>(00:00) - 122 PRs in 24 hours</li>
<li>(00:17) - Agent-filed friction, agent-shipped fix</li>
<li>(00:51) - Agents work around friction</li>
<li>(01:41) - The ship PR skill files friction</li>
<li>(02:43) - Lauren Tan: 2,500 PRs a month</li>
<li>(03:43) - Three pillars of confidence</li>
<li>(04:19) - Sponsor: Devin</li>
<li>(05:35) - Good PRs: decisions directory</li>
<li>(06:06) - Primitives catalog</li>
<li>(07:11) - control Kody CLI for self-verification</li>
<li>(08:24) - System recap on every PR</li>
<li>(09:24) - Catch mistakes: the ship PR package</li>
<li>(10:00) - AI reviewers: Bugbot, CodeRabbit, Devin</li>
<li>(11:07) - Merge, watch deploy, Discord report</li>
<li>(12:19) - Limit blast radius: feature flags</li>
<li>(13:46) - Disaster recovery</li>
<li>(14:33) - Cleanup: agents don't love deleting code</li>
<li>(15:28) - Dogfooding and product decisions</li>
<li>(16:31) - Pipe signals in: Sentry, errors, feedback</li>
<li>(18:00) - Nightly and weekly agents</li>
<li>(18:35) - Recap</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Thank you to Devin (Cognition) for sponsoring this episode: <a href="https://10xn.link/kcd-cognition">https://10xn.link/kcd-cognition</a></p><p>Agents don't fix friction. They work around it, and those workarounds compound across every agent touching your codebase. The fix is to turn your agents into complainers: the ship PR skill ends every merge by filing friction, and other agents come through and fix it - sometimes while you sleep.</p><p>Kent walks the three pillars that make that safe: (1) good PRs in the first place (a decisions directory, a primitives catalog, the control Kody CLI for self-verification, and a system recap on every PR), (2) catch mistakes before prod (the ship PR package, CI, CodeRabbit, Cursor Bugbot, Devin AI review, preview deploys), and (3) limit the blast radius (feature flags with success metrics, disaster recovery with restore tests). Then cleanup, dogfooding, and signal pipelines from Sentry, runtime errors, user feedback, and nightly/weekly agents.</p><p>Agents handle polish, code quality, and implementation. The product vision stays with you.</p><p><strong>Links</strong></p><ul><li><a href="https://10xn.link/kcd-cognition">Devin (sponsor)</a></li><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, software factory, AI agents, autonomous agents, friction log, ship PR, Kody, AI code review, Cursor Bugbot, CodeRabbit, Devin, feature flags, disaster recovery, durable skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:chapters url="https://share.transistor.fm/s/b8004c3b/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Steal My App (I'll Show You How)</title>
      <itunes:episode>26</itunes:episode>
      <podcast:episode>26</podcast:episode>
      <itunes:title>Steal My App (I'll Show You How)</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b48ff919-74fe-45e0-8dca-41c771d70548</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Self-hosting Kody off Cloudflare used to sound thermonuclear. Deno Celld changed the math — and Kent's Grok bot handed the experiment to Devin. Then docker compose up actually worked.</p><p></p><ul><li>(00:00) - Cold open: Kody running in Docker</li>
<li>(00:10) - Better with Kent</li>
<li>(00:16) - Self-hosted Kody is real — here's the path</li>
<li>(00:58) - Ask: self-host Kody off Cloudflare</li>
<li>(01:10) - Clarify: Kody, not Jev</li>
<li>(01:42) - Thermonuclear — tied to Cloudflare</li>
<li>(02:02) - Own Cloudflare account is fine under OSS</li>
<li>(02:33) - Deno Celld — hard, not thermonuclear</li>
<li>(04:23) - Revised difficulty: hard is OK for agents</li>
<li>(04:37) - Hand the experiment to Devin via Kody</li>
<li>(06:16) - Devin launches on Ultra</li>
<li>(06:46) - Prompt, auth gaps, and Kody unsticks Devin</li>
<li>(08:15) - Inspect the Celld repo and fill gaps</li>
<li>(08:57) - Ship-PR loop until main is green</li>
<li>(10:41) - Rebuild the UI to match official Kody</li>
<li>(12:38) - Make it tryable: public image + README</li>
<li>(14:09) - Follow the README ourselves</li>
<li>(14:56) - docker compose up — it works</li>
<li>(15:27) - Create account on localhost:8080</li>
<li>(16:33) - Connect Cursor MCP (and fix public URL)</li>
<li>(17:45) - Connected — memory + dad-joke package</li>
<li>(19:23) - Success: first run without reading the code</li>
<li>(20:02) - What's still missing — contribute if you care</li>
<li>(20:56) - Homework: self-host or use kody.codes</li>
<li>(21:24) - Close</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Kent asks his Grok bot how hard it is to self-host Kody off Cloudflare. First answer: thermonuclear rewrite. Then Deno Celld (Workers + Durable Objects on your machines, S3-compatible state) revises that to hard — and hard is fine when you hand it to an agent.</p><p>Kody briefs Devin Cloud to build a Celld-based self-hosted Kody. Auth hiccups, gap fills, ship-PR loops, GHCR image, from-zero smoke. Kent follows the README, docker compose up, creates an account, connects Cursor MCP, saves a memory, and ships a dad-joke package — first run without looking at the code.</p><p>Homework: if you want self-hosted Kody, contribute. If not, use kody.codes and let hosted handle the edge.</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Self-hosting Kody off Cloudflare used to sound thermonuclear. Deno Celld changed the math — and Kent's Grok bot handed the experiment to Devin. Then docker compose up actually worked.</p><p></p><ul><li>(00:00) - Cold open: Kody running in Docker</li>
<li>(00:10) - Better with Kent</li>
<li>(00:16) - Self-hosted Kody is real — here's the path</li>
<li>(00:58) - Ask: self-host Kody off Cloudflare</li>
<li>(01:10) - Clarify: Kody, not Jev</li>
<li>(01:42) - Thermonuclear — tied to Cloudflare</li>
<li>(02:02) - Own Cloudflare account is fine under OSS</li>
<li>(02:33) - Deno Celld — hard, not thermonuclear</li>
<li>(04:23) - Revised difficulty: hard is OK for agents</li>
<li>(04:37) - Hand the experiment to Devin via Kody</li>
<li>(06:16) - Devin launches on Ultra</li>
<li>(06:46) - Prompt, auth gaps, and Kody unsticks Devin</li>
<li>(08:15) - Inspect the Celld repo and fill gaps</li>
<li>(08:57) - Ship-PR loop until main is green</li>
<li>(10:41) - Rebuild the UI to match official Kody</li>
<li>(12:38) - Make it tryable: public image + README</li>
<li>(14:09) - Follow the README ourselves</li>
<li>(14:56) - docker compose up — it works</li>
<li>(15:27) - Create account on localhost:8080</li>
<li>(16:33) - Connect Cursor MCP (and fix public URL)</li>
<li>(17:45) - Connected — memory + dad-joke package</li>
<li>(19:23) - Success: first run without reading the code</li>
<li>(20:02) - What's still missing — contribute if you care</li>
<li>(20:56) - Homework: self-host or use kody.codes</li>
<li>(21:24) - Close</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Kent asks his Grok bot how hard it is to self-host Kody off Cloudflare. First answer: thermonuclear rewrite. Then Deno Celld (Workers + Durable Objects on your machines, S3-compatible state) revises that to hard — and hard is fine when you hand it to an agent.</p><p>Kody briefs Devin Cloud to build a Celld-based self-hosted Kody. Auth hiccups, gap fills, ship-PR loops, GHCR image, from-zero smoke. Kent follows the README, docker compose up, creates an account, connects Cursor MCP, saves a memory, and ships a dad-joke package — first run without looking at the code.</p><p>Homework: if you want self-hosted Kody, contribute. If not, use kody.codes and let hosted handle the edge.</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 06 Oct 2026 12:18:05 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/10d8e536/4cc96ea3.mp3" length="20894999" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3250734" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/10d8e536/4cc96ea3.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=zuR3JEQmSLk">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/QKqfBdAkyVjat0_t_f5f5GkDb3g7RsHOD9eIyY75o6Q/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9mNmVk/MGE5NDhmNTYyMmZh/NWQ4MmNmNDMwNTI4/MDU0OC5wbmc.jpg"/>
      <itunes:duration>1304</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Self-hosting Kody off Cloudflare used to sound thermonuclear. Deno Celld changed the math — and Kent's Grok bot handed the experiment to Devin. Then docker compose up actually worked.</p><p></p><ul><li>(00:00) - Cold open: Kody running in Docker</li>
<li>(00:10) - Better with Kent</li>
<li>(00:16) - Self-hosted Kody is real — here's the path</li>
<li>(00:58) - Ask: self-host Kody off Cloudflare</li>
<li>(01:10) - Clarify: Kody, not Jev</li>
<li>(01:42) - Thermonuclear — tied to Cloudflare</li>
<li>(02:02) - Own Cloudflare account is fine under OSS</li>
<li>(02:33) - Deno Celld — hard, not thermonuclear</li>
<li>(04:23) - Revised difficulty: hard is OK for agents</li>
<li>(04:37) - Hand the experiment to Devin via Kody</li>
<li>(06:16) - Devin launches on Ultra</li>
<li>(06:46) - Prompt, auth gaps, and Kody unsticks Devin</li>
<li>(08:15) - Inspect the Celld repo and fill gaps</li>
<li>(08:57) - Ship-PR loop until main is green</li>
<li>(10:41) - Rebuild the UI to match official Kody</li>
<li>(12:38) - Make it tryable: public image + README</li>
<li>(14:09) - Follow the README ourselves</li>
<li>(14:56) - docker compose up — it works</li>
<li>(15:27) - Create account on localhost:8080</li>
<li>(16:33) - Connect Cursor MCP (and fix public URL)</li>
<li>(17:45) - Connected — memory + dad-joke package</li>
<li>(19:23) - Success: first run without reading the code</li>
<li>(20:02) - What's still missing — contribute if you care</li>
<li>(20:56) - Homework: self-host or use kody.codes</li>
<li>(21:24) - Close</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Kent asks his Grok bot how hard it is to self-host Kody off Cloudflare. First answer: thermonuclear rewrite. Then Deno Celld (Workers + Durable Objects on your machines, S3-compatible state) revises that to hard — and hard is fine when you hand it to an agent.</p><p>Kody briefs Devin Cloud to build a Celld-based self-hosted Kody. Auth hiccups, gap fills, ship-PR loops, GHCR image, from-zero smoke. Kent follows the README, docker compose up, creates an account, connects Cursor MCP, saves a memory, and ships a dad-joke package — first run without looking at the code.</p><p>Homework: if you want self-hosted Kody, contribute. If not, use kody.codes and let hosted handle the edge.</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, Kody, self-hosting, Deno, Celld, Cloudflare, Durable Objects, Devin, Docker, MCP, AI agents, durable skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:chapters url="https://share.transistor.fm/s/10d8e536/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Build a Software Pipeline: Help your agent help you</title>
      <itunes:episode>25</itunes:episode>
      <podcast:episode>25</podcast:episode>
      <itunes:title>Build a Software Pipeline: Help your agent help you</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">2ee441b2-40a5-45a3-abbd-631da487483f</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Package apps on Kody turn a package into something you can install and use on your phone. This episode walks morning briefing, package-app-kit, and a phone demo of a swipe deck over Gmail, GitHub, and Calendar.</p><p>Better with Kent - durable skills for people who ship software.</p><p>Thank you to Devin (Cognition) for sponsoring this episode: <a href="https://10xn.link/kcd-cognition">https://10xn.link/kcd-cognition</a></p><p>Kent shows package apps on kody.codes with @kentcdodds/morning-briefing and @kentcdodds/package-app-kit, then cuts to a phone demo of Claude building a Tinder-for-attention swipe deck over real feeds.</p><p>Homework: pick one package you already trust and ask what it would take to ship it as an installable app surface, not just an MCP tool.</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Package apps on Kody turn a package into something you can install and use on your phone. This episode walks morning briefing, package-app-kit, and a phone demo of a swipe deck over Gmail, GitHub, and Calendar.</p><p>Better with Kent - durable skills for people who ship software.</p><p>Thank you to Devin (Cognition) for sponsoring this episode: <a href="https://10xn.link/kcd-cognition">https://10xn.link/kcd-cognition</a></p><p>Kent shows package apps on kody.codes with @kentcdodds/morning-briefing and @kentcdodds/package-app-kit, then cuts to a phone demo of Claude building a Tinder-for-attention swipe deck over real feeds.</p><p>Homework: pick one package you already trust and ask what it would take to ship it as an installable app surface, not just an MCP tool.</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 25 Sep 2026 07:30:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/7637fa39/946b73bf.mp3" length="12682972" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3350224" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/7637fa39/946b73bf.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=WjogtbCssZc">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/URAbnt_PylgG-KBHN-u-8jwAquAadzn_Y06lYU58IvA/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9iYjUw/MWFlMjFiY2Y0Mjdi/YzY3MjQxY2VjODEz/ODVmYS5wbmc.jpg"/>
      <itunes:duration>791</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Package apps on Kody turn a package into something you can install and use on your phone. This episode walks morning briefing, package-app-kit, and a phone demo of a swipe deck over Gmail, GitHub, and Calendar.</p><p>Better with Kent - durable skills for people who ship software.</p><p>Thank you to Devin (Cognition) for sponsoring this episode: <a href="https://10xn.link/kcd-cognition">https://10xn.link/kcd-cognition</a></p><p>Kent shows package apps on kody.codes with @kentcdodds/morning-briefing and @kentcdodds/package-app-kit, then cuts to a phone demo of Claude building a Tinder-for-attention swipe deck over real feeds.</p><p>Homework: pick one package you already trust and ask what it would take to ship it as an installable app surface, not just an MCP tool.</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent,durable skills,software engineering,product judgment,Kent C. Dodds,AI and engineering,accountability,user empathy</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/7637fa39/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Make your agent safe and autonomous</title>
      <itunes:episode>24</itunes:episode>
      <podcast:episode>24</podcast:episode>
      <itunes:title>Make your agent safe and autonomous</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">9754f443-78aa-42dd-a0cc-aece7f493e0c</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Gmail has no drafts-only OAuth scope. If an agent can draft, it can send. Two Kody locks make drafts-never-send actually true.</p><p></p><ul><li>(00:00) - Cold open: agent sent email without review</li>
<li>(00:52) - Better with Kent</li>
<li>(01:25) - PocketOS: overscoped token callback</li>
<li>(02:20) - Gmail has no drafts-only scope</li>
<li>(02:46) - Two locks: token + package</li>
<li>(03:40) - Elephant: your current Gmail plugin</li>
<li>(05:47) - Ask the agent / paste the guide</li>
<li>(07:17) - Google Cloud OAuth client</li>
<li>(13:03) - Connect Google to Kody</li>
<li>(15:38) - Smoke-test draft (no send)</li>
<li>(16:56) - Save and lock the drafts package</li>
<li>(19:16) - Pin the Google token in Integrations</li>
<li>(19:47) - Browse the locked package files</li>
<li>(20:35) - Verify: execute blocked + promote</li>
<li>(22:52) - Close: lock the grant</li>
<li>(23:49) - Homework: .env God-tokens</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Gmail has no drafts-only OAuth scope. gmail.compose can draft and send. If an agent can draft, it can send - unless you put a real grant in front of the token.</p><p>Kent walks the locked-gmail-drafts path on Kody: smoke-test a draft with the coarse Google token, then save a thin drafts-only package, lock that package so it cannot grow send without a promoted commit, and pin the Google connection so ad hoc execute cannot call it. Two locks. The Google token stays coarse; the pair is the grant Google will not issue.</p><p>Homework: open your .env, look at the God-tokens your agent can slurp, and put them behind a grant the agent cannot widen. Kody is one way. The skill is the grant, not the product.</p><p>Guides: https://kody.codes/guides/locked-gmail-drafts and https://kody.codes/guides/google</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/guides/locked-gmail-drafts">Locked Gmail drafts guide</a></li><li><a href="https://kody.codes/guides/google">Google connect</a></li><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Gmail has no drafts-only OAuth scope. If an agent can draft, it can send. Two Kody locks make drafts-never-send actually true.</p><p></p><ul><li>(00:00) - Cold open: agent sent email without review</li>
<li>(00:52) - Better with Kent</li>
<li>(01:25) - PocketOS: overscoped token callback</li>
<li>(02:20) - Gmail has no drafts-only scope</li>
<li>(02:46) - Two locks: token + package</li>
<li>(03:40) - Elephant: your current Gmail plugin</li>
<li>(05:47) - Ask the agent / paste the guide</li>
<li>(07:17) - Google Cloud OAuth client</li>
<li>(13:03) - Connect Google to Kody</li>
<li>(15:38) - Smoke-test draft (no send)</li>
<li>(16:56) - Save and lock the drafts package</li>
<li>(19:16) - Pin the Google token in Integrations</li>
<li>(19:47) - Browse the locked package files</li>
<li>(20:35) - Verify: execute blocked + promote</li>
<li>(22:52) - Close: lock the grant</li>
<li>(23:49) - Homework: .env God-tokens</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Gmail has no drafts-only OAuth scope. gmail.compose can draft and send. If an agent can draft, it can send - unless you put a real grant in front of the token.</p><p>Kent walks the locked-gmail-drafts path on Kody: smoke-test a draft with the coarse Google token, then save a thin drafts-only package, lock that package so it cannot grow send without a promoted commit, and pin the Google connection so ad hoc execute cannot call it. Two locks. The Google token stays coarse; the pair is the grant Google will not issue.</p><p>Homework: open your .env, look at the God-tokens your agent can slurp, and put them behind a grant the agent cannot widen. Kody is one way. The skill is the grant, not the product.</p><p>Guides: https://kody.codes/guides/locked-gmail-drafts and https://kody.codes/guides/google</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/guides/locked-gmail-drafts">Locked Gmail drafts guide</a></li><li><a href="https://kody.codes/guides/google">Google connect</a></li><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 15 Sep 2026 08:00:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/0067dafd/876a7d39.mp3" length="24004460" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="2514912" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/0067dafd/876a7d39.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=_EJTrJFLa3g">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/zNiCct-CDq1pmMpFrB5gPqOCsOOW5BiGksSw4TUfG98/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9jOTVi/N2MxMDUxZDlhMDVk/Mjc5ODQ2YzAwMjAx/MmNlOC5wbmc.jpg"/>
      <itunes:duration>1497</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Gmail has no drafts-only OAuth scope. If an agent can draft, it can send. Two Kody locks make drafts-never-send actually true.</p><p></p><ul><li>(00:00) - Cold open: agent sent email without review</li>
<li>(00:52) - Better with Kent</li>
<li>(01:25) - PocketOS: overscoped token callback</li>
<li>(02:20) - Gmail has no drafts-only scope</li>
<li>(02:46) - Two locks: token + package</li>
<li>(03:40) - Elephant: your current Gmail plugin</li>
<li>(05:47) - Ask the agent / paste the guide</li>
<li>(07:17) - Google Cloud OAuth client</li>
<li>(13:03) - Connect Google to Kody</li>
<li>(15:38) - Smoke-test draft (no send)</li>
<li>(16:56) - Save and lock the drafts package</li>
<li>(19:16) - Pin the Google token in Integrations</li>
<li>(19:47) - Browse the locked package files</li>
<li>(20:35) - Verify: execute blocked + promote</li>
<li>(22:52) - Close: lock the grant</li>
<li>(23:49) - Homework: .env God-tokens</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Gmail has no drafts-only OAuth scope. gmail.compose can draft and send. If an agent can draft, it can send - unless you put a real grant in front of the token.</p><p>Kent walks the locked-gmail-drafts path on Kody: smoke-test a draft with the coarse Google token, then save a thin drafts-only package, lock that package so it cannot grow send without a promoted commit, and pin the Google connection so ad hoc execute cannot call it. Two locks. The Google token stays coarse; the pair is the grant Google will not issue.</p><p>Homework: open your .env, look at the God-tokens your agent can slurp, and put them behind a grant the agent cannot widen. Kody is one way. The skill is the grant, not the product.</p><p>Guides: https://kody.codes/guides/locked-gmail-drafts and https://kody.codes/guides/google</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/guides/locked-gmail-drafts">Locked Gmail drafts guide</a></li><li><a href="https://kody.codes/guides/google">Google connect</a></li><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent,durable skills,software engineering,product judgment,Kent C. Dodds,AI and engineering,accountability,user empathy</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/0067dafd/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/0067dafd/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Introducing Kody: Your Personal Software Factory</title>
      <itunes:episode>23</itunes:episode>
      <podcast:episode>23</podcast:episode>
      <itunes:title>Introducing Kody: Your Personal Software Factory</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0dc69df0-f50c-4904-96f1-d37b3a49db2b</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>You already paid an agent to figure it out. Tomorrow you ask again. Kody turns the good answer into a package you keep, so any agent can run it forever.</p><p></p><ul><li>(00:00) - You ask again</li>
<li>(00:22) - What if you only had to ask once?</li>
<li>(00:43) - A personal software factory</li>
<li>(01:05) - Then it keeps running</li>
<li>(01:25) - Still running</li>
<li>(01:50) - Not another agent</li>
<li>(02:06) - Secrets stay in Kody</li>
<li>(02:36) - Say it once, run it forever</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>You ask your agent to do something. It figures it out eventually. Tomorrow you ask again. New chat, new agent, new device. You didn't keep it. You just paid for the agent to do it again.</p><p>What if you only had to ask once?</p><p>Kody is not another AI agent. You've already got one of those. Probably several. Kody is what the agent reaches for when the work shouldn't disappear when the conversation ends. Your agent figures something out once. Kody saves it as a package: real code you own. Think of it as your own mini GitHub and npm. Then it runs on a schedule, a webhook, a tap on a phone. No model in the loop. Faster, cheaper, safer. And it keeps running in the cloud when your laptop is sleeping or dead.</p><p>Secrets stay in Kody. The agent stays blind. Packages can lock so an agent cannot go rogue and delete your email. Use the agents you love. The personal software they wrote comes with you to all of them.</p><p>Say it once. Run it forever. For all the agents you use today and the ones you'll use tomorrow.</p><p>Give your agents a home for free at https://kody.codes Source is on GitHub. Go give it a star.</p><p>Related: How Kody Gives Your Agents a Shared Home - https://www.youtube.com/watch?v=h5G8uaZHrVI</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://github.com/kentcdodds/kody">Kody on GitHub</a></li><li><a href="https://kody.codes/guides/how-kody-works">How Kody works</a></li><li><a href="https://www.youtube.com/watch?v=h5G8uaZHrVI&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">How Kody Gives Your Agents a Shared Home (ep 22)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>You already paid an agent to figure it out. Tomorrow you ask again. Kody turns the good answer into a package you keep, so any agent can run it forever.</p><p></p><ul><li>(00:00) - You ask again</li>
<li>(00:22) - What if you only had to ask once?</li>
<li>(00:43) - A personal software factory</li>
<li>(01:05) - Then it keeps running</li>
<li>(01:25) - Still running</li>
<li>(01:50) - Not another agent</li>
<li>(02:06) - Secrets stay in Kody</li>
<li>(02:36) - Say it once, run it forever</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>You ask your agent to do something. It figures it out eventually. Tomorrow you ask again. New chat, new agent, new device. You didn't keep it. You just paid for the agent to do it again.</p><p>What if you only had to ask once?</p><p>Kody is not another AI agent. You've already got one of those. Probably several. Kody is what the agent reaches for when the work shouldn't disappear when the conversation ends. Your agent figures something out once. Kody saves it as a package: real code you own. Think of it as your own mini GitHub and npm. Then it runs on a schedule, a webhook, a tap on a phone. No model in the loop. Faster, cheaper, safer. And it keeps running in the cloud when your laptop is sleeping or dead.</p><p>Secrets stay in Kody. The agent stays blind. Packages can lock so an agent cannot go rogue and delete your email. Use the agents you love. The personal software they wrote comes with you to all of them.</p><p>Say it once. Run it forever. For all the agents you use today and the ones you'll use tomorrow.</p><p>Give your agents a home for free at https://kody.codes Source is on GitHub. Go give it a star.</p><p>Related: How Kody Gives Your Agents a Shared Home - https://www.youtube.com/watch?v=h5G8uaZHrVI</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://github.com/kentcdodds/kody">Kody on GitHub</a></li><li><a href="https://kody.codes/guides/how-kody-works">How Kody works</a></li><li><a href="https://www.youtube.com/watch?v=h5G8uaZHrVI&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">How Kody Gives Your Agents a Shared Home (ep 22)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 08 Sep 2026 09:30:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/20c64c80/94683985.mp3" length="2899270" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3295940" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/20c64c80/94683985.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=QA0xYMAMjEg">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/5vAvnhMHcnC7EncRy_TjiYMD0LoP2NJnGDji8NKSWGM/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80NDQw/ZjQwNTJhOThkMGJl/NDc0M2EyMjBmZDYy/MDZjZC5wbmc.jpg"/>
      <itunes:duration>179</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>You already paid an agent to figure it out. Tomorrow you ask again. Kody turns the good answer into a package you keep, so any agent can run it forever.</p><p></p><ul><li>(00:00) - You ask again</li>
<li>(00:22) - What if you only had to ask once?</li>
<li>(00:43) - A personal software factory</li>
<li>(01:05) - Then it keeps running</li>
<li>(01:25) - Still running</li>
<li>(01:50) - Not another agent</li>
<li>(02:06) - Secrets stay in Kody</li>
<li>(02:36) - Say it once, run it forever</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>You ask your agent to do something. It figures it out eventually. Tomorrow you ask again. New chat, new agent, new device. You didn't keep it. You just paid for the agent to do it again.</p><p>What if you only had to ask once?</p><p>Kody is not another AI agent. You've already got one of those. Probably several. Kody is what the agent reaches for when the work shouldn't disappear when the conversation ends. Your agent figures something out once. Kody saves it as a package: real code you own. Think of it as your own mini GitHub and npm. Then it runs on a schedule, a webhook, a tap on a phone. No model in the loop. Faster, cheaper, safer. And it keeps running in the cloud when your laptop is sleeping or dead.</p><p>Secrets stay in Kody. The agent stays blind. Packages can lock so an agent cannot go rogue and delete your email. Use the agents you love. The personal software they wrote comes with you to all of them.</p><p>Say it once. Run it forever. For all the agents you use today and the ones you'll use tomorrow.</p><p>Give your agents a home for free at https://kody.codes Source is on GitHub. Go give it a star.</p><p>Related: How Kody Gives Your Agents a Shared Home - https://www.youtube.com/watch?v=h5G8uaZHrVI</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/">Kody</a></li><li><a href="https://github.com/kentcdodds/kody">Kody on GitHub</a></li><li><a href="https://kody.codes/guides/how-kody-works">How Kody works</a></li><li><a href="https://www.youtube.com/watch?v=h5G8uaZHrVI&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">How Kody Gives Your Agents a Shared Home (ep 22)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, Kody, AI agents, personal software factory, MCP, Cursor, Claude, Grok, packages, durable skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/20c64c80/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/20c64c80/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>How Kody Gives Your Agents a Shared Home</title>
      <itunes:episode>22</itunes:episode>
      <podcast:episode>22</podcast:episode>
      <itunes:title>How Kody Gives Your Agents a Shared Home</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a65c073a-783f-492a-bbe4-5c3c828f67dd</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>You already pay for more than one agent. Give them a shared home so Cursor, Grok, and Devin share software, memories, and tasks instead of starting from zero every chat.</p><p></p><ul><li>(00:00) - Meet Kody</li>
<li>(00:22) - Better with Kent</li>
<li>(00:46) - How Kody works</li>
<li>(01:08) - Cursor asks what the bot shipped</li>
<li>(01:40) - Search, conversation ID, memories</li>
<li>(03:03) - Execute + secrets stay in Kody</li>
<li>(04:35) - Code mode: only the answer comes back</li>
<li>(05:45) - Save it as a package</li>
<li>(07:23) - Grok reuses the package</li>
<li>(09:16) - Devin: tell me when it ships</li>
<li>(11:36) - What the agents wrote</li>
<li>(13:15) - Any agent can run it</li>
<li>(13:52) - Early-access invite</li>
<li>(14:28) - Close: give agents a home</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>You probably subscribe to more than one agent. Cursor on the laptop. Grok on a walk. Devin when you want something watched overnight. Each one starts from a blank context window. None of them share the software, memories, or secrets you already built in the last one.</p><p>Kody is that shared home. Kent walks the How Kody Works page end to end. Cursor does not know the favorite bot, so it searches Kody, picks up memories plus a githubAccessToken secret it never actually sees, and runs the fetch in an isolate. Code mode returns only the answer you asked for, type-checked. Then it saves the work as a package: @u/kodybot what-shipped. Grok reuses that package from a phone with no rewrite. Devin cannot hang a webhook on someone else's GitHub activity, so it adds a morning job and a daily digest email instead. The files look like normal package.json plus kody.jobs, a README intent, and JSDoc the next agent can search.</p><p>Secrets stay in Kody. Packages can lock a secret so only that package can use it. You can edit a package from a phone with no local git because the agent opens a repo session that simulates git.</p><p>You do not have to install Kody to take the skill. Agents leapfrog each other. Give them a place to share software, ideas, memories, and tasks so you can switch freely.</p><p>Early access invite code: YOUTUBE-FRIEND Redeem it at https://kody.codes/signup?utm_source=youtube&amp;utm_medium=video&amp;utm_campaign=bwk-shared-home&amp;utm_content=signup</p><p>Related (context only): I built my own OpenClaw - https://www.youtube.com/watch?v=TnztlHzhYvk</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/?utm_source=youtube&amp;utm_medium=video&amp;utm_campaign=bwk-shared-home&amp;utm_content=home">Kody</a></li><li><a href="https://kody.codes/signup?utm_source=youtube&amp;utm_medium=video&amp;utm_campaign=bwk-shared-home&amp;utm_content=signup">Early access signup (code YOUTUBE-FRIEND)</a></li><li><a href="https://kody.codes/guides/how-kody-works?utm_source=youtube&amp;utm_medium=video&amp;utm_campaign=bwk-shared-home&amp;utm_content=how-kody-works">How Kody works</a></li><li><a href="https://github.com/kentcdodds/kody">Kody on GitHub</a></li><li><a href="https://www.youtube.com/watch?v=TnztlHzhYvk">I built my own OpenClaw (ep 06)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>You already pay for more than one agent. Give them a shared home so Cursor, Grok, and Devin share software, memories, and tasks instead of starting from zero every chat.</p><p></p><ul><li>(00:00) - Meet Kody</li>
<li>(00:22) - Better with Kent</li>
<li>(00:46) - How Kody works</li>
<li>(01:08) - Cursor asks what the bot shipped</li>
<li>(01:40) - Search, conversation ID, memories</li>
<li>(03:03) - Execute + secrets stay in Kody</li>
<li>(04:35) - Code mode: only the answer comes back</li>
<li>(05:45) - Save it as a package</li>
<li>(07:23) - Grok reuses the package</li>
<li>(09:16) - Devin: tell me when it ships</li>
<li>(11:36) - What the agents wrote</li>
<li>(13:15) - Any agent can run it</li>
<li>(13:52) - Early-access invite</li>
<li>(14:28) - Close: give agents a home</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>You probably subscribe to more than one agent. Cursor on the laptop. Grok on a walk. Devin when you want something watched overnight. Each one starts from a blank context window. None of them share the software, memories, or secrets you already built in the last one.</p><p>Kody is that shared home. Kent walks the How Kody Works page end to end. Cursor does not know the favorite bot, so it searches Kody, picks up memories plus a githubAccessToken secret it never actually sees, and runs the fetch in an isolate. Code mode returns only the answer you asked for, type-checked. Then it saves the work as a package: @u/kodybot what-shipped. Grok reuses that package from a phone with no rewrite. Devin cannot hang a webhook on someone else's GitHub activity, so it adds a morning job and a daily digest email instead. The files look like normal package.json plus kody.jobs, a README intent, and JSDoc the next agent can search.</p><p>Secrets stay in Kody. Packages can lock a secret so only that package can use it. You can edit a package from a phone with no local git because the agent opens a repo session that simulates git.</p><p>You do not have to install Kody to take the skill. Agents leapfrog each other. Give them a place to share software, ideas, memories, and tasks so you can switch freely.</p><p>Early access invite code: YOUTUBE-FRIEND Redeem it at https://kody.codes/signup?utm_source=youtube&amp;utm_medium=video&amp;utm_campaign=bwk-shared-home&amp;utm_content=signup</p><p>Related (context only): I built my own OpenClaw - https://www.youtube.com/watch?v=TnztlHzhYvk</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/?utm_source=youtube&amp;utm_medium=video&amp;utm_campaign=bwk-shared-home&amp;utm_content=home">Kody</a></li><li><a href="https://kody.codes/signup?utm_source=youtube&amp;utm_medium=video&amp;utm_campaign=bwk-shared-home&amp;utm_content=signup">Early access signup (code YOUTUBE-FRIEND)</a></li><li><a href="https://kody.codes/guides/how-kody-works?utm_source=youtube&amp;utm_medium=video&amp;utm_campaign=bwk-shared-home&amp;utm_content=how-kody-works">How Kody works</a></li><li><a href="https://github.com/kentcdodds/kody">Kody on GitHub</a></li><li><a href="https://www.youtube.com/watch?v=TnztlHzhYvk">I built my own OpenClaw (ep 06)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 27 Aug 2026 16:09:02 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/decca4e7/9b55feb0.mp3" length="14744186" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3491138" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/decca4e7/9b55feb0.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=h5G8uaZHrVI">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/ixmsHWNqkcuNb39LzGo6cLM8XEZke-LCCaX0-kWiN5E/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS81M2Ri/NzhmNmUxZmY5NGIy/ZmRhZDRhNDdjZWNl/NDRmYi5wbmc.jpg"/>
      <itunes:duration>919</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>You already pay for more than one agent. Give them a shared home so Cursor, Grok, and Devin share software, memories, and tasks instead of starting from zero every chat.</p><p></p><ul><li>(00:00) - Meet Kody</li>
<li>(00:22) - Better with Kent</li>
<li>(00:46) - How Kody works</li>
<li>(01:08) - Cursor asks what the bot shipped</li>
<li>(01:40) - Search, conversation ID, memories</li>
<li>(03:03) - Execute + secrets stay in Kody</li>
<li>(04:35) - Code mode: only the answer comes back</li>
<li>(05:45) - Save it as a package</li>
<li>(07:23) - Grok reuses the package</li>
<li>(09:16) - Devin: tell me when it ships</li>
<li>(11:36) - What the agents wrote</li>
<li>(13:15) - Any agent can run it</li>
<li>(13:52) - Early-access invite</li>
<li>(14:28) - Close: give agents a home</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>You probably subscribe to more than one agent. Cursor on the laptop. Grok on a walk. Devin when you want something watched overnight. Each one starts from a blank context window. None of them share the software, memories, or secrets you already built in the last one.</p><p>Kody is that shared home. Kent walks the How Kody Works page end to end. Cursor does not know the favorite bot, so it searches Kody, picks up memories plus a githubAccessToken secret it never actually sees, and runs the fetch in an isolate. Code mode returns only the answer you asked for, type-checked. Then it saves the work as a package: @u/kodybot what-shipped. Grok reuses that package from a phone with no rewrite. Devin cannot hang a webhook on someone else's GitHub activity, so it adds a morning job and a daily digest email instead. The files look like normal package.json plus kody.jobs, a README intent, and JSDoc the next agent can search.</p><p>Secrets stay in Kody. Packages can lock a secret so only that package can use it. You can edit a package from a phone with no local git because the agent opens a repo session that simulates git.</p><p>You do not have to install Kody to take the skill. Agents leapfrog each other. Give them a place to share software, ideas, memories, and tasks so you can switch freely.</p><p>Early access invite code: YOUTUBE-FRIEND Redeem it at https://kody.codes/signup?utm_source=youtube&amp;utm_medium=video&amp;utm_campaign=bwk-shared-home&amp;utm_content=signup</p><p>Related (context only): I built my own OpenClaw - https://www.youtube.com/watch?v=TnztlHzhYvk</p><p><strong>Links</strong></p><ul><li><a href="https://kody.codes/?utm_source=youtube&amp;utm_medium=video&amp;utm_campaign=bwk-shared-home&amp;utm_content=home">Kody</a></li><li><a href="https://kody.codes/signup?utm_source=youtube&amp;utm_medium=video&amp;utm_campaign=bwk-shared-home&amp;utm_content=signup">Early access signup (code YOUTUBE-FRIEND)</a></li><li><a href="https://kody.codes/guides/how-kody-works?utm_source=youtube&amp;utm_medium=video&amp;utm_campaign=bwk-shared-home&amp;utm_content=how-kody-works">How Kody works</a></li><li><a href="https://github.com/kentcdodds/kody">Kody on GitHub</a></li><li><a href="https://www.youtube.com/watch?v=TnztlHzhYvk">I built my own OpenClaw (ep 06)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, Kody, AI agents, MCP, Cursor, Grok, Devin, AGENTS.md, code mode, shared home, durable skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/decca4e7/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/decca4e7/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Turn your agent on auto-pilot with ADRs</title>
      <itunes:episode>21</itunes:episode>
      <podcast:episode>21</podcast:episode>
      <itunes:title>Turn your agent on auto-pilot with ADRs</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0003555a-5d2a-4886-9ebc-45b195e362d8</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>New agent chats keep asking product questions you already answered. Write short ADRs so the next agent opens the no instead of making you the memory.</p><p></p><ul><li>(00:00) - Fill the agent's mind</li>
<li>(00:36) - Better with Kent</li>
<li>(00:46) - The problem: decisions die in chat</li>
<li>(02:06) - The solution is ADRs</li>
<li>(03:06) - Epic Stack + Remix origin</li>
<li>(03:32) - Template + AGENTS.md pointer</li>
<li>(04:21) - What to write ADRs about</li>
<li>(05:22) - Cameron - 0001 + 0006</li>
<li>(06:59) - Darren - wait on skills / 0015</li>
<li>(07:54) - One-off hooks - 0021</li>
<li>(08:50) - Persistent services - the missing no</li>
<li>(11:13) - Don't write diaries or an ADR per PR</li>
<li>(11:45) - Homework - three declined decisions</li>
<li>(12:33) - Close</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Every new agent conversation starts from zero. Last week's product decision lives in a chat nobody will reopen. You become the memory. That does not scale.</p><p>The old fix still works: architecture decision records. An ADR is a short record of a decision already made. Context, decision, consequences, and a revisit-if. Put them in docs/decisions/. Point AGENTS.md at the folder so the agent checks before it proposes a new primitive or surface.</p><p>They are not set in stone. They give the next agent a starting place so it does not re-decide, re-ask, or plow into a direction you already refused.</p><p>Kent walks real Kody receipts. Cameron's call became 0001 (no package versioning) and 0006 (no repo CI primitive). Darren's call became 0015 (wait on skills over MCP). A late-night one-off hooks idea became 0021: talk first, stay in packages. Then the missing no: persistent services kept getting defended because there was no written decision. After the back-and-forth, the primitive was deleted in kody#1552 and 0025 was written. Write the no before the next agent.</p><p>Do not write essays nobody opens, UI diaries, or an ADR on every PR. Ten seconds on the trap, then homework.</p><p>Homework: create docs/decisions/ this week. Write three declined decisions you already made. Link the folder from AGENTS.md. Agents will start asking whether the thing you just discussed should be an ADR.</p><p><strong>Links</strong></p><ul><li><a href="https://kcd-slides-bwk-adrs-for-agents.pages.dev/">Episode slides</a></li><li><a href="https://kcd-slides-bwk-adrs-for-agents.pages.dev/samples/adr-template.md">ADR template (sample)</a></li><li><a href="https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions">Nygard: Documenting Architecture Decisions</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/AGENTS.md">Kody AGENTS.md</a></li><li><a href="https://github.com/kentcdodds/kody/tree/main/docs/contributing/decisions">Kody decision records</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0000-template.md">Kody ADR template</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0001-no-package-versioning.md">0001: no package versioning</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0006-no-repo-ci-primitive.md">0006: no repo CI primitive</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0015-skills-over-mcp-wait.md">0015: wait on skills over MCP</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0021-publish-gated-package-composition.md">0021: publish-gated package composition</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0025-no-package-services-primitive.md">0025: no package services primitive</a></li><li><a href="https://github.com/kentcdodds/kody/pull/1552">kody#1552 (removed package services)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>New agent chats keep asking product questions you already answered. Write short ADRs so the next agent opens the no instead of making you the memory.</p><p></p><ul><li>(00:00) - Fill the agent's mind</li>
<li>(00:36) - Better with Kent</li>
<li>(00:46) - The problem: decisions die in chat</li>
<li>(02:06) - The solution is ADRs</li>
<li>(03:06) - Epic Stack + Remix origin</li>
<li>(03:32) - Template + AGENTS.md pointer</li>
<li>(04:21) - What to write ADRs about</li>
<li>(05:22) - Cameron - 0001 + 0006</li>
<li>(06:59) - Darren - wait on skills / 0015</li>
<li>(07:54) - One-off hooks - 0021</li>
<li>(08:50) - Persistent services - the missing no</li>
<li>(11:13) - Don't write diaries or an ADR per PR</li>
<li>(11:45) - Homework - three declined decisions</li>
<li>(12:33) - Close</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Every new agent conversation starts from zero. Last week's product decision lives in a chat nobody will reopen. You become the memory. That does not scale.</p><p>The old fix still works: architecture decision records. An ADR is a short record of a decision already made. Context, decision, consequences, and a revisit-if. Put them in docs/decisions/. Point AGENTS.md at the folder so the agent checks before it proposes a new primitive or surface.</p><p>They are not set in stone. They give the next agent a starting place so it does not re-decide, re-ask, or plow into a direction you already refused.</p><p>Kent walks real Kody receipts. Cameron's call became 0001 (no package versioning) and 0006 (no repo CI primitive). Darren's call became 0015 (wait on skills over MCP). A late-night one-off hooks idea became 0021: talk first, stay in packages. Then the missing no: persistent services kept getting defended because there was no written decision. After the back-and-forth, the primitive was deleted in kody#1552 and 0025 was written. Write the no before the next agent.</p><p>Do not write essays nobody opens, UI diaries, or an ADR on every PR. Ten seconds on the trap, then homework.</p><p>Homework: create docs/decisions/ this week. Write three declined decisions you already made. Link the folder from AGENTS.md. Agents will start asking whether the thing you just discussed should be an ADR.</p><p><strong>Links</strong></p><ul><li><a href="https://kcd-slides-bwk-adrs-for-agents.pages.dev/">Episode slides</a></li><li><a href="https://kcd-slides-bwk-adrs-for-agents.pages.dev/samples/adr-template.md">ADR template (sample)</a></li><li><a href="https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions">Nygard: Documenting Architecture Decisions</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/AGENTS.md">Kody AGENTS.md</a></li><li><a href="https://github.com/kentcdodds/kody/tree/main/docs/contributing/decisions">Kody decision records</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0000-template.md">Kody ADR template</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0001-no-package-versioning.md">0001: no package versioning</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0006-no-repo-ci-primitive.md">0006: no repo CI primitive</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0015-skills-over-mcp-wait.md">0015: wait on skills over MCP</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0021-publish-gated-package-composition.md">0021: publish-gated package composition</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0025-no-package-services-primitive.md">0025: no package services primitive</a></li><li><a href="https://github.com/kentcdodds/kody/pull/1552">kody#1552 (removed package services)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 25 Aug 2026 07:41:46 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/a0fa1078/53ef5891.mp3" length="12474468" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3426625" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/a0fa1078/53ef5891.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=vRoqBBI51Vo">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/CKMH4q0QoLgTLpQDjCdMtAfaDnYlHi9EBKyl1gC9A5c/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8wYzBm/YTRhNGRiNzE5MTll/ZGUyZjY4YjQzYWY5/YmU1Zi5wbmc.jpg"/>
      <itunes:duration>776</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>New agent chats keep asking product questions you already answered. Write short ADRs so the next agent opens the no instead of making you the memory.</p><p></p><ul><li>(00:00) - Fill the agent's mind</li>
<li>(00:36) - Better with Kent</li>
<li>(00:46) - The problem: decisions die in chat</li>
<li>(02:06) - The solution is ADRs</li>
<li>(03:06) - Epic Stack + Remix origin</li>
<li>(03:32) - Template + AGENTS.md pointer</li>
<li>(04:21) - What to write ADRs about</li>
<li>(05:22) - Cameron - 0001 + 0006</li>
<li>(06:59) - Darren - wait on skills / 0015</li>
<li>(07:54) - One-off hooks - 0021</li>
<li>(08:50) - Persistent services - the missing no</li>
<li>(11:13) - Don't write diaries or an ADR per PR</li>
<li>(11:45) - Homework - three declined decisions</li>
<li>(12:33) - Close</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Every new agent conversation starts from zero. Last week's product decision lives in a chat nobody will reopen. You become the memory. That does not scale.</p><p>The old fix still works: architecture decision records. An ADR is a short record of a decision already made. Context, decision, consequences, and a revisit-if. Put them in docs/decisions/. Point AGENTS.md at the folder so the agent checks before it proposes a new primitive or surface.</p><p>They are not set in stone. They give the next agent a starting place so it does not re-decide, re-ask, or plow into a direction you already refused.</p><p>Kent walks real Kody receipts. Cameron's call became 0001 (no package versioning) and 0006 (no repo CI primitive). Darren's call became 0015 (wait on skills over MCP). A late-night one-off hooks idea became 0021: talk first, stay in packages. Then the missing no: persistent services kept getting defended because there was no written decision. After the back-and-forth, the primitive was deleted in kody#1552 and 0025 was written. Write the no before the next agent.</p><p>Do not write essays nobody opens, UI diaries, or an ADR on every PR. Ten seconds on the trap, then homework.</p><p>Homework: create docs/decisions/ this week. Write three declined decisions you already made. Link the folder from AGENTS.md. Agents will start asking whether the thing you just discussed should be an ADR.</p><p><strong>Links</strong></p><ul><li><a href="https://kcd-slides-bwk-adrs-for-agents.pages.dev/">Episode slides</a></li><li><a href="https://kcd-slides-bwk-adrs-for-agents.pages.dev/samples/adr-template.md">ADR template (sample)</a></li><li><a href="https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions">Nygard: Documenting Architecture Decisions</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/AGENTS.md">Kody AGENTS.md</a></li><li><a href="https://github.com/kentcdodds/kody/tree/main/docs/contributing/decisions">Kody decision records</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0000-template.md">Kody ADR template</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0001-no-package-versioning.md">0001: no package versioning</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0006-no-repo-ci-primitive.md">0006: no repo CI primitive</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0015-skills-over-mcp-wait.md">0015: wait on skills over MCP</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0021-publish-gated-package-composition.md">0021: publish-gated package composition</a></li><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/decisions/0025-no-package-services-primitive.md">0025: no package services primitive</a></li><li><a href="https://github.com/kentcdodds/kody/pull/1552">kody#1552 (removed package services)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, ADR, architecture decision records, AI agents, AGENTS.md, Kody, product decisions, docs/decisions, durable skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/a0fa1078/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/a0fa1078/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Here's how the new MCP spec works</title>
      <itunes:episode>20</itunes:episode>
      <podcast:episode>20</podcast:episode>
      <itunes:title>Here's how the new MCP spec works</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">14d046ba-7761-4df8-9ec8-749c3c430f21</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>MCP is stateless now. Any instance can answer a tool call. Kent walks the 2026-07-28 release: sticky sessions vs a normal load balancer, CIMD vs DCR, multi-round-trip elicitations, and how to run both lanes until the metrics say you can drop the old one.</p><p></p><ul><li>(00:00) - They fixed MCP</li>
<li>(01:13) - Better with Kent</li>
<li>(01:37) - Cloudflare + the dual-lane upgrade</li>
<li>(03:13) - MCP is now a stateless protocol</li>
<li>(03:25) - Sticky sessions vs any instance</li>
<li>(06:20) - Self-describing requests and headers</li>
<li>(07:17) - What else shipped</li>
<li>(08:24) - Formal deprecation policy</li>
<li>(10:05) - Roots, sampling, logging, SSE</li>
<li>(11:58) - Client ID metadata documents</li>
<li>(12:38) - How DCR used to work</li>
<li>(14:15) - Unbounded client registrations</li>
<li>(15:59) - The client ID is a URL</li>
<li>(18:33) - Multi-round-trip requests</li>
<li>(22:17) - Dual-lane until the metrics say so</li>
<li>(23:54) - Homework: instrument old cruft</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>They fixed MCP. The people who called it a bad protocol have less of an excuse now. The 2026-07-28 spec is the biggest change since the beginning, and the headline is that MCP is a stateless protocol.</p><p>Kent walks the before-and-after. The old world needed a sticky session on one instance behind the load balancer. If that instance fell over, the client was stuck. The new world is ordinary HTTP: any instance can serve the request. App state can still live in a database. The transport session is what died.</p><p>That unlocks the rest of the release. Requests are self-describing. Method and tool names travel in Mcp-Method and Mcp-Name headers, so a gateway can route without reading the body. Multi-round-trip requests replace held-open SSE for elicitations: the server returns the input it needs, the connection closes, and the client can come back days later on any instance. List responses are cacheable. Extensions are formal now (MCP Apps, Tasks). DCR is deprecated in favor of Client ID Metadata Documents: the client_id is an HTTPS URL, trust is ownership of the domain, and you stop minting an unbounded registration record per reconnect. Kent's own early Kody numbers: about 125 DCR registrations per user.</p><p>There is a formal 12-month deprecation window. Roots, sampling, logging, and HTTP+SSE are on the way out. Kent is glad Roots is gone, a little sad about sampling, and fine with streaming replacing SSE.</p><p>The receipt is a dual-lane /mcp: Cloudflare's Agents SDK classifies isLegacyRequest, the new spec already shows up from Claude Code, and weekly agents watch the metrics. Homework is the durable move: instrument your old cruft so data, not a calendar, tells you when it is safe to remove.</p><p><strong>Links</strong></p><ul><li><a href="https://blog.modelcontextprotocol.io/posts/2026-07-28/">MCP 2026-07-28 release post</a></li><li><a href="https://modelcontextprotocol.io/specification/2026-07-28/changelog">MCP 2026-07-28 changelog</a></li><li><a href="https://blog.cloudflare.com/mcp-v2/">Cloudflare: the next generation of MCP</a></li><li><a href="https://client.dev/">CIMD (client.dev)</a></li><li><a href="https://github.com/kentcdodds/kody/pull/1237">Kody dual-lane MCP PR</a></li><li><a href="https://kcd-slides-bwk-mcp-goes-stateless.pages.dev/">Episode slides</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>MCP is stateless now. Any instance can answer a tool call. Kent walks the 2026-07-28 release: sticky sessions vs a normal load balancer, CIMD vs DCR, multi-round-trip elicitations, and how to run both lanes until the metrics say you can drop the old one.</p><p></p><ul><li>(00:00) - They fixed MCP</li>
<li>(01:13) - Better with Kent</li>
<li>(01:37) - Cloudflare + the dual-lane upgrade</li>
<li>(03:13) - MCP is now a stateless protocol</li>
<li>(03:25) - Sticky sessions vs any instance</li>
<li>(06:20) - Self-describing requests and headers</li>
<li>(07:17) - What else shipped</li>
<li>(08:24) - Formal deprecation policy</li>
<li>(10:05) - Roots, sampling, logging, SSE</li>
<li>(11:58) - Client ID metadata documents</li>
<li>(12:38) - How DCR used to work</li>
<li>(14:15) - Unbounded client registrations</li>
<li>(15:59) - The client ID is a URL</li>
<li>(18:33) - Multi-round-trip requests</li>
<li>(22:17) - Dual-lane until the metrics say so</li>
<li>(23:54) - Homework: instrument old cruft</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>They fixed MCP. The people who called it a bad protocol have less of an excuse now. The 2026-07-28 spec is the biggest change since the beginning, and the headline is that MCP is a stateless protocol.</p><p>Kent walks the before-and-after. The old world needed a sticky session on one instance behind the load balancer. If that instance fell over, the client was stuck. The new world is ordinary HTTP: any instance can serve the request. App state can still live in a database. The transport session is what died.</p><p>That unlocks the rest of the release. Requests are self-describing. Method and tool names travel in Mcp-Method and Mcp-Name headers, so a gateway can route without reading the body. Multi-round-trip requests replace held-open SSE for elicitations: the server returns the input it needs, the connection closes, and the client can come back days later on any instance. List responses are cacheable. Extensions are formal now (MCP Apps, Tasks). DCR is deprecated in favor of Client ID Metadata Documents: the client_id is an HTTPS URL, trust is ownership of the domain, and you stop minting an unbounded registration record per reconnect. Kent's own early Kody numbers: about 125 DCR registrations per user.</p><p>There is a formal 12-month deprecation window. Roots, sampling, logging, and HTTP+SSE are on the way out. Kent is glad Roots is gone, a little sad about sampling, and fine with streaming replacing SSE.</p><p>The receipt is a dual-lane /mcp: Cloudflare's Agents SDK classifies isLegacyRequest, the new spec already shows up from Claude Code, and weekly agents watch the metrics. Homework is the durable move: instrument your old cruft so data, not a calendar, tells you when it is safe to remove.</p><p><strong>Links</strong></p><ul><li><a href="https://blog.modelcontextprotocol.io/posts/2026-07-28/">MCP 2026-07-28 release post</a></li><li><a href="https://modelcontextprotocol.io/specification/2026-07-28/changelog">MCP 2026-07-28 changelog</a></li><li><a href="https://blog.cloudflare.com/mcp-v2/">Cloudflare: the next generation of MCP</a></li><li><a href="https://client.dev/">CIMD (client.dev)</a></li><li><a href="https://github.com/kentcdodds/kody/pull/1237">Kody dual-lane MCP PR</a></li><li><a href="https://kcd-slides-bwk-mcp-goes-stateless.pages.dev/">Episode slides</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 20 Aug 2026 08:08:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/bb13e2fd/d374e0b2.mp3" length="23954028" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="2991378" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/bb13e2fd/d374e0b2.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=1B9H6RTAGmE">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/Oiukto9BWrAL70l4nJmgGH4nZJqBjXBSov3wfPPfdXE/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9mMWU5/NzhhNDE4YjA1NTk5/ZTFiMGFiMWI5N2U3/YWJmZi5wbmc.jpg"/>
      <itunes:duration>1495</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>MCP is stateless now. Any instance can answer a tool call. Kent walks the 2026-07-28 release: sticky sessions vs a normal load balancer, CIMD vs DCR, multi-round-trip elicitations, and how to run both lanes until the metrics say you can drop the old one.</p><p></p><ul><li>(00:00) - They fixed MCP</li>
<li>(01:13) - Better with Kent</li>
<li>(01:37) - Cloudflare + the dual-lane upgrade</li>
<li>(03:13) - MCP is now a stateless protocol</li>
<li>(03:25) - Sticky sessions vs any instance</li>
<li>(06:20) - Self-describing requests and headers</li>
<li>(07:17) - What else shipped</li>
<li>(08:24) - Formal deprecation policy</li>
<li>(10:05) - Roots, sampling, logging, SSE</li>
<li>(11:58) - Client ID metadata documents</li>
<li>(12:38) - How DCR used to work</li>
<li>(14:15) - Unbounded client registrations</li>
<li>(15:59) - The client ID is a URL</li>
<li>(18:33) - Multi-round-trip requests</li>
<li>(22:17) - Dual-lane until the metrics say so</li>
<li>(23:54) - Homework: instrument old cruft</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>They fixed MCP. The people who called it a bad protocol have less of an excuse now. The 2026-07-28 spec is the biggest change since the beginning, and the headline is that MCP is a stateless protocol.</p><p>Kent walks the before-and-after. The old world needed a sticky session on one instance behind the load balancer. If that instance fell over, the client was stuck. The new world is ordinary HTTP: any instance can serve the request. App state can still live in a database. The transport session is what died.</p><p>That unlocks the rest of the release. Requests are self-describing. Method and tool names travel in Mcp-Method and Mcp-Name headers, so a gateway can route without reading the body. Multi-round-trip requests replace held-open SSE for elicitations: the server returns the input it needs, the connection closes, and the client can come back days later on any instance. List responses are cacheable. Extensions are formal now (MCP Apps, Tasks). DCR is deprecated in favor of Client ID Metadata Documents: the client_id is an HTTPS URL, trust is ownership of the domain, and you stop minting an unbounded registration record per reconnect. Kent's own early Kody numbers: about 125 DCR registrations per user.</p><p>There is a formal 12-month deprecation window. Roots, sampling, logging, and HTTP+SSE are on the way out. Kent is glad Roots is gone, a little sad about sampling, and fine with streaming replacing SSE.</p><p>The receipt is a dual-lane /mcp: Cloudflare's Agents SDK classifies isLegacyRequest, the new spec already shows up from Claude Code, and weekly agents watch the metrics. Homework is the durable move: instrument your old cruft so data, not a calendar, tells you when it is safe to remove.</p><p><strong>Links</strong></p><ul><li><a href="https://blog.modelcontextprotocol.io/posts/2026-07-28/">MCP 2026-07-28 release post</a></li><li><a href="https://modelcontextprotocol.io/specification/2026-07-28/changelog">MCP 2026-07-28 changelog</a></li><li><a href="https://blog.cloudflare.com/mcp-v2/">Cloudflare: the next generation of MCP</a></li><li><a href="https://client.dev/">CIMD (client.dev)</a></li><li><a href="https://github.com/kentcdodds/kody/pull/1237">Kody dual-lane MCP PR</a></li><li><a href="https://kcd-slides-bwk-mcp-goes-stateless.pages.dev/">Episode slides</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, MCP, Model Context Protocol, stateless, CIMD, DCR, Kody, Cloudflare, AI agents, durable skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/bb13e2fd/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/bb13e2fd/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>The craft "dying" is your OPPORTUNITY</title>
      <itunes:episode>19</itunes:episode>
      <podcast:episode>19</podcast:episode>
      <itunes:title>The craft "dying" is your OPPORTUNITY</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">9fde6538-832a-4771-b1d0-1db14031aa08</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>People worry AI is destroying craft and making developers lazy. Kent says that is incomplete: most will hand judgment to the agent. The differentiators own the system, the UX, and what the agent learns to care about.</p><p></p><ul><li>(00:00) - AI is destroying the craft?</li>
<li>(00:22) - Humans were never deterministic</li>
<li>(01:17) - Judgment was always easy to outsource</li>
<li>(02:27) - Your opportunity</li>
<li>(04:21) - Ownership is the job</li>
<li>(05:25) - Close the loop</li>
<li>(06:41) - Walk away from the code</li>
<li>(07:53) - Homework</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>A lot of people are worried AI is destroying the craft and making developers lazy. Some of that is true. It is not the whole story.</p><p>LLMs are not compilers. They are not deterministic. Neither are humans. Slop and abdicated judgment are real. The idea that AI invented software bugs is not. People have always been happy to defer decisions: a library from a big company, a ticket from someone else, now an agent that will take the whole job if you let it.</p><p>That is the opportunity. Most developers will find it easier than ever to hand system design to the model. The people who stay in the loop, design the primitives, and keep ownership will be the ones who stand out.</p><p>Kent's own half-million-line codebase since March is a hint of the direction: spend less time on semicolons and framework nuances, more time on the software factory the agent works in. The agent mirrors what you care about. If you care about UX, cost, and sustainability, it will keep bringing those up. If you only care about closing the ticket, that is all you get.</p><p>Bugs are not new. GitHub Actions was down for eight hours. Humans still admit agent mistakes into the factory loop. Craft survives by designing primitives, not by reading every line. The agent amplifies you. It does not replace you. Users already expect more.</p><p>Homework: look at the corrections you give your agent. Are they marginally useful, or high-impact UX and system issues? Raise the bar to the ones that actually change the product.</p><p><strong>Links</strong></p><ul><li><a href="https://www.youtube.com/watch?v=2cTv5JSVvDc&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Use AI to make product decisions (previous episode)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>People worry AI is destroying craft and making developers lazy. Kent says that is incomplete: most will hand judgment to the agent. The differentiators own the system, the UX, and what the agent learns to care about.</p><p></p><ul><li>(00:00) - AI is destroying the craft?</li>
<li>(00:22) - Humans were never deterministic</li>
<li>(01:17) - Judgment was always easy to outsource</li>
<li>(02:27) - Your opportunity</li>
<li>(04:21) - Ownership is the job</li>
<li>(05:25) - Close the loop</li>
<li>(06:41) - Walk away from the code</li>
<li>(07:53) - Homework</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>A lot of people are worried AI is destroying the craft and making developers lazy. Some of that is true. It is not the whole story.</p><p>LLMs are not compilers. They are not deterministic. Neither are humans. Slop and abdicated judgment are real. The idea that AI invented software bugs is not. People have always been happy to defer decisions: a library from a big company, a ticket from someone else, now an agent that will take the whole job if you let it.</p><p>That is the opportunity. Most developers will find it easier than ever to hand system design to the model. The people who stay in the loop, design the primitives, and keep ownership will be the ones who stand out.</p><p>Kent's own half-million-line codebase since March is a hint of the direction: spend less time on semicolons and framework nuances, more time on the software factory the agent works in. The agent mirrors what you care about. If you care about UX, cost, and sustainability, it will keep bringing those up. If you only care about closing the ticket, that is all you get.</p><p>Bugs are not new. GitHub Actions was down for eight hours. Humans still admit agent mistakes into the factory loop. Craft survives by designing primitives, not by reading every line. The agent amplifies you. It does not replace you. Users already expect more.</p><p>Homework: look at the corrections you give your agent. Are they marginally useful, or high-impact UX and system issues? Raise the bar to the ones that actually change the product.</p><p><strong>Links</strong></p><ul><li><a href="https://www.youtube.com/watch?v=2cTv5JSVvDc&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Use AI to make product decisions (previous episode)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 18 Aug 2026 08:18:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/baefc2f3/7e84e463.mp3" length="8286822" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3426464" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/baefc2f3/7e84e463.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=vWs6L3KLAZc">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/Ap-aiLgyRnVzrmW0BrOAwwRLBFEjatwcng4tg_gim2U/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9iZWQw/NDI0NmQ5YjdiMjI0/ZTYzZDdmNGU5NzQ2/ZDA2ZC5wbmc.jpg"/>
      <itunes:duration>514</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>People worry AI is destroying craft and making developers lazy. Kent says that is incomplete: most will hand judgment to the agent. The differentiators own the system, the UX, and what the agent learns to care about.</p><p></p><ul><li>(00:00) - AI is destroying the craft?</li>
<li>(00:22) - Humans were never deterministic</li>
<li>(01:17) - Judgment was always easy to outsource</li>
<li>(02:27) - Your opportunity</li>
<li>(04:21) - Ownership is the job</li>
<li>(05:25) - Close the loop</li>
<li>(06:41) - Walk away from the code</li>
<li>(07:53) - Homework</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>A lot of people are worried AI is destroying the craft and making developers lazy. Some of that is true. It is not the whole story.</p><p>LLMs are not compilers. They are not deterministic. Neither are humans. Slop and abdicated judgment are real. The idea that AI invented software bugs is not. People have always been happy to defer decisions: a library from a big company, a ticket from someone else, now an agent that will take the whole job if you let it.</p><p>That is the opportunity. Most developers will find it easier than ever to hand system design to the model. The people who stay in the loop, design the primitives, and keep ownership will be the ones who stand out.</p><p>Kent's own half-million-line codebase since March is a hint of the direction: spend less time on semicolons and framework nuances, more time on the software factory the agent works in. The agent mirrors what you care about. If you care about UX, cost, and sustainability, it will keep bringing those up. If you only care about closing the ticket, that is all you get.</p><p>Bugs are not new. GitHub Actions was down for eight hours. Humans still admit agent mistakes into the factory loop. Craft survives by designing primitives, not by reading every line. The agent amplifies you. It does not replace you. Users already expect more.</p><p>Homework: look at the corrections you give your agent. Are they marginally useful, or high-impact UX and system issues? Raise the bar to the ones that actually change the product.</p><p><strong>Links</strong></p><ul><li><a href="https://www.youtube.com/watch?v=2cTv5JSVvDc&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Use AI to make product decisions (previous episode)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, product engineering, AI agents, software factory, ownership, craft, judgment, system design, durable skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/baefc2f3/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/baefc2f3/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Stop Burning Your Context Cash</title>
      <itunes:episode>17</itunes:episode>
      <podcast:episode>17</podcast:episode>
      <itunes:title>Stop Burning Your Context Cash</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f11ed27f-6ddf-4b32-b8a8-d0e37e70ec6c</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>A giant AGENTS.md feels responsible. It is often just burning tokens. Kent walks the Claude Code 80% cut, a research paper that found +20% cost for little gain, a live prune of his own file, and homework: make the always-on file a router, not an encyclopedia.</p><p></p><ul><li>(00:00) - Cold open: you're burning context dollars</li>
<li>(00:43) - Better with Kent intro</li>
<li>(00:59) - Claude Code cut 80% of the system prompt</li>
<li>(01:43) - When system prompt, skills, and user requests clash</li>
<li>(03:05) - Context engineering best practices that became myths</li>
<li>(04:12) - Avoid stating the obvious / progressive disclosure</li>
<li>(04:42) - You don't need useMemo for your agent</li>
<li>(05:36) - Performance optimizations are not free</li>
<li>(06:17) - Research: AGENTS.md often doesn't help (+20% cost)</li>
<li>(07:06) - The cargo-cult loop</li>
<li>(07:24) - Overstuffed AGENTS.md walkthroughs</li>
<li>(09:01) - If the agent can find it in the repo, cut it</li>
<li>(09:54) - Live prune of my own AGENTS.md</li>
<li>(14:05) - I audited 37 agents</li>
<li>(15:30) - AGENTS.md should be a router</li>
<li>(16:30) - Shrink always-on context</li>
<li>(18:30) - Homework: slim the always-on file</li>
<li>(19:54) - Close: get better together</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Stuffing AGENTS.md, CLAUDE.md, and auto-loaded skills because it feels responsible is the new useMemo-everywhere cargo cult. Context is not free. Claude Code cut about 80% of its system prompt for newer models. A research paper evaluating AGENTS.md found those files often do not improve task success while increasing inference cost by over 20%.</p><p>Kent walks real overstuffed files (discoverable repo trees, package managers, test commands the agent can find itself), then prunes his own Kody AGENTS.md live: keep what the repo is for, keep landmines, keep a short index, cut the rest. He audited 37 of his own agents from one day: 0 re-read AGENTS.md, 86% pulled docs and skills on demand, and most went straight to the leaf.</p><p>The durable skill: treat the always-on file as a tiny map. Progressively disclose the rest. Measure whether the extra tokens still help after the models change underneath you.</p><p>Homework: take 15-30 minutes with your agent. Rip out everything discoverable from the repo. Keep the gotchas that trip it every time. Index the rest. Delete docs nobody has opened.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/blog/usememo-and-usecallback">When to useMemo and useCallback</a></li><li><a href="https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models">The new rules of context engineering (Claude blog)</a></li><li><a href="https://arxiv.org/abs/2602.11988">Evaluating AGENTS.md (ETH Zurich / arXiv)</a></li><li><a href="https://kcd-slides-bwk-agents-md-bloat.pages.dev/">Episode slides</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>A giant AGENTS.md feels responsible. It is often just burning tokens. Kent walks the Claude Code 80% cut, a research paper that found +20% cost for little gain, a live prune of his own file, and homework: make the always-on file a router, not an encyclopedia.</p><p></p><ul><li>(00:00) - Cold open: you're burning context dollars</li>
<li>(00:43) - Better with Kent intro</li>
<li>(00:59) - Claude Code cut 80% of the system prompt</li>
<li>(01:43) - When system prompt, skills, and user requests clash</li>
<li>(03:05) - Context engineering best practices that became myths</li>
<li>(04:12) - Avoid stating the obvious / progressive disclosure</li>
<li>(04:42) - You don't need useMemo for your agent</li>
<li>(05:36) - Performance optimizations are not free</li>
<li>(06:17) - Research: AGENTS.md often doesn't help (+20% cost)</li>
<li>(07:06) - The cargo-cult loop</li>
<li>(07:24) - Overstuffed AGENTS.md walkthroughs</li>
<li>(09:01) - If the agent can find it in the repo, cut it</li>
<li>(09:54) - Live prune of my own AGENTS.md</li>
<li>(14:05) - I audited 37 agents</li>
<li>(15:30) - AGENTS.md should be a router</li>
<li>(16:30) - Shrink always-on context</li>
<li>(18:30) - Homework: slim the always-on file</li>
<li>(19:54) - Close: get better together</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Stuffing AGENTS.md, CLAUDE.md, and auto-loaded skills because it feels responsible is the new useMemo-everywhere cargo cult. Context is not free. Claude Code cut about 80% of its system prompt for newer models. A research paper evaluating AGENTS.md found those files often do not improve task success while increasing inference cost by over 20%.</p><p>Kent walks real overstuffed files (discoverable repo trees, package managers, test commands the agent can find itself), then prunes his own Kody AGENTS.md live: keep what the repo is for, keep landmines, keep a short index, cut the rest. He audited 37 of his own agents from one day: 0 re-read AGENTS.md, 86% pulled docs and skills on demand, and most went straight to the leaf.</p><p>The durable skill: treat the always-on file as a tiny map. Progressively disclose the rest. Measure whether the extra tokens still help after the models change underneath you.</p><p>Homework: take 15-30 minutes with your agent. Rip out everything discoverable from the repo. Keep the gotchas that trip it every time. Index the rest. Delete docs nobody has opened.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/blog/usememo-and-usecallback">When to useMemo and useCallback</a></li><li><a href="https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models">The new rules of context engineering (Claude blog)</a></li><li><a href="https://arxiv.org/abs/2602.11988">Evaluating AGENTS.md (ETH Zurich / arXiv)</a></li><li><a href="https://kcd-slides-bwk-agents-md-bloat.pages.dev/">Episode slides</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 13 Aug 2026 09:26:16 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/653792ae/522dfad7.mp3" length="19596596" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="2826047" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/653792ae/522dfad7.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=7cUEIh4jMrQ">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/mZLVEX_S1pbybKPJJ78JlsvW4FfRwYw1FZhjSkwP9Nw/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8xNWIy/MGNiYTcyZDE2YmE5/NDVkMDY4MWYyNDNk/ZjExZS5wbmc.jpg"/>
      <itunes:duration>1219</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>A giant AGENTS.md feels responsible. It is often just burning tokens. Kent walks the Claude Code 80% cut, a research paper that found +20% cost for little gain, a live prune of his own file, and homework: make the always-on file a router, not an encyclopedia.</p><p></p><ul><li>(00:00) - Cold open: you're burning context dollars</li>
<li>(00:43) - Better with Kent intro</li>
<li>(00:59) - Claude Code cut 80% of the system prompt</li>
<li>(01:43) - When system prompt, skills, and user requests clash</li>
<li>(03:05) - Context engineering best practices that became myths</li>
<li>(04:12) - Avoid stating the obvious / progressive disclosure</li>
<li>(04:42) - You don't need useMemo for your agent</li>
<li>(05:36) - Performance optimizations are not free</li>
<li>(06:17) - Research: AGENTS.md often doesn't help (+20% cost)</li>
<li>(07:06) - The cargo-cult loop</li>
<li>(07:24) - Overstuffed AGENTS.md walkthroughs</li>
<li>(09:01) - If the agent can find it in the repo, cut it</li>
<li>(09:54) - Live prune of my own AGENTS.md</li>
<li>(14:05) - I audited 37 agents</li>
<li>(15:30) - AGENTS.md should be a router</li>
<li>(16:30) - Shrink always-on context</li>
<li>(18:30) - Homework: slim the always-on file</li>
<li>(19:54) - Close: get better together</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Stuffing AGENTS.md, CLAUDE.md, and auto-loaded skills because it feels responsible is the new useMemo-everywhere cargo cult. Context is not free. Claude Code cut about 80% of its system prompt for newer models. A research paper evaluating AGENTS.md found those files often do not improve task success while increasing inference cost by over 20%.</p><p>Kent walks real overstuffed files (discoverable repo trees, package managers, test commands the agent can find itself), then prunes his own Kody AGENTS.md live: keep what the repo is for, keep landmines, keep a short index, cut the rest. He audited 37 of his own agents from one day: 0 re-read AGENTS.md, 86% pulled docs and skills on demand, and most went straight to the leaf.</p><p>The durable skill: treat the always-on file as a tiny map. Progressively disclose the rest. Measure whether the extra tokens still help after the models change underneath you.</p><p>Homework: take 15-30 minutes with your agent. Rip out everything discoverable from the repo. Keep the gotchas that trip it every time. Index the rest. Delete docs nobody has opened.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/blog/usememo-and-usecallback">When to useMemo and useCallback</a></li><li><a href="https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models">The new rules of context engineering (Claude blog)</a></li><li><a href="https://arxiv.org/abs/2602.11988">Evaluating AGENTS.md (ETH Zurich / arXiv)</a></li><li><a href="https://kcd-slides-bwk-agents-md-bloat.pages.dev/">Episode slides</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, AGENTS.md, CLAUDE.md, context engineering, AI agents, progressive disclosure, Claude Code, product engineering, durable skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/653792ae/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/653792ae/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Use AI to make product decisions</title>
      <itunes:episode>18</itunes:episode>
      <podcast:episode>18</podcast:episode>
      <itunes:title>Use AI to make product decisions</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">9daf6163-2ced-440c-a983-710b7cbb8a06</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Most people use agents to write code. Watch Kent use one to decide what to build: gather evidence, argue primitives, peel cleanup into side quests, keep the judgment - and only then type go.</p><p></p><ul><li>(00:00) - Cold open: I think we are aligned, so let's go</li>
<li>(00:05) - Better with Kent intro</li>
<li>(00:24) - The durable skill: making a product decision with your agent</li>
<li>(00:31) - Start at the top: hand the agent the Agents Week post</li>
<li>(01:11) - Your agent needs a computer, not a container</li>
<li>(02:49) - Agent TLDR: opportunities and a workspace assistant primitive</li>
<li>(03:47) - How Kody repo sessions work today</li>
<li>(05:32) - Will King: use agents to gather, keep the judgment</li>
<li>(06:17) - Built-in primitive or community package?</li>
<li>(06:27) - Primitives are hard to remove once you add them</li>
<li>(07:37) - Entitlements, cost, and whether the business survives it</li>
<li>(09:16) - Ask for real usage data, not speculation</li>
<li>(10:38) - Push back when the data is wrong</li>
<li>(11:05) - Side quests: spawn other agents so the thread stays on the decision</li>
<li>(12:30) - A gap can mean expanding a primitive, not adding one</li>
<li>(13:34) - Durable objects vs R2: expertise that saved 13x</li>
<li>(15:17) - Catching the agent being sloppy</li>
<li>(15:47) - Artifacts is the better backing primitive</li>
<li>(17:39) - Least surprise is a product principle too</li>
<li>(18:08) - Research: large files in Cloudflare Artifacts (30 MB, 413s, no LFS)</li>
<li>(19:39) - Price-conscious prompts make price-conscious agents</li>
<li>(20:22) - The call: one repo primitive with a package marker</li>
<li>(21:10) - Progressive disclosure, then go</li>
<li>(21:52) - Why almost no skills for this conversation</li>
<li>(22:20) - Homework: ask for one research deliverable</li>
<li>(23:12) - Close: get better together</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>A Cursor cloud agent is sitting mid-conversation and the next thing Kent types is one word: go. Before that, there is a whole product conversation worth watching - because none of it was "write the feature."</p><p>Cloudflare Agents Week drops @cloudflare/computer, and the real question is not "can we build it" but "what should Kody's primitives be?" Kent walks the actual thread: asking the agent to gather evidence instead of implementing, pushing back when the data is wrong, measuring the large-file ceiling in Cloudflare Artifacts (about 30 MB, 413s, no LFS), catching a durable-object storage choice that would have cost 13x more than R2, and spawning side-quest agents so surfaced tech debt never hijacks the decision thread.</p><p>The call that comes out of it: no new data-repo primitive - expand the repo primitive with a package marker, gate large files with a friendly redirect instead of an opaque rewrite, and respect the principle of least surprise as a product principle, not just a programming one.</p><p>Homework: before your next "build it," ask your agent for one research deliverable that could change your mind. If it surfaces cleanup, spawn a side quest. Then say go.</p><p><strong>Links</strong></p><ul><li><a href="https://blog.cloudflare.com/cloudflare-computer/">Cloudflare: Your agent needs a computer, not a container</a></li><li><a href="https://cursor.com/agents/bc-a270e474-6981-44b4-8878-b8e2d0436db6">The Cursor cloud agent conversation from this episode</a></li><li><a href="https://www.epicproduct.engineer/human-factors-product-debt-and-industrial-design-product-engineering-with-will-king-6y0o3">Human factors, product debt, and industrial design with Will King</a></li><li><a href="https://kcd-slides-bwk-product-decision-then-go.pages.dev/">Episode slides</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Most people use agents to write code. Watch Kent use one to decide what to build: gather evidence, argue primitives, peel cleanup into side quests, keep the judgment - and only then type go.</p><p></p><ul><li>(00:00) - Cold open: I think we are aligned, so let's go</li>
<li>(00:05) - Better with Kent intro</li>
<li>(00:24) - The durable skill: making a product decision with your agent</li>
<li>(00:31) - Start at the top: hand the agent the Agents Week post</li>
<li>(01:11) - Your agent needs a computer, not a container</li>
<li>(02:49) - Agent TLDR: opportunities and a workspace assistant primitive</li>
<li>(03:47) - How Kody repo sessions work today</li>
<li>(05:32) - Will King: use agents to gather, keep the judgment</li>
<li>(06:17) - Built-in primitive or community package?</li>
<li>(06:27) - Primitives are hard to remove once you add them</li>
<li>(07:37) - Entitlements, cost, and whether the business survives it</li>
<li>(09:16) - Ask for real usage data, not speculation</li>
<li>(10:38) - Push back when the data is wrong</li>
<li>(11:05) - Side quests: spawn other agents so the thread stays on the decision</li>
<li>(12:30) - A gap can mean expanding a primitive, not adding one</li>
<li>(13:34) - Durable objects vs R2: expertise that saved 13x</li>
<li>(15:17) - Catching the agent being sloppy</li>
<li>(15:47) - Artifacts is the better backing primitive</li>
<li>(17:39) - Least surprise is a product principle too</li>
<li>(18:08) - Research: large files in Cloudflare Artifacts (30 MB, 413s, no LFS)</li>
<li>(19:39) - Price-conscious prompts make price-conscious agents</li>
<li>(20:22) - The call: one repo primitive with a package marker</li>
<li>(21:10) - Progressive disclosure, then go</li>
<li>(21:52) - Why almost no skills for this conversation</li>
<li>(22:20) - Homework: ask for one research deliverable</li>
<li>(23:12) - Close: get better together</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>A Cursor cloud agent is sitting mid-conversation and the next thing Kent types is one word: go. Before that, there is a whole product conversation worth watching - because none of it was "write the feature."</p><p>Cloudflare Agents Week drops @cloudflare/computer, and the real question is not "can we build it" but "what should Kody's primitives be?" Kent walks the actual thread: asking the agent to gather evidence instead of implementing, pushing back when the data is wrong, measuring the large-file ceiling in Cloudflare Artifacts (about 30 MB, 413s, no LFS), catching a durable-object storage choice that would have cost 13x more than R2, and spawning side-quest agents so surfaced tech debt never hijacks the decision thread.</p><p>The call that comes out of it: no new data-repo primitive - expand the repo primitive with a package marker, gate large files with a friendly redirect instead of an opaque rewrite, and respect the principle of least surprise as a product principle, not just a programming one.</p><p>Homework: before your next "build it," ask your agent for one research deliverable that could change your mind. If it surfaces cleanup, spawn a side quest. Then say go.</p><p><strong>Links</strong></p><ul><li><a href="https://blog.cloudflare.com/cloudflare-computer/">Cloudflare: Your agent needs a computer, not a container</a></li><li><a href="https://cursor.com/agents/bc-a270e474-6981-44b4-8878-b8e2d0436db6">The Cursor cloud agent conversation from this episode</a></li><li><a href="https://www.epicproduct.engineer/human-factors-product-debt-and-industrial-design-product-engineering-with-will-king-6y0o3">Human factors, product debt, and industrial design with Will King</a></li><li><a href="https://kcd-slides-bwk-product-decision-then-go.pages.dev/">Episode slides</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 11 Aug 2026 09:20:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/b8bf8261/ea1d97c9.mp3" length="22674786" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3482456" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/b8bf8261/ea1d97c9.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=2cTv5JSVvDc">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/MSaTRw32EAwWVlH-jV8t2Z107ybl5ucYbmiF9CprRjw/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9mZjU2/YzJjOGQ3ZDY4M2Fm/NmYzNzMwMTc4YWNm/ZDEwNi5wbmc.jpg"/>
      <itunes:duration>1415</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Most people use agents to write code. Watch Kent use one to decide what to build: gather evidence, argue primitives, peel cleanup into side quests, keep the judgment - and only then type go.</p><p></p><ul><li>(00:00) - Cold open: I think we are aligned, so let's go</li>
<li>(00:05) - Better with Kent intro</li>
<li>(00:24) - The durable skill: making a product decision with your agent</li>
<li>(00:31) - Start at the top: hand the agent the Agents Week post</li>
<li>(01:11) - Your agent needs a computer, not a container</li>
<li>(02:49) - Agent TLDR: opportunities and a workspace assistant primitive</li>
<li>(03:47) - How Kody repo sessions work today</li>
<li>(05:32) - Will King: use agents to gather, keep the judgment</li>
<li>(06:17) - Built-in primitive or community package?</li>
<li>(06:27) - Primitives are hard to remove once you add them</li>
<li>(07:37) - Entitlements, cost, and whether the business survives it</li>
<li>(09:16) - Ask for real usage data, not speculation</li>
<li>(10:38) - Push back when the data is wrong</li>
<li>(11:05) - Side quests: spawn other agents so the thread stays on the decision</li>
<li>(12:30) - A gap can mean expanding a primitive, not adding one</li>
<li>(13:34) - Durable objects vs R2: expertise that saved 13x</li>
<li>(15:17) - Catching the agent being sloppy</li>
<li>(15:47) - Artifacts is the better backing primitive</li>
<li>(17:39) - Least surprise is a product principle too</li>
<li>(18:08) - Research: large files in Cloudflare Artifacts (30 MB, 413s, no LFS)</li>
<li>(19:39) - Price-conscious prompts make price-conscious agents</li>
<li>(20:22) - The call: one repo primitive with a package marker</li>
<li>(21:10) - Progressive disclosure, then go</li>
<li>(21:52) - Why almost no skills for this conversation</li>
<li>(22:20) - Homework: ask for one research deliverable</li>
<li>(23:12) - Close: get better together</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>A Cursor cloud agent is sitting mid-conversation and the next thing Kent types is one word: go. Before that, there is a whole product conversation worth watching - because none of it was "write the feature."</p><p>Cloudflare Agents Week drops @cloudflare/computer, and the real question is not "can we build it" but "what should Kody's primitives be?" Kent walks the actual thread: asking the agent to gather evidence instead of implementing, pushing back when the data is wrong, measuring the large-file ceiling in Cloudflare Artifacts (about 30 MB, 413s, no LFS), catching a durable-object storage choice that would have cost 13x more than R2, and spawning side-quest agents so surfaced tech debt never hijacks the decision thread.</p><p>The call that comes out of it: no new data-repo primitive - expand the repo primitive with a package marker, gate large files with a friendly redirect instead of an opaque rewrite, and respect the principle of least surprise as a product principle, not just a programming one.</p><p>Homework: before your next "build it," ask your agent for one research deliverable that could change your mind. If it surfaces cleanup, spawn a side quest. Then say go.</p><p><strong>Links</strong></p><ul><li><a href="https://blog.cloudflare.com/cloudflare-computer/">Cloudflare: Your agent needs a computer, not a container</a></li><li><a href="https://cursor.com/agents/bc-a270e474-6981-44b4-8878-b8e2d0436db6">The Cursor cloud agent conversation from this episode</a></li><li><a href="https://www.epicproduct.engineer/human-factors-product-debt-and-industrial-design-product-engineering-with-will-king-6y0o3">Human factors, product debt, and industrial design with Will King</a></li><li><a href="https://kcd-slides-bwk-product-decision-then-go.pages.dev/">Episode slides</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, product engineering, AI agents, Kody, Cloudflare, primitives, Cursor, product decisions, durable skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/b8bf8261/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/b8bf8261/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>How to increase your leverage with agents</title>
      <itunes:episode>16</itunes:episode>
      <podcast:episode>16</podcast:episode>
      <itunes:title>How to increase your leverage with agents</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0b7989d5-e022-4de1-9e9a-2e9e6a0ec68b</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Agents are doing the work you did months ago. That is not doom - it is how abstraction travel works. Kent shows the climb-dont-cling timeline, a conductor-of-orchestrators example, and a one-week homework handoff.</p><p><br>0:00 Cold open: agents take the job / you climb<br>0:13 Better with Kent intro<br>0:24 Tweet claim: agents do months-ago you-work<br>0:51 Uncle Bob / climb layers of abstraction<br>1:15 History: assembly to modern languages<br>1:41 Claude Opus 5 / keep innovating<br>1:56 Screen: drawing the abstraction timeline<br>3:25 What are you doing now that agents could do?<br>4:08 Example: theme-park to conductor of orchestrators<br>7:40 Challenge: let agents do what you are doing<br>8:06 Screen: visual-recap / system map PR review<br>9:07 Don't sit still on the timeline - climb<br>9:50 What's left for me? Higher leverage keeps appearing<br>10:32 Homework: list 3 / hand off one<br>11:04 Uncle Bob: be okay walking away from the code<br>11:31 Close</p><p>Better with Kent - durable skills for people who ship software.</p><p>The things agents do for Kent today are the things he was doing himself months ago. That pattern is old (assembly to Fortran to frameworks to natural language) and the cadence is faster now.</p><p>This episode reframes abstractions as vehicles: climb the timeline instead of clinging to the last layer. Live draw of the abstraction ladder, a theme-park conductor-of-orchestrators story (Cursor Cloud Agents), system-map PR review instead of giant diffs, and homework: list three hand-work items and hand off one this week.</p><p>Includes a callout to the Become an Epic Product Engineer conversation with Uncle Bob: be okay walking away from the code.</p><p><strong>Links</strong></p><ul><li><a href="https://x.com/kentcdodds/status/2075411838070837347">Source tweet</a></li><li><a href="https://kcd-slides-bwk-traveling-with-abstractions.pages.dev/">Episode slides</a></li><li><a href="https://www.epicproduct.engineer/architecture-ai-agents-and-product-empathy-with-robert-c-martin~yr5vf">Architecture, AI agents, and product empathy with Robert C. Martin</a></li><li><a href="https://www.youtube.com/watch?v=Xs-U7SY2uNE&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Stop Reviewing Diffs. Start Reviewing Systems.</a></li><li><a href="https://github.com/kentcdodds/kcd-skills/tree/main/skills/visual-recap">kcd-skills / visual-recap</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Agents are doing the work you did months ago. That is not doom - it is how abstraction travel works. Kent shows the climb-dont-cling timeline, a conductor-of-orchestrators example, and a one-week homework handoff.</p><p><br>0:00 Cold open: agents take the job / you climb<br>0:13 Better with Kent intro<br>0:24 Tweet claim: agents do months-ago you-work<br>0:51 Uncle Bob / climb layers of abstraction<br>1:15 History: assembly to modern languages<br>1:41 Claude Opus 5 / keep innovating<br>1:56 Screen: drawing the abstraction timeline<br>3:25 What are you doing now that agents could do?<br>4:08 Example: theme-park to conductor of orchestrators<br>7:40 Challenge: let agents do what you are doing<br>8:06 Screen: visual-recap / system map PR review<br>9:07 Don't sit still on the timeline - climb<br>9:50 What's left for me? Higher leverage keeps appearing<br>10:32 Homework: list 3 / hand off one<br>11:04 Uncle Bob: be okay walking away from the code<br>11:31 Close</p><p>Better with Kent - durable skills for people who ship software.</p><p>The things agents do for Kent today are the things he was doing himself months ago. That pattern is old (assembly to Fortran to frameworks to natural language) and the cadence is faster now.</p><p>This episode reframes abstractions as vehicles: climb the timeline instead of clinging to the last layer. Live draw of the abstraction ladder, a theme-park conductor-of-orchestrators story (Cursor Cloud Agents), system-map PR review instead of giant diffs, and homework: list three hand-work items and hand off one this week.</p><p>Includes a callout to the Become an Epic Product Engineer conversation with Uncle Bob: be okay walking away from the code.</p><p><strong>Links</strong></p><ul><li><a href="https://x.com/kentcdodds/status/2075411838070837347">Source tweet</a></li><li><a href="https://kcd-slides-bwk-traveling-with-abstractions.pages.dev/">Episode slides</a></li><li><a href="https://www.epicproduct.engineer/architecture-ai-agents-and-product-empathy-with-robert-c-martin~yr5vf">Architecture, AI agents, and product empathy with Robert C. Martin</a></li><li><a href="https://www.youtube.com/watch?v=Xs-U7SY2uNE&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Stop Reviewing Diffs. Start Reviewing Systems.</a></li><li><a href="https://github.com/kentcdodds/kcd-skills/tree/main/skills/visual-recap">kcd-skills / visual-recap</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 06 Aug 2026 12:41:45 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/fa1fa23a/94353ccf.mp3" length="11582364" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3070149" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/fa1fa23a/94353ccf.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=v2gdCCc3N-g">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/speEcWTpVvXN2OUBRwS37k9_UIxh5WakXs3kJsxMQB0/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8xYTY3/ZDE5ZWU2MDE4ZmE3/N2VmMGFkYTA1OGJm/NTQ0Mi5wbmc.jpg"/>
      <itunes:duration>722</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Agents are doing the work you did months ago. That is not doom - it is how abstraction travel works. Kent shows the climb-dont-cling timeline, a conductor-of-orchestrators example, and a one-week homework handoff.</p><p><br>0:00 Cold open: agents take the job / you climb<br>0:13 Better with Kent intro<br>0:24 Tweet claim: agents do months-ago you-work<br>0:51 Uncle Bob / climb layers of abstraction<br>1:15 History: assembly to modern languages<br>1:41 Claude Opus 5 / keep innovating<br>1:56 Screen: drawing the abstraction timeline<br>3:25 What are you doing now that agents could do?<br>4:08 Example: theme-park to conductor of orchestrators<br>7:40 Challenge: let agents do what you are doing<br>8:06 Screen: visual-recap / system map PR review<br>9:07 Don't sit still on the timeline - climb<br>9:50 What's left for me? Higher leverage keeps appearing<br>10:32 Homework: list 3 / hand off one<br>11:04 Uncle Bob: be okay walking away from the code<br>11:31 Close</p><p>Better with Kent - durable skills for people who ship software.</p><p>The things agents do for Kent today are the things he was doing himself months ago. That pattern is old (assembly to Fortran to frameworks to natural language) and the cadence is faster now.</p><p>This episode reframes abstractions as vehicles: climb the timeline instead of clinging to the last layer. Live draw of the abstraction ladder, a theme-park conductor-of-orchestrators story (Cursor Cloud Agents), system-map PR review instead of giant diffs, and homework: list three hand-work items and hand off one this week.</p><p>Includes a callout to the Become an Epic Product Engineer conversation with Uncle Bob: be okay walking away from the code.</p><p><strong>Links</strong></p><ul><li><a href="https://x.com/kentcdodds/status/2075411838070837347">Source tweet</a></li><li><a href="https://kcd-slides-bwk-traveling-with-abstractions.pages.dev/">Episode slides</a></li><li><a href="https://www.epicproduct.engineer/architecture-ai-agents-and-product-empathy-with-robert-c-martin~yr5vf">Architecture, AI agents, and product empathy with Robert C. Martin</a></li><li><a href="https://www.youtube.com/watch?v=Xs-U7SY2uNE&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Stop Reviewing Diffs. Start Reviewing Systems.</a></li><li><a href="https://github.com/kentcdodds/kcd-skills/tree/main/skills/visual-recap">kcd-skills / visual-recap</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, AI agents, abstractions, leverage, Uncle Bob, Cursor, orchestrators, product engineering, durable skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/fa1fa23a/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>I Delete Tests Every Night (On Purpose)</title>
      <itunes:episode>14</itunes:episode>
      <podcast:episode>14</podcast:episode>
      <itunes:title>I Delete Tests Every Night (On Purpose)</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">59215bc9-6e4c-4dbb-a1e3-e06be5ce87c3</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Better with Kent - durable skills for people who ship software.</p><p>Every morning Kent wakes up to a PR that deletes more lines than it adds. Not flaky tests. Not broken tests. Low-signal ones — tiny wrappers, magic-number asserts, edge cases that will never happen — the kind AI agents love to generate overnight.</p><p>This episode walks the trap (more green checks ≠ more confidence), the bar (fewer, longer tests written into testing-principles.md), a real cleanup PR (kody#603: +122 / −703), and the Cursor Automation that runs Keep Tests Tight at 03:00 MDT.</p><p>Homework: run the cleanup once. Give an agent your testing principles and see what it deletes.</p><p><strong>Chapters</strong></p><ul><li>0:00 — Cold open: I delete tests every night</li><li>0:15 — Better with Kent intro</li><li>0:33 — Every morning a PR that deletes more than it adds</li><li>1:04 — More tests are not better tests</li><li>2:03 — Tests are expensive to run / change</li><li>2:33 — Agents love tiny tests (magic number 42)</li><li>3:33 — Green checks are not confidence</li><li>4:33 — Screen: testing-principles.md</li><li>5:09 — Fewer, longer tests</li><li>7:10 — Screen: kody#603 demo</li><li>8:38 — Screen: Keep Tests Tight automation</li><li>11:32 — Valuable at the time is not keep forever</li><li>11:45 — Homework: run the cleanup once</li><li>12:19 — Close: delete some more tests</li></ul><p><strong>Links</strong></p><ul><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/testing-principles.md">kody testing-principles.md</a></li><li><a href="https://github.com/kentcdodds/kody/pull/603">kody#603 — trim low-signal community suites</a></li><li><a href="https://cursor.com/automations/de8bf884-f2d6-414b-a44e-724112ee451e">Keep Tests Tight automation</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Better with Kent - durable skills for people who ship software.</p><p>Every morning Kent wakes up to a PR that deletes more lines than it adds. Not flaky tests. Not broken tests. Low-signal ones — tiny wrappers, magic-number asserts, edge cases that will never happen — the kind AI agents love to generate overnight.</p><p>This episode walks the trap (more green checks ≠ more confidence), the bar (fewer, longer tests written into testing-principles.md), a real cleanup PR (kody#603: +122 / −703), and the Cursor Automation that runs Keep Tests Tight at 03:00 MDT.</p><p>Homework: run the cleanup once. Give an agent your testing principles and see what it deletes.</p><p><strong>Chapters</strong></p><ul><li>0:00 — Cold open: I delete tests every night</li><li>0:15 — Better with Kent intro</li><li>0:33 — Every morning a PR that deletes more than it adds</li><li>1:04 — More tests are not better tests</li><li>2:03 — Tests are expensive to run / change</li><li>2:33 — Agents love tiny tests (magic number 42)</li><li>3:33 — Green checks are not confidence</li><li>4:33 — Screen: testing-principles.md</li><li>5:09 — Fewer, longer tests</li><li>7:10 — Screen: kody#603 demo</li><li>8:38 — Screen: Keep Tests Tight automation</li><li>11:32 — Valuable at the time is not keep forever</li><li>11:45 — Homework: run the cleanup once</li><li>12:19 — Close: delete some more tests</li></ul><p><strong>Links</strong></p><ul><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/testing-principles.md">kody testing-principles.md</a></li><li><a href="https://github.com/kentcdodds/kody/pull/603">kody#603 — trim low-signal community suites</a></li><li><a href="https://cursor.com/automations/de8bf884-f2d6-414b-a44e-724112ee451e">Keep Tests Tight automation</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 04 Aug 2026 11:49:54 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/78212e5c/c3fe87c7.mp3" length="12016314" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3184337" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/78212e5c/c3fe87c7.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=5C0jTimK8V0">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/B30wYhnEepz2ZHE4pGOEIM0meQ6ycc0Mb9abnv6HGIA/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9iMDdk/ZmNmYzU4Yzk2MjE0/NDI3OGE4M2RlYzQz/YzJmYi53ZWJw.jpg"/>
      <itunes:duration>749</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Better with Kent - durable skills for people who ship software.</p><p>Every morning Kent wakes up to a PR that deletes more lines than it adds. Not flaky tests. Not broken tests. Low-signal ones — tiny wrappers, magic-number asserts, edge cases that will never happen — the kind AI agents love to generate overnight.</p><p>This episode walks the trap (more green checks ≠ more confidence), the bar (fewer, longer tests written into testing-principles.md), a real cleanup PR (kody#603: +122 / −703), and the Cursor Automation that runs Keep Tests Tight at 03:00 MDT.</p><p>Homework: run the cleanup once. Give an agent your testing principles and see what it deletes.</p><p><strong>Chapters</strong></p><ul><li>0:00 — Cold open: I delete tests every night</li><li>0:15 — Better with Kent intro</li><li>0:33 — Every morning a PR that deletes more than it adds</li><li>1:04 — More tests are not better tests</li><li>2:03 — Tests are expensive to run / change</li><li>2:33 — Agents love tiny tests (magic number 42)</li><li>3:33 — Green checks are not confidence</li><li>4:33 — Screen: testing-principles.md</li><li>5:09 — Fewer, longer tests</li><li>7:10 — Screen: kody#603 demo</li><li>8:38 — Screen: Keep Tests Tight automation</li><li>11:32 — Valuable at the time is not keep forever</li><li>11:45 — Homework: run the cleanup once</li><li>12:19 — Close: delete some more tests</li></ul><p><strong>Links</strong></p><ul><li><a href="https://github.com/kentcdodds/kody/blob/main/docs/contributing/testing-principles.md">kody testing-principles.md</a></li><li><a href="https://github.com/kentcdodds/kody/pull/603">kody#603 — trim low-signal community suites</a></li><li><a href="https://cursor.com/automations/de8bf884-f2d6-414b-a44e-724112ee451e">Keep Tests Tight automation</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, testing, fewer longer tests, AI agents, Kody, Cursor, Keep Tests Tight, test maintenance, software factory</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/78212e5c/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/78212e5c/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Forget "read the code," I don't even merge PRs myself</title>
      <itunes:episode>13</itunes:episode>
      <podcast:episode>13</podcast:episode>
      <itunes:title>Forget "read the code," I don't even merge PRs myself</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">545355d2-4727-47db-acf0-2cdcc5c5ad8c</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Your agent opened the PR. Now you're refreshing CI and arguing with bots. Kent shows the ship-pr skill that closes that loop - mark ready, fix CI, triage review, Discord handoff - so you spend attention on risk, not chores.</p>
<p></p><ul><li>(00:00) - Still reading the code?</li>
<li>(01:18) - "I read the code" kicked off a war</li>
<li>(01:51) - I do read the code sometimes</li>
<li>(02:31) - You're the PR babysitter</li>
<li>(03:33) - I turned the loop into a skill</li>
<li>(04:14) - Discord handoff is the product</li>
<li>(04:33) - When it won't auto-merge</li>
<li>(05:25) - Inside the ship-pr skill</li>
<li>(06:16) - The ship-pr loop</li>
<li>(06:28) - Merge mode (low risk only)</li>
<li>(07:09) - How far this scales</li>
<li>(07:49) - The factory spectrum</li>
<li>(08:58) - Don't ship blind</li>
<li>(09:43) - 92 times before it was a skill</li>
<li>(10:20) - Homework: ship a PR</li>
<li>(11:03) - Sign-off</li>
</ul><br>

<p>Better with Kent - durable skills for people who ship software.</p>
<p>"I read the code" kicked off a war. Kent's take: it's a spectrum based on risk. The afternoon killer is not reading - it's babysitting CI, Bugbot, and "please fix that" loops after the agent already implemented the feature.</p>
<p>This episode is the concrete payoff after loop-engineering: real Discord handoffs from Kody (including a medium-risk PR that stayed unmerged on purpose), the ship-pr skill file, merge mode for genuinely low-risk changes, and the 92-times lesson before formalizing a skill.</p>
<p>Homework: tighten your ship loop. On a simple change, let the agent merge and verify - if your team is good with that.</p>
<p><strong>Links</strong></p>
<ul><li><a href="https://www.youtube.com/watch?v=lfSnYGdtbqE&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Watch on YouTube</a></li><li><a href="https://github.com/kentcdodds/kcd-skills/tree/main/skills/ship-pr">kcd-skills / ship-pr</a></li><li><a href="https://github.com/kentcdodds/kody/pull/709">kody#709 - medium-risk handoff (no auto-merge)</a></li><li><a href="https://github.com/kentcdodds/kody/pull/628">kody#628 - bots + merge by kody-bot</a></li><li><a href="https://x.com/mitchellh/status/2072738025344565262">Mitchell Hashimoto - "I read the code"</a></li><li><a href="https://x.com/kentcdodds/status/2075242713692467442">Kent's reply on the spectrum</a></li><li><a href="https://www.youtube.com/watch?v=jCZKiHrUNT4&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">I Was Doing Loop Engineering Before It Had a Name</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Your agent opened the PR. Now you're refreshing CI and arguing with bots. Kent shows the ship-pr skill that closes that loop - mark ready, fix CI, triage review, Discord handoff - so you spend attention on risk, not chores.</p>
<p></p><ul><li>(00:00) - Still reading the code?</li>
<li>(01:18) - "I read the code" kicked off a war</li>
<li>(01:51) - I do read the code sometimes</li>
<li>(02:31) - You're the PR babysitter</li>
<li>(03:33) - I turned the loop into a skill</li>
<li>(04:14) - Discord handoff is the product</li>
<li>(04:33) - When it won't auto-merge</li>
<li>(05:25) - Inside the ship-pr skill</li>
<li>(06:16) - The ship-pr loop</li>
<li>(06:28) - Merge mode (low risk only)</li>
<li>(07:09) - How far this scales</li>
<li>(07:49) - The factory spectrum</li>
<li>(08:58) - Don't ship blind</li>
<li>(09:43) - 92 times before it was a skill</li>
<li>(10:20) - Homework: ship a PR</li>
<li>(11:03) - Sign-off</li>
</ul><br>

<p>Better with Kent - durable skills for people who ship software.</p>
<p>"I read the code" kicked off a war. Kent's take: it's a spectrum based on risk. The afternoon killer is not reading - it's babysitting CI, Bugbot, and "please fix that" loops after the agent already implemented the feature.</p>
<p>This episode is the concrete payoff after loop-engineering: real Discord handoffs from Kody (including a medium-risk PR that stayed unmerged on purpose), the ship-pr skill file, merge mode for genuinely low-risk changes, and the 92-times lesson before formalizing a skill.</p>
<p>Homework: tighten your ship loop. On a simple change, let the agent merge and verify - if your team is good with that.</p>
<p><strong>Links</strong></p>
<ul><li><a href="https://www.youtube.com/watch?v=lfSnYGdtbqE&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Watch on YouTube</a></li><li><a href="https://github.com/kentcdodds/kcd-skills/tree/main/skills/ship-pr">kcd-skills / ship-pr</a></li><li><a href="https://github.com/kentcdodds/kody/pull/709">kody#709 - medium-risk handoff (no auto-merge)</a></li><li><a href="https://github.com/kentcdodds/kody/pull/628">kody#628 - bots + merge by kody-bot</a></li><li><a href="https://x.com/mitchellh/status/2072738025344565262">Mitchell Hashimoto - "I read the code"</a></li><li><a href="https://x.com/kentcdodds/status/2075242713692467442">Kent's reply on the spectrum</a></li><li><a href="https://www.youtube.com/watch?v=jCZKiHrUNT4&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">I Was Doing Loop Engineering Before It Had a Name</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 30 Jul 2026 05:46:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/b8fc5642/976b2c2d.mp3" length="10973849" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3449387" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/b8fc5642/976b2c2d.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=lfSnYGdtbqE">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/8LQOv9N-mUlYvUCiztwwOLrAKhQcqDdllFJjGCC8WM8/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8yNjQy/MGEwZTUwYTM3OTFh/NGY2MjE1ZDY0ZmU4/YjhiMC5wbmc.jpg"/>
      <itunes:duration>684</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Your agent opened the PR. Now you're refreshing CI and arguing with bots. Kent shows the ship-pr skill that closes that loop - mark ready, fix CI, triage review, Discord handoff - so you spend attention on risk, not chores.</p>
<p></p><ul><li>(00:00) - Still reading the code?</li>
<li>(01:18) - "I read the code" kicked off a war</li>
<li>(01:51) - I do read the code sometimes</li>
<li>(02:31) - You're the PR babysitter</li>
<li>(03:33) - I turned the loop into a skill</li>
<li>(04:14) - Discord handoff is the product</li>
<li>(04:33) - When it won't auto-merge</li>
<li>(05:25) - Inside the ship-pr skill</li>
<li>(06:16) - The ship-pr loop</li>
<li>(06:28) - Merge mode (low risk only)</li>
<li>(07:09) - How far this scales</li>
<li>(07:49) - The factory spectrum</li>
<li>(08:58) - Don't ship blind</li>
<li>(09:43) - 92 times before it was a skill</li>
<li>(10:20) - Homework: ship a PR</li>
<li>(11:03) - Sign-off</li>
</ul><br>

<p>Better with Kent - durable skills for people who ship software.</p>
<p>"I read the code" kicked off a war. Kent's take: it's a spectrum based on risk. The afternoon killer is not reading - it's babysitting CI, Bugbot, and "please fix that" loops after the agent already implemented the feature.</p>
<p>This episode is the concrete payoff after loop-engineering: real Discord handoffs from Kody (including a medium-risk PR that stayed unmerged on purpose), the ship-pr skill file, merge mode for genuinely low-risk changes, and the 92-times lesson before formalizing a skill.</p>
<p>Homework: tighten your ship loop. On a simple change, let the agent merge and verify - if your team is good with that.</p>
<p><strong>Links</strong></p>
<ul><li><a href="https://www.youtube.com/watch?v=lfSnYGdtbqE&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Watch on YouTube</a></li><li><a href="https://github.com/kentcdodds/kcd-skills/tree/main/skills/ship-pr">kcd-skills / ship-pr</a></li><li><a href="https://github.com/kentcdodds/kody/pull/709">kody#709 - medium-risk handoff (no auto-merge)</a></li><li><a href="https://github.com/kentcdodds/kody/pull/628">kody#628 - bots + merge by kody-bot</a></li><li><a href="https://x.com/mitchellh/status/2072738025344565262">Mitchell Hashimoto - "I read the code"</a></li><li><a href="https://x.com/kentcdodds/status/2075242713692467442">Kent's reply on the spectrum</a></li><li><a href="https://www.youtube.com/watch?v=jCZKiHrUNT4&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">I Was Doing Loop Engineering Before It Had a Name</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, ship-pr, AI agents, pull requests, CI, code review, Kody, Cursor, kcd-skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/b8fc5642/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/b8fc5642/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Stop Reviewing Diffs. Start Reviewing Systems.</title>
      <itunes:episode>12</itunes:episode>
      <podcast:episode>12</podcast:episode>
      <itunes:title>Stop Reviewing Diffs. Start Reviewing Systems.</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">9a51a44c-8076-4898-9018-350a01877373</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Agent PRs are too big to read line by line. Kent shows a visual system recap in the PR description - classify what changed as composes, extends, or adds - so you review the architecture first, then the code that matters.</p><p></p><ul><li>(00:00) - Still reviewing git diffs?</li>
<li>(00:25) - Spectrum: not every line, not zero review</li>
<li>(00:43) - Review the system, not just the diff</li>
<li>(00:51) - Steve's visual recap (Builder.io)</li>
<li>(01:17) - Why I rolled my own</li>
<li>(02:30) - System recap + PR #662 (adds)</li>
<li>(05:08) - PR #686 (composes — low risk)</li>
<li>(05:54) - Primitives playground callback</li>
<li>(06:57) - Install kcd-skills visual-recap</li>
<li>(07:35) - Homework + close</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Coding agents ship more code faster, and the review surface explodes. Some people say you have to read every line. Others say never look at the diff. The real answer is a spectrum - and the durable skill is reviewing how the system is changing, not only the syntax.</p><p>Kent walks through a visual recap approach inspired by Steve at Builder.io, then shows his own kcd-skills version that needs no account, no deploy, and no inference token. The agent that worked the PR writes a system recap block; GitHub renders the mermaid. Live demos: PR #662 adding an MCP client-servers primitive (high risk) vs PR #686 composing onboarding (low risk). Same domain, different review questions.</p><p>Homework: map your primitives, run visual recap on your next non-trivial PR, and decide whether you are reviewing an add, an extend, or a compose before you open the diff.</p><p><strong>Links</strong></p><ul><li><a href="https://github.com/kentcdodds/kcd-skills/tree/main/skills/visual-recap">kcd-skills / visual-recap</a></li><li><a href="https://github.com/kentcdodds/kody/pull/662">PR #662 - adds mcp-client-servers</a></li><li><a href="https://github.com/kentcdodds/kody/pull/686">PR #686 - composes onboarding</a></li><li><a href="https://kcd-slides-bwk-visual-recap.pages.dev/">Slides deck</a></li><li><a href="https://www.youtube.com/watch?v=kbmv3HIuKyk">Design Primitives Agents Can Actually Use</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Agent PRs are too big to read line by line. Kent shows a visual system recap in the PR description - classify what changed as composes, extends, or adds - so you review the architecture first, then the code that matters.</p><p></p><ul><li>(00:00) - Still reviewing git diffs?</li>
<li>(00:25) - Spectrum: not every line, not zero review</li>
<li>(00:43) - Review the system, not just the diff</li>
<li>(00:51) - Steve's visual recap (Builder.io)</li>
<li>(01:17) - Why I rolled my own</li>
<li>(02:30) - System recap + PR #662 (adds)</li>
<li>(05:08) - PR #686 (composes — low risk)</li>
<li>(05:54) - Primitives playground callback</li>
<li>(06:57) - Install kcd-skills visual-recap</li>
<li>(07:35) - Homework + close</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Coding agents ship more code faster, and the review surface explodes. Some people say you have to read every line. Others say never look at the diff. The real answer is a spectrum - and the durable skill is reviewing how the system is changing, not only the syntax.</p><p>Kent walks through a visual recap approach inspired by Steve at Builder.io, then shows his own kcd-skills version that needs no account, no deploy, and no inference token. The agent that worked the PR writes a system recap block; GitHub renders the mermaid. Live demos: PR #662 adding an MCP client-servers primitive (high risk) vs PR #686 composing onboarding (low risk). Same domain, different review questions.</p><p>Homework: map your primitives, run visual recap on your next non-trivial PR, and decide whether you are reviewing an add, an extend, or a compose before you open the diff.</p><p><strong>Links</strong></p><ul><li><a href="https://github.com/kentcdodds/kcd-skills/tree/main/skills/visual-recap">kcd-skills / visual-recap</a></li><li><a href="https://github.com/kentcdodds/kody/pull/662">PR #662 - adds mcp-client-servers</a></li><li><a href="https://github.com/kentcdodds/kody/pull/686">PR #686 - composes onboarding</a></li><li><a href="https://kcd-slides-bwk-visual-recap.pages.dev/">Slides deck</a></li><li><a href="https://www.youtube.com/watch?v=kbmv3HIuKyk">Design Primitives Agents Can Actually Use</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 28 Jul 2026 07:57:03 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/cd9a47b5/1a1f22fe.mp3" length="8064506" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3161306" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/cd9a47b5/1a1f22fe.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=Xs-U7SY2uNE">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/_PmQtyvfpTQlcLX8cuq7Uhj7IYd8GmKNxB-s7uqwMdk/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8xNzcy/MjRlZDE2MTJlNTJm/ODkxMGYyZTRlZTY4/Njk1YS5wbmc.jpg"/>
      <itunes:duration>501</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Agent PRs are too big to read line by line. Kent shows a visual system recap in the PR description - classify what changed as composes, extends, or adds - so you review the architecture first, then the code that matters.</p><p></p><ul><li>(00:00) - Still reviewing git diffs?</li>
<li>(00:25) - Spectrum: not every line, not zero review</li>
<li>(00:43) - Review the system, not just the diff</li>
<li>(00:51) - Steve's visual recap (Builder.io)</li>
<li>(01:17) - Why I rolled my own</li>
<li>(02:30) - System recap + PR #662 (adds)</li>
<li>(05:08) - PR #686 (composes — low risk)</li>
<li>(05:54) - Primitives playground callback</li>
<li>(06:57) - Install kcd-skills visual-recap</li>
<li>(07:35) - Homework + close</li>
</ul><br><p>Better with Kent - durable skills for people who ship software.</p><p>Coding agents ship more code faster, and the review surface explodes. Some people say you have to read every line. Others say never look at the diff. The real answer is a spectrum - and the durable skill is reviewing how the system is changing, not only the syntax.</p><p>Kent walks through a visual recap approach inspired by Steve at Builder.io, then shows his own kcd-skills version that needs no account, no deploy, and no inference token. The agent that worked the PR writes a system recap block; GitHub renders the mermaid. Live demos: PR #662 adding an MCP client-servers primitive (high risk) vs PR #686 composing onboarding (low risk). Same domain, different review questions.</p><p>Homework: map your primitives, run visual recap on your next non-trivial PR, and decide whether you are reviewing an add, an extend, or a compose before you open the diff.</p><p><strong>Links</strong></p><ul><li><a href="https://github.com/kentcdodds/kcd-skills/tree/main/skills/visual-recap">kcd-skills / visual-recap</a></li><li><a href="https://github.com/kentcdodds/kody/pull/662">PR #662 - adds mcp-client-servers</a></li><li><a href="https://github.com/kentcdodds/kody/pull/686">PR #686 - composes onboarding</a></li><li><a href="https://kcd-slides-bwk-visual-recap.pages.dev/">Slides deck</a></li><li><a href="https://www.youtube.com/watch?v=kbmv3HIuKyk">Design Primitives Agents Can Actually Use</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, code review, visual recap, AI agents, primitives, system design, pull requests, kcd-skills, MCP</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/cd9a47b5/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/cd9a47b5/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>My Agent Ships Across 6 Services Without Seeing a Secret</title>
      <itunes:episode>15</itunes:episode>
      <podcast:episode>15</podcast:episode>
      <itunes:title>My Agent Ships Across 6 Services Without Seeing a Secret</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c4630b74-9c32-407d-af53-44748f2f1e98</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Want the system from this episode? Check out Kody at https://heykody.dev/</p>
<p>Kent replays a real publish night — one Cursor conversation where the agent drove Notion, Canva, Kit, Transistor, Bluesky, and LinkedIn through Kody packages, with every secret kept out of the agent's reach.</p>
<p></p><ul><li>(00:00) - Stop copy-pasting between your agent and your services</li>
<li>(01:25) - What we're learning today</li>
<li>(01:49) - The real publish-night conversation</li>
<li>(02:52) - Search: how the agent discovers capabilities</li>
<li>(04:12) - The Notion pipeline board</li>
<li>(04:42) - Execute: conversation id and memory context</li>
<li>(05:50) - Agent-written code without exposing secrets</li>
<li>(08:25) - Kody packages: a registry for your agent</li>
<li>(09:43) - Token-efficient queries in a dynamic worker</li>
<li>(11:53) - No package? Use the OpenAPI spec (Canva)</li>
<li>(14:24) - Interruptions: publish date and square artwork</li>
<li>(17:04) - Default square designs for every episode</li>
<li>(18:15) - YouTube is live: Kit early-access broadcast</li>
<li>(19:37) - Launch posts on LinkedIn and Bluesky</li>
<li>(20:48) - I use this for everything</li>
<li>(22:22) - Homework: wire your services once</li>
</ul><br>

<p>Better with Kent — durable skills for people who ship software.</p>
<p>If you're still copy-pasting context between services and your agent, you're missing the real unlock: wiring those services in once so the agent can compose them. Kent walks through an actual episode publish night, one Cursor conversation at a time — search to discover capabilities, execute to run agent-written code in a fast isolated worker, saved packages instead of raw fetch calls, and OpenAPI bindings when no package exists yet.</p>
<p>Along the way: how Kody's memory context and conversation id keep token usage down, how secret templates make it impossible for the agent to ever see a bearer token, mid-task interruptions the agent absorbs without losing the thread, and the Kit, Transistor, Bluesky, and LinkedIn steps that end with a published episode.</p>
<p><strong>Links</strong></p>
<ul><li><a href="https://www.youtube.com/watch?v=u2PzSPD-wVI&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Watch on YouTube</a></li><li><a href="https://heykody.dev/">Kody</a></li><li><a href="https://github.com/kentcdodds/kody">Kody on GitHub</a></li><li><a href="https://kcd-slides-bwk-publish-with-kody-packages.pages.dev/">The chat walkthrough from this episode</a></li><li><a href="https://www.youtube.com/watch?v=kbmv3HIuKyk">Your Coding Agent Needs Better Primitives (the episode being published)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Want the system from this episode? Check out Kody at https://heykody.dev/</p>
<p>Kent replays a real publish night — one Cursor conversation where the agent drove Notion, Canva, Kit, Transistor, Bluesky, and LinkedIn through Kody packages, with every secret kept out of the agent's reach.</p>
<p></p><ul><li>(00:00) - Stop copy-pasting between your agent and your services</li>
<li>(01:25) - What we're learning today</li>
<li>(01:49) - The real publish-night conversation</li>
<li>(02:52) - Search: how the agent discovers capabilities</li>
<li>(04:12) - The Notion pipeline board</li>
<li>(04:42) - Execute: conversation id and memory context</li>
<li>(05:50) - Agent-written code without exposing secrets</li>
<li>(08:25) - Kody packages: a registry for your agent</li>
<li>(09:43) - Token-efficient queries in a dynamic worker</li>
<li>(11:53) - No package? Use the OpenAPI spec (Canva)</li>
<li>(14:24) - Interruptions: publish date and square artwork</li>
<li>(17:04) - Default square designs for every episode</li>
<li>(18:15) - YouTube is live: Kit early-access broadcast</li>
<li>(19:37) - Launch posts on LinkedIn and Bluesky</li>
<li>(20:48) - I use this for everything</li>
<li>(22:22) - Homework: wire your services once</li>
</ul><br>

<p>Better with Kent — durable skills for people who ship software.</p>
<p>If you're still copy-pasting context between services and your agent, you're missing the real unlock: wiring those services in once so the agent can compose them. Kent walks through an actual episode publish night, one Cursor conversation at a time — search to discover capabilities, execute to run agent-written code in a fast isolated worker, saved packages instead of raw fetch calls, and OpenAPI bindings when no package exists yet.</p>
<p>Along the way: how Kody's memory context and conversation id keep token usage down, how secret templates make it impossible for the agent to ever see a bearer token, mid-task interruptions the agent absorbs without losing the thread, and the Kit, Transistor, Bluesky, and LinkedIn steps that end with a published episode.</p>
<p><strong>Links</strong></p>
<ul><li><a href="https://www.youtube.com/watch?v=u2PzSPD-wVI&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Watch on YouTube</a></li><li><a href="https://heykody.dev/">Kody</a></li><li><a href="https://github.com/kentcdodds/kody">Kody on GitHub</a></li><li><a href="https://kcd-slides-bwk-publish-with-kody-packages.pages.dev/">The chat walkthrough from this episode</a></li><li><a href="https://www.youtube.com/watch?v=kbmv3HIuKyk">Your Coding Agent Needs Better Primitives (the episode being published)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 23 Jul 2026 07:45:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/6d9c14fb/b798566f.mp3" length="22396236" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3492136" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/6d9c14fb/b798566f.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=u2PzSPD-wVI">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/E-aXLxypcFKPItTJNMv-t0TA5pIcUu8JAP8-qCqHpPk/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS82MDBl/YTQzNmNkYmU0YzE5/ZjBhMDQ2ZWU5ZDQ3/NmUyMi5wbmc.jpg"/>
      <itunes:duration>1395</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Want the system from this episode? Check out Kody at https://heykody.dev/</p>
<p>Kent replays a real publish night — one Cursor conversation where the agent drove Notion, Canva, Kit, Transistor, Bluesky, and LinkedIn through Kody packages, with every secret kept out of the agent's reach.</p>
<p></p><ul><li>(00:00) - Stop copy-pasting between your agent and your services</li>
<li>(01:25) - What we're learning today</li>
<li>(01:49) - The real publish-night conversation</li>
<li>(02:52) - Search: how the agent discovers capabilities</li>
<li>(04:12) - The Notion pipeline board</li>
<li>(04:42) - Execute: conversation id and memory context</li>
<li>(05:50) - Agent-written code without exposing secrets</li>
<li>(08:25) - Kody packages: a registry for your agent</li>
<li>(09:43) - Token-efficient queries in a dynamic worker</li>
<li>(11:53) - No package? Use the OpenAPI spec (Canva)</li>
<li>(14:24) - Interruptions: publish date and square artwork</li>
<li>(17:04) - Default square designs for every episode</li>
<li>(18:15) - YouTube is live: Kit early-access broadcast</li>
<li>(19:37) - Launch posts on LinkedIn and Bluesky</li>
<li>(20:48) - I use this for everything</li>
<li>(22:22) - Homework: wire your services once</li>
</ul><br>

<p>Better with Kent — durable skills for people who ship software.</p>
<p>If you're still copy-pasting context between services and your agent, you're missing the real unlock: wiring those services in once so the agent can compose them. Kent walks through an actual episode publish night, one Cursor conversation at a time — search to discover capabilities, execute to run agent-written code in a fast isolated worker, saved packages instead of raw fetch calls, and OpenAPI bindings when no package exists yet.</p>
<p>Along the way: how Kody's memory context and conversation id keep token usage down, how secret templates make it impossible for the agent to ever see a bearer token, mid-task interruptions the agent absorbs without losing the thread, and the Kit, Transistor, Bluesky, and LinkedIn steps that end with a published episode.</p>
<p><strong>Links</strong></p>
<ul><li><a href="https://www.youtube.com/watch?v=u2PzSPD-wVI&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Watch on YouTube</a></li><li><a href="https://heykody.dev/">Kody</a></li><li><a href="https://github.com/kentcdodds/kody">Kody on GitHub</a></li><li><a href="https://kcd-slides-bwk-publish-with-kody-packages.pages.dev/">The chat walkthrough from this episode</a></li><li><a href="https://www.youtube.com/watch?v=kbmv3HIuKyk">Your Coding Agent Needs Better Primitives (the episode being published)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, Kody, AI agents, agent packages, MCP, Cursor, OpenAPI, secrets management, token efficiency, Notion API, personal automation</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/6d9c14fb/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/6d9c14fb/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Fable nailed my production YOLO infra migration</title>
      <itunes:episode>11</itunes:episode>
      <podcast:episode>11</podcast:episode>
      <itunes:title>Fable nailed my production YOLO infra migration</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b5ada1e7-c912-4be2-a5b3-2dfd94d54a35</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>One orchestrator prompt, six platform swaps, and a real production cutover on kentcdodds.com — the workflow, the review loop, the perf scare, and where the agents were wrong.</p><p></p><ul><li>(00:00) - One prompt, 40,000 lines</li>
<li>(00:44) - The site and why migrate</li>
<li>(06:38) - PR #813 — 483 files</li>
<li>(07:09) - Kickoff prompt anatomy</li>
<li>(11:35) - Orchestrate with subagents</li>
<li>(16:13) - Steering + scope expansion</li>
<li>(21:33) - Three-layer review</li>
<li>(23:22) - Kody closes the loop</li>
<li>(25:24) - The performance scare</li>
<li>(30:22) - Merge and cutover</li>
<li>(33:51) - Cleanup waves</li>
<li>(37:44) - Was 40k lines worth it?</li>
<li>(39:40) - Homework: try orchestration</li>
</ul><br><p>Kent walks through how AI agents moved kentcdodds.com from fly.io to Cloudflare Workers — database, ORM, images, email, MDX pipeline, and more — from a single orchestrator prompt plus steering, subagent swarms, three-layer review, and Kody closing every loop. Includes the performance scare that almost killed the migration, the post-cutover cleanup waves, and an honest rollup of four agent-driven PRs (about 40,000 lines changed).</p><p><strong>Links</strong></p><ul><li><a href="https://github.com/kentcdodds/kentcdodds.com/pull/813">PR #813 — migration</a></li><li><a href="https://kcd-slides-bwk-one-prompt-migration.pages.dev/">Slides deck</a></li><li><a href="https://kentcdodds.com">kentcdodds.com</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>One orchestrator prompt, six platform swaps, and a real production cutover on kentcdodds.com — the workflow, the review loop, the perf scare, and where the agents were wrong.</p><p></p><ul><li>(00:00) - One prompt, 40,000 lines</li>
<li>(00:44) - The site and why migrate</li>
<li>(06:38) - PR #813 — 483 files</li>
<li>(07:09) - Kickoff prompt anatomy</li>
<li>(11:35) - Orchestrate with subagents</li>
<li>(16:13) - Steering + scope expansion</li>
<li>(21:33) - Three-layer review</li>
<li>(23:22) - Kody closes the loop</li>
<li>(25:24) - The performance scare</li>
<li>(30:22) - Merge and cutover</li>
<li>(33:51) - Cleanup waves</li>
<li>(37:44) - Was 40k lines worth it?</li>
<li>(39:40) - Homework: try orchestration</li>
</ul><br><p>Kent walks through how AI agents moved kentcdodds.com from fly.io to Cloudflare Workers — database, ORM, images, email, MDX pipeline, and more — from a single orchestrator prompt plus steering, subagent swarms, three-layer review, and Kody closing every loop. Includes the performance scare that almost killed the migration, the post-cutover cleanup waves, and an honest rollup of four agent-driven PRs (about 40,000 lines changed).</p><p><strong>Links</strong></p><ul><li><a href="https://github.com/kentcdodds/kentcdodds.com/pull/813">PR #813 — migration</a></li><li><a href="https://kcd-slides-bwk-one-prompt-migration.pages.dev/">Slides deck</a></li><li><a href="https://kentcdodds.com">kentcdodds.com</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 21 Jul 2026 08:15:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/90349326/12b5fedf.mp3" length="39844923" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3038133" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/90349326/12b5fedf.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=LNd2AT7evE4">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/hSiIQrOxfBLKM6conEOzZxMmB1l446VGKPk4rB-AuLk/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS81Mjli/OWE2ODA4N2ViM2Jj/YWE2ZWVjNDljMDIw/ZDhjZC5wbmc.jpg"/>
      <itunes:duration>2487</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>One orchestrator prompt, six platform swaps, and a real production cutover on kentcdodds.com — the workflow, the review loop, the perf scare, and where the agents were wrong.</p><p></p><ul><li>(00:00) - One prompt, 40,000 lines</li>
<li>(00:44) - The site and why migrate</li>
<li>(06:38) - PR #813 — 483 files</li>
<li>(07:09) - Kickoff prompt anatomy</li>
<li>(11:35) - Orchestrate with subagents</li>
<li>(16:13) - Steering + scope expansion</li>
<li>(21:33) - Three-layer review</li>
<li>(23:22) - Kody closes the loop</li>
<li>(25:24) - The performance scare</li>
<li>(30:22) - Merge and cutover</li>
<li>(33:51) - Cleanup waves</li>
<li>(37:44) - Was 40k lines worth it?</li>
<li>(39:40) - Homework: try orchestration</li>
</ul><br><p>Kent walks through how AI agents moved kentcdodds.com from fly.io to Cloudflare Workers — database, ORM, images, email, MDX pipeline, and more — from a single orchestrator prompt plus steering, subagent swarms, three-layer review, and Kody closing every loop. Includes the performance scare that almost killed the migration, the post-cutover cleanup waves, and an honest rollup of four agent-driven PRs (about 40,000 lines changed).</p><p><strong>Links</strong></p><ul><li><a href="https://github.com/kentcdodds/kentcdodds.com/pull/813">PR #813 — migration</a></li><li><a href="https://kcd-slides-bwk-one-prompt-migration.pages.dev/">Slides deck</a></li><li><a href="https://kentcdodds.com">kentcdodds.com</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, AI agents, Cloudflare Workers, orchestration, Cursor, Kody, code review, production migration</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/90349326/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/90349326/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Your Coding Agent Needs Better Primitives</title>
      <itunes:episode>10</itunes:episode>
      <podcast:episode>10</podcast:episode>
      <itunes:title>Your Coding Agent Needs Better Primitives</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">94578a40-5c6c-49b4-8fbb-7250dac214d9</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>If your coding agent keeps producing garbage, better prompting may not fix it. Kent shows how intentional system primitives make agents more reliable, efficient, composable, and auditable.</p><p></p><ul><li>(00:00) - Bad agent output starts in the system</li>
<li>(00:37) - We are all tech leads now</li>
<li>(01:28) - What is a primitive?</li>
<li>(04:57) - Four moves: create, combine, delete, expand</li>
<li>(06:01) - Create: role-based access control</li>
<li>(07:59) - Combine: downshift and Kody packages</li>
<li>(10:37) - Delete: Instagram and Kody email</li>
<li>(12:22) - Expand: packages subscribe to events</li>
<li>(13:51) - Why good primitives work</li>
<li>(14:43) - Homework for your agent</li>
<li>(15:32) - Keep evolving the system</li>
</ul><br><p>Better with Kent — durable skills for people who ship software.</p><p>If your coding agent keeps producing garbage, the model may not be the problem. Agents are only as effective as the system they work in: the UI components, APIs, data entities, platform tools, workflows, and trust boundaries they can reliably use.</p><p>Kent explains four moves for improving that system: create missing primitives, combine overlapping ones, delete rigid or unused ones, and expand the primitives that should cover more. The examples come from real product work — Kody's role-based access control and event subscriptions, PayPal's three combobox implementations becoming downshift, and Instagram winning by deleting most of Burbn.</p><p>The payoff is a smaller action space with less guessing, fewer brittle workarounds, and behavior you can actually audit. The episode closes with homework you can run in your own codebase today: ask your agent which primitives you should create, combine, delete, or expand.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://heykody.dev/">Kody</a></li><li><a href="https://github.com/downshift-js/downshift">downshift</a></li><li><a href="https://www.youtube.com/watch?v=TnztlHzhYvk">I built my own OpenClaw</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>If your coding agent keeps producing garbage, better prompting may not fix it. Kent shows how intentional system primitives make agents more reliable, efficient, composable, and auditable.</p><p></p><ul><li>(00:00) - Bad agent output starts in the system</li>
<li>(00:37) - We are all tech leads now</li>
<li>(01:28) - What is a primitive?</li>
<li>(04:57) - Four moves: create, combine, delete, expand</li>
<li>(06:01) - Create: role-based access control</li>
<li>(07:59) - Combine: downshift and Kody packages</li>
<li>(10:37) - Delete: Instagram and Kody email</li>
<li>(12:22) - Expand: packages subscribe to events</li>
<li>(13:51) - Why good primitives work</li>
<li>(14:43) - Homework for your agent</li>
<li>(15:32) - Keep evolving the system</li>
</ul><br><p>Better with Kent — durable skills for people who ship software.</p><p>If your coding agent keeps producing garbage, the model may not be the problem. Agents are only as effective as the system they work in: the UI components, APIs, data entities, platform tools, workflows, and trust boundaries they can reliably use.</p><p>Kent explains four moves for improving that system: create missing primitives, combine overlapping ones, delete rigid or unused ones, and expand the primitives that should cover more. The examples come from real product work — Kody's role-based access control and event subscriptions, PayPal's three combobox implementations becoming downshift, and Instagram winning by deleting most of Burbn.</p><p>The payoff is a smaller action space with less guessing, fewer brittle workarounds, and behavior you can actually audit. The episode closes with homework you can run in your own codebase today: ask your agent which primitives you should create, combine, delete, or expand.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://heykody.dev/">Kody</a></li><li><a href="https://github.com/downshift-js/downshift">downshift</a></li><li><a href="https://www.youtube.com/watch?v=TnztlHzhYvk">I built my own OpenClaw</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 15 Jul 2026 08:51:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/fefe75df/4c42b2e0.mp3" length="15597351" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3487917" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/fefe75df/4c42b2e0.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=kbmv3HIuKyk">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/T68redPgEslgRQmbkdRgVg8Dle_m08FaMFQtmecGE1g/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85ODE1/YjFhNDJkMTkxZWFl/YzY1YjFjMjljMjIy/Y2YyNi5wbmc.jpg"/>
      <itunes:duration>973</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>If your coding agent keeps producing garbage, better prompting may not fix it. Kent shows how intentional system primitives make agents more reliable, efficient, composable, and auditable.</p><p></p><ul><li>(00:00) - Bad agent output starts in the system</li>
<li>(00:37) - We are all tech leads now</li>
<li>(01:28) - What is a primitive?</li>
<li>(04:57) - Four moves: create, combine, delete, expand</li>
<li>(06:01) - Create: role-based access control</li>
<li>(07:59) - Combine: downshift and Kody packages</li>
<li>(10:37) - Delete: Instagram and Kody email</li>
<li>(12:22) - Expand: packages subscribe to events</li>
<li>(13:51) - Why good primitives work</li>
<li>(14:43) - Homework for your agent</li>
<li>(15:32) - Keep evolving the system</li>
</ul><br><p>Better with Kent — durable skills for people who ship software.</p><p>If your coding agent keeps producing garbage, the model may not be the problem. Agents are only as effective as the system they work in: the UI components, APIs, data entities, platform tools, workflows, and trust boundaries they can reliably use.</p><p>Kent explains four moves for improving that system: create missing primitives, combine overlapping ones, delete rigid or unused ones, and expand the primitives that should cover more. The examples come from real product work — Kody's role-based access control and event subscriptions, PayPal's three combobox implementations becoming downshift, and Instagram winning by deleting most of Burbn.</p><p>The payoff is a smaller action space with less guessing, fewer brittle workarounds, and behavior you can actually audit. The episode closes with homework you can run in your own codebase today: ask your agent which primitives you should create, combine, delete, or expand.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://heykody.dev/">Kody</a></li><li><a href="https://github.com/downshift-js/downshift">downshift</a></li><li><a href="https://www.youtube.com/watch?v=TnztlHzhYvk">I built my own OpenClaw</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, coding agents, AI agents, system design, software architecture, design primitives, agentic coding, product engineering, RBAC, downshift, Kody, durable skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/fefe75df/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/fefe75df/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>The Framework wars are over. Why no one dethroned React</title>
      <itunes:episode>9</itunes:episode>
      <podcast:episode>9</podcast:episode>
      <itunes:title>The Framework wars are over. Why no one dethroned React</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c7cd42d7-8e09-4bcb-be98-d8e1c75b0f59</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Kent reacts to Dax's question on X — why no framework dethroned React — and connects it to Jobs Theory, network effects, and why framework choice matters less when agents write the code.</p><p><strong>Chapters</strong></p><ul><li>00:00 — Why did nobody dethrone React?</li><li>00:24 — Dax's question on X</li><li>00:49 — React is the last UI library (2020)</li><li>02:47 — Functional first, then social and emotional</li><li>03:36 — What made React functionally better</li><li>06:43 — Network effects and "nobody got fired for choosing React"</li><li>07:38 — Why framework choice matters less with agents</li><li>09:27 — Jobs Theory: apply this to everything you ship</li><li>11:14 — Wrap-up</li></ul><p><br></p><p>Better with Kent — durable skills for people who ship software.</p><p>Every few years the internet declares the framework wars over — usually with React as the loser. Svelte was going to win. Then Solid. Vue had its moment. Angular never left. And somehow, after a decade of "React is dead" takes, React is still the default for an absurd amount of real product work.</p><p>Kent's take: React won functionally first (state sync, composition, drop-in UI focus), then socially and emotionally once it hit critical mass. Challengers can still be "better" on paper — but once agents can use any capable stack, the throne fight stops mattering the way it used to.</p><p><strong>Links</strong></p><ul><li><a href="https://x.com/thdxr/status/2069933148767400094">Dax (@thdxr) — why no framework dethroned React</a></li><li><a href="https://x.com/kentcdodds/status/1297276093951483904">Kent (2020) — React is the last UI library anyone needs to learn</a></li><li><a href="https://www.youtube.com/watch?v=vAzvoOkA70c&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Better with Kent — Practical Jobs Theory</a></li><li><a href="https://www.youtube.com/watch?v=mxRjJPoWBE4&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Watch on YouTube</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://react.dev/">React</a></li><li><a href="https://www.epicproduct.engineer/">Become an Epic Product Engineer</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Kent reacts to Dax's question on X — why no framework dethroned React — and connects it to Jobs Theory, network effects, and why framework choice matters less when agents write the code.</p><p><strong>Chapters</strong></p><ul><li>00:00 — Why did nobody dethrone React?</li><li>00:24 — Dax's question on X</li><li>00:49 — React is the last UI library (2020)</li><li>02:47 — Functional first, then social and emotional</li><li>03:36 — What made React functionally better</li><li>06:43 — Network effects and "nobody got fired for choosing React"</li><li>07:38 — Why framework choice matters less with agents</li><li>09:27 — Jobs Theory: apply this to everything you ship</li><li>11:14 — Wrap-up</li></ul><p><br></p><p>Better with Kent — durable skills for people who ship software.</p><p>Every few years the internet declares the framework wars over — usually with React as the loser. Svelte was going to win. Then Solid. Vue had its moment. Angular never left. And somehow, after a decade of "React is dead" takes, React is still the default for an absurd amount of real product work.</p><p>Kent's take: React won functionally first (state sync, composition, drop-in UI focus), then socially and emotionally once it hit critical mass. Challengers can still be "better" on paper — but once agents can use any capable stack, the throne fight stops mattering the way it used to.</p><p><strong>Links</strong></p><ul><li><a href="https://x.com/thdxr/status/2069933148767400094">Dax (@thdxr) — why no framework dethroned React</a></li><li><a href="https://x.com/kentcdodds/status/1297276093951483904">Kent (2020) — React is the last UI library anyone needs to learn</a></li><li><a href="https://www.youtube.com/watch?v=vAzvoOkA70c&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Better with Kent — Practical Jobs Theory</a></li><li><a href="https://www.youtube.com/watch?v=mxRjJPoWBE4&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Watch on YouTube</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://react.dev/">React</a></li><li><a href="https://www.epicproduct.engineer/">Become an Epic Product Engineer</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 09 Jul 2026 09:08:17 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/3a85855d/9f837840.mp3" length="11134104" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3479301" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/3a85855d/9f837840.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=mxRjJPoWBE4">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/GK-sJ09Nn4DscQBXtDD8eiGvyY72pQCsOGetfDGks1c/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85MGQ3/NWRkOWJjYzQzYTcz/NzhhYTIwYWNiNzE1/MmRmZi5wbmc.jpg"/>
      <itunes:duration>693</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Kent reacts to Dax's question on X — why no framework dethroned React — and connects it to Jobs Theory, network effects, and why framework choice matters less when agents write the code.</p><p><strong>Chapters</strong></p><ul><li>00:00 — Why did nobody dethrone React?</li><li>00:24 — Dax's question on X</li><li>00:49 — React is the last UI library (2020)</li><li>02:47 — Functional first, then social and emotional</li><li>03:36 — What made React functionally better</li><li>06:43 — Network effects and "nobody got fired for choosing React"</li><li>07:38 — Why framework choice matters less with agents</li><li>09:27 — Jobs Theory: apply this to everything you ship</li><li>11:14 — Wrap-up</li></ul><p><br></p><p>Better with Kent — durable skills for people who ship software.</p><p>Every few years the internet declares the framework wars over — usually with React as the loser. Svelte was going to win. Then Solid. Vue had its moment. Angular never left. And somehow, after a decade of "React is dead" takes, React is still the default for an absurd amount of real product work.</p><p>Kent's take: React won functionally first (state sync, composition, drop-in UI focus), then socially and emotionally once it hit critical mass. Challengers can still be "better" on paper — but once agents can use any capable stack, the throne fight stops mattering the way it used to.</p><p><strong>Links</strong></p><ul><li><a href="https://x.com/thdxr/status/2069933148767400094">Dax (@thdxr) — why no framework dethroned React</a></li><li><a href="https://x.com/kentcdodds/status/1297276093951483904">Kent (2020) — React is the last UI library anyone needs to learn</a></li><li><a href="https://www.youtube.com/watch?v=vAzvoOkA70c&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Better with Kent — Practical Jobs Theory</a></li><li><a href="https://www.youtube.com/watch?v=mxRjJPoWBE4&amp;list=PLV5CVI1eNcJhP4nrJt85L7PxHjebFpDfY">Watch on YouTube</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://react.dev/">React</a></li><li><a href="https://www.epicproduct.engineer/">Become an Epic Product Engineer</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, React, framework wars, Dax, thdxr, Jobs Theory, JavaScript frameworks, Svelte, Solid, Vue, Angular, Remix, product engineering, durable skills, AI agents</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>What the devil is a Factory Engineer?!</title>
      <itunes:episode>8</itunes:episode>
      <podcast:episode>8</podcast:episode>
      <itunes:title>What the devil is a Factory Engineer?!</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0211d32d-23b2-4cbb-8154-189a6cc6e0e8</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Kent reacts to Zach Lloyd's Warp memo on "factory engineers" — where the software-factory vision is right, where it misses product context, and why factory work still comes back to users.</p><p>Better with Kent — durable skills for people who ship software.</p><p>Warp CEO Zach Lloyd told his team they are now factory engineers, not product engineers. Kent reads the memo aloud and pressure-tests the framing: automated development, cloud software factories, agent workflows, and the metrics that can game you if you forget what users are paying for.</p><p>He agrees with a lot of the direction — build the system agents work in, measure throughput, tighten the loop — but pushes back on anything that treats the product as optional. Internal tools still have users. Factory efficiency only matters when the right work goes in. And yes, the memo's last word is still product.</p><p>If you're trying to make sense of agentic engineering without losing product judgment, this is the durable-skills read-through.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://www.warp.dev/blog/we-are-now-factory-engineers-not-product-engineers">Warp — We are now factory engineers, not product engineers</a></li><li><a href="https://build.warp.dev/">Warp software factory (build.warp.dev)</a></li><li><a href="https://www.epicproduct.engineer/">Become an Epic Product Engineer</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Kent reacts to Zach Lloyd's Warp memo on "factory engineers" — where the software-factory vision is right, where it misses product context, and why factory work still comes back to users.</p><p>Better with Kent — durable skills for people who ship software.</p><p>Warp CEO Zach Lloyd told his team they are now factory engineers, not product engineers. Kent reads the memo aloud and pressure-tests the framing: automated development, cloud software factories, agent workflows, and the metrics that can game you if you forget what users are paying for.</p><p>He agrees with a lot of the direction — build the system agents work in, measure throughput, tighten the loop — but pushes back on anything that treats the product as optional. Internal tools still have users. Factory efficiency only matters when the right work goes in. And yes, the memo's last word is still product.</p><p>If you're trying to make sense of agentic engineering without losing product judgment, this is the durable-skills read-through.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://www.warp.dev/blog/we-are-now-factory-engineers-not-product-engineers">Warp — We are now factory engineers, not product engineers</a></li><li><a href="https://build.warp.dev/">Warp software factory (build.warp.dev)</a></li><li><a href="https://www.epicproduct.engineer/">Become an Epic Product Engineer</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 07 Jul 2026 08:51:06 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/ad178f92/2982f1d2.mp3" length="29556345" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="2826204" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/ad178f92/2982f1d2.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=qd6ltKUcp9U">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/GMbLQr05G4nruKpRXx8u9TN9RJZG0NYrEJmhnytZKHA/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9iYWE3/NzM1ZjY5Y2NhODQw/MjMxM2U5NWU3MmI4/MTE0Yy5wbmc.jpg"/>
      <itunes:duration>1845</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Kent reacts to Zach Lloyd's Warp memo on "factory engineers" — where the software-factory vision is right, where it misses product context, and why factory work still comes back to users.</p><p>Better with Kent — durable skills for people who ship software.</p><p>Warp CEO Zach Lloyd told his team they are now factory engineers, not product engineers. Kent reads the memo aloud and pressure-tests the framing: automated development, cloud software factories, agent workflows, and the metrics that can game you if you forget what users are paying for.</p><p>He agrees with a lot of the direction — build the system agents work in, measure throughput, tighten the loop — but pushes back on anything that treats the product as optional. Internal tools still have users. Factory efficiency only matters when the right work goes in. And yes, the memo's last word is still product.</p><p>If you're trying to make sense of agentic engineering without losing product judgment, this is the durable-skills read-through.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://www.warp.dev/blog/we-are-now-factory-engineers-not-product-engineers">Warp — We are now factory engineers, not product engineers</a></li><li><a href="https://build.warp.dev/">Warp software factory (build.warp.dev)</a></li><li><a href="https://www.epicproduct.engineer/">Become an Epic Product Engineer</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, factory engineers, software factory, product engineering, AI agents, Warp, Zach Lloyd, agentic coding, meta engineering, durable skills</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/ad178f92/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>I got attacked! - How I used my AI agent to fight back!</title>
      <itunes:episode>7</itunes:episode>
      <podcast:episode>7</podcast:episode>
      <itunes:title>I got attacked! - How I used my AI agent to fight back!</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5733553d-53b1-4b9a-a475-e17ecdca0a69</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Kent walks through a real bot/crawler flood against kentcdodds.com, how agentic tooling helped diagnose and mitigate the outage, and what he changed so anonymous traffic is cheaper next time.</p><p>Better with Kent — durable skills for people who ship software.</p><p>Kent got a Sentry alert that kentcdodds.com was down. A bot or crawler flood had pushed his single Fly.io machine past its request limit, and the expensive parts of his dynamic blog pages made anonymous traffic hit harder than it should have.</p><p>This episode walks through the incident response: asking a Cursor agent to investigate with repo context, Kody, Fly CLI access, Cloudflare context, and Grafana evidence; restarting and scaling the machine; blocking junk routes before they hit the origin; and identifying a DigitalOcean host driving a scripted high-concurrency crawl flood.</p><p>The durable lesson is not "let AI run production." It is that agents become useful during incidents when they have the right context, observability, tools, and boundaries. The same agent that can read code can also connect symptoms to logs, infrastructure, and follow-up fixes.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://sentry.io/">Sentry</a></li><li><a href="https://fly.io/">Fly.io</a></li><li><a href="https://www.cloudflare.com/">Cloudflare</a></li><li><a href="https://grafana.com/">Grafana</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Kent walks through a real bot/crawler flood against kentcdodds.com, how agentic tooling helped diagnose and mitigate the outage, and what he changed so anonymous traffic is cheaper next time.</p><p>Better with Kent — durable skills for people who ship software.</p><p>Kent got a Sentry alert that kentcdodds.com was down. A bot or crawler flood had pushed his single Fly.io machine past its request limit, and the expensive parts of his dynamic blog pages made anonymous traffic hit harder than it should have.</p><p>This episode walks through the incident response: asking a Cursor agent to investigate with repo context, Kody, Fly CLI access, Cloudflare context, and Grafana evidence; restarting and scaling the machine; blocking junk routes before they hit the origin; and identifying a DigitalOcean host driving a scripted high-concurrency crawl flood.</p><p>The durable lesson is not "let AI run production." It is that agents become useful during incidents when they have the right context, observability, tools, and boundaries. The same agent that can read code can also connect symptoms to logs, infrastructure, and follow-up fixes.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://sentry.io/">Sentry</a></li><li><a href="https://fly.io/">Fly.io</a></li><li><a href="https://www.cloudflare.com/">Cloudflare</a></li><li><a href="https://grafana.com/">Grafana</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 02 Jul 2026 13:54:04 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/7ad2b507/9fd2fcdb.mp3" length="11503189" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3024571" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/7ad2b507/9fd2fcdb.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=ed_b7b9NP90">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/5DHi7js5JC5Q6180Ue15zZ4yc8HVew-jW94BWlCaclI/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS83ODAz/OTdjNWIwNjNiOTc4/MmNiNDdmYjk5NGM5/MGEwNS5wbmc.jpg"/>
      <itunes:duration>714</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Kent walks through a real bot/crawler flood against kentcdodds.com, how agentic tooling helped diagnose and mitigate the outage, and what he changed so anonymous traffic is cheaper next time.</p><p>Better with Kent — durable skills for people who ship software.</p><p>Kent got a Sentry alert that kentcdodds.com was down. A bot or crawler flood had pushed his single Fly.io machine past its request limit, and the expensive parts of his dynamic blog pages made anonymous traffic hit harder than it should have.</p><p>This episode walks through the incident response: asking a Cursor agent to investigate with repo context, Kody, Fly CLI access, Cloudflare context, and Grafana evidence; restarting and scaling the machine; blocking junk routes before they hit the origin; and identifying a DigitalOcean host driving a scripted high-concurrency crawl flood.</p><p>The durable lesson is not "let AI run production." It is that agents become useful during incidents when they have the right context, observability, tools, and boundaries. The same agent that can read code can also connect symptoms to logs, infrastructure, and follow-up fixes.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://sentry.io/">Sentry</a></li><li><a href="https://fly.io/">Fly.io</a></li><li><a href="https://www.cloudflare.com/">Cloudflare</a></li><li><a href="https://grafana.com/">Grafana</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, production incident, incident response, AI agents, Cursor, Kody, Cloudflare, Fly.io, Sentry, Grafana, DoS, crawler traffic, bot attack</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/7ad2b507/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>I built my own OpenClaw</title>
      <itunes:episode>6</itunes:episode>
      <podcast:episode>6</podcast:episode>
      <itunes:title>I built my own OpenClaw</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">37f72d86-e869-4858-84ac-8db02d6171ee</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Kent shows how Kody gives the coding agent he already uses search, execute, and saved packages so exploratory workflows can become durable personal automation.</p><p></p><ul><li>(00:00) - Kody handled the demo</li>
<li>(00:41) - Why personal agents have not stuck</li>
<li>(02:21) - Search and execute</li>
<li>(04:31) - Kitchen glare walkthrough</li>
<li>(06:47) - Turning one action into a package</li>
<li>(08:48) - Scheduling deterministic workflows</li>
<li>(10:24) - What I use Kody for today</li>
<li>(13:25) - Connectors, capabilities, and packages</li>
<li>(15:04) - Code Mode and MCP</li>
<li>(16:59) - Augmenting existing software</li>
<li>(18:24) - Integrations, OAuth, and secrets</li>
<li>(20:53) - What should Kody become?</li>
</ul><br><p>Better with Kent — durable skills for people who ship software.</p><p>Kent walks through Kody, the thin runtime layer that lets the coding agent he already uses discover capabilities, execute sandboxed code, and save useful workflows as packages. Instead of maintaining a separate personal assistant brain, Kody gives Cursor, Codex, Claude Code, and similar agents a way to connect to personal APIs, home automation, jobs, integrations, secrets, and reusable package exports.</p><p>The episode uses an office-chaos cold open and a kitchen glare walkthrough to show the progression from one-off prompt, to executable code, to saved package, to scheduled workflow.</p><p><strong>Links</strong></p><ul><li><a href="https://github.com/kentcdodds/kody">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Kent shows how Kody gives the coding agent he already uses search, execute, and saved packages so exploratory workflows can become durable personal automation.</p><p></p><ul><li>(00:00) - Kody handled the demo</li>
<li>(00:41) - Why personal agents have not stuck</li>
<li>(02:21) - Search and execute</li>
<li>(04:31) - Kitchen glare walkthrough</li>
<li>(06:47) - Turning one action into a package</li>
<li>(08:48) - Scheduling deterministic workflows</li>
<li>(10:24) - What I use Kody for today</li>
<li>(13:25) - Connectors, capabilities, and packages</li>
<li>(15:04) - Code Mode and MCP</li>
<li>(16:59) - Augmenting existing software</li>
<li>(18:24) - Integrations, OAuth, and secrets</li>
<li>(20:53) - What should Kody become?</li>
</ul><br><p>Better with Kent — durable skills for people who ship software.</p><p>Kent walks through Kody, the thin runtime layer that lets the coding agent he already uses discover capabilities, execute sandboxed code, and save useful workflows as packages. Instead of maintaining a separate personal assistant brain, Kody gives Cursor, Codex, Claude Code, and similar agents a way to connect to personal APIs, home automation, jobs, integrations, secrets, and reusable package exports.</p><p>The episode uses an office-chaos cold open and a kitchen glare walkthrough to show the progression from one-off prompt, to executable code, to saved package, to scheduled workflow.</p><p><strong>Links</strong></p><ul><li><a href="https://github.com/kentcdodds/kody">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 30 Jun 2026 09:00:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/e2720533/f9e97b2b.mp3" length="21360010" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3499025" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/e2720533/f9e97b2b.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=TnztlHzhYvk">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/ee5nqQ-HeKvb5UQ5pEPBqU96upz8jLGIlTU5dAZ1U_k/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS81YmQ2/MGQ3YTI3N2I4ZTNl/Y2ViZmRjMTRlZTA5/ZTkyMC5wbmc.jpg"/>
      <itunes:duration>1330</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Kent shows how Kody gives the coding agent he already uses search, execute, and saved packages so exploratory workflows can become durable personal automation.</p><p></p><ul><li>(00:00) - Kody handled the demo</li>
<li>(00:41) - Why personal agents have not stuck</li>
<li>(02:21) - Search and execute</li>
<li>(04:31) - Kitchen glare walkthrough</li>
<li>(06:47) - Turning one action into a package</li>
<li>(08:48) - Scheduling deterministic workflows</li>
<li>(10:24) - What I use Kody for today</li>
<li>(13:25) - Connectors, capabilities, and packages</li>
<li>(15:04) - Code Mode and MCP</li>
<li>(16:59) - Augmenting existing software</li>
<li>(18:24) - Integrations, OAuth, and secrets</li>
<li>(20:53) - What should Kody become?</li>
</ul><br><p>Better with Kent — durable skills for people who ship software.</p><p>Kent walks through Kody, the thin runtime layer that lets the coding agent he already uses discover capabilities, execute sandboxed code, and save useful workflows as packages. Instead of maintaining a separate personal assistant brain, Kody gives Cursor, Codex, Claude Code, and similar agents a way to connect to personal APIs, home automation, jobs, integrations, secrets, and reusable package exports.</p><p>The episode uses an office-chaos cold open and a kitchen glare walkthrough to show the progression from one-off prompt, to executable code, to saved package, to scheduled workflow.</p><p><strong>Links</strong></p><ul><li><a href="https://github.com/kentcdodds/kody">Kody</a></li><li><a href="https://kentcdodds.com/better">Better with Kent</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, Kody, AI agents, Cursor, Codex, Claude Code, personal automation, agent runtime, software engineering, home automation, saved packages</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/e2720533/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/e2720533/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Pragmatic Loop Engineering for AI Coding Agents</title>
      <itunes:episode>5</itunes:episode>
      <podcast:episode>5</podcast:episode>
      <itunes:title>Pragmatic Loop Engineering for AI Coding Agents</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">357aedc7-4745-425c-9efe-80ee41d0a490</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Kent shows how he closes agentic loops in real Cursor workflows: manual testing, PR review loops, Cursor Automations, and the stop conditions that keep humans in the right place.</p><p></p><ul><li>(00:00) - Loop engineering before the name</li>
<li>(00:11) - Boris on loops</li>
<li>(00:33) - Better with Kent</li>
<li>(01:01) - What the loop is</li>
<li>(02:59) - Tests were already a loop</li>
<li>(03:24) - Browser mode and manual testing</li>
<li>(05:35) - Human-driven PR looping</li>
<li>(06:43) - My first real loop</li>
<li>(08:37) - Boundaries and stop conditions</li>
<li>(09:37) - Cursor Automations</li>
<li>(11:29) - Trading compute for attention</li>
<li>(12:24) - Homework</li>
<li>(12:52) - Closing</li>
</ul><br><p>Better with Kent — durable skills for people who ship software.</p><p>Loop engineering sounds new, but Kent has been building toward it through a series of practical workflow improvements: automated test loops, Cursor browser mode, Cursor Cloud Agent manual testing, pull request feedback loops, and finally Cursor Automations.</p><p>This episode walks through what a useful agentic loop actually needs: a trigger, an act/observe cycle, a stop condition, and a human boundary. Kent shows how he uses agents to mark PRs ready for review, respond to AI reviewer feedback and CI failures, and ping him when the loop has reached its stop condition.</p><p>The key idea is not removing the human. It is widening the loop so more verification happens before your attention is required.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://slides.com/kentcdodds/web-apps-in-2026#/5/2">How I Build Web Apps in 2026</a></li><li><a href="https://github.com/kentcdodds/kody/pull/550">Manual testing example PR</a></li><li><a href="https://github.com/kentcdodds/kentcdodds.com/pull/581">Manual PR feedback loop example</a></li><li><a href="https://github.com/kentcdodds/kody/pull/280">First informal self-running loop PR</a></li><li><a href="https://github.com/kentcdodds/kody/pull/155">First formal PR loop example</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Kent shows how he closes agentic loops in real Cursor workflows: manual testing, PR review loops, Cursor Automations, and the stop conditions that keep humans in the right place.</p><p></p><ul><li>(00:00) - Loop engineering before the name</li>
<li>(00:11) - Boris on loops</li>
<li>(00:33) - Better with Kent</li>
<li>(01:01) - What the loop is</li>
<li>(02:59) - Tests were already a loop</li>
<li>(03:24) - Browser mode and manual testing</li>
<li>(05:35) - Human-driven PR looping</li>
<li>(06:43) - My first real loop</li>
<li>(08:37) - Boundaries and stop conditions</li>
<li>(09:37) - Cursor Automations</li>
<li>(11:29) - Trading compute for attention</li>
<li>(12:24) - Homework</li>
<li>(12:52) - Closing</li>
</ul><br><p>Better with Kent — durable skills for people who ship software.</p><p>Loop engineering sounds new, but Kent has been building toward it through a series of practical workflow improvements: automated test loops, Cursor browser mode, Cursor Cloud Agent manual testing, pull request feedback loops, and finally Cursor Automations.</p><p>This episode walks through what a useful agentic loop actually needs: a trigger, an act/observe cycle, a stop condition, and a human boundary. Kent shows how he uses agents to mark PRs ready for review, respond to AI reviewer feedback and CI failures, and ping him when the loop has reached its stop condition.</p><p>The key idea is not removing the human. It is widening the loop so more verification happens before your attention is required.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://slides.com/kentcdodds/web-apps-in-2026#/5/2">How I Build Web Apps in 2026</a></li><li><a href="https://github.com/kentcdodds/kody/pull/550">Manual testing example PR</a></li><li><a href="https://github.com/kentcdodds/kentcdodds.com/pull/581">Manual PR feedback loop example</a></li><li><a href="https://github.com/kentcdodds/kody/pull/280">First informal self-running loop PR</a></li><li><a href="https://github.com/kentcdodds/kody/pull/155">First formal PR loop example</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 23 Jun 2026 13:45:47 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/fa2b6ada/e5f69965.mp3" length="13463222" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3204320" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/fa2b6ada/e5f69965.m3u8"/>
      </podcast:alternateEnclosure>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/ieD4NN1BNHgVs2Oa2YhpY9jvnDcfnK2NiqBXIQlS81c/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80Nzll/YmRjZjZlN2Q1MWE5/MDJkMmM4ZWQ0OTIw/MGE1MS5wbmc.jpg"/>
      <itunes:duration>840</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Kent shows how he closes agentic loops in real Cursor workflows: manual testing, PR review loops, Cursor Automations, and the stop conditions that keep humans in the right place.</p><p></p><ul><li>(00:00) - Loop engineering before the name</li>
<li>(00:11) - Boris on loops</li>
<li>(00:33) - Better with Kent</li>
<li>(01:01) - What the loop is</li>
<li>(02:59) - Tests were already a loop</li>
<li>(03:24) - Browser mode and manual testing</li>
<li>(05:35) - Human-driven PR looping</li>
<li>(06:43) - My first real loop</li>
<li>(08:37) - Boundaries and stop conditions</li>
<li>(09:37) - Cursor Automations</li>
<li>(11:29) - Trading compute for attention</li>
<li>(12:24) - Homework</li>
<li>(12:52) - Closing</li>
</ul><br><p>Better with Kent — durable skills for people who ship software.</p><p>Loop engineering sounds new, but Kent has been building toward it through a series of practical workflow improvements: automated test loops, Cursor browser mode, Cursor Cloud Agent manual testing, pull request feedback loops, and finally Cursor Automations.</p><p>This episode walks through what a useful agentic loop actually needs: a trigger, an act/observe cycle, a stop condition, and a human boundary. Kent shows how he uses agents to mark PRs ready for review, respond to AI reviewer feedback and CI failures, and ping him when the loop has reached its stop condition.</p><p>The key idea is not removing the human. It is widening the loop so more verification happens before your attention is required.</p><p><strong>Links</strong></p><ul><li><a href="https://kentcdodds.com/better">Better with Kent</a></li><li><a href="https://slides.com/kentcdodds/web-apps-in-2026#/5/2">How I Build Web Apps in 2026</a></li><li><a href="https://github.com/kentcdodds/kody/pull/550">Manual testing example PR</a></li><li><a href="https://github.com/kentcdodds/kentcdodds.com/pull/581">Manual PR feedback loop example</a></li><li><a href="https://github.com/kentcdodds/kody/pull/280">First informal self-running loop PR</a></li><li><a href="https://github.com/kentcdodds/kody/pull/155">First formal PR loop example</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kent C. Dodds, loop engineering, agentic loops, AI coding agents, Cursor, Cursor Automations, Cursor Cloud Agents, PR review, CI, Bugbot, CodeRabbit</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/fa2b6ada/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/fa2b6ada/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Stop Taking Tickets, Start Applying Jobs Theory</title>
      <itunes:episode>4</itunes:episode>
      <podcast:episode>4</podcast:episode>
      <itunes:title>Stop Taking Tickets, Start Applying Jobs Theory</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ad811a2e-1934-4160-9cc9-8343a5f54ccd</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Kent walks Clay Christensen's jobs-to-be-done lens on a food-delivery shared-cart ticket — three questions that turn a solution into a job statement, plus Wayne Allan's Australia flop and Aaron D. Francis on deciphering feature requests.</p><p></p><ul><li>(00:00) - Your backlog is full of solutions</li>
<li>(01:27) - Jobs to Be Done</li>
<li>(03:12) - Shared cart ticket</li>
<li>(04:04) - When it goes wrong — Wayne</li>
<li>(06:01) - Three questions before you estimate</li>
<li>(06:40) - Question 1 — progress and circumstance</li>
<li>(08:56) - Question 2 — what they hire today</li>
<li>(10:09) - Question 3 — what would fired look like</li>
<li>(11:22) - Aaron on solutions vs jobs</li>
<li>(12:54) - The job statement</li>
<li>(13:47) - Stack with Kano</li>
<li>(14:40) - Big hire vs little hire</li>
<li>(17:19) - The habit — what job is this for?</li>
<li>(19:27) - Homework</li>
<li>(20:12) - Books and close</li>
</ul><br><p><strong>Better with Kent</strong> — durable skills for people who ship software.</p><p>Your backlog is full of proposed solutions. Kent walks a shared cart / group ordering ticket (same food-delivery app as the Kano episode) through Clay Christensen's Jobs to Be Done framework — why the expensive mistake is building the wrong thing, not bad code.</p><p>Three beats land early: a ticket is not a job, hire/fire/progress language, and the habit "What job is this for?" before the estimate, PRD, or agent prompt.</p><p><strong>When it goes wrong</strong> — Wayne Allan (*Become an Epic Product Engineer*) on building for every person in Australia logging in at once: ~1.2M AUD, zero users.</p><p><strong>Three questions</strong> before you estimate: progress and circumstance, what they hire today (group text, separate orders, Venmo as workaround), and what "fired" looks like.</p><p><strong>Aaron D. Francis</strong> on what users actually want vs the button they asked for.</p><p>The job statement: *When our team orders lunch together, help us coordinate food and check out once — without a 40-message thread.*</p><p>After you ship: little hire vs big hire, why metrics alone miss the emotional job, and stacking qualitative signal. Homework: one sentence — what is the job to be done?</p><p><strong>Links</strong></p><ul><li><a href="https://www.epicproduct.engineer/the-right-thing-before-the-thing-right-product-engineering-with-wayne-allan~g8g0r">Wayne Allan — The right thing before the thing right (Become an Epic Product Engineer)</a></li><li><a href="https://www.epicproduct.engineer/vertical-slices-solo-and-empathy-product-engineering-with-aaron-d-francis-kadx7">Aaron D. Francis — Vertical slices, Solo, and empathy (Become an Epic Product Engineer)</a></li><li><a href="https://www.christenseninstitute.org/book/competing-against-luck/">*Competing Against Luck* (Clay Christensen et al.)</a></li><li><a href="https://hbr.org/2016/09/know-your-customers-jobs-to-be-done">HBR — Know Your Customers' "Jobs to Be Done"</a></li><li><a href="https://strategyn.com/jobs-to-be-done/">*Jobs to be Done: Theory to Practice* (Anthony Ulwick)</a></li><li><a href="https://www.epicproduct.engineer/the-last-software-engineer">The Last Software Engineer (essay)</a></li><li><a href="https://share.transistor.fm/s/c0c3ff8b">How to Prioritize Software Tasks (Better with Kent — Kano episode)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent on kentcdodds.com</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Kent walks Clay Christensen's jobs-to-be-done lens on a food-delivery shared-cart ticket — three questions that turn a solution into a job statement, plus Wayne Allan's Australia flop and Aaron D. Francis on deciphering feature requests.</p><p></p><ul><li>(00:00) - Your backlog is full of solutions</li>
<li>(01:27) - Jobs to Be Done</li>
<li>(03:12) - Shared cart ticket</li>
<li>(04:04) - When it goes wrong — Wayne</li>
<li>(06:01) - Three questions before you estimate</li>
<li>(06:40) - Question 1 — progress and circumstance</li>
<li>(08:56) - Question 2 — what they hire today</li>
<li>(10:09) - Question 3 — what would fired look like</li>
<li>(11:22) - Aaron on solutions vs jobs</li>
<li>(12:54) - The job statement</li>
<li>(13:47) - Stack with Kano</li>
<li>(14:40) - Big hire vs little hire</li>
<li>(17:19) - The habit — what job is this for?</li>
<li>(19:27) - Homework</li>
<li>(20:12) - Books and close</li>
</ul><br><p><strong>Better with Kent</strong> — durable skills for people who ship software.</p><p>Your backlog is full of proposed solutions. Kent walks a shared cart / group ordering ticket (same food-delivery app as the Kano episode) through Clay Christensen's Jobs to Be Done framework — why the expensive mistake is building the wrong thing, not bad code.</p><p>Three beats land early: a ticket is not a job, hire/fire/progress language, and the habit "What job is this for?" before the estimate, PRD, or agent prompt.</p><p><strong>When it goes wrong</strong> — Wayne Allan (*Become an Epic Product Engineer*) on building for every person in Australia logging in at once: ~1.2M AUD, zero users.</p><p><strong>Three questions</strong> before you estimate: progress and circumstance, what they hire today (group text, separate orders, Venmo as workaround), and what "fired" looks like.</p><p><strong>Aaron D. Francis</strong> on what users actually want vs the button they asked for.</p><p>The job statement: *When our team orders lunch together, help us coordinate food and check out once — without a 40-message thread.*</p><p>After you ship: little hire vs big hire, why metrics alone miss the emotional job, and stacking qualitative signal. Homework: one sentence — what is the job to be done?</p><p><strong>Links</strong></p><ul><li><a href="https://www.epicproduct.engineer/the-right-thing-before-the-thing-right-product-engineering-with-wayne-allan~g8g0r">Wayne Allan — The right thing before the thing right (Become an Epic Product Engineer)</a></li><li><a href="https://www.epicproduct.engineer/vertical-slices-solo-and-empathy-product-engineering-with-aaron-d-francis-kadx7">Aaron D. Francis — Vertical slices, Solo, and empathy (Become an Epic Product Engineer)</a></li><li><a href="https://www.christenseninstitute.org/book/competing-against-luck/">*Competing Against Luck* (Clay Christensen et al.)</a></li><li><a href="https://hbr.org/2016/09/know-your-customers-jobs-to-be-done">HBR — Know Your Customers' "Jobs to Be Done"</a></li><li><a href="https://strategyn.com/jobs-to-be-done/">*Jobs to be Done: Theory to Practice* (Anthony Ulwick)</a></li><li><a href="https://www.epicproduct.engineer/the-last-software-engineer">The Last Software Engineer (essay)</a></li><li><a href="https://share.transistor.fm/s/c0c3ff8b">How to Prioritize Software Tasks (Better with Kent — Kano episode)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent on kentcdodds.com</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 16 Jun 2026 12:25:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/6ea8bbee/9b883d78.mp3" length="20241467" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3494325" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/6ea8bbee/9b883d78.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=vAzvoOkA70c">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/xaM-A4ZexnVUbJrWtXaNJyt9wjZJPv667A7Ootvx5C8/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9kMzE4/YTdlN2ZkNzIxYzFh/NTU1M2M2OWY5NDEz/NjQ4Yi5wbmc.jpg"/>
      <itunes:duration>1262</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Kent walks Clay Christensen's jobs-to-be-done lens on a food-delivery shared-cart ticket — three questions that turn a solution into a job statement, plus Wayne Allan's Australia flop and Aaron D. Francis on deciphering feature requests.</p><p></p><ul><li>(00:00) - Your backlog is full of solutions</li>
<li>(01:27) - Jobs to Be Done</li>
<li>(03:12) - Shared cart ticket</li>
<li>(04:04) - When it goes wrong — Wayne</li>
<li>(06:01) - Three questions before you estimate</li>
<li>(06:40) - Question 1 — progress and circumstance</li>
<li>(08:56) - Question 2 — what they hire today</li>
<li>(10:09) - Question 3 — what would fired look like</li>
<li>(11:22) - Aaron on solutions vs jobs</li>
<li>(12:54) - The job statement</li>
<li>(13:47) - Stack with Kano</li>
<li>(14:40) - Big hire vs little hire</li>
<li>(17:19) - The habit — what job is this for?</li>
<li>(19:27) - Homework</li>
<li>(20:12) - Books and close</li>
</ul><br><p><strong>Better with Kent</strong> — durable skills for people who ship software.</p><p>Your backlog is full of proposed solutions. Kent walks a shared cart / group ordering ticket (same food-delivery app as the Kano episode) through Clay Christensen's Jobs to Be Done framework — why the expensive mistake is building the wrong thing, not bad code.</p><p>Three beats land early: a ticket is not a job, hire/fire/progress language, and the habit "What job is this for?" before the estimate, PRD, or agent prompt.</p><p><strong>When it goes wrong</strong> — Wayne Allan (*Become an Epic Product Engineer*) on building for every person in Australia logging in at once: ~1.2M AUD, zero users.</p><p><strong>Three questions</strong> before you estimate: progress and circumstance, what they hire today (group text, separate orders, Venmo as workaround), and what "fired" looks like.</p><p><strong>Aaron D. Francis</strong> on what users actually want vs the button they asked for.</p><p>The job statement: *When our team orders lunch together, help us coordinate food and check out once — without a 40-message thread.*</p><p>After you ship: little hire vs big hire, why metrics alone miss the emotional job, and stacking qualitative signal. Homework: one sentence — what is the job to be done?</p><p><strong>Links</strong></p><ul><li><a href="https://www.epicproduct.engineer/the-right-thing-before-the-thing-right-product-engineering-with-wayne-allan~g8g0r">Wayne Allan — The right thing before the thing right (Become an Epic Product Engineer)</a></li><li><a href="https://www.epicproduct.engineer/vertical-slices-solo-and-empathy-product-engineering-with-aaron-d-francis-kadx7">Aaron D. Francis — Vertical slices, Solo, and empathy (Become an Epic Product Engineer)</a></li><li><a href="https://www.christenseninstitute.org/book/competing-against-luck/">*Competing Against Luck* (Clay Christensen et al.)</a></li><li><a href="https://hbr.org/2016/09/know-your-customers-jobs-to-be-done">HBR — Know Your Customers' "Jobs to Be Done"</a></li><li><a href="https://strategyn.com/jobs-to-be-done/">*Jobs to be Done: Theory to Practice* (Anthony Ulwick)</a></li><li><a href="https://www.epicproduct.engineer/the-last-software-engineer">The Last Software Engineer (essay)</a></li><li><a href="https://share.transistor.fm/s/c0c3ff8b">How to Prioritize Software Tasks (Better with Kent — Kano episode)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent on kentcdodds.com</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, jobs to be done, JTBD, Clay Christensen, Competing Against Luck, product engineering, shared cart, Kent C. Dodds, Wayne Allan, Aaron D. Francis</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/6ea8bbee/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/6ea8bbee/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>How an AI Agent Deleted PocketOS Production in 9 Seconds</title>
      <itunes:episode>3</itunes:episode>
      <podcast:episode>3</podcast:episode>
      <itunes:title>How an AI Agent Deleted PocketOS Production in 9 Seconds</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">297541e3-46ef-49ca-b7fc-873ce2e77ede</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>When an AI coding agent guessed its way through bad permissions and deleted months of PocketOS production data in nine seconds — and what durable skills would have stopped it.</p><p></p><ul><li>(00:00) - Cold open — car rental</li>
<li>(01:49) - Today's story</li>
<li>(10:29) - Railway recovery</li>
<li>(14:57) - Three questions</li>
<li>(16:29) - Close</li>
</ul><br><p>Better with Kent — durable skills through story.</p><p>Episode 3 is a cautionary tale: on April 24, 2026, a Cursor agent working on PocketOS staging found a forgotten Railway API token, guessed it could delete a staging volume safely, and wiped production in nine seconds — along with volume-level backups in the same blast radius. Jer Crane and his co-founders spent days reconstructing customer records while Railway worked recovery.</p><p>Kent walks the full chain: least privilege, independent tested backups, hard approval boundaries for destructive ops, and why markdown guardrails are not system boundaries. The principles are old; agents just find the holes faster.</p><p>Creative license for pacing; primary sources linked below. Based on Jer Crane's public account of the PocketOS incident.</p><p><strong>Links</strong></p><ul><li><a href="https://www.youtube.com/watch?v=Z-Lh1NYN7lE">Jer Crane interview (Agents Go Wild)</a></li><li><a href="https://blog.railway.com/p/your-ai-wants-to-nuke-your-database">Railway — Your AI wants to nuke your database</a></li><li><a href="https://www.pixelsham.com/2026/04/27/jer-crane-an-ai-agent-just-destroyed-our-production-data-it-confessed-in-writing/">Jer Crane — original incident write-up (mirror)</a></li><li><a href="https://zenity.io/blog/current-events/ai-agent-database-deletion-pocketos">Zenity — System prompts are not security controls</a></li><li><a href="https://kentcdodds.com/better">Better with Kent on kentcdodds.com</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>When an AI coding agent guessed its way through bad permissions and deleted months of PocketOS production data in nine seconds — and what durable skills would have stopped it.</p><p></p><ul><li>(00:00) - Cold open — car rental</li>
<li>(01:49) - Today's story</li>
<li>(10:29) - Railway recovery</li>
<li>(14:57) - Three questions</li>
<li>(16:29) - Close</li>
</ul><br><p>Better with Kent — durable skills through story.</p><p>Episode 3 is a cautionary tale: on April 24, 2026, a Cursor agent working on PocketOS staging found a forgotten Railway API token, guessed it could delete a staging volume safely, and wiped production in nine seconds — along with volume-level backups in the same blast radius. Jer Crane and his co-founders spent days reconstructing customer records while Railway worked recovery.</p><p>Kent walks the full chain: least privilege, independent tested backups, hard approval boundaries for destructive ops, and why markdown guardrails are not system boundaries. The principles are old; agents just find the holes faster.</p><p>Creative license for pacing; primary sources linked below. Based on Jer Crane's public account of the PocketOS incident.</p><p><strong>Links</strong></p><ul><li><a href="https://www.youtube.com/watch?v=Z-Lh1NYN7lE">Jer Crane interview (Agents Go Wild)</a></li><li><a href="https://blog.railway.com/p/your-ai-wants-to-nuke-your-database">Railway — Your AI wants to nuke your database</a></li><li><a href="https://www.pixelsham.com/2026/04/27/jer-crane-an-ai-agent-just-destroyed-our-production-data-it-confessed-in-writing/">Jer Crane — original incident write-up (mirror)</a></li><li><a href="https://zenity.io/blog/current-events/ai-agent-database-deletion-pocketos">Zenity — System prompts are not security controls</a></li><li><a href="https://kentcdodds.com/better">Better with Kent on kentcdodds.com</a></li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 12 Jun 2026 08:18:00 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/346e3014/a386da6b.mp3" length="15667810" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3501654" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/346e3014/a386da6b.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=m8I2p3nQtR4">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/PhGxhpVw4W7P4-dTaLcf4XEUYAQc-GvNwv1n7tRu9XQ/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lZDlm/MGFkYTEyOWVlNjEx/NTg5Njk5OTg0OWNi/YjgzZS5wbmc.jpg"/>
      <itunes:duration>978</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>When an AI coding agent guessed its way through bad permissions and deleted months of PocketOS production data in nine seconds — and what durable skills would have stopped it.</p><p></p><ul><li>(00:00) - Cold open — car rental</li>
<li>(01:49) - Today's story</li>
<li>(10:29) - Railway recovery</li>
<li>(14:57) - Three questions</li>
<li>(16:29) - Close</li>
</ul><br><p>Better with Kent — durable skills through story.</p><p>Episode 3 is a cautionary tale: on April 24, 2026, a Cursor agent working on PocketOS staging found a forgotten Railway API token, guessed it could delete a staging volume safely, and wiped production in nine seconds — along with volume-level backups in the same blast radius. Jer Crane and his co-founders spent days reconstructing customer records while Railway worked recovery.</p><p>Kent walks the full chain: least privilege, independent tested backups, hard approval boundaries for destructive ops, and why markdown guardrails are not system boundaries. The principles are old; agents just find the holes faster.</p><p>Creative license for pacing; primary sources linked below. Based on Jer Crane's public account of the PocketOS incident.</p><p><strong>Links</strong></p><ul><li><a href="https://www.youtube.com/watch?v=Z-Lh1NYN7lE">Jer Crane interview (Agents Go Wild)</a></li><li><a href="https://blog.railway.com/p/your-ai-wants-to-nuke-your-database">Railway — Your AI wants to nuke your database</a></li><li><a href="https://www.pixelsham.com/2026/04/27/jer-crane-an-ai-agent-just-destroyed-our-production-data-it-confessed-in-writing/">Jer Crane — original incident write-up (mirror)</a></li><li><a href="https://zenity.io/blog/current-events/ai-agent-database-deletion-pocketos">Zenity — System prompts are not security controls</a></li><li><a href="https://kentcdodds.com/better">Better with Kent on kentcdodds.com</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, AI agents, PocketOS, Railway, Cursor, least privilege, backups, cautionary tale, Kent C. Dodds</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/346e3014/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/346e3014/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>How to Prioritize Software Tasks</title>
      <itunes:episode>2</itunes:episode>
      <podcast:episode>2</podcast:episode>
      <itunes:title>How to Prioritize Software Tasks</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ed37ed8b-758b-4da7-b43d-32dd70adce0d</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Kent walks the Kano model on a real food-delivery backlog: Must-be, Performance, and Delighter — why GPS was a wow in 2015 and a basic today, and why you cannot delight your way out of broken basics.</p><p><strong>Chapters</strong></p><ul><li>0:00 The backlog fight</li><li>1:39 What type of feature is this?</li><li>2:15 Basics (Must-be)</li><li>3:47 Performance needs</li><li>5:38 Delighters</li><li>6:32 GPS lifecycle reveal</li><li>7:56 Why silence misleads teams</li><li>10:00 Cannot delight out of broken basics</li><li>10:36 AI and the junk drawer</li><li>11:52 Prioritized build order</li><li>14:25 Homework and close</li></ul><p>Better with Kent — Durable skills for people who ship software.</p><p>You have five backlog items and everyone wants their feature first. Kent uses a food delivery app example and the Kano model (Must-be, Performance, Delighter) to show what type each feature is — and what to build first.</p><p>Land three beats: broken confirmation email is a Must-be (fix before anything else), estimated delivery accuracy is Performance (more accurate = more satisfied), surprise discounts and group ordering are Delighters (fun to build, dangerous when basics are broken). The GPS reveal: tracking felt like magic in 2015; today missing GPS means users leave.</p><p>Why teams get this wrong: silence in support is not proof basics work — most users leave without filing tickets. You cannot delight yourself out of broken basics. AI makes it worse when agents churn exciting Delighters while hygiene features rot.</p><p>Homework: label five real backlog items, fix broken basics first, ask whether last year's Delighter became today's Must-be.</p><p>Become an Epic Product Engineer guests cited: Wayne Allan, Sean Roberts, Swizec Teller, Don Norman, Dillon Mulroy, Dax Raad.</p><p><strong>Links</strong></p><ul><li><a href="https://www.youtube.com/watch?v=XYhLG7a5Qp0">Watch on YouTube</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Kent walks the Kano model on a real food-delivery backlog: Must-be, Performance, and Delighter — why GPS was a wow in 2015 and a basic today, and why you cannot delight your way out of broken basics.</p><p><strong>Chapters</strong></p><ul><li>0:00 The backlog fight</li><li>1:39 What type of feature is this?</li><li>2:15 Basics (Must-be)</li><li>3:47 Performance needs</li><li>5:38 Delighters</li><li>6:32 GPS lifecycle reveal</li><li>7:56 Why silence misleads teams</li><li>10:00 Cannot delight out of broken basics</li><li>10:36 AI and the junk drawer</li><li>11:52 Prioritized build order</li><li>14:25 Homework and close</li></ul><p>Better with Kent — Durable skills for people who ship software.</p><p>You have five backlog items and everyone wants their feature first. Kent uses a food delivery app example and the Kano model (Must-be, Performance, Delighter) to show what type each feature is — and what to build first.</p><p>Land three beats: broken confirmation email is a Must-be (fix before anything else), estimated delivery accuracy is Performance (more accurate = more satisfied), surprise discounts and group ordering are Delighters (fun to build, dangerous when basics are broken). The GPS reveal: tracking felt like magic in 2015; today missing GPS means users leave.</p><p>Why teams get this wrong: silence in support is not proof basics work — most users leave without filing tickets. You cannot delight yourself out of broken basics. AI makes it worse when agents churn exciting Delighters while hygiene features rot.</p><p>Homework: label five real backlog items, fix broken basics first, ask whether last year's Delighter became today's Must-be.</p><p>Become an Epic Product Engineer guests cited: Wayne Allan, Sean Roberts, Swizec Teller, Don Norman, Dillon Mulroy, Dax Raad.</p><p><strong>Links</strong></p><ul><li><a href="https://www.youtube.com/watch?v=XYhLG7a5Qp0">Watch on YouTube</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 03 Jun 2026 02:28:13 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/c0c3ff8b/b20a459c.mp3" length="15563075" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="2714558" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/c0c3ff8b/b20a459c.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=XYhLG7a5Qp0">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/9Q4hLFyE8NjuQWxDO3DEPZuuwTvH8W4WsG3corthKn4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lYjc5/ZDY0MzQzNTI4ZGVj/YWZmMmY4YjU0NGMx/ZDYyNS5wbmc.jpg"/>
      <itunes:duration>971</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Kent walks the Kano model on a real food-delivery backlog: Must-be, Performance, and Delighter — why GPS was a wow in 2015 and a basic today, and why you cannot delight your way out of broken basics.</p><p><strong>Chapters</strong></p><ul><li>0:00 The backlog fight</li><li>1:39 What type of feature is this?</li><li>2:15 Basics (Must-be)</li><li>3:47 Performance needs</li><li>5:38 Delighters</li><li>6:32 GPS lifecycle reveal</li><li>7:56 Why silence misleads teams</li><li>10:00 Cannot delight out of broken basics</li><li>10:36 AI and the junk drawer</li><li>11:52 Prioritized build order</li><li>14:25 Homework and close</li></ul><p>Better with Kent — Durable skills for people who ship software.</p><p>You have five backlog items and everyone wants their feature first. Kent uses a food delivery app example and the Kano model (Must-be, Performance, Delighter) to show what type each feature is — and what to build first.</p><p>Land three beats: broken confirmation email is a Must-be (fix before anything else), estimated delivery accuracy is Performance (more accurate = more satisfied), surprise discounts and group ordering are Delighters (fun to build, dangerous when basics are broken). The GPS reveal: tracking felt like magic in 2015; today missing GPS means users leave.</p><p>Why teams get this wrong: silence in support is not proof basics work — most users leave without filing tickets. You cannot delight yourself out of broken basics. AI makes it worse when agents churn exciting Delighters while hygiene features rot.</p><p>Homework: label five real backlog items, fix broken basics first, ask whether last year's Delighter became today's Must-be.</p><p>Become an Epic Product Engineer guests cited: Wayne Allan, Sean Roberts, Swizec Teller, Don Norman, Dillon Mulroy, Dax Raad.</p><p><strong>Links</strong></p><ul><li><a href="https://www.youtube.com/watch?v=XYhLG7a5Qp0">Watch on YouTube</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, Kano model, product prioritization, feature types, Must-be features, software engineering, product judgment, Kent C. Dodds</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/c0c3ff8b/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>What Software Engineers Need in 2026</title>
      <itunes:episode>1</itunes:episode>
      <podcast:episode>1</podcast:episode>
      <itunes:title>What Software Engineers Need in 2026</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">21013329-9670-44d8-892a-a8cf6d1ba990</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>Kent maps the durable skills that stay valuable as agents take more implementation: clarity, judgment, empathy, feedback loops, systems thinking, agent fluency, and ownership — with practical homework for each cluster.</p><p></p><ul><li>(00:00) - Intro: Google stat and durable skills</li>
<li>(00:20) - Why now</li>
<li>(01:08) - Durable skills map</li>
<li>(01:25) - Clarity &amp; judgment</li>
<li>(03:40) - Wayne Allan: build the right thing first</li>
<li>(04:28) - Practice: clarity &amp; judgment</li>
<li>(06:01) - User empathy &amp; feedback</li>
<li>(07:29) - Practice: empathy &amp; feedback</li>
<li>(08:56) - Systems thinking</li>
<li>(12:22) - InfoWorld: AI coders need good engineers</li>
<li>(18:52) - Agent fluency</li>
<li>(20:14) - Practice: agent fluency</li>
<li>(21:26) - Ownership</li>
<li>(23:03) - Slow down on purpose</li>
<li>(27:05) - What to deprioritize</li>
<li>(28:04) - Homework</li>
</ul><br><p>Better with Kent — Durable skills for people who ship software.</p><p>Episode 1 is the map. Agents can implement faster every month; the expensive mistake is building the wrong thing even faster. Kent walks through seven skills that were valuable decades ago and still matter in 2026: problem clarity, domain depth, judgment, empathy, feedback loops, systems thinking (including closing the agent loop), agent fluency, and ownership.</p><p>Three clusters pair each skill area with concrete practice — stakeholder rooms, wiring daily feedback, building tests and CI so agents can iterate. Kent cites Become an Epic Product Engineer guests (Wayne Allan, Jack Ryan, Aaron Francis, Dillon Mulroy, Swizec Teller, Ruben Casas, and others), reacts to Matt Asay's InfoWorld piece on AI-generated code, and closes with homework you can do this week.</p><p>Not a tool demo. Not a PM course. Not a framework checklist — just durable skills for people who ship software.</p><p>Subscribe and comment with topics you want covered. Chats with Kent (Become an Epic Product Engineer) continues with guest interviews; Better with Kent is Kent thinking out loud on camera.</p><p><strong>Links</strong></p><ul><li><a href="https://www.infoworld.com/article/4176534/ai-coders-need-good-software-engineers.html">InfoWorld — AI coders need good software engineers (Matt Asay)</a></li><li><a href="https://www.epicproduct.engineer/the-last-software-engineer">The Last Software Engineer (essay)</a></li><li><a href="https://www.epicproduct.engineer/become-an-epic-product-engineer-podcast">Become an Epic Product Engineer (guest podcast)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent on kentcdodds.com</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Kent maps the durable skills that stay valuable as agents take more implementation: clarity, judgment, empathy, feedback loops, systems thinking, agent fluency, and ownership — with practical homework for each cluster.</p><p></p><ul><li>(00:00) - Intro: Google stat and durable skills</li>
<li>(00:20) - Why now</li>
<li>(01:08) - Durable skills map</li>
<li>(01:25) - Clarity &amp; judgment</li>
<li>(03:40) - Wayne Allan: build the right thing first</li>
<li>(04:28) - Practice: clarity &amp; judgment</li>
<li>(06:01) - User empathy &amp; feedback</li>
<li>(07:29) - Practice: empathy &amp; feedback</li>
<li>(08:56) - Systems thinking</li>
<li>(12:22) - InfoWorld: AI coders need good engineers</li>
<li>(18:52) - Agent fluency</li>
<li>(20:14) - Practice: agent fluency</li>
<li>(21:26) - Ownership</li>
<li>(23:03) - Slow down on purpose</li>
<li>(27:05) - What to deprioritize</li>
<li>(28:04) - Homework</li>
</ul><br><p>Better with Kent — Durable skills for people who ship software.</p><p>Episode 1 is the map. Agents can implement faster every month; the expensive mistake is building the wrong thing even faster. Kent walks through seven skills that were valuable decades ago and still matter in 2026: problem clarity, domain depth, judgment, empathy, feedback loops, systems thinking (including closing the agent loop), agent fluency, and ownership.</p><p>Three clusters pair each skill area with concrete practice — stakeholder rooms, wiring daily feedback, building tests and CI so agents can iterate. Kent cites Become an Epic Product Engineer guests (Wayne Allan, Jack Ryan, Aaron Francis, Dillon Mulroy, Swizec Teller, Ruben Casas, and others), reacts to Matt Asay's InfoWorld piece on AI-generated code, and closes with homework you can do this week.</p><p>Not a tool demo. Not a PM course. Not a framework checklist — just durable skills for people who ship software.</p><p>Subscribe and comment with topics you want covered. Chats with Kent (Become an Epic Product Engineer) continues with guest interviews; Better with Kent is Kent thinking out loud on camera.</p><p><strong>Links</strong></p><ul><li><a href="https://www.infoworld.com/article/4176534/ai-coders-need-good-software-engineers.html">InfoWorld — AI coders need good software engineers (Matt Asay)</a></li><li><a href="https://www.epicproduct.engineer/the-last-software-engineer">The Last Software Engineer (essay)</a></li><li><a href="https://www.epicproduct.engineer/become-an-epic-product-engineer-podcast">Become an Epic Product Engineer (guest podcast)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent on kentcdodds.com</a></li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 29 May 2026 13:21:56 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/8db60551/f28ce029.mp3" length="28378812" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3442003" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/8db60551/f28ce029.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=c1w-Y4IRZFw">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/UF3oA05V9bPL7Yt-4HcZBEWVMcHHQHBPUdzx4MdH69M/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9kMjNj/ODhiNjZmNWI4NTU2/MjIzYWQwZTRjNTAz/ZmE1Yy5wbmc.jpg"/>
      <itunes:duration>1772</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Kent maps the durable skills that stay valuable as agents take more implementation: clarity, judgment, empathy, feedback loops, systems thinking, agent fluency, and ownership — with practical homework for each cluster.</p><p></p><ul><li>(00:00) - Intro: Google stat and durable skills</li>
<li>(00:20) - Why now</li>
<li>(01:08) - Durable skills map</li>
<li>(01:25) - Clarity &amp; judgment</li>
<li>(03:40) - Wayne Allan: build the right thing first</li>
<li>(04:28) - Practice: clarity &amp; judgment</li>
<li>(06:01) - User empathy &amp; feedback</li>
<li>(07:29) - Practice: empathy &amp; feedback</li>
<li>(08:56) - Systems thinking</li>
<li>(12:22) - InfoWorld: AI coders need good engineers</li>
<li>(18:52) - Agent fluency</li>
<li>(20:14) - Practice: agent fluency</li>
<li>(21:26) - Ownership</li>
<li>(23:03) - Slow down on purpose</li>
<li>(27:05) - What to deprioritize</li>
<li>(28:04) - Homework</li>
</ul><br><p>Better with Kent — Durable skills for people who ship software.</p><p>Episode 1 is the map. Agents can implement faster every month; the expensive mistake is building the wrong thing even faster. Kent walks through seven skills that were valuable decades ago and still matter in 2026: problem clarity, domain depth, judgment, empathy, feedback loops, systems thinking (including closing the agent loop), agent fluency, and ownership.</p><p>Three clusters pair each skill area with concrete practice — stakeholder rooms, wiring daily feedback, building tests and CI so agents can iterate. Kent cites Become an Epic Product Engineer guests (Wayne Allan, Jack Ryan, Aaron Francis, Dillon Mulroy, Swizec Teller, Ruben Casas, and others), reacts to Matt Asay's InfoWorld piece on AI-generated code, and closes with homework you can do this week.</p><p>Not a tool demo. Not a PM course. Not a framework checklist — just durable skills for people who ship software.</p><p>Subscribe and comment with topics you want covered. Chats with Kent (Become an Epic Product Engineer) continues with guest interviews; Better with Kent is Kent thinking out loud on camera.</p><p><strong>Links</strong></p><ul><li><a href="https://www.infoworld.com/article/4176534/ai-coders-need-good-software-engineers.html">InfoWorld — AI coders need good software engineers (Matt Asay)</a></li><li><a href="https://www.epicproduct.engineer/the-last-software-engineer">The Last Software Engineer (essay)</a></li><li><a href="https://www.epicproduct.engineer/become-an-epic-product-engineer-podcast">Become an Epic Product Engineer (guest podcast)</a></li><li><a href="https://kentcdodds.com/better">Better with Kent on kentcdodds.com</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, What Software Engineers Need in 2026, durable skills, software engineering, AI and engineering, product judgment, agent fluency, ownership, Kent C. Dodds</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/8db60551/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/8db60551/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Introducing Better with Kent</title>
      <itunes:title>Introducing Better with Kent</itunes:title>
      <itunes:episodeType>trailer</itunes:episodeType>
      <guid isPermaLink="false">1ac1e061-080e-467b-8438-209bb1baff40</guid>
      <link>https://kentcdodds.com/better</link>
      <description>
        <![CDATA[<p>AI is accelerating change for software engineers. Kent introduces Better with Kent — solo episodes on durable skills, judgment, and knowing what to build — plus Chats with Kent guest interviews on Become an Epic Product Engineer.</p><p>Better with Kent — Durable skills for people who ship software.</p><p>The landscape is moving fast. Agents can implement more every month, which means the expensive mistake is building the wrong thing even faster. This series is Kent on camera — no guest — on judgment, accountability, problem clarity, and skills that stay valuable as implementation gets cheaper.</p><p>Also continuing: Become an Epic Product Engineer with guests who blend technical depth and product judgment.</p><p>Subscribe on YouTube, Spotify, Apple Podcasts, or wherever you listen. Comment with topics you want covered — Kent live-streams many recordings.</p><p>Links</p><ul><li><a href="https://kentcdodds.com/better">Better with Kent on kentcdodds.com</a></li><li><a href="https://www.epicproduct.engineer/become-an-epic-product-engineer-podcast">Become an Epic Product Engineer (guest podcast)</a></li><li><a href="https://www.youtube.com/c/kentcdodds-vids">Kent on YouTube</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>AI is accelerating change for software engineers. Kent introduces Better with Kent — solo episodes on durable skills, judgment, and knowing what to build — plus Chats with Kent guest interviews on Become an Epic Product Engineer.</p><p>Better with Kent — Durable skills for people who ship software.</p><p>The landscape is moving fast. Agents can implement more every month, which means the expensive mistake is building the wrong thing even faster. This series is Kent on camera — no guest — on judgment, accountability, problem clarity, and skills that stay valuable as implementation gets cheaper.</p><p>Also continuing: Become an Epic Product Engineer with guests who blend technical depth and product judgment.</p><p>Subscribe on YouTube, Spotify, Apple Podcasts, or wherever you listen. Comment with topics you want covered — Kent live-streams many recordings.</p><p>Links</p><ul><li><a href="https://kentcdodds.com/better">Better with Kent on kentcdodds.com</a></li><li><a href="https://www.epicproduct.engineer/become-an-epic-product-engineer-podcast">Become an Epic Product Engineer (guest podcast)</a></li><li><a href="https://www.youtube.com/c/kentcdodds-vids">Kent on YouTube</a></li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 22 May 2026 14:07:49 -0600</pubDate>
      <author>Kent C. Dodds</author>
      <enclosure url="https://media.transistor.fm/39c16504/674c9a81.mp3" length="5143547" type="audio/mpeg"/>
      <podcast:alternateEnclosure type="application/x-mpegURL" length="0" bitrate="3510519" height="1080" lang="en" title="HD Video Stream" rel="alternate">
        <podcast:source uri="https://media.transistor.fm/39c16504/674c9a81.m3u8"/>
      </podcast:alternateEnclosure>
      <podcast:contentLink href="https://www.youtube.com/watch?v=JBgT_sVdM8w">Watch on YouTube</podcast:contentLink>
      <itunes:author>Kent C. Dodds</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/xNDpBc9BVm99aMX8JtWNbwtB95gmlDTm5eC_YDPFQQ8/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9hZjc0/ZTQ3MTI3M2Y2ZWQx/NTY3ODE3Y2Y3ZGI0/MGNmNS5wbmc.jpg"/>
      <itunes:duration>322</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>AI is accelerating change for software engineers. Kent introduces Better with Kent — solo episodes on durable skills, judgment, and knowing what to build — plus Chats with Kent guest interviews on Become an Epic Product Engineer.</p><p>Better with Kent — Durable skills for people who ship software.</p><p>The landscape is moving fast. Agents can implement more every month, which means the expensive mistake is building the wrong thing even faster. This series is Kent on camera — no guest — on judgment, accountability, problem clarity, and skills that stay valuable as implementation gets cheaper.</p><p>Also continuing: Become an Epic Product Engineer with guests who blend technical depth and product judgment.</p><p>Subscribe on YouTube, Spotify, Apple Podcasts, or wherever you listen. Comment with topics you want covered — Kent live-streams many recordings.</p><p>Links</p><ul><li><a href="https://kentcdodds.com/better">Better with Kent on kentcdodds.com</a></li><li><a href="https://www.epicproduct.engineer/become-an-epic-product-engineer-podcast">Become an Epic Product Engineer (guest podcast)</a></li><li><a href="https://www.youtube.com/c/kentcdodds-vids">Kent on YouTube</a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Better with Kent, series trailer, durable skills, software engineering, product judgment, AI and engineering, Kent C. Dodds</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:transcript url="https://share.transistor.fm/s/39c16504/transcript.txt" type="text/plain"/>
    </item>
  </channel>
</rss>
