<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Scott's Mixtape Substack: Claude Code]]></title><description><![CDATA[Walk throughs and explanations of using Claude Code for quantitative and empirical social science projects. ]]></description><link>https://causalinf.substack.com/s/claude-code</link><image><url>https://substackcdn.com/image/fetch/$s_!tCBR!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F515eb550-03a3-427c-ac1b-7cf640e822d0_1067x1067.png</url><title>Scott&apos;s Mixtape Substack: Claude Code</title><link>https://causalinf.substack.com/s/claude-code</link></image><generator>Substack</generator><lastBuildDate>Sat, 25 Jul 2026 03:17:00 GMT</lastBuildDate><atom:link href="https://causalinf.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[scott cunningham]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[scunning@gmail.com]]></webMaster><itunes:owner><itunes:email><![CDATA[scunning@gmail.com]]></itunes:email><itunes:name><![CDATA[scott cunningham]]></itunes:name></itunes:owner><itunes:author><![CDATA[scott cunningham]]></itunes:author><googleplay:owner><![CDATA[scunning@gmail.com]]></googleplay:owner><googleplay:email><![CDATA[scunning@gmail.com]]></googleplay:email><googleplay:author><![CDATA[scott cunningham]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Stale code, deprecation, and the canon]]></title><description><![CDATA[I think I first noticed I needed a structured workflow with using Claude Code when during a long project the analytical sample went from having N observations to N+k observations.]]></description><link>https://causalinf.substack.com/p/stale-code-deprecation-and-the-canon</link><guid isPermaLink="false">https://causalinf.substack.com/p/stale-code-deprecation-and-the-canon</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Tue, 21 Jul 2026 15:45:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OEaC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f4a358d-6ee9-492b-8c5d-92a11d68396a_768x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I think I first noticed I needed a structured workflow with using Claude Code when during a long project the analytical sample went from having N observations to N+k observations.  It had no explanation as I had been consistently verifying results, but it was something about the inter-temporal results, not the contemporaneous results, where I just noticed something was amiss.  Why had the analytical sample suddenly changed?  I only caught that, too, because my workflow was to religiously produce &#8220;beautiful tables&#8221; and &#8220;beautiful figures&#8221; which I stored in &#8220;beautiful decks&#8221; &#8212; none of which was meant to catch weird things like that.  </p><p>The other time I noticed it, though, was when in a different project, I was working long hours with Claude Code going back and forth doing analysis.  In my mind, each time I was requesting something new to be done, I <em>thought</em> it was simply editing an existing code. I would check that code and it would be correct, but then later on I took a step back and found not K programs, but more like 5K programs.  It was like I was looking at a very old problem that used to haunt me when I was first starting out where I had copies of the same code with weird naming conventions, only this time Claude Code was doing it, putting even more distance between me and the work.  </p><p>In several posts, I alluded to the fact that I have been building my own personalized dashboard that functions as a manifestation of a rigid checklist for panel data.  I already have a rigid checklist I follow based partly on <a href="https://arxiv.org/pdf/0811.1640">Don Rubin&#8217;s article &#8220;Design Trumps Analysis</a>&#8221;, as well as a <a href="https://causalinf.substack.com/s/pedros-diff-in-diff-checklist">diff-in-diff checklist by Pedro Sant&#8217;Anna</a> that I&#8217;ve talked about on here before, as well as tweaked (as well as included in my new book that comes out next month). Plus things by Guido Imbens that he always seems to include in his survey articles (<a href="https://www.aeaweb.org/articles?id=10.1257/jep.20251440">see here for an example, and flip more towards the end</a>). And so the spine of the dashboard is the checklist, and once I have it done, I&#8217;ll share it, with a description and a walk through.  </p><p>I suspect that there is some kind of high level general conceptual framework of a harness-workflow-for-empirical-research-using-AI-agents, and that once we heard it articulated, it&#8217;ll be obvious that that is the way that work should be organized when using AI agents for empirical research.  And then we will pivot our workflows towards it.  But my hunch is that even if that simple model is articulated, we will still be iterating on that to make our own dashboards and workflows if only because comparative advantage probably will drive it towards that equilibrium.  </p><p>This morning, though, I was thinking about my own.  I&#8217;ve got a checklist with a series of rigid steps. It&#8217;s clocking in at around 12 to 14 steps that I follow when working on a causal inference project, and it more or less runs like this:</p><ol start="0"><li><p><strong>PKG: </strong>Write down all the software packages I will be using for the project</p></li><li><p><strong>TARGET: </strong>What is the causal parameter, expressed using potential outcomes, populations and weights?  And if there is more than one causal parameter, name them clearly.</p></li><li><p><strong>BITE</strong>: Illustrate the treatment&#8217;s bite.  This is where I simply document facts about the intervention.  Usually the goal is to create around 2-3 exhibits (tables and figures) per stage, too. So I might show a time series of meth use over time.  I might show policing differences using a heat map laid over a county shape file.  Something, though, to really help me understand the treatment operating in the world.</p></li><li><p><strong>COVARIATES</strong>. This is the stage where I select covariates needed to satisfy unconfoundedness, conditional parallel trends, or possibly the a factor model of the untreated potential outcome. I have a skill I created, also, call /covariates that I&#8217;ll explain another time which helps pull from my own personal beliefs candidate covariates based on a particular modeling philosophy I believe in.  Again for another day.  But in covariates, I produce tables measuring imbalance, plot propensity scores, and so on.  Again &#8212; 2-3 exhibits. </p></li><li><p><strong>ROLLOUT</strong>.  This is where I document the rollout of the treatment, be it two groups of more than two groups.  I make a table counting the number of units by cohort, named if possible, as well as sample shares (number of treated units divided by the total number of treated units).  But I also then make a figure showing the rollout using <a href="https://yiqingxu.org/packages/panelview/">Yiqing Xu&#8217;s &#8220;panelview</a>&#8221; command. </p></li><li><p><strong>OUTCOME</strong>.  This is where I first present exhibits (tables and figures) of the outcome. If panel data, then it&#8217;s the outcome&#8217;s evolution over time.  If not, then some other way.  The goal is a presentation, though, that matches the analysis that will be done.  </p></li><li><p><strong>POWER</strong>.  In this stage, I do power calculations.  What is the minimum detectable effect for size 0.05 and power 0.8?  And am I powered for it in my own sample? I create power curves for this typically, as well as try to quantify over-rejection problems I found in my Monte Carlos so that I can decide if I&#8217;m going to even choose a particular inference method or a given estimator in the first place. </p></li><li><p><strong>ESTIMATOR</strong>.  And then there is the selection of the estimator.  And this is entirely flowing from the TARGET stage, the COVARIATES stage, and my interpretation of BITE.  Because if I think I see signs of randomized treatment assignment in that BITE stage, I may lean in one direction, but if I do not, I may lean more towards something like parallel trends or a factor model of the untreated potential outcome. Whichever, though, this is where the estimator is chosen, and when it is estimated.  </p></li><li><p><strong>EVENT</strong>.  Straightforward but I have for now separated out the production of event study graphics from the ESTIMATOR stage, though I am leaning towards combining them.  </p></li><li><p><strong>FALSIFY</strong>.  Now I start running down possible falsifications, like outcomes that should not be affected by the treatment versus groups that should not be affected by the treatment.  </p></li><li><p><strong>MECHANISM</strong>.  Here I begin to work through mechanisms.  Are there certain mechanisms that I think I could be studying as possible explanations for the things I found in the ESTIMATOR and EVENT and FALSIFY stages? </p></li><li><p><strong>PIPELINE</strong>.  Then I rerun everything to ensure it replicates.  I also run /referee2 here as well as /blindspot, though frankly those have also been being ran at each stage as well. I just am compulsively double checking.  </p></li><li><p><strong>DELIVER</strong>.  If I am done, then this is the stage where I am going to take what I have produced and beginning storyboarding the findings.  This is outlining, this is short little papers, this is whatever process I use but the purpose of the stage is to start <em>producing deliverables</em> based on everything that came before it.</p></li><li><p><strong>SIGN</strong>.  And then once I&#8217;m done, I sign off.</p></li></ol><p>I had to develop an insanely rigid checklist because I kept experiencing that &#8220;drift&#8221; problem I noted, so this checklist is both design principles, but it&#8217;s also a reaction to AI Agent drift.  </p><p>So, within each of those stages, what I&#8217;ve been doing is coming up with a series of rituals that have to be done each time to ensure that I have completed the stage. I use a variety of things to do this. For instance, the dashboard has a visual going left to right of circles that are color coded green (closed), red (open) and amber (&#8220;you are here&#8221;).  Each circle goes with one of those 13 stages.  And if it&#8217;s green, then it means I have gone through a series of steps that has given me a level of confidence that that work is completed and correct.  But if it&#8217;s red, it means it is not yet closed, and as no project can ever have a red circle, that means the project is also not closed. And then amber, which pulses visually through various hues of yellow-amber, is where I know each day I am when I start the project back up.</p><p>Well, in the future, I&#8217;m going to walk you through a project using diff-in-diff so that you can see how I&#8217;m doing this, but I know that this is just going to be how I do it, as mature researchers all have their own style, their own preferences, their own needs. But I do think &#8220;AI Agent drift&#8221; is a real problem, and what I want to leave with is a metaphor.</p><p>The early church fathers had their own drift in the sense that there were a lot of letters and books floating around.  These letters and books were like old files. They had different names, and they had similar sounding names, and they told similar stories, but not identical stories.  And at some point, the early church got together and decided on the canon.  What was the canon? The canon was the pipeline of code that would produce the exhibits (tables and figures) that would support the final manuscript that the author presented as their own.  </p><p>They had some process of selection and curation.  That process of selection and curation did two things.  It chose what would be in the pipeline, and it chose what would be <strong>deprecated</strong>.  They did not use the word &#8220;deprecated&#8221; though.  They used more dangerous sounding words like &#8220;heresy&#8221;, or if that&#8217;s too harsh, then &#8220;apocryphal.&#8221;  These were various gradations as to what would be tolerated.</p><p>Well, here&#8217;s the thing.  AI Agents are going to produce, when used for empirical research, an abundance of files, figures, tables and code.  There is something about the process of a lengthy empirical study whereby without a very closely controlled harness, you will end up with a multiplicity of those items.  They will have similar sounding names like &#8220;The Gospel of Thomas&#8221; versus &#8220;The Gospel of Mark&#8221;.  They will tell similar stories &#8212; but not the exact same story, and their differences may be benign such that they can both be included (e.g., The Gospel of Mark versus the Gospel of Matthew).  But sometimes their differences will be too much (e.g., The Gospel of Mark versus The Gospel of Thomas) and a hard decision will have to be made. </p><p>You and I are going to need a criteria and a process and a rule that selects the canon and that process is likely to be an unfamiliar one.  It is likely to be an unfamiliar process because prior to AI Agents used for empirical research, I think we were unconsciously curating our work without really knowing it.  </p><p>I mean, I take that back.  Not all the time. It&#8217;s a very very common thing to educate young people into coding etiquette and warn of various pitfalls that evolve naturally when certain things are ignored. <a href="https://web.stanford.edu/~gentzkow/research/CodeAndData.pdf">So it&#8217;s very common to see entire advice devoted to what you&#8217;re going to name files, how you will organize your directories and version control</a> <a href="https://web.stanford.edu/~gentzkow/research/CodeAndData.pdf">(see Gentzkow and Shapiro&#8217;s classic manual on this for instance). </a> We develop rules and best in practices in response to the technologies and the problems they create for us and the opportunities they create for us. </p><p>Well, soon someone is going to write that for the use of AI Agents for empirical research, and when it comes, it will bear some resemblance to those old ways but I think it will very quite bizarre at first to us.  But one of the things that it will most definitely have due to the natural tendency of code drift from agents is that it will have to have an intentional process following a close set of steps that will be used to <strong>canonize</strong> code into a replicable pipeline.  Mine is a checklist, using metaphors like locks and colors and maps and practices and hooks, to ensure that not just my future self, but also future Claudes can always pick up where left off and know precisely what is heresy, what is apocryphal and what is canon.  That&#8217;s the goal.  The goal is that the exhibits we end up with are exhibits we chose and that they mean what we think they mean, and the sample does not just drift and change over the course of the project unknowingly because of a forgetful Claude who improvises all the time without awareness.  </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://causalinf.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Scott's Mixtape Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Am I'm reading too much?]]></title><description><![CDATA[Some days I think I have adopted a new way of working with Claude Code that has revolutionized my entire life.]]></description><link>https://causalinf.substack.com/p/am-im-reading-too-much</link><guid isPermaLink="false">https://causalinf.substack.com/p/am-im-reading-too-much</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Fri, 17 Jul 2026 10:41:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OSZ4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff21698e9-5892-49fe-bcb8-7f764a7bee7e_1367x987.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Some days I think I have adopted a new way of working with Claude Code that has revolutionized my entire life.  One need only read the 60 some-odd essays I&#8217;ve written since December last year to see why I think that way.  I have new projects I would not have started, papers I would not have written, gone deeper and I think better on things that would ha&#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/am-im-reading-too-much">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Deriving the Value of these Claude Code Essays (and All Other Essays) using Claude Code Integration to Substack]]></title><description><![CDATA[Substack integrated Claude Code recently via an mcp (not sure if I used all of that correctly).]]></description><link>https://causalinf.substack.com/p/deriving-the-value-of-these-claude</link><guid isPermaLink="false">https://causalinf.substack.com/p/deriving-the-value-of-these-claude</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Wed, 08 Jul 2026 12:33:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZLQ4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab0cea9a-7c5f-4df5-a8d8-6463e27f858a_1688x830.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Substack integrated Claude Code recently via an mcp (not sure if I used all of that correctly).  You can read about that <a href="https://on.substack.com/p/new-on-substack-subscriber-perks?utm_source=post-email-title&amp;publication_id=1&amp;post_id=205511011&amp;utm_campaign=email-post-title&amp;isFreemail=true&amp;r=1iz0eh&amp;triedRedirect=true&amp;utm_medium=email">here</a>.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:205511011,&quot;url&quot;:&quot;https://on.substack.com/p/new-on-substack-subscriber-perks&quot;,&quot;publication_id&quot;:1,&quot;embedding_publication_id&quot;:null,&quot;publication_name&quot;:&quot;On Substack&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!JtoZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29d14a4b-a2da-47fa-9031-0853099b7fe6_1280x1280.png&quot;,&quot;title&quot;:&quot;New on Substack: Subscriber Perks, saved Notes, scheduled Chats, MCP, redesigned podcast player, and more&quot;,&quot;truncated_body_text&quot;:&quot;Whether you&#8217;re spending your Substack summer tinkering with your existing newsletter or podcast or launching your first one, we&#8217;re shipping features that make it easier to publish, customize, and distribute your work, and engage with your audience. We look forward to hearing what&#8217;s most useful and what you want more of. Here&#8217;s the latest.&quot;,&quot;date&quot;:&quot;2026-07-06T16:04:34.420Z&quot;,&quot;like_count&quot;:1502,&quot;comment_count&quot;:0,&quot;bylines&quot;:[],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:false,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://on.substack.com/p/new-on-substack-subscriber-perks?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!JtoZ!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29d14a4b-a2da-47fa-9031-0853099b7fe6_1280x1280.png"><span class="embedded-post-publication-name">On Substack</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">New on Substack: Subscriber Perks, saved Notes, scheduled Chats, MCP, redesigned podcast player, and more</div></div><div class="embedded-post-body">Whether you&#8217;re spending your Substack summer tinkering with your existing newsletter or podcast or launching your first one, we&#8217;re shipping features that make it easier to publish, customize, and distribute your work, and engage with your audience. We look forward to hearing what&#8217;s most useful and what you want more of. Here&#8217;s the latest&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">18 days ago &#183; 1502 likes</div></a></div><p>If you want to connect Claude Code to your substack, <a href="https://support.substack.com/hc/en-us/articles/50834026608916-How-to-connect-Substack-to-your-AI-Assistant">here&#8217;s the instructions to do so</a>. But let me lay out what I&#8217;ve learned, and how I&#8217;m going to learn from what I learned going forward. I had Fable 5 do the analysis for this con&#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/deriving-the-value-of-these-claude">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 56: Falling marginal costs of production, output, and aggregate errors]]></title><description><![CDATA[Returning home update]]></description><link>https://causalinf.substack.com/p/claude-code-56-falling-marginal-costs</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-56-falling-marginal-costs</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Mon, 06 Jul 2026 11:42:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!l8hU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4b26246-d1e0-4457-9f54-b5037ac7385a_1421x985.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Returning home update</h3><p>Greetings folks.  I am back from Europe.  I left on May 9th (not the 11th as I previously said) and got back on the 4th of July to Boston.  That&#8217;s 56 days in Europe across I think I counted half a dozen countries and approximately 10 cities.  Quite a romp.  I made new friends, saw new places, visited old ones, including Amelia in Sa&#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-56-falling-marginal-costs">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 55: Beauty and story are key to my workflow harness]]></title><description><![CDATA[I think my harness-workflow is taking shape.]]></description><link>https://causalinf.substack.com/p/claude-code-55-beauty-is-key-to-the</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-55-beauty-is-key-to-the</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Thu, 11 Jun 2026 07:57:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-FSu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66e62523-2082-4ef0-ad98-d3ef48fe9b25_1613x905.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I think my harness-workflow is taking shape. I think I&#8217;ve gotten to some core principles, what motivates them, and where I am going. Thanks again for being a subscriber. I appreciate everyone&#8217;s support.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://causalinf.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Scott's Mixtape Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-55-beauty-is-key-to-the">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 54: Amnesia ]]></title><description><![CDATA[I&#8217;ve mentioned before that I got diagnosed with attention deficit disorder &#8220;primarily inattentive&#8221; about 15 years ago.]]></description><link>https://causalinf.substack.com/p/claude-code-54-amnesia</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-54-amnesia</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Wed, 10 Jun 2026 03:24:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OEaC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f4a358d-6ee9-492b-8c5d-92a11d68396a_768x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve mentioned before that I got diagnosed with attention deficit disorder &#8220;primarily inattentive&#8221; about 15 years ago. I don&#8217;t take any medication for it though. I did but it didn&#8217;t really seem to make things better. I more or less consider a high functioning adult with fairly significant ADHD-PI though.</p><p>There&#8217;s a few things associated with it that have &#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-54-amnesia">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 53: Applied econometrics will require a detailed checklist]]></title><description><![CDATA[This is going to be short.]]></description><link>https://causalinf.substack.com/p/claude-code-53-applied-econometrics</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-53-applied-econometrics</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Mon, 08 Jun 2026 08:43:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0xbw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215addeb-932d-455c-8078-b7b14df69ec7_2067x724.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is going to be short.  I have to teach at Sant&#8217;Anna this afternoon in Pisa, and for the last, on I don&#8217;t know, 4-5 yours I have been trouble shooting something where I was using Callaway and Sant&#8217;Anna (CSDID) on a project.  And if you look back over this Claude Series,  CSDID is the most common applied econometric methodology I&#8217;ve been using. My va&#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-53-applied-econometrics">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude code 52: Journal Cartels and AI Disclosure ]]></title><description><![CDATA[Greetings from beautiful Madrid!]]></description><link>https://causalinf.substack.com/p/claude-code-53-journal-cartels-and</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-53-journal-cartels-and</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Wed, 27 May 2026 04:54:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Witm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Greetings from beautiful Madrid! What an amazing city. The lively night life, the evening walks on the sidewalks from the restaurant to my hotel, nothing like it. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Witm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Witm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Witm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Witm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Witm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Witm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg" width="1456" height="1941" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2773564,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://causalinf.substack.com/i/199416063?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Witm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Witm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Witm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Witm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad56148-cb9f-4dd9-b395-6c70f1cfcde7_4032x3024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I went to the Mercado de San Miguel last night for dinner at Botin, the world&#8217;s oldest restaurant. That part of the city is so interesting and lively. I will explore it more after CodeChella c&#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-53-journal-cartels-and">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 51: Harnessing AI Agents for Economic Research]]></title><description><![CDATA[It&#8217;s funny.]]></description><link>https://causalinf.substack.com/p/claude-code-51-harnessing-ai-agents</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-51-harnessing-ai-agents</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Thu, 21 May 2026 07:27:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!M5B7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff73abdd9-385b-4ab2-91f2-b29a626f2140_985x1421.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s funny. On the one hand, I would say I am a visual person in that I respond well to pictures when trying to learn and remember things.  On the other hand, I do not easily retain those pictures. My memories and my manner in which I navigate my historical life is more influenced by story, metaphor and feelings than it is by those images themselves.  </p><p>B&#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-51-harnessing-ai-agents">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 50: Claude is Holding On To Its Reasons]]></title><description><![CDATA[I want to share something I learned recently.]]></description><link>https://causalinf.substack.com/p/claude-code-50-claude-is-holding</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-50-claude-is-holding</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Wed, 13 May 2026 05:04:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OEaC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f4a358d-6ee9-492b-8c5d-92a11d68396a_768x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I want to share something I learned recently. I mentioned it this week on my podcast, The Odd Couple, with Caitlin in the opening.  And it&#8217;s this &#8212; I learned last week during my MIT talk, from a grad student named Theo, that Claude Code is writing a diary of everything it did in your project, <em>including the abandoned work it did</em>. And I think those of us &#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-50-claude-is-holding">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 49: Video of Kennedy]]></title><description><![CDATA[I was debating whether to post this today, or tomorrow during my weekly &#8220;open tabs&#8221; post, but I&#8217;ll post it now.]]></description><link>https://causalinf.substack.com/p/claude-code-50-video-of-kennedy</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-50-video-of-kennedy</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Fri, 08 May 2026 09:58:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OEaC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f4a358d-6ee9-492b-8c5d-92a11d68396a_768x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I was debating whether to post this today, or tomorrow during my weekly &#8220;open tabs&#8221; post, but I&#8217;ll post it now.  I mentioned yesterday that I had a talk at Kennedy School this week on AI agents.  I thought I&#8217;d share it now if you wanted to see it.  </p>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-50-video-of-kennedy">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 48: What I'm learning from giving four AI talks in two weeks ]]></title><description><![CDATA[The last two weeks have been a real whirlwind.]]></description><link>https://causalinf.substack.com/p/claude-code-47-what-im-learning-from</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-47-what-im-learning-from</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Thu, 07 May 2026 12:52:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1n05!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7a7cab7-c432-4436-9b6d-373002e997e7_2700x1500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The last two weeks have been a real whirlwind. I presented at Harvard Medical School early last week, gave the keynote at Georgetown&#8217;s McCourt School of Public Policy faculty retreat last Thursday, spoke at the Harvard Kennedy School earlier this week, and yesterday I was a guest speaker in Alberto Abadie&#8217;s &#8220;Topics in Econometrics&#8221; class at MIT. Four ta&#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-47-what-im-learning-from">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 47: Many Agent Frameworks for Skills]]></title><description><![CDATA[Yesterday I presented at MIT to Alberto Abadie&#8217;s applied topics in econometrics class.]]></description><link>https://causalinf.substack.com/p/claude-code-47-many-agent-frameworks</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-47-many-agent-frameworks</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Wed, 06 May 2026 13:11:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OEaC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f4a358d-6ee9-492b-8c5d-92a11d68396a_768x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Yesterday I presented at MIT to Alberto Abadie&#8217;s applied topics in econometrics class.  It was a big room, and people whose names I recognized were there, which was quite humbling. And then the day before, on Monday, I presented at Harvard Kennedy School, and similarly recognized the names of some of the people in the room which was again, quite humblin&#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-47-many-agent-frameworks">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 46: Verification is the new bottleneck]]></title><description><![CDATA[I grew up in Brookhaven Mississippi, a small town of around 20,000 people, about an hour south of Jackson Mississippi, the state capital.]]></description><link>https://causalinf.substack.com/p/claude-code-46-verification-is-the</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-46-verification-is-the</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Mon, 04 May 2026 10:40:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KsDa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a4ce297-043d-4381-8f74-9d734fa7b450_780x1819.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I grew up in Brookhaven Mississippi, a small town of around 20,000 people, about an hour south of Jackson Mississippi, the state capital.  And I was born in 1975, and played outside a lot. Rode my bike everywhere.  Lived at the public library reading books.  Collected comics.  Would ride my bike to our local movie theater, and go see multiple matinees, &#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-46-verification-is-the">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 45: AI Agents and the Minimum Wage]]></title><description><![CDATA[Today I head to Georgetown where I am going to speak at the McCourt Policy School&#8217;s faculty retreat about AI agents.]]></description><link>https://causalinf.substack.com/p/claude-code-45-ai-agents-and-the</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-45-ai-agents-and-the</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Wed, 29 Apr 2026 11:34:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qooE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F483a3d24-d609-43c7-a4fe-5bc55fa4ace9_1846x1005.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today I head to Georgetown where I am going to speak at the McCourt Policy School&#8217;s faculty retreat about AI agents.  I&#8217;m very excited about going.  I have not yet fully finished my slides, but I will be talking about, among other things, a new paper of mine that is currently R&amp;R.  It&#8217;s about AI agents and the minimum wage, and I thought I&#8217;d share a lit&#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-45-ai-agents-and-the">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 44: My four criteria for using Agents, with an application to referee reports]]></title><description><![CDATA[Add this one to a controversial use case of Claude Code: the undertaking of referee reports.]]></description><link>https://causalinf.substack.com/p/claude-code-44-my-four-criteria-for</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-44-my-four-criteria-for</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Fri, 24 Apr 2026 11:11:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OEaC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f4a358d-6ee9-492b-8c5d-92a11d68396a_768x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Add this one to a controversial use case of Claude Code: the undertaking of referee reports. Before I explain how I use Claude Code to undertake referee reports, let me note a few things.  First, I say &#8220;undertake&#8221; because the use of AI agents to do a report is more than simply &#8220;writing&#8221; one.  That is because as I&#8217;ll show you are capable of doing more in&#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-44-my-four-criteria-for">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Making a shiny to illustrate the TWFE continuous weights ]]></title><description><![CDATA[Part 2!]]></description><link>https://causalinf.substack.com/p/making-a-shiny-to-illustrate-the</link><guid isPermaLink="false">https://causalinf.substack.com/p/making-a-shiny-to-illustrate-the</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Mon, 20 Apr 2026 11:17:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!XIkf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b83e1d-0ca4-4f9a-a409-4902ec9086a1_3443x1830.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://psantanna.com/files/CGBS_v4.pdf">Brantly Callaway, Andrew Goodman-Bacon and Pedro Sant&#8217;Anna (hereafter CBS) </a>have a new article conditionally accepted at <em>American Economic Review</em> on continuous treatment difference-in-differences.  The paper has three main ingredients: </p><ul><li><p>an introduction and formalization of various causal parameters related to a treatment &#8220;dosage&#8221; appropriate for the diffe&#8230;</p></li></ul>
      <p>
          <a href="https://causalinf.substack.com/p/making-a-shiny-to-illustrate-the">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[A professor’s use case for AI generated papers]]></title><description><![CDATA[By now it is well known that AI agents can produce a fully formed &#8220;journal submittable&#8221; manuscript.]]></description><link>https://causalinf.substack.com/p/a-professors-use-case-for-ai-generated</link><guid isPermaLink="false">https://causalinf.substack.com/p/a-professors-use-case-for-ai-generated</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Thu, 16 Apr 2026 18:17:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yPZA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5792dc6b-2e3b-4adf-9117-7aa37453cb00_1179x1301.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>By now it is well known that AI agents can produce a fully formed &#8220;journal submittable&#8221; manuscript.  I&#8217;ve done it, others have done it, and you&#8217;ve likely tried it too. The Social Catalyst Lab has now done a thousand of them. These are for all practical purposes empirical papers, where the agent found the data online, downloaded it locally, developed a r&#8230;</p>
      <p>
          <a href="https://causalinf.substack.com/p/a-professors-use-case-for-ai-generated">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code 41: Updating my workflow and skills]]></title><description><![CDATA[I spent the weekend in New York for NABE and saw my first Broadway show, Buena Vista Social Club. It was extraordinary. I can&#8217;t remember a time I&#8217;ve ever seen actors and musicians like that, and how the audience was drawn into the performance. I was stunned. The Havana social clubs must have been extraordinary. But today is about Claude Code.]]></description><link>https://causalinf.substack.com/p/claude-code-41-updating-my-workflow</link><guid isPermaLink="false">https://causalinf.substack.com/p/claude-code-41-updating-my-workflow</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Mon, 13 Apr 2026 09:59:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Veg8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F667ba02d-6099-4455-aced-9af00c6521f3_5712x4284.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I spent the weekend in New York for NABE and saw my first Broadway show, <a href="https://en.wikipedia.org/wiki/Buena_Vista_Social_Club_(musical)">Buena Vista Social Club</a>. It was extraordinary. I can&#8217;t remember a time I&#8217;ve ever seen actors and musicians like that, and how the audience was drawn into the performance.  I was stunned. The Havana social clubs must have been extraordinary.  But today is about Claude Code. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VRrX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70b8fed-67a9-456f-8dd7-b8ec62068f8f_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VRrX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70b8fed-67a9-456f-8dd7-b8ec62068f8f_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VRrX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70b8fed-67a9-456f-8dd7-b8ec62068f8f_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VRrX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70b8fed-67a9-456f-8dd7-b8ec62068f8f_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VRrX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70b8fed-67a9-456f-8dd7-b8ec62068f8f_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VRrX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70b8fed-67a9-456f-8dd7-b8ec62068f8f_4032x3024.jpeg" width="1456" height="1941" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d70b8fed-67a9-456f-8dd7-b8ec62068f8f_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2155043,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://causalinf.substack.com/i/194050762?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70b8fed-67a9-456f-8dd7-b8ec62068f8f_4032x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VRrX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70b8fed-67a9-456f-8dd7-b8ec62068f8f_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VRrX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70b8fed-67a9-456f-8dd7-b8ec62068f8f_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VRrX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70b8fed-67a9-456f-8dd7-b8ec62068f8f_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VRrX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70b8fed-67a9-456f-8dd7-b8ec62068f8f_4032x3024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>
      <p>
          <a href="https://causalinf.substack.com/p/claude-code-41-updating-my-workflow">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Learning Continuous Diff-in-Diff with Claude Code: Deriving the TWFE Weights (Part 1)]]></title><description><![CDATA[Claude Code 40]]></description><link>https://causalinf.substack.com/p/learning-continuous-diff-in-diff</link><guid isPermaLink="false">https://causalinf.substack.com/p/learning-continuous-diff-in-diff</guid><dc:creator><![CDATA[scott cunningham]]></dc:creator><pubDate>Thu, 09 Apr 2026 11:06:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tUYS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ba4ccb-cffe-4e15-87dc-3603383ea470_1585x548.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>We are going to be, in this series, going slow. The purpose will be two things.  One, learn the continuous diff-in-diff paper by Callaway, Goodman-Bacon and Sant&#8217;Anna (CBS), conditionally accepted at AER.  Two, I am going to take a stab at building something that I can use again &#8212; a package.  Brantly Callaway already has an R package, so we will see wha&#8230;</em></p>
      <p>
          <a href="https://causalinf.substack.com/p/learning-continuous-diff-in-diff">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>