<script data-pm-proxy="intercept"></script><?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[Kinga | Claude AI for Ecommerce]]></title><description><![CDATA[Email and retention systems built with Claude and Klaviyo, documented from real client work.]]></description><link>https://kinga168.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!yAVF!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a588e8-11ca-4281-b3c5-4126d71839b9_1138x1138.png</url><title>Kinga | Claude AI for Ecommerce</title><link>https://kinga168.substack.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 04 Sep 2026 22:17:55 GMT</lastBuildDate><atom:link href="/__u/kinga168.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Kinga]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[kinga168@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[kinga168@substack.com]]></itunes:email><itunes:name><![CDATA[Kinga Dow]]></itunes:name></itunes:owner><itunes:author><![CDATA[Kinga Dow]]></itunes:author><googleplay:owner><![CDATA[kinga168@substack.com]]></googleplay:owner><googleplay:email><![CDATA[kinga168@substack.com]]></googleplay:email><googleplay:author><![CDATA[Kinga Dow]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Your VIP Segment Is a Guess]]></title><description><![CDATA[RFM in Klaviyo takes the guessing out, and you can build it without the paid add-on.]]></description><link>https://kinga168.substack.com/p/klaviyo-rfm-vip-segment-guess</link><guid isPermaLink="false">https://kinga168.substack.com/p/klaviyo-rfm-vip-segment-guess</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Thu, 03 Sep 2026 10:30:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OKIz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf16da7a-38c8-4cef-9dec-75b73665f1a9_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Open ten Klaviyo accounts and nine of them have the same shape. Careful sending, and no segmentation to speak of.</p><p>The care goes into deliverability. Engaged only, bounces suppressed, recent buyers held out of the promotional sends. All sensible. None of it says anything about who a message is for, and inside that one engaged audience a customer who has bought twelve times sits next to someone who bought once, eleven months ago, and both get the same email.</p><p>The usual fix is a VIP segment. Somebody picks a number of orders, three or five, since it sounded about right, and everyone above it is a VIP. A lapsed segment gets built the same way, with a round number of days. Those thresholds are guesses, and every segment built on them inherits the guess.</p><p>RFM is the same instinct with the guessing taken out.</p><h2>Three questions, scored from your own data</h2><p>RFM asks three questions about every customer. How recently did they buy. How often do they buy. How much have they spent.</p><p>Klaviyo scores each answer 1, 2 or 3 and joins them into a three digit number, so 333 is your best customer and 111 is someone who has effectively left. Then it sorts everyone into six groups: Champions, Loyal, Recent, Needs Attention, At Risk and Inactive.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!OKIz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf16da7a-38c8-4cef-9dec-75b73665f1a9_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!OKIz!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf16da7a-38c8-4cef-9dec-75b73665f1a9_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!OKIz!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf16da7a-38c8-4cef-9dec-75b73665f1a9_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!OKIz!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf16da7a-38c8-4cef-9dec-75b73665f1a9_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!OKIz!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf16da7a-38c8-4cef-9dec-75b73665f1a9_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!OKIz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf16da7a-38c8-4cef-9dec-75b73665f1a9_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af16da7a-38c8-4cef-9dec-75b73665f1a9_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74041,&quot;alt&quot;:&quot;The six Klaviyo RFM groups with their score combinations, from Champions at 333 to Inactive at 111&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The six Klaviyo RFM groups with their score combinations, from Champions at 333 to Inactive at 111" title="The six Klaviyo RFM groups with their score combinations, from Champions at 333 to Inactive at 111" srcset="/__u/substackcdn.com/image/fetch/$s_!OKIz!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf16da7a-38c8-4cef-9dec-75b73665f1a9_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!OKIz!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf16da7a-38c8-4cef-9dec-75b73665f1a9_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!OKIz!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf16da7a-38c8-4cef-9dec-75b73665f1a9_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!OKIz!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf16da7a-38c8-4cef-9dec-75b73665f1a9_1200x630.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Klaviyo's six RFM groups and the score combinations behind each one.</figcaption></figure></div><p>Here is how the scores are assigned.</p><ul><li><p><strong>Recency.</strong> 3 if they bought in the last 180 days, 2 if in the last 365, 1 if longer ago than that.</p></li><li><p><strong>Frequency.</strong> 3 for the top third of your customers by order count, usually three or more orders. 2 for the middle third, usually two. 1 for the bottom third, usually one.</p></li><li><p><strong>Monetary.</strong> 3 for the top third by total spend, 2 for the middle third, 1 for the bottom.</p></li></ul><p>Note the asymmetry. Recency uses fixed boundaries. Frequency and spend are percentiles of your own list, so the bar for being a top spender is set by your customers, and it moves as they change. Two brands with identical customers can have different Champions counts. That is the whole difference between this and the VIP segment somebody eyeballed.</p><h2>The groups are instructions</h2><p>Read the six groups as a set of instructions rather than a set of labels.</p><p>Needs Attention and At Risk look similar and are different problems. One holds a valuable customer who has stopped buying. The other holds a marginal customer on the way out. Sending both the same win-back email with the same discount is the mistake RFM exists to prevent.</p><p>The discount question is where the money is. A code sent to Champions buys nothing, since they were going to order anyway. The same code sent to At Risk might buy back a customer. Same offer, completely different economics, and until you can tell the two groups apart you are paying for both.</p><h2>Movement is worth more than membership</h2><p>When Klaviyo runs the report it writes three properties onto every profile: the current group, the previous group, and the date the group last changed.</p><p>Most people segment on the first one and stop. The other two are where the value is. A customer sitting in Champions needs nothing from you. A customer who was in Champions last month and is not this month is a situation, and one you can trigger a flow on the day it happens. Same in the other direction. Somebody who has just crossed from Loyal into Champions is a candidate for whatever you do for your best customers, and that transition is worth marking.</p><p>The properties refresh nightly. So each group stops being an audience you send to and becomes an event you respond to. That reframe has changed how I build retention programs more than any single flow has.</p><h2>How I use it</h2><p>The VIP tier is the obvious use, so start there and get past it.</p><p>The top group becomes a real VIP tier, with perks that are different rather than bigger, and its own landing page that feels like a different place. The segment decides who gets in. The experience is what makes it worth being in. Most VIP programs are a larger discount sent to a smaller list, which trains your best customers to wait for it.</p><p>A tier is one use of a six-group framework. Four more earn their place.</p><p><strong>Every group gets a flow, triggered by arrival.</strong> Each group is a segment, and entering it starts the sequence. Somebody who lands in At Risk gets the At Risk emails the day they land there, rather than whenever the next campaign happens to go out. The group stops being an audience you send to and becomes an event you respond to.</p><p><strong>One segment exists only to catch people moving up.</strong> It holds customers who have just crossed from Loyal into Champions, with a flow behind it. Klaviyo does not ship that. You define it because you have decided that transition is worth marking, and marking it is cheap.</p><p><strong>The groups leave the inbox.</strong> Champions and Loyal become the seed for lookalike audiences, since people who resemble your best customers are a better acquisition target than people who resemble everyone who has ever bought. The drifting groups go the other way, into retargeting.</p><p><strong>Predictive sits on top.</strong> RFM tells you which group somebody is in. Klaviyo's expected date of next order tells you roughly when they are due back. One gives you a reason to send and the other gives you a time. They come from the same data requirements, so if you qualify for one you qualify for both.</p><p>None of those four is a bigger discount, which is the point. RFM is worth having because it tells you who somebody is to your business. What you do with that ought to be more imaginative than a coupon.</p><h2>The catch, and the workaround</h2><p>Klaviyo's RFM report is a paid add-on. Even with the subscription it will not run until the account has at least 500 purchasing customers, 180 days of order history and some customers with three or more orders. That second barrier excludes a lot of the brands with the most to gain from this.</p><p>So I build it by hand, from ordinary segments. Recency is exact, since the segment builder can do "placed order zero times in the last 180 days" and that is Klaviyo's own boundary. Frequency is close: three or more orders, two, one. Spend is the awkward one, since the predictive property you would use carries the same 500 customer threshold.</p><p>This is the part Claude does, and it is the part I would not want to do by hand.</p><p>The hard part of building this yourself is knowing where the thresholds go. Two of the three axes are percentiles of your own list, and the segment builder will not tell you what your percentiles are. Through the Klaviyo connector Claude pulls the distribution of order counts and tells me where the thirds fall. One question, instead of an export and an afternoon in a spreadsheet.</p><p>Spend is the axis Klaviyo will not calculate for an account under its thresholds. Shopify has every order regardless. So Claude pulls the order history through the Shopify connector, groups it by customer, and takes the cutoffs from source. The number Klaviyo declined to give me was in the other system all along, and the job is joining the two.</p><p>One limit worth knowing: the Klaviyo connector reads segments but does not create them. So once the numbers are known, the six groups get entered by hand in the segment builder. Twenty minutes, once, and they maintain themselves.</p><h2>What you get before you send anything</h2><p>The shape of the six groups tells you what kind of business you are running. Lots of Recent and few Loyal: you are good at getting a first order and bad at getting a second. Lots of Needs Attention: you built something people liked and then stopped looking after them. Most brands I work with have never seen that picture, and it usually settles an argument they have been having for months.</p><p>The full build, with the exact score combinations for each group and the segment conditions, is on the blog: <a href="https://kingadow.com/blog/klaviyo-rfm-segmentation/">RFM Segmentation in Klaviyo, and How to Build It Without the Paid Tier</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">New posts on running e-commerce retention with Claude. Free.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Schedule Was Never the Product]]></title><description><![CDATA[Recurring work got tooling because recurring work could be billed monthly. Everything else got nothing. Then the same setup started doing both, and the split stopped making sense.]]></description><link>https://kinga168.substack.com/p/schedule-was-never-the-product</link><guid isPermaLink="false">https://kinga168.substack.com/p/schedule-was-never-the-product</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Wed, 12 Aug 2026 08:30:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rC22!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F391b5f99-84d9-4292-afd2-b2c80f1f8c7f_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I was about to write something on getting Klaviyo data into a Google Sheet, so I went to see what was already out there. I knew how I would do it. I wanted to know what everyone else was being told.</p><p>The first page of results was five different companies, each with a guide on how to connect Klaviyo to Google Sheets, each arriving at the same recommendation, which happened to be their own connector.</p><p>There is nothing shady about that. Klaviyo has no native Google Sheets integration, a gap exists, and companies filled it. The guides are genuinely good. They rank because somebody was paid to make them rank. Nobody is paying to explain the route I actually use.</p><p>What stayed with me was the pattern rather than the pricing. Five results, one recommendation, and the recommendation is always a subscription.</p><h2>What you are really buying</h2><p>A connector authenticates to your account, lets you choose fields, writes them into a sheet, and then refreshes on a schedule.</p><p>That last part is the product. The export is trivial. Klaviyo hands you a CSV in four clicks. What you are paying for is that it happens again next Monday without you.</p><p>Once I saw it that way I started seeing the same shape everywhere. Almost every tool I have ever bought was sold on recurrence. It runs weekly. It updates in real time. It syncs continuously. Recurrence is what turns software into a subscription, so recurrence is what gets built and what gets marketed.</p><p>Which shaped what exists. Anything worth repeating got tooling. Anything you needed once got nothing.</p><h2>The two kinds of work</h2><p>I went back through the last few months of client work and looked at what I had actually wanted to know.</p><p>Some of it repeated. The same performance picture, every week, for every send. That set is small and it barely changes.</p><p>The rest was one-offs, and the one-offs never came back in the same shape twice. A segment that looked wrong. A pattern in reorder timing. Whether the discount-led sends were training people to wait. There are more of these than anyone can plan for, and they are where most of the useful answers came from.</p><p>For years those two needs had completely different economics. The recurring set could justify a pipeline, because you build it once and it pays back weekly. The one-offs justified nothing. Each was too small to warrant setup, so I either did it by hand or skipped it.</p><p>Skipping is the expensive habit, and it is invisible. You never find out what the unasked questions would have told you.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">I write these up as I work through them. Free, roughly weekly.</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><h2>What changed</h2><p>Both sets got cheap at the same time, and that is the part I underrated.</p><p>Klaviyo has <a href="/__u/kinga168.substack.com/p/lesson-51-what-mcp-is-and-why-it">an MCP connector</a>. So does Google Drive. Connect them to Claude and you can ask for a specific cut of data in plain English, and get a sheet back that answers only that. No API work, no code, <a href="/__u/kinga168.substack.com/p/ai-email-design-token-cost">no new subscription</a>.</p><p>The same setup also <a href="/__u/kinga168.substack.com/p/claude-asana-campaign-briefs">runs on a schedule</a>. My weekly campaign report is built this way. Every send, with the list it went to, opens, click-through, revenue per recipient, spam complaints and unsubscribes. It runs on its own and fills in the gaps in the spreadsheet without me opening anything.</p><p>So the two things I had been treating as separate purchases turned out to be one thing. Ask once, or have it ask every Monday. Same connection, same plain English, different cadence.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!rC22!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F391b5f99-84d9-4292-afd2-b2c80f1f8c7f_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!rC22!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F391b5f99-84d9-4292-afd2-b2c80f1f8c7f_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!rC22!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F391b5f99-84d9-4292-afd2-b2c80f1f8c7f_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!rC22!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F391b5f99-84d9-4292-afd2-b2c80f1f8c7f_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rC22!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F391b5f99-84d9-4292-afd2-b2c80f1f8c7f_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!rC22!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F391b5f99-84d9-4292-afd2-b2c80f1f8c7f_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/391b5f99-84d9-4292-afd2-b2c80f1f8c7f_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:111495,&quot;alt&quot;:&quot;One connection made of Klaviyo MCP, Google Drive MCP and Claude, feeding two outputs. One is a weekly campaign report covering sends, list, opens, click-through, revenue per recipient, spam complaints and unsubscribes. The other is whatever question you have today.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="One connection made of Klaviyo MCP, Google Drive MCP and Claude, feeding two outputs. One is a weekly campaign report covering sends, list, opens, click-through, revenue per recipient, spam complaints and unsubscribes. The other is whatever question you have today." title="One connection made of Klaviyo MCP, Google Drive MCP and Claude, feeding two outputs. One is a weekly campaign report covering sends, list, opens, click-through, revenue per recipient, spam complaints and unsubscribes. The other is whatever question you have today." srcset="/__u/substackcdn.com/image/fetch/$s_!rC22!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F391b5f99-84d9-4292-afd2-b2c80f1f8c7f_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!rC22!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F391b5f99-84d9-4292-afd2-b2c80f1f8c7f_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!rC22!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F391b5f99-84d9-4292-afd2-b2c80f1f8c7f_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rC22!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F391b5f99-84d9-4292-afd2-b2c80f1f8c7f_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The same connection runs the Monday report and answers the one-off question. Only the frequency changes.</figcaption></figure></div><p>That collapsed the calculation I used to make. When pulling a custom cut took an afternoon, only questions that looked important justified the effort, and I had to guess in advance which ones those were. The ones that turned out to matter usually looked minor going in. Now the guess costs nothing, so I stopped making it.</p><h2>What replaced the test</h2><p>I used to ask whether I would need an answer again, because that decided whether it was worth building anything at all.</p><p>That has turned into a setting rather than a decision. How often do I want this? Once, weekly, monthly. Nothing about the answer changes, only how often it arrives.</p><p>Which makes the old split look like what it always was. Recurring work got tooling because recurring work could be billed monthly. One-off work got nothing, since nobody can sell a subscription to a question you ask once.</p><p>Most accounts I see still carry the shape of that. A standing report nobody reads, and a stack of unasked questions that would change what they do next quarter. The report exists because reports were the thing being sold. The questions went unasked because nothing was ever marketed as the answer to them.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/schedule-was-never-the-product?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Know someone maintaining a spreadsheet nobody opens?</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/schedule-was-never-the-product?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/schedule-was-never-the-product?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div><p>The connector companies are not wrong about their product. Plenty of people need a report that arrives on Monday, and they built a good way to get one.</p><p>The schedule was just never the thing you were buying. It was the billing model, and it shaped what got built for twenty years.</p>]]></content:encoded></item><item><title><![CDATA[Claude Designed My Video Brand in One Afternoon]]></title><description><![CDATA[One screenshot in, a full title system out: six pairings, nine script fonts, and a spec sheet my editor can use tomorrow.]]></description><link>https://kinga168.substack.com/p/claude-designed-my-video-brand-in</link><guid isPermaLink="false">https://kinga168.substack.com/p/claude-designed-my-video-brand-in</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Mon, 10 Aug 2026 08:15:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!t6mQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!t6mQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!t6mQ!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!t6mQ!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!t6mQ!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!t6mQ!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!t6mQ!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:115693,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/210464927?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!t6mQ!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!t6mQ!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!t6mQ!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!t6mQ!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ff85ca-7b15-457c-87ad-f2326d57920f_1600x900.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I gave Claude one screenshot and it designed my entire video title system.</p><p>Not a mood board. Not "here are some font ideas." A working system: hook cards, lower thirds, step cards, and an end card, all spec'd at 1080x1920 with exact sizes my video editor can use without asking me a single question.</p><p>Here's the whole process, including the parts where I pushed back.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Want more AI automation tactics for your e-commerce business? Subscribe for free.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>The brief was one screenshot</h2><p>I've been posting more video &#8212; Reels, Shorts, talking-head clips with captions. Every video needed a title card and I was eyeballing it in the editor every single time. Different fonts, different sizes, no system.</p><p>So I opened Claude Design, dropped in a single frame grab from a video whose style I liked, and typed one sentence: explore color and type pairings for my videos.</p><p>It didn't start designing. It asked questions first. What format &#8212; vertical, square, horizontal? What kind of videos? Which on-screen elements need a treatment &#8212; title cards, lower thirds, end cards? Where do they run?</p><p>Two minutes of tapping answers. Then it went to work with my actual design system attached &#8212; my navy, my gold, my sage, my Montserrat. Not a generic palette.</p><h2>Six pairings, same headline</h2><p>The first pass came back with six title card options. The detail that made them comparable: every card used the same headline. "Segment like a pro, in Klaviyo."</p><p>That sounds small. It isn't. When every option carries different copy, you end up judging the words instead of the design. Same words everywhere means you're only comparing type and color.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!9ToE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b82727-ad68-4d27-8d06-d91087673c39_1600x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!9ToE!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b82727-ad68-4d27-8d06-d91087673c39_1600x1120.png 424w, /__u/substackcdn.com/image/fetch/$s_!9ToE!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b82727-ad68-4d27-8d06-d91087673c39_1600x1120.png 848w, /__u/substackcdn.com/image/fetch/$s_!9ToE!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b82727-ad68-4d27-8d06-d91087673c39_1600x1120.png 1272w, /__u/substackcdn.com/image/fetch/$s_!9ToE!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b82727-ad68-4d27-8d06-d91087673c39_1600x1120.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!9ToE!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b82727-ad68-4d27-8d06-d91087673c39_1600x1120.png" width="1200" height="839.8351648351648" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5b82727-ad68-4d27-8d06-d91087673c39_1600x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:1019,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:158476,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/210464927?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b82727-ad68-4d27-8d06-d91087673c39_1600x1120.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!9ToE!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b82727-ad68-4d27-8d06-d91087673c39_1600x1120.png 424w, /__u/substackcdn.com/image/fetch/$s_!9ToE!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b82727-ad68-4d27-8d06-d91087673c39_1600x1120.png 848w, /__u/substackcdn.com/image/fetch/$s_!9ToE!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b82727-ad68-4d27-8d06-d91087673c39_1600x1120.png 1272w, /__u/substackcdn.com/image/fetch/$s_!9ToE!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b82727-ad68-4d27-8d06-d91087673c39_1600x1120.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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></p><p>Each card came with its own spec line: font, size, line height, hex codes. And each one had a drop zone where I could drag in a real frame grab from my footage to see the type over actual video, not a flat background.</p><h2>The script font fight</h2><p>One option matched my reference almost exactly. But the script font &#8212; the handwritten accent that says "in Klaviyo" &#8212; bothered me. I told Claude exactly that: we need a better script font.</p><p>It came back with nine candidates. Same lockup, same optical size, side by side. Under each one, a note I wouldn't have thought to ask for: how the font survives Reels compression. Thin scripts fall apart when Instagram crunches your video. Two of the nine got flagged for exactly that.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!2wsL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5e9e0e-1364-424b-a4a4-25c18bc2e241_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!2wsL!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5e9e0e-1364-424b-a4a4-25c18bc2e241_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!2wsL!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5e9e0e-1364-424b-a4a4-25c18bc2e241_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!2wsL!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5e9e0e-1364-424b-a4a4-25c18bc2e241_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!2wsL!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5e9e0e-1364-424b-a4a4-25c18bc2e241_1600x900.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!2wsL!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5e9e0e-1364-424b-a4a4-25c18bc2e241_1600x900.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a5e9e0e-1364-424b-a4a4-25c18bc2e241_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:152317,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/210464927?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5e9e0e-1364-424b-a4a4-25c18bc2e241_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!2wsL!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5e9e0e-1364-424b-a4a4-25c18bc2e241_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!2wsL!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5e9e0e-1364-424b-a4a4-25c18bc2e241_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!2wsL!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5e9e0e-1364-424b-a4a4-25c18bc2e241_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!2wsL!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5e9e0e-1364-424b-a4a4-25c18bc2e241_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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 picked Kaushan Script. It took about two minutes, and the choice swapped through every card automatically.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/claude-designed-my-video-brand-in?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Know someone drowning in manual tasks? Share this with them.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/claude-designed-my-video-brand-in?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/claude-designed-my-video-brand-in?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div><div><hr></div><h2>Three fonts, three jobs</h2><p>By the third round we had a locked system:</p><ul><li><p><strong>Anton</strong> carries the hook. Uppercase, huge, always gold on navy.</p></li><li><p><strong>Montserrat</strong> carries everything that has to be read. Captions, CTAs, eyebrow text.</p></li><li><p><strong>Kaushan</strong> is the one handwritten accent per frame. Never a full sentence.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!LOL1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d8246-5c15-4c23-91ed-184753324407_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!LOL1!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d8246-5c15-4c23-91ed-184753324407_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!LOL1!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d8246-5c15-4c23-91ed-184753324407_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!LOL1!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d8246-5c15-4c23-91ed-184753324407_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!LOL1!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d8246-5c15-4c23-91ed-184753324407_1600x900.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!LOL1!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d8246-5c15-4c23-91ed-184753324407_1600x900.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d9d8246-5c15-4c23-91ed-184753324407_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:130507,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/210464927?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d8246-5c15-4c23-91ed-184753324407_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!LOL1!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d8246-5c15-4c23-91ed-184753324407_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!LOL1!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d8246-5c15-4c23-91ed-184753324407_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!LOL1!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d8246-5c15-4c23-91ed-184753324407_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!LOL1!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d8246-5c15-4c23-91ed-184753324407_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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>Claude wrote the usage rules without being asked. Minimum sizes. Color roles &#8212; Anton is always gold, Kaushan is always white, never the reverse. Safe margins so the Reels UI never covers the text.</p><h2>Then it spec'd the whole kit</h2><p>Once the hook card was locked, I asked for the rest: lower third, step card, end card.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!y2C9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bb7975-0fc2-4c94-9d5f-6ec41886fe40_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!y2C9!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bb7975-0fc2-4c94-9d5f-6ec41886fe40_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!y2C9!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bb7975-0fc2-4c94-9d5f-6ec41886fe40_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!y2C9!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bb7975-0fc2-4c94-9d5f-6ec41886fe40_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!y2C9!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bb7975-0fc2-4c94-9d5f-6ec41886fe40_1600x900.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!y2C9!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bb7975-0fc2-4c94-9d5f-6ec41886fe40_1600x900.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45bb7975-0fc2-4c94-9d5f-6ec41886fe40_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:102942,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/210464927?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bb7975-0fc2-4c94-9d5f-6ec41886fe40_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!y2C9!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bb7975-0fc2-4c94-9d5f-6ec41886fe40_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!y2C9!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bb7975-0fc2-4c94-9d5f-6ec41886fe40_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!y2C9!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bb7975-0fc2-4c94-9d5f-6ec41886fe40_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!y2C9!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bb7975-0fc2-4c94-9d5f-6ec41886fe40_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is where it got genuinely useful. Two decisions it made on its own:</p><p>The lower third has no script font at all. Claude flagged that a handwritten accent collides with burned-in captions, so it dropped it there. That's a judgment call I'd expect from a designer, not a chat window.</p><p>The end card is flat navy with no footage behind it, because my brand rules say no photography as background. It read my design system and followed it.</p><p>Every frame came with real 1080x1920 numbers. Anton 192px over two lines. Kaushan 126 with a 48px overlap. Eyebrow 120px off the bottom so the platform UI never covers it. My editor gets a spec sheet, not a vibe.</p><h2>What I'd tell you to steal</h2><p>If you try this yourself:</p><ol><li><p><strong>Bring a reference.</strong> One screenshot of something you like beats three paragraphs of description.</p></li><li><p><strong>Attach your design system first.</strong> The whole exercise works because every option stayed inside my colors. Without that anchor you get generic output.</p></li><li><p><strong>Push back in plain language.</strong> "We need a better script font" was enough. You don't need design vocabulary.</p></li><li><p><strong>Ask for the spec, not just the picture.</strong> The numbers are what make it usable next week.</p></li></ol><p>The whole thing &#8212; exploration, revisions, final specs, plus a LinkedIn carousel about the process &#8212; took one afternoon.</p><p>I break down a build like this one every week. Come along.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/subscribe&quot;,&quot;text&quot;:&quot;Become a Member &#8212; $5/month&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/subscribe"><span>Become a Member &#8212; $5/month</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[How Claude Builds a Month of Campaigns in Asana]]></title><description><![CDATA[Eight hours of manual setup down to under an hour. A walkthrough of the board Claude builds, and the three mechanics that hold it together.]]></description><link>https://kinga168.substack.com/p/claude-asana-campaign-briefs</link><guid isPermaLink="false">https://kinga168.substack.com/p/claude-asana-campaign-briefs</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Sat, 08 Aug 2026 11:37:48 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/183821597/add9a65cf5215cacedb7f365a6a6aa52.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Setting up a month of email campaigns in Asana used to take me hours. I now do the same month in under an hour.</p><p>The hours went on typing. Twenty-two campaigns, and every one of them needed a brief for the copy, a brief for the design, a testing checklist for the Klaviyo build, deliverables for client review, and segment logic for deployment. Then due dates across all of it. Then the dependencies between all of it. Then the whole thing again the following month, from nothing.</p><h2>How Claude builds the board</h2><p>Three mechanics replaced that work:</p><ul><li><p>Claude writes every brief, with specifications a designer can open and start from.</p></li><li><p>Due dates calculate backward from the send date.</p></li><li><p>Each subtask stays locked until the one before it closes, so design never begins on copy that is still moving.</p></li></ul><p>I walk through the full board above. Five minutes.</p><h2>Where the campaign data ends up</h2><p>One thing to add, since it happens after the walkthrough ends. Data comes back into the board. Claude reads Klaviyo and writes each campaign's revenue into its own record, and the Figma link lands in the design task once the design is finished. By the end of a cycle, one record holds the campaign details, the copy, the design, the revenue, the campaign type and the segments it went to.</p><p>That is six things that normally sit in five tools with no connection between them. Asana, Klaviyo, Shopify and Figma each answer their own question, and none of them answers mine. With all of it in one place Claude can read, I ask about the month instead of opening four tabs and reconciling by eye.</p><p>The next stage after this one is the build itself. I wrote up <a href="/__u/kinga168.substack.com/p/figma-klaviyo-claude-email-system">how Claude builds my Klaviyo emails from the Figma files</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">I write up these builds as I make them. Free.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/claude-asana-campaign-briefs?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Know someone rebuilding this same board every month?</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/claude-asana-campaign-briefs?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/claude-asana-campaign-briefs?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[The real cost of AI-assisted email design]]></title><description><![CDATA[Someone said building email layouts with Claude burns a lot of tokens. They're right, without a system. Here's what actually drives the bill, and what fixed it.]]></description><link>https://kinga168.substack.com/p/ai-email-design-token-cost</link><guid isPermaLink="false">https://kinga168.substack.com/p/ai-email-design-token-cost</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Tue, 04 Aug 2026 08:15:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ntwm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0970c6e4-6bd4-49b0-bf28-1d77b73ef666_1200x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Someone commented on one of my posts that building email layouts in Figma with Claude burns a lot of tokens.</p><p>They&#8217;re right. It does, if you work the way I worked in June.</p><p>I spent one session that month building the same email five different ways. Every attempt started the same: read the Figma file, walk the component tree, guess at which property controls which thing, screenshot it, get it wrong, correct it. By the end I had a decent email and a bill that made no sense for what I&#8217;d produced.</p><p>The design was never the expensive part. The rediscovery was.</p><p>What I want to do here is explain exactly where the money goes in an AI-assisted design workflow, because once you see the mechanism, the fix is obvious and most people are optimizing the wrong thing.</p><p><em>Want more of these breakdowns? Subscribe for free.</em></p><div><hr></div><h2>Cost tracks turns, not complexity</h2><p>Here is the thing almost nobody accounts for when they start using AI for production work.</p><p>Every call to the model re-sends the entire conversation up to that point. The model has no memory between calls. So each time you say &#8220;now change the headline,&#8221; you are also silently re-sending everything that came before it, and you pay for all of it again.</p><p>Which means cost doesn&#8217;t grow in a straight line. It grows on a curve.</p><p>Walk through it with round numbers. Say every turn adds 1,000 tokens.</p><ul><li><p>Turn 1: you send 1,000. You pay for 1,000.</p></li><li><p>Turn 2: you send 2,000. Running total 3,000.</p></li><li><p>Turn 3: you send 3,000. Running total 6,000.</p></li><li><p>Turn 20: you send 20,000. Running total <strong>210,000</strong>.</p></li></ul><p>Twenty turns of a thousand tokens each isn&#8217;t 20,000 tokens. It&#8217;s 210,000. Step nineteen pays for everything before it, and step twenty pays for that.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ntwm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0970c6e4-6bd4-49b0-bf28-1d77b73ef666_1200x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ntwm!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0970c6e4-6bd4-49b0-bf28-1d77b73ef666_1200x700.png 424w, /__u/substackcdn.com/image/fetch/$s_!ntwm!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0970c6e4-6bd4-49b0-bf28-1d77b73ef666_1200x700.png 848w, /__u/substackcdn.com/image/fetch/$s_!ntwm!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0970c6e4-6bd4-49b0-bf28-1d77b73ef666_1200x700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ntwm!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0970c6e4-6bd4-49b0-bf28-1d77b73ef666_1200x700.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ntwm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0970c6e4-6bd4-49b0-bf28-1d77b73ef666_1200x700.png" width="1200" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0970c6e4-6bd4-49b0-bf28-1d77b73ef666_1200x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Line chart: cumulative billed tokens across 20 turns reaches 210,000, versus a 20,000 per-step estimate&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Line chart: cumulative billed tokens across 20 turns reaches 210,000, versus a 20,000 per-step estimate" title="Line chart: cumulative billed tokens across 20 turns reaches 210,000, versus a 20,000 per-step estimate" srcset="/__u/substackcdn.com/image/fetch/$s_!ntwm!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0970c6e4-6bd4-49b0-bf28-1d77b73ef666_1200x700.png 424w, /__u/substackcdn.com/image/fetch/$s_!ntwm!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0970c6e4-6bd4-49b0-bf28-1d77b73ef666_1200x700.png 848w, /__u/substackcdn.com/image/fetch/$s_!ntwm!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0970c6e4-6bd4-49b0-bf28-1d77b73ef666_1200x700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ntwm!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0970c6e4-6bd4-49b0-bf28-1d77b73ef666_1200x700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="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://www.augmentcode.com/guides/ai-agent-loop-token-cost-context-constraints">Augment Code ran the numbers on this</a> with a real agent loop. Their ten-step file-reading agent burned 472,500 input tokens. The same work in a single pass took 9,000. That&#8217;s a 43x difference, and the output was the same.</p><p><strong>So &#8220;expensive&#8221; doesn&#8217;t mean what you think it means.</strong> A big email is not expensive. A long conversation about a small email is expensive.</p><p>That reframes the whole problem. You are not trying to make the work smaller. You are trying to make the <em>conversation</em> shorter.</p><div><hr></div><h2>Two kinds of turns, and they don&#8217;t cost the same</h2><p>Once you know turns are the unit of cost, the next question is which turns you can delete.</p><p>They split cleanly into two types.</p><p><strong>Writing is cheap.</strong> &#8220;Set this headline to that.&#8221; &#8220;Swap this price to $54.95.&#8221; &#8220;Hide this section.&#8221; These instructions are a handful of tokens each, and they are the actual work. This is the part that produces the email.</p><p><strong>Reading is where the money goes.</strong> Asking the model to look at a Figma frame and understand it means pulling the entire structure of that frame into context. Every node, every property, every nested component instance, every variant. On a real email template that is an enormous amount of text, and Figma&#8217;s own documentation warns that <a href="https://help.figma.com/hc/en-us/articles/32132100833559-Guide-to-the-Figma-MCP-server">without tight scoping, requests get slower and more token-hungry as the file grows</a>.</p><p>One discovery read can cost more than the entire build that follows it.</p><p>And here&#8217;s the part that should bother you: without a system, you do that read at the start of every single email. Every month, you pay full price to teach the model things it already worked out last month. The knowledge evaporates the moment the session ends.</p><div><hr></div><h2>The third cost is being wrong</h2><p>There&#8217;s a cost most people don&#8217;t count at all, and in my June session it was the biggest one.</p><p>Wrong guesses.</p><p>A bad guess doesn&#8217;t cost you one turn. It costs you three: the turn where you do the wrong thing, the turn where you notice, and the turn where you fix it. Then, because of the re-billing curve above, all three of those turns get charged again by every turn that follows them for the rest of the session.</p><p>Without a system you don&#8217;t only take more turns. You take more <em>wrong</em> turns, and they compound faster than the useful ones.</p><p>In my case one client&#8217;s Figma file has two components with errors in them. Any attempt to read their properties hangs for about sixty seconds and then fails. I discovered this the expensive way, several times, before I wrote it down.</p><p>Now it&#8217;s in the file. Line item. Don&#8217;t read these two, edit their text directly instead. That single sentence has probably saved more than the rest of the document combined.</p><p><em>If this is useful so far, share it with someone who&#8217;s building with AI.</em></p><div><hr></div><h2>Where the tokens sit matters as much as how many</h2><p>This is the part I appreciated late, and it makes the gap wider than the raw token counts suggest.</p><p>Anthropic caches parts of your prompt. <a href="https://platform.claude.com/docs/en/docs/build-with-claude/prompt-caching">Per their documentation</a>, re-reading cached content costs <strong>0.1x</strong> the normal input price. One tenth. Writing to the cache costs slightly more than normal the first time (1.25x), then you&#8217;re reading at 10% from then on.</p><p>But there&#8217;s a condition, and the condition is everything.</p><p>The cached content has to be a <strong>stable prefix</strong>. It sits at the top of the conversation and it has to be byte-identical every time. Anything that changes invalidates the cache at that level and everything after it as well.</p><p>Now look at the two ways of working.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!KwU_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfd0c57-884b-44ad-9267-4be7d8d22311_1200x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!KwU_!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfd0c57-884b-44ad-9267-4be7d8d22311_1200x700.png 424w, /__u/substackcdn.com/image/fetch/$s_!KwU_!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfd0c57-884b-44ad-9267-4be7d8d22311_1200x700.png 848w, /__u/substackcdn.com/image/fetch/$s_!KwU_!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfd0c57-884b-44ad-9267-4be7d8d22311_1200x700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!KwU_!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfd0c57-884b-44ad-9267-4be7d8d22311_1200x700.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!KwU_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfd0c57-884b-44ad-9267-4be7d8d22311_1200x700.png" width="1200" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6dfd0c57-884b-44ad-9267-4be7d8d22311_1200x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Diagram comparing a discovery-heavy context window against a system build where a stable 4,000 token file is cached at 10 percent&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram comparing a discovery-heavy context window against a system build where a stable 4,000 token file is cached at 10 percent" title="Diagram comparing a discovery-heavy context window against a system build where a stable 4,000 token file is cached at 10 percent" srcset="/__u/substackcdn.com/image/fetch/$s_!KwU_!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfd0c57-884b-44ad-9267-4be7d8d22311_1200x700.png 424w, /__u/substackcdn.com/image/fetch/$s_!KwU_!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfd0c57-884b-44ad-9267-4be7d8d22311_1200x700.png 848w, /__u/substackcdn.com/image/fetch/$s_!KwU_!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfd0c57-884b-44ad-9267-4be7d8d22311_1200x700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!KwU_!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dfd0c57-884b-44ad-9267-4be7d8d22311_1200x700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>A system file is stable by definition.</strong> It&#8217;s a document. It doesn&#8217;t change between builds. It loads once at the top of the conversation and every single turn after that re-reads it at a tenth of the price.</p><p><strong>Discovery is the exact opposite.</strong> It&#8217;s different every time, it lands in the middle of the message history rather than at the top, and when it changes it takes the cacheability of everything after it down with it.</p><p>So the system approach doesn&#8217;t only use fewer tokens. It puts the tokens it does use in the position that costs 90% less to re-read, while the discovery approach puts them in the worst possible position.</p><p>One note on honesty here: the default cache lifetime is five minutes, with a one-hour option. That covers an active build session comfortably. It does not carry across months. So the saving is real within a build, not between them.</p><div><hr></div><h2>What I built instead</h2><p>None of this required anything exotic. It required writing things down.</p><p>The system has three parts.</p><p><strong>One, a component library in Figma.</strong> Product card, section header, hero, price tier row, testimonial, divider, trust badges. Each exists once as a master with named properties. Nothing gets hand-built if a component covers it.</p><p><strong>Two, matching blocks on the Klaviyo side.</strong> Every Figma component has a counterpart in how the template gets assembled. The Figma frame isn&#8217;t a picture of the email. It&#8217;s the same object one step earlier.</p><p><strong>Three, and this is the part people skip, a written build file.</strong> The library is not the system. The library plus the document that explains it is the system.</p><p>That document contains the things that are otherwise expensive to rediscover:</p><ul><li><p>Which campaign type clones which existing frame</p></li><li><p>The exact node IDs of every master component</p></li><li><p>The property key for every editable field</p></li><li><p>Which components are broken and how to work around them</p></li><li><p>Where product prices and URLs get verified from</p></li><li><p>What claims are banned in the copy</p></li><li><p>The QA checklist before handoff</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!T9Ij!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9d97c4-7ae8-458c-a320-133d70f13c84_1400x790.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!T9Ij!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9d97c4-7ae8-458c-a320-133d70f13c84_1400x790.png 424w, /__u/substackcdn.com/image/fetch/$s_!T9Ij!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9d97c4-7ae8-458c-a320-133d70f13c84_1400x790.png 848w, /__u/substackcdn.com/image/fetch/$s_!T9Ij!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9d97c4-7ae8-458c-a320-133d70f13c84_1400x790.png 1272w, /__u/substackcdn.com/image/fetch/$s_!T9Ij!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9d97c4-7ae8-458c-a320-133d70f13c84_1400x790.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!T9Ij!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9d97c4-7ae8-458c-a320-133d70f13c84_1400x790.png" width="1400" height="790" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b9d97c4-7ae8-458c-a320-133d70f13c84_1400x790.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:790,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Redacted component map table from the build file, listing components, property keys and known issues including two broken masters that hang on read&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Redacted component map table from the build file, listing components, property keys and known issues including two broken masters that hang on read" title="Redacted component map table from the build file, listing components, property keys and known issues including two broken masters that hang on read" srcset="/__u/substackcdn.com/image/fetch/$s_!T9Ij!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9d97c4-7ae8-458c-a320-133d70f13c84_1400x790.png 424w, /__u/substackcdn.com/image/fetch/$s_!T9Ij!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9d97c4-7ae8-458c-a320-133d70f13c84_1400x790.png 848w, /__u/substackcdn.com/image/fetch/$s_!T9Ij!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9d97c4-7ae8-458c-a320-133d70f13c84_1400x790.png 1272w, /__u/substackcdn.com/image/fetch/$s_!T9Ij!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9d97c4-7ae8-458c-a320-133d70f13c84_1400x790.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It&#8217;s about 4,000 tokens. It loads once at the start of a build and the build goes straight to swapping content. No looking around.</p><p>Section five of mine is literally titled <strong>&#8220;Writes, not reads.&#8221;</strong> That&#8217;s the whole thesis in three words.</p><p>Anthropic&#8217;s own guidance on this points the same direction. In their <a href="https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents">context engineering guide</a> they note that &#8220;runtime exploration is slower than retrieving pre-computed data,&#8221; and recommend a hybrid that retrieves some context up front. The build file <em>is</em> the pre-computed data.</p><div><hr></div><h2>The Klaviyo half: don&#8217;t build what already exists</h2><p>There&#8217;s a saving on the Klaviyo side that has nothing to do with tokens, and it&#8217;s the one I&#8217;d implement first if you&#8217;re starting from scratch, because it&#8217;s free.</p><p>Klaviyo has universal blocks. Save a block once and it&#8217;s available across every template in the account.</p><p>So the header and footer never get built. Not by me, not by Claude, not ever again. They already exist. They get dropped into the editor at the end.</p><p>The template that actually gets constructed is only the part of the email that is genuinely new that month, which is usually just the middle section.</p><p>For scale: the footer alone is around 10KB of the rendered email. That&#8217;s 10KB nobody has to assemble, review, or QA, every single send.</p><p>One practical warning, learned the hard way and now written into my build file: once a universal block has been added to a template in the editor, API edits to that template start failing. So the order matters. Build the template, make every programmatic edit, then add the universal blocks last.</p><div><hr></div><h2>The argument that isn&#8217;t about money</h2><p>I&#8217;ve spent this whole piece on cost because that was the objection. But the cost argument is not actually the strongest one.</p><p>Models get worse as context fills up.</p><p>Anthropic describes the mechanism plainly: transformers create &#8220;n&#178; pairwise relationships for n tokens,&#8221; and every token you add competes for attention with every other token. They call the result <strong>context rot</strong>. Performance degrades as the window fills, and it degrades before you hit any hard limit.</p><p>Sit with what that means for a discovery-heavy build.</p><p>You open the session by dumping an enormous, mostly irrelevant description of a Figma file into context. Then you try to do careful, detailed work inside the remains of that window, with the model&#8217;s attention already spread across thousands of tokens of component tree it will never need again.</p><p>The discovery-heavy build is not just the more expensive way to produce the email. <strong>It&#8217;s the way that produces the worse email.</strong></p><p>That&#8217;s the reason I&#8217;d keep the system even if tokens were free.</p><div><hr></div><h2>If you&#8217;re starting from nothing</h2><p>The order that worked for me, in decreasing order of return:</p><ol><li><p><strong>Set up universal blocks in Klaviyo first.</strong> Header, footer, anything repeated. Costs nothing, saves work immediately, no AI involved.</p></li><li><p><strong>Build the Figma components you use more than twice.</strong> Don&#8217;t try to anticipate everything. Let the third repetition tell you what deserves to be a component.</p></li><li><p><strong>Write down what you learn the moment you learn it.</strong> Node IDs, property names, the thing that broke. This is the step that pays back most, and it feels like admin, which is why people skip it.</p></li><li><p><strong>Record your failures explicitly.</strong> &#8220;Don&#8217;t read component X, it hangs&#8221; is worth more than most of the positive instructions in my file.</p></li><li><p><strong>Then let the model work from the document</strong>, not from the file.</p></li></ol><p>Here&#8217;s the skeleton, stripped of anything client-specific. Steal it.</p><pre><code><code># [Client] Email Build

## Preflight
- Where the brief comes from; what to take from it, what to ignore
- How to confirm the right file is open before doing anything
- Where new frames go on the canvas

## Campaign type to clone source
| Campaign type   | Frame to clone   |
|-----------------|------------------|
| Product roundup | [node id]        |
| Sale / promo    | [node id]        |
| Testimonial     | [node id]        |

## Component map
| Component | Master ID | Property keys | Known issues |

## Data truth
- Where prices, stock, and URLs get verified
- Claims that are banned in copy

## Execution rules
- Writes, not reads
- One concern per call
- Verify with a screenshot, never with a read

## QA checklist
- [ ] Brand tokens correct
- [ ] Every link verified live
- [ ] No leftover template copy
</code></code></pre><p>Five headings. That&#8217;s it. Mine grew to 4,000 tokens over several months of client work, one hard-won line at a time.</p><div><hr></div><p>I didn&#8217;t build any of this to save tokens. I built it so that no campaign would start from nothing, and so that the same email would come out the same way twice.</p><p>The token part turned out to be a side effect of the same decision.</p><p><em>Found this useful? Subscribe for free, and forward it to whoever on your team is about to learn this the expensive way.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/subscribe"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Ten evergreen emails every e-commerce brand should be running]]></title><description><![CDATA[They don't depend on a season, a sale, or a countdown. Together they keep you visible, remove friction, reward the people who stay, and keep the list healthy.]]></description><link>https://kinga168.substack.com/p/ten-evergreen-emails</link><guid isPermaLink="false">https://kinga168.substack.com/p/ten-evergreen-emails</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Sun, 02 Aug 2026 08:31:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Xlwj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Evergreen emails don&#8217;t rely on the season, a sale, or a countdown to work. They earn attention on their own, which means you can send them any month of the year.</p><p>Used together they do more than fill a calendar. They keep you visible, remove friction, reward the people who stay, and keep the list healthy enough to sell to when it matters.</p><p>Every example in this post is live client work, built in Klaviyo.</p><h2>Stay visible</h2><h3>1. Content emails</h3><p>A content email turns work you&#8217;ve already produced into a campaign.</p><p>It&#8217;s the easiest slot in the calendar to fill. Lead with your strongest recent post, keep the list short, and send the traffic back to the site.</p><p>The right layout depends on how much you publish. A brand posting weekly needs a different structure than one posting twice a year.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Xlwj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Xlwj!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!Xlwj!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!Xlwj!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!Xlwj!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Xlwj!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:241475,&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://kinga168.substack.com/i/209151868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Xlwj!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!Xlwj!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!Xlwj!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!Xlwj!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f67060-7c4b-42a2-b154-20a89e752ef5_1920x1080.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></p><h3>2. Follow us on socials</h3><p>Social gives you a way to stay present between sends, and a second route to the same customer if the inbox goes quiet.</p><p>The ask works when you tell people what they&#8217;ll actually get there. Behind the scenes, community, first look. Not just a row of icons.</p><p>These examples all lead with the reason to follow, then the icons.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!242k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b4d8f2e-ae17-4cbf-95a5-736d7cbec669_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!242k!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b4d8f2e-ae17-4cbf-95a5-736d7cbec669_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!242k!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b4d8f2e-ae17-4cbf-95a5-736d7cbec669_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!242k!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b4d8f2e-ae17-4cbf-95a5-736d7cbec669_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!242k!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b4d8f2e-ae17-4cbf-95a5-736d7cbec669_1920x1080.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!242k!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b4d8f2e-ae17-4cbf-95a5-736d7cbec669_1920x1080.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b4d8f2e-ae17-4cbf-95a5-736d7cbec669_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:228443,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/209151868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b4d8f2e-ae17-4cbf-95a5-736d7cbec669_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!242k!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b4d8f2e-ae17-4cbf-95a5-736d7cbec669_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!242k!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b4d8f2e-ae17-4cbf-95a5-736d7cbec669_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!242k!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b4d8f2e-ae17-4cbf-95a5-736d7cbec669_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!242k!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b4d8f2e-ae17-4cbf-95a5-736d7cbec669_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>3. SMS sign-up</h3><p>Your email list is the best place to build your SMS list. The audience is already engaged and already trusts you.</p><p>The ask works when the incentive is genuinely SMS only. Early access, a drop, or a code they can&#8217;t get anywhere else.</p><p>Every example here makes the keyword impossible to miss. That&#8217;s the whole design job.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!3HRQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f4b379-f206-449e-bb24-e22a2e222bf6_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!3HRQ!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f4b379-f206-449e-bb24-e22a2e222bf6_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!3HRQ!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f4b379-f206-449e-bb24-e22a2e222bf6_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!3HRQ!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f4b379-f206-449e-bb24-e22a2e222bf6_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!3HRQ!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f4b379-f206-449e-bb24-e22a2e222bf6_1920x1080.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!3HRQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f4b379-f206-449e-bb24-e22a2e222bf6_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74f4b379-f206-449e-bb24-e22a2e222bf6_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:242613,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/209151868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f4b379-f206-449e-bb24-e22a2e222bf6_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!3HRQ!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f4b379-f206-449e-bb24-e22a2e222bf6_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!3HRQ!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f4b379-f206-449e-bb24-e22a2e222bf6_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!3HRQ!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f4b379-f206-449e-bb24-e22a2e222bf6_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!3HRQ!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f4b379-f206-449e-bb24-e22a2e222bf6_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Remove friction</h2><h3>4. AfterPay, Klarna, Sezzle</h3><p>Buy now, pay later is already on your site. An email explaining how it works turns it into a reason to buy.</p><p>It builds confidence before checkout and answers the question your support inbox keeps getting.</p><p>Every version here answers the same thing: what happens after I click?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!-X3V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0159c68-1c2e-452a-8291-1afce08e30c1_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!-X3V!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0159c68-1c2e-452a-8291-1afce08e30c1_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!-X3V!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0159c68-1c2e-452a-8291-1afce08e30c1_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!-X3V!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0159c68-1c2e-452a-8291-1afce08e30c1_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!-X3V!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0159c68-1c2e-452a-8291-1afce08e30c1_1920x1080.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!-X3V!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0159c68-1c2e-452a-8291-1afce08e30c1_1920x1080.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0159c68-1c2e-452a-8291-1afce08e30c1_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:244619,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/209151868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0159c68-1c2e-452a-8291-1afce08e30c1_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!-X3V!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0159c68-1c2e-452a-8291-1afce08e30c1_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!-X3V!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0159c68-1c2e-452a-8291-1afce08e30c1_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!-X3V!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0159c68-1c2e-452a-8291-1afce08e30c1_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!-X3V!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0159c68-1c2e-452a-8291-1afce08e30c1_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>5. Testimonial emails</h3><p>You&#8217;ve already earned the reviews. A testimonial email puts them in front of the people who haven&#8217;t reached your product pages yet.</p><p>It answers hesitation in a customer&#8217;s voice rather than your own, which is the version people believe.</p><p>Pick the review that names the hesitation, not the one with the most stars.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!XTC6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac2a7b1-a8ee-4718-a8d3-b0c6fc140ec0_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!XTC6!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac2a7b1-a8ee-4718-a8d3-b0c6fc140ec0_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!XTC6!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac2a7b1-a8ee-4718-a8d3-b0c6fc140ec0_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!XTC6!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac2a7b1-a8ee-4718-a8d3-b0c6fc140ec0_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!XTC6!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac2a7b1-a8ee-4718-a8d3-b0c6fc140ec0_1920x1080.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!XTC6!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac2a7b1-a8ee-4718-a8d3-b0c6fc140ec0_1920x1080.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bac2a7b1-a8ee-4718-a8d3-b0c6fc140ec0_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:308162,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/209151868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac2a7b1-a8ee-4718-a8d3-b0c6fc140ec0_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!XTC6!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac2a7b1-a8ee-4718-a8d3-b0c6fc140ec0_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!XTC6!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac2a7b1-a8ee-4718-a8d3-b0c6fc140ec0_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!XTC6!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac2a7b1-a8ee-4718-a8d3-b0c6fc140ec0_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!XTC6!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac2a7b1-a8ee-4718-a8d3-b0c6fc140ec0_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Reward</h2><h3>6. Birthday emails</h3><p>Birthday campaigns are the most personal send in the calendar, and one of the few customers look forward to.</p><p>The work is in the capture. A preference center or a birthday club invite gets you the date plus everything else worth knowing, without slowing down signup.</p><p>That&#8217;s what these are really doing. The gift is the reason to fill in the form.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!CPWM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52633731-85a8-46d4-9e0e-6bcb7fa9a932_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!CPWM!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52633731-85a8-46d4-9e0e-6bcb7fa9a932_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!CPWM!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52633731-85a8-46d4-9e0e-6bcb7fa9a932_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!CPWM!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52633731-85a8-46d4-9e0e-6bcb7fa9a932_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!CPWM!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52633731-85a8-46d4-9e0e-6bcb7fa9a932_1920x1080.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!CPWM!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52633731-85a8-46d4-9e0e-6bcb7fa9a932_1920x1080.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52633731-85a8-46d4-9e0e-6bcb7fa9a932_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:247471,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/209151868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52633731-85a8-46d4-9e0e-6bcb7fa9a932_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!CPWM!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52633731-85a8-46d4-9e0e-6bcb7fa9a932_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!CPWM!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52633731-85a8-46d4-9e0e-6bcb7fa9a932_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!CPWM!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52633731-85a8-46d4-9e0e-6bcb7fa9a932_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!CPWM!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52633731-85a8-46d4-9e0e-6bcb7fa9a932_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>7. Loyalty</h3><p>Loyalty emails work hardest when the reward changes with the tier.</p><p>Look at the two versions here. Same offer, same design, different multiplier, sent to different member levels. The email does the segmenting.</p><p>Points balance, ways to earn, and what the points are actually worth. Show all three or the program stays theoretical.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!NH3y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297e0ae4-b156-4977-8a08-b740a9cf8f73_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!NH3y!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297e0ae4-b156-4977-8a08-b740a9cf8f73_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!NH3y!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297e0ae4-b156-4977-8a08-b740a9cf8f73_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!NH3y!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297e0ae4-b156-4977-8a08-b740a9cf8f73_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!NH3y!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297e0ae4-b156-4977-8a08-b740a9cf8f73_1920x1080.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!NH3y!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297e0ae4-b156-4977-8a08-b740a9cf8f73_1920x1080.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/297e0ae4-b156-4977-8a08-b740a9cf8f73_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:267430,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/209151868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297e0ae4-b156-4977-8a08-b740a9cf8f73_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!NH3y!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297e0ae4-b156-4977-8a08-b740a9cf8f73_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!NH3y!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297e0ae4-b156-4977-8a08-b740a9cf8f73_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!NH3y!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297e0ae4-b156-4977-8a08-b740a9cf8f73_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!NH3y!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297e0ae4-b156-4977-8a08-b740a9cf8f73_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Advocate</h2><h3>8. Ambassador emails</h3><p>Your best customers are already recommending you. An ambassador email gives them a reason to do it publicly.</p><p>Be specific about the exchange. What they get, what you&#8217;re asking for, and how to start.</p><p>These all lead with the invitation rather than the application form. The ask should feel like a compliment.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Ltk8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72b4592-208d-4db7-bdfc-3b01713244ca_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Ltk8!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72b4592-208d-4db7-bdfc-3b01713244ca_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!Ltk8!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72b4592-208d-4db7-bdfc-3b01713244ca_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!Ltk8!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72b4592-208d-4db7-bdfc-3b01713244ca_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!Ltk8!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72b4592-208d-4db7-bdfc-3b01713244ca_1920x1080.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Ltk8!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72b4592-208d-4db7-bdfc-3b01713244ca_1920x1080.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a72b4592-208d-4db7-bdfc-3b01713244ca_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:277298,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/209151868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72b4592-208d-4db7-bdfc-3b01713244ca_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Ltk8!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72b4592-208d-4db7-bdfc-3b01713244ca_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!Ltk8!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72b4592-208d-4db7-bdfc-3b01713244ca_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!Ltk8!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72b4592-208d-4db7-bdfc-3b01713244ca_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!Ltk8!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72b4592-208d-4db7-bdfc-3b01713244ca_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Keep the list healthy</h2><h3>9. Manage preferences</h3><p>A preference email is the cheapest alternative to an unsubscribe.</p><p>Most people who want out want less, not nothing. Give them frequency and topic controls and a share of them stay.</p><p>It also gives you the data to send better, which is the part most brands skip.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!zrAw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fe17e5b-31c5-479d-89b9-5322667d89ae_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!zrAw!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fe17e5b-31c5-479d-89b9-5322667d89ae_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!zrAw!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fe17e5b-31c5-479d-89b9-5322667d89ae_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!zrAw!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fe17e5b-31c5-479d-89b9-5322667d89ae_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!zrAw!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fe17e5b-31c5-479d-89b9-5322667d89ae_1920x1080.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!zrAw!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fe17e5b-31c5-479d-89b9-5322667d89ae_1920x1080.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2fe17e5b-31c5-479d-89b9-5322667d89ae_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:190582,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/209151868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fe17e5b-31c5-479d-89b9-5322667d89ae_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!zrAw!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fe17e5b-31c5-479d-89b9-5322667d89ae_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!zrAw!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fe17e5b-31c5-479d-89b9-5322667d89ae_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!zrAw!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fe17e5b-31c5-479d-89b9-5322667d89ae_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!zrAw!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fe17e5b-31c5-479d-89b9-5322667d89ae_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>10. List cleaning</h3><p>A smaller engaged list outperforms a large quiet one. Sunsetting subscribers who stopped opening protects your sender reputation and your inbox placement.</p><p>Send one last email first. Ask them to stay, give them a reason, and let the people who mean it opt back in.</p><p>Two of these put the unsubscribe button and the discount side by side. That&#8217;s the honest version, and it works.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!K8Uj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60806dac-8e2e-4064-891c-e313e03d15e3_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!K8Uj!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60806dac-8e2e-4064-891c-e313e03d15e3_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!K8Uj!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60806dac-8e2e-4064-891c-e313e03d15e3_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!K8Uj!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60806dac-8e2e-4064-891c-e313e03d15e3_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!K8Uj!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60806dac-8e2e-4064-891c-e313e03d15e3_1920x1080.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!K8Uj!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60806dac-8e2e-4064-891c-e313e03d15e3_1920x1080.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60806dac-8e2e-4064-891c-e313e03d15e3_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:172848,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/209151868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60806dac-8e2e-4064-891c-e313e03d15e3_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!K8Uj!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60806dac-8e2e-4064-891c-e313e03d15e3_1920x1080.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!K8Uj!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60806dac-8e2e-4064-891c-e313e03d15e3_1920x1080.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!K8Uj!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60806dac-8e2e-4064-891c-e313e03d15e3_1920x1080.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!K8Uj!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60806dac-8e2e-4064-891c-e313e03d15e3_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How many of the ten are live on your list? Three or four is normal. It&#8217;s also the fastest gap to close, because none of these depend on a launch or a season. They can be built this month and run for years.</p><p><em>I publish these systems as I build them, out of real client work. Subscribe for free and you&#8217;ll get the next one.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/subscribe"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[How to build an email design system in Figma]]></title><description><![CDATA[The order matters more than the contents. Tokens before components, function before appearance, and every piece has to survive the trip into your ESP.]]></description><link>https://kinga168.substack.com/p/build-email-design-system-figma</link><guid isPermaLink="false">https://kinga168.substack.com/p/build-email-design-system-figma</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Fri, 31 Jul 2026 07:01:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1tWN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1tWN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1tWN!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!1tWN!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!1tWN!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!1tWN!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1tWN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.jpeg" width="1456" height="1151" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1151,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:195764,&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://kinga168.substack.com/i/208976510?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!1tWN!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!1tWN!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!1tWN!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!1tWN!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b8675b-d405-43f0-97d2-56156a2274f1_1624x1284.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>Last time I wrote about how Claude builds my Klaviyo emails, and I said the whole thing has a prerequisite: the Figma file has to be built from components, not loose layers. I left it there. This is the part I skipped.</p><p>Start with a question. If you wanted to change the body font across a brand&#8217;s emails, how long would that take?</p><p>In most Figma files the answer is that you open every email and change it one at a time, and you miss two. In a file built properly the answer is that you change one thing.</p><p>That gap is what a design system is.</p><h2>What it actually is</h2><p>A design system is the set of decisions made once and stored somewhere the file itself can reach.</p><p>Tokens are named decisions. Not a hex code sitting in a fill, but a name like text/primary that every heading points at. Components are the reusable pieces, built once with defined variants instead of copied and drifted. Rules are the constraints written into the components themselves, so the wrong choice isn&#8217;t available rather than merely discouraged.</p><p>Most brands have a brand guide and believe that covers it. A brand guide describes the rules in a PDF. A design system makes them the easiest available option. The difference isn&#8217;t documentation. It&#8217;s enforcement.</p><h2>What it&#8217;s actually worth</h2><p>Four things, in the order you&#8217;ll notice them.</p><p>Speed comes first. The one properly trained designer I&#8217;ve worked with who built systems produced an email in about a third of the time anyone else needed, because she was assembling rather than deciding. That compounds fast when your business is sending emails every week.</p><p>Maintenance comes second, and it&#8217;s the font question above. Every uncontrolled decision is a future job.</p><p>Consistency comes third, and it&#8217;s the one clients feel without being able to name it. A subscriber should recognize an email before they read the sender name, and recognition is built from repetition, which only exists if the pieces repeat.</p><p>Accessibility comes fourth, and it&#8217;s the one that actually convinced me. An eyebrow style in one of my component sets was rendering a soft brand color at 11px on white. It failed contrast across all eight variants of that component, and I hadn&#8217;t noticed for months. I rebound it once and every email built afterward inherited the fix.</p><p>The emails already sent stay broken. Email is the one medium where you only ever get to fix forward, which is exactly why the fix has to live in the component and not in a reviewer&#8217;s attention.</p><h2>Why it stopped being optional</h2><p>For about ten years none of this was necessary, and the workflow explains why. A designer built the email in Figma. Then someone sliced it, or an implementer rebuilt it in Klaviyo by eye. A person can look at a flat design and reproduce it. Components were never required for that handoff to work.</p><p>What changed is that Claude now does the designing. It isn&#8217;t looking at anything. It assembles from whatever the file actually contains, and if the file contains loose layers there is nothing to assemble from, so it invents.</p><p>I found that out the slow way, by pointing Claude at a file full of loose layers and getting back emails with colors I never chose. I assumed the model was the problem. The file was the problem.</p><p>So here is the order I build in now. The order matters more than people expect, because each step makes the next one cheaper, and doing them out of sequence means redoing work.</p><h2>Start with what you already sent</h2><p>Before you build anything, go and look at the last three months of emails for the brand.</p><p>Screenshot every button. Put them side by side on a single Figma page. Do the same for headings, then for product blocks.</p><p>You will find eleven buttons. Slightly different greens, three corner radii, four font sizes, two of them with shadows that nobody remembers adding. This is called an interface inventory, and it comes from Brad Frost, who put it more plainly than I can: you don&#8217;t need to be a designer to recognize that having 37 unique button styles probably isn&#8217;t a good idea.</p><p>Do this first for two reasons. It tells you what components you actually need rather than what you imagine you need. And when a client asks why they should pay for this, the inventory is the argument. It is very hard to look at eleven buttons and claim everything is fine.</p><h2>Tokens before components</h2><p>A token is a named decision. Not a hex code sitting in a fill, but a name that points to the hex code, which every component then points at.</p><p>Build these before you build a single component, because components should reference tokens and retrofitting that later means opening every component again.</p><p>You need three groups to start.</p><p>Color. Text colors, surface colors, border colors, accents.</p><p>Type. A real scale with real sizes. Display sizes for headings, body sizes, a caption size, a legal size. The point of a scale is that it forecloses argument. Nobody hand-sets 34px because it felt right that morning, because 34 isn&#8217;t on the scale.</p><p>Spacing and layout. Frame width, side gutters, the vertical rhythm between sections, image aspect ratios.</p><p>That last group is the one people skip, and it&#8217;s the one that makes emails feel like they belong together even when the content is completely different.</p><h2>Name things for what they do, not what they look like</h2><p>This is the single decision that determines whether the system survives a rebrand.</p><p>If you name a color brand-navy, you have encoded the appearance. When the brand moves to charcoal next year, you either rename the token everywhere or live with a token called navy that renders charcoal.</p><p>If you name it text/primary, you have encoded the job. Changing what primary means updates every heading in every email at once, and the name stays true.</p><p>The convention that has settled across the field is three tiers. A reference tier holds the literal values. A semantic tier names the jobs and points at the reference tier. Components point at the semantic tier and never at raw values.</p><p>In practice for email you can usually collapse this into two tiers and be fine. What you cannot do is skip the semantic layer, because that layer is the entire mechanism by which one change propagates.</p><h2>Build two color ramps, not one</h2><p>This is the most useful specific thing I can give you, and it is the fix for the eyebrow problem I described earlier.</p><p>Brand palettes are usually designed for packaging and social. They are full of soft, pretty tints. Then someone uses one of those tints for a small uppercase label on a white background, and it fails contrast badly. Not marginally. Around 2:1 when the accessible minimum is 4.5:1.</p><p>The fix is not to police it in review. The fix is to build the palette so it cannot happen. Two ramps.</p><p>One pastel ramp, for decoration only. Chips, tinted backgrounds, large numerals.</p><p>One darker ramp of the same hues, for text on light backgrounds. Same family, deep enough to pass.</p><p>Then bind every text layer in every component to the text ramp. The pretty version is still available for the jobs it&#8217;s good at, and it is structurally unavailable for the job it fails at.</p><p>There&#8217;s an honest limit here that the people who run large public design systems are careful about, and I&#8217;ll repeat it. A design system does not make things accessible. It converts a recurring judgment into a one-time engineering decision. Content, context, and real testing still have to happen. What the system does is shrink the surface where mistakes are possible.</p><h2>Components, and the variants rule</h2><p>Now build the pieces. The inventory told you which ones.</p><p>For most e-commerce brands the core set is smaller than people fear. A header. A hero. A section header. A product tile and a product grid. A feature row. A button, and a button block with its padding and micro-copy bundled. A divider. Trust callouts. A footer.</p><p>That&#8217;s maybe a dozen components covering most of what you send.</p><p>The rule that matters: use variants, not copies. If your hero can be full bleed, or have text above, or have text below, that is one component with three variants. It is not three components. The moment it&#8217;s three components, they drift, because someone will improve one and not the others.</p><p>Same for state. A free shipping bar that reads differently above and below the threshold is one component with two states.</p><h2>Every component has to survive the trip into your ESP</h2><p>This is the part that makes email different from product design, and it&#8217;s where systems built by web designers fall apart.</p><p>Your design system does not live in Klaviyo. It cannot. Klaviyo has universal content, which is the closest native equivalent, but it doesn&#8217;t nest, it unlinks automatically in transactional flows, and the template API cannot reference it. Anything built programmatically gets a detached copy.</p><p>So Figma holds the truth and Klaviyo receives output. Which means every component you design has to be expressible as something Klaviyo can actually build. If you design a component that has no clean equivalent in the drag and drop editor, you have designed a thing that will be rebuilt by hand every single time, and the system leaks there permanently.</p><p>Practically: know what your ESP&#8217;s blocks are before you finalize component structure. Design a component and its block equivalent together. When you get this right, a build becomes translation. When you get it wrong, it becomes reinterpretation, and reinterpretation is where inconsistency comes back in through the side door.</p><h2>Naming is the interface</h2><p>The least glamorous section and one of the most important.</p><p>Name your image slots consistently, including the intended aspect ratio. Name your frames with a convention that includes date, campaign and version. Number your sections in visual order.</p><p>None of this matters when a human is reading the file, because a human can see what&#8217;s a hero and what&#8217;s a footer. It matters enormously when anything else reads the file, because names are the only labels it has. A file where every layer is called Rectangle 47 is a file that has to be guessed at.</p><h2>Keep it alive</h2><p>A design system that nobody maintains becomes documentation, and documentation gets ignored.</p><p>Two habits are enough for a small operation.</p><p>Keep a written log of component-level issues and what you did about them. Not a general to-do list. Specifically: what was wrong, in which component, and what changed. When a system spans months and clients, this is the only thing that stops you rediscovering the same problem twice.</p><p>And decide in advance what happens when the documentation and the built component disagree. I got this wrong once. A spec said a primary button should be black with a two-pixel radius. The built component was gray with a five-pixel radius. I assumed the spec was right and nearly corrected a component that was correct. The rule I use now is that when the document and the build disagree, you ask, you don&#8217;t auto-correct. The build often contains a decision that never made it back into the doc.</p><h2>What Claude does, and what you decide</h2><p>Claude can build the component library. It can set it up from an existing brand, extend it as your template library grows, and rebuild components when the system changes. That part is genuinely no longer manual work.</p><p>What it can&#8217;t do is decide what good looks like for this brand. Which grays are safe. Whether the hero should carry text or sit clean. What the brand&#8217;s rhythm is. Those are judgments, they&#8217;re specific to a brand, and they&#8217;re the part that stays yours.</p><p>Which is the actual answer to the question designers keep asking about all this. The production work is going. The system design is not, and it was always the more valuable half. It just wasn&#8217;t the half anyone was paying for.</p><p><em>I publish these as I build them, out of real client work. Subscribe for free and you&#8217;ll get the next one.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/subscribe"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[How Claude Builds My Klaviyo Emails (No Slices)]]></title><description><![CDATA[The full pipeline from Figma components to a finished drag-and-drop template with live text, and the failure that forced me to build it.]]></description><link>https://kinga168.substack.com/p/figma-klaviyo-claude-email-system</link><guid isPermaLink="false">https://kinga168.substack.com/p/figma-klaviyo-claude-email-system</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Wed, 29 Jul 2026 10:31:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yAVF!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a588e8-11ca-4281-b3c5-4126d71839b9_1138x1138.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>My first AI-built emails came out with odd colors and layouts I never asked for.</span></p><p>I had connected Claude to my Figma designs and told it to build them in Klaviyo. Simple idea. Every email came out different. Odd colors, free designs, elements I never put there. It got creative on my behalf, and creativity is the last thing you want in email production.</p><p>I did this long enough to know the problem wasn&#8217;t the model. The problem was me. Nothing in my setup told Claude <span>how my design translates into a Klaviyo template, so it guessed. Anything that guesses will eventually guess wrong.</span></p><p><span>This post is the system I built to make it stop guessing. It now produces finished Klaviyo templates, real drag-and-drop templates with live text, in minutes per email.</span></p><p><em><span>If you&#8217;re new here: I teach e-commerce operators how to run their marketing operations on Claude. Subscribe for free and you&#8217;ll get every system I build.</span></em></p><div><hr></div><h2><strong><span>The fix: components equal blocks</span></strong></h2><p><span>The unlock was a mapping, not a prompt.</span></p><p>Every component in my Figma library corresponds to a specific block in the Klaviyo editor. Hero component, hero block. Product row component, product row block. When Claude knows exactly how each component translates, there is nothing left to interpret. The creativity stopped <span>and the consistency started.</span></p><p>This has a hard prerequisite most Figma files fail: <strong>your emails have to be built from components, not loose elements.</strong> I said this to an agency team I was training, and I&#8217;ll repeat it here: open your Figma file and look. If your designs are separate text boxes, objects and images grouped to look like an email, no system can read them reliably. Componentize first. That is the biggest unlock, and it costs a designer <span>a few days once.</span></p><p>Around the mapping sits a small amount of structure. Each client gets one folder tree: Brand, Klaviyo, Figma, campaigns, reports, reference. Each folder has its own instructions, and there is always a CLAUDE.md file that tells Claude what to do in that context. Design tokens live with the design system. Instructions alone are not a system. The tokens, the skills and the reference docs have to live where <span>the work happens.</span></p><div><hr></div><h2><strong>The backbone: <span>Asana holds the truth</span></strong></h2><p>The second half of the system has nothing to do with design. <span>It&#8217;s about where information lives.</span></p><p>Every campaign is an Asana task, and the task holds everything: the copy, the segment, the send time, inclusions and exclusions, links to the products. When I ran a team, every send also lived on one marketing calendar view. An open task meant an email not yet scheduled. When everything was closed by end of day, I knew every campaign for every client was set up, and <span>I stopped checking.</span></p><p>Before the copy exists, there&#8217;s a brief. This is the stage most teams skip. I watched a copywriter go straight from campaign idea to finished subject lines in one chat, and the team couldn&#8217;t figure out why the output felt off. Nothing was wrong with the prompt. The missing piece was the stage where the campaign gets figured out: what this send is, who gets it, what the offer is. Brief feeds copy, copy feeds the task, <span>the task feeds the build.</span></p><p>One line I add to every brief prompt: <strong>ask me questions if you need any more information.</strong> Claude guesses when you leave <span>gaps. It asks when you tell it to.</span></p><p><em>Know an email marketer still building campaigns by hand? Share this <span>with them.</span></em></p><div><hr></div><h2><strong><span>The build: one command, two links</span></strong></h2><p>My production <span>month has a shape.</span></p><p>I spend about a week designing everything in Figma. All the campaigns, refined until I&#8217;m sure. Then I sit down for one build session and paste the same slash command over and over. Each time it gets two links: the Figma frame and the <span>Asana task. That&#8217;s the entire input.</span></p><p>The first email of a session takes about 10 minutes, because Claude reads through the skills, the tokens and the documentation before it touches anything. Every email after that builds in minutes, because the context is already loaded. This is why I batch. One email here, one email there pays the warm-up <span>cost every single time.</span></p><p>Two reliability rules I learned the hard way. Feed it one campaign at a time; give Claude five at once and it starts getting sloppy and missing things. And for flows, strategy comes first: I have Claude lay the flow out as a chart in Figma, a map you can look at and argue with, before anything gets built through the API. The build is the cheap part now. Knowing exactly what you meant <span>to build is still the work.</span></p><div><hr></div><h2><strong><span>What lands in Klaviyo</span></strong></h2><p>This is the part people don&#8217;t <span>believe until they see it.</span></p><p>The template that lands in Klaviyo is a real drag-and-drop template built from live text blocks. Not JPEG slices. Not one big image pretending to be an email. Live text, editable blocks, the same template <span>a careful human would build.</span></p><p>And it arrives complete: alt tags on every image, links in place, subject line and preview text already written from the Asana brief. Corrections work the same way as builds. I tell Claude what to <span>fix, and it goes and fixes it.</span></p><p>I still go in and polish. Padding, spacing, the last few details. It&#8217;s never absolutely perfect, and I&#8217;ve stopped expecting that. What it is, is structurally complete, with all <span>the error-prone busywork already done.</span></p><div><hr></div><h2><strong><span>Slicing was never the bottleneck</span></strong></h2><p>An agency owner pushed back on me: slicing an email into a template is the most basic function there is, <span>why complicate it with AI.</span></p><p>He was right that slicing is easy. But slicing was never where the time went. The time goes into everything around it: the alt tags, the links, cloning the campaign, renaming it, assigning segments, setting inclusions and exclusions, scheduling the send. Multiply by every email on the calendar, for every client. That&#8217;s the part worth automating, and it&#8217;s all information <span>the Asana task already holds.</span></p><p>Which is the real reason I built this, and it isn&#8217;t speed, although the speed is real. <strong>It eliminates errors.</strong> Everything gets pulled from the source instead of retyped by a tired human at 6pm. The wrong link, the missing alt tag, the segment that didn&#8217;t get excluded. Those mistakes don&#8217;t survive a system that never <span>retypes anything.</span></p><p>The odd colors were the price of not having <span>a system. The system was the fix.</span></p><div><hr></div><blockquote><p><em><span>Everything in this post came out of real client work, and so will the next one. Subscribe for free if you want these systems as I build them.</span></em></p></blockquote><div><hr></div>]]></content:encoded></item><item><title><![CDATA[Lesson 8.4: Orchestration Without Frameworks]]></title><description><![CDATA[Claude Mastery for E-commerce Operators]]></description><link>https://kinga168.substack.com/p/lesson-84-orchestration-without-frameworks</link><guid isPermaLink="false">https://kinga168.substack.com/p/lesson-84-orchestration-without-frameworks</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Fri, 13 Feb 2026 17:30:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yAVF!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a588e8-11ca-4281-b3c5-4126d71839b9_1138x1138.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The AI world is full of orchestration frameworks &#8212; LangChain, AutoGPT, CrewAI, and dozens more. They promise to handle the complexity of multi-agent coordination.</p><p>But for most e-commerce operators, these frameworks add complexity without proportional benefit. This lesson covers simpler approaches that keep you in control.</p><h2><strong>The Framework Temptation</strong></h2><p>Frameworks are tempting because they promise to solve coordination problems automatically. Define your agents, specify their relationships, let the framework handle the rest.</p><p><strong>The reality:</strong></p><ul><li><p><strong>Learning curve.</strong> Every framework has its own concepts, syntax, and quirks. Time spent learning the framework is time not spent building your actual system.</p></li><li><p><strong>Abstraction costs.</strong> Frameworks abstract away details. Sometimes those details matter. When something breaks, you&#8217;re debugging both your logic AND the framework.</p></li><li><p><strong>Changing landscape.</strong> AI tooling evolves rapidly. Today&#8217;s hot framework might be tomorrow&#8217;s abandoned project. Building on shifting foundations is risky.</p></li><li><p><strong>Overkill for most uses.</strong> If you&#8217;re coordinating 2-4 agents in a Claude.ai workflow, you don&#8217;t need industrial-strength orchestration.</p></li></ul><h2><strong>Manual Orchestration: You as the Router</strong></h2><p>The simplest orchestration pattern: you do it.</p><p>You have multiple Claude Projects, each specialized for a role. You move information between them. You decide when to proceed. You handle exceptions.</p><p><strong>This works because:</strong></p><ul><li><p><strong>You understand the workflow.</strong> You know what should happen next. You know what success looks like at each stage.</p></li><li><p><strong>You can handle exceptions.</strong> When something unexpected happens, you can adapt. No framework anticipates every edge case.</p></li><li><p><strong>You maintain quality control.</strong> Each handoff is an opportunity to review. You catch problems before they propagate.</p></li><li><p><strong>The overhead is manageable.</strong> Copy-pasting handoffs between projects takes seconds. It&#8217;s not a bottleneck for workflows with 2-5 steps.</p></li></ul><p><strong>The workflow:</strong></p><ol><li><p>Start task with appropriate specialist agent</p></li><li><p>Review output</p></li><li><p>If satisfactory, copy handoff data to next agent</p></li><li><p>If not satisfactory, iterate with current agent</p></li><li><p>Repeat until workflow complete</p></li></ol><p>It&#8217;s not automated. But automation isn&#8217;t always the goal. Sometimes control and quality matter more than speed.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Thanks for reading Kinga | Claude AI for Ecommerce! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Claude as Its Own Coordinator: The Meta-Agent Pattern</strong></h2><p><strong>The Meta-Agent Pattern</strong></p><p>Here&#8217;s a pattern that helps with complex workflows: use Claude itself as a planning layer.</p><p>Create a &#8220;meta-agent&#8221; &#8212; a Claude project whose job is to coordinate other agents. It doesn&#8217;t do the work itself; it decides what work needs to happen and in what order.</p><p><strong>The meta-agent&#8217;s system prompt:</strong></p><p><strong>ROLE</strong></p><p>You are a workflow coordinator. You receive high-level tasks and decompose them into specialist subtasks. You specify what each specialist should do and what information they need.</p><p><strong>AVAILABLE SPECIALISTS</strong></p><p>Copywriter: Creates email copy given a brief</p><p>Analyst: Analyzes data and produces insights</p><p>PM: Creates tasks and manages timelines</p><p>Builder: Implements in Klaviyo</p><p><strong>TASK</strong></p><p>When given a request, produce a coordination plan. For each step, specify: (1) Which specialist; (2) What inputs they need; (3) What output is expected; (4) What quality criteria apply; (5) Dependencies on other steps.</p><p><strong>How it works:</strong></p><p>You bring a complex task to the meta-agent: &#8220;Create January email campaign calendar with copy for the first two campaigns.&#8221;</p><p>The meta-agent produces a plan:</p><p><strong>Step 1 &#8212; Analyst: </strong>Review last year&#8217;s January performance to identify winning themes. Input: January campaign data. Output: Theme recommendations.</p><p><strong>Step 2 &#8212; PM: </strong>Create January calendar structure with key dates and campaigns. Input: January dates, theme recommendations. Output: Calendar framework.</p><p><strong>Step 3 &#8212; Copywriter: </strong>Write copy for January campaigns. Input: Calendar framework, theme recommendations, brand voice guide. Output: Draft copy for 2 campaigns.</p><p><strong>Step 4: </strong>Human review of copy, then iterate or proceed.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-84-orchestration-without-frameworks?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Kinga | Claude AI for Ecommerce! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-84-orchestration-without-frameworks?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-84-orchestration-without-frameworks?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div><h2><strong>Important: Planning vs. Execution</strong></h2><p><strong>In Claude.ai, the meta-agent produces a plan &#8212; it doesn&#8217;t execute it.</strong></p><p>You&#8217;re still the coordinator. You take the meta-agent&#8217;s plan and manually move between specialist projects, providing each one with the inputs specified, reviewing outputs, and proceeding to the next step. There&#8217;s no automated handoff between agents. No agent talks directly to another agent.</p><p>The meta-agent makes you a better orchestrator by giving you a systematic breakdown of complex workflows. It handles the cognitive load of decomposition so you can focus on execution and quality control. But you remain the routing layer.</p><p><strong>This is different from code-based environments.</strong> Tools like Claude Code can programmatically chain Claude calls together &#8212; one script calling Claude multiple times, passing outputs between calls automatically. That&#8217;s real automated orchestration. In Claude.ai&#8217;s chat interface, you don&#8217;t have that capability. The human stays in the loop at every handoff.</p><p><strong>The benefits of the meta-agent pattern:</strong></p><p>Complex tasks get broken down systematically &#8212; Claude thinks through dependencies and sequencing you might miss</p><p>Quality criteria are defined upfront for each step</p><p>You get a reusable template for similar future workflows</p><p>You still maintain full control of execution and can adapt as needed</p><p>Think of it this way: the meta-agent produces the blueprint, you act as the general contractor executing it. Not as magical as automated orchestration, but genuinely useful for complex workflows where you&#8217;d otherwise be figuring out the sequence on the fly.</p><h2><strong>Building Your Orchestration Muscle</strong></h2><p>Start with manual orchestration. Get comfortable moving information between specialized agents. Understand what makes handoffs work.</p><p>Then try the meta-agent pattern. See if Claude can help you plan complex workflows. Experience the benefits and limitations.</p><p>Only after you&#8217;ve hit real limits &#8212; scale demands you can&#8217;t meet, complexity you can&#8217;t track &#8212; should you consider frameworks. And when you do, you&#8217;ll know exactly what problems you&#8217;re solving and can evaluate frameworks against your specific needs.</p><p>The goal isn&#8217;t to avoid frameworks forever. It&#8217;s to avoid adopting complexity before you need it. Let your requirements drive your architecture, not the reverse.</p><h2><strong>Module 8 Summary</strong></h2><p>Multi-agent systems extend what&#8217;s possible with Claude. When single agents hit limits &#8212; context saturation, expertise dilution, quality degradation &#8212; splitting work across specialized agents can produce better results.</p><p><strong>Key patterns:</strong></p><ul><li><p><strong>Sequential handoffs</strong> for workflows where each step feeds the next</p></li><li><p><strong>Parallel processing</strong> for independent analyses that combine in synthesis</p></li><li><p><strong>Manual orchestration</strong> for control and quality</p></li><li><p><strong>Meta-agent coordination</strong> for complex workflow planning</p></li></ul><p><strong>Key principles:</strong></p><ul><li><p>Don&#8217;t go multi-agent until single-agent truly fails</p></li><li><p>Design clean handoffs with explicit information transfer</p></li><li><p>Build quality gates between agents</p></li><li><p>Handle errors explicitly at each stage</p></li><li><p>Keep orchestration as simple as your requirements allow</p></li></ul><p>Multi-agent architecture is a tool for when you need it, not a default approach. Use it when it earns its complexity.</p><p><em>--- End of Module 8 ---</em></p><p><strong>What&#8217;s Next:</strong> Module 9 moves from architecture to application. You understand single agents and multi-agent systems. Now we build real e-commerce solutions: audit systems, content pipelines, client communication automation, and competitive intelligence gathering. Theory becomes practice.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:427879}" data-component-name="PollToDOM"></div><div><hr></div><p>Found this content informative? Like this post, leave a comment and share with others. Help me gain wider reach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-84-orchestration-without-frameworks/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-84-orchestration-without-frameworks/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Lesson 8.3: Parallel Processing Patterns]]></title><description><![CDATA[Claude Mastery for E-commerce Operators]]></description><link>https://kinga168.substack.com/p/lesson-83-parallel-processing-patterns</link><guid isPermaLink="false">https://kinga168.substack.com/p/lesson-83-parallel-processing-patterns</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Thu, 12 Feb 2026 18:31:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yAVF!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a588e8-11ca-4281-b3c5-4126d71839b9_1138x1138.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Sequential pipelines are straightforward: A feeds B feeds C. But sometimes work doesn&#8217;t need to be sequential. Multiple agents can work on different aspects simultaneously, then their outputs combine.</p><p>This lesson covers when parallel processing makes sense and how to design the synthesis step that combines parallel outputs.</p><h2><strong>When Agents Can Work Simultaneously</strong></h2><p>Parallel processing works when tasks are independent &#8212; when Agent A&#8217;s output doesn&#8217;t depend on Agent B&#8217;s output, and vice versa.</p><p><strong>Good candidates for parallelization:</strong></p><ul><li><p><strong>Research from different sources.</strong> One agent researches competitors, another researches industry trends, another researches customer sentiment. None depends on the others.</p></li><li><p><strong>Analysis of different dimensions.</strong> One agent analyzes flow performance, another analyzes campaign performance, another analyzes list health. Each looks at different data.</p></li><li><p><strong>Processing of different inputs.</strong> One agent processes Shopify data, another processes Klaviyo data, another processes GA4 data. Different systems, different contexts.</p></li><li><p><strong>Creation of different components.</strong> One agent writes subject lines, another writes body copy, another writes CTAs. Independent creative tasks.</p></li></ul><p><strong>Bad candidates for parallelization:</strong></p><ul><li><p><strong>Dependent analysis.</strong> If Agent B needs Agent A&#8217;s findings to do its work, they must be sequential.</p></li><li><p><strong>Iterative refinement.</strong> If the output of one step shapes the next step, parallelization doesn&#8217;t help.</p></li><li><p><strong>Shared context requirements.</strong> If agents need to coordinate mid-task, parallel execution creates complexity without benefit.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Thanks for reading Kinga | Claude AI for Ecommerce! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></li></ul><h2><strong>Case Study: Parallel Klaviyo Audit</strong></h2><p>Here&#8217;s a real example: a comprehensive Klaviyo audit using parallel agents.</p><p><strong>The problem:</strong> A complete Klaviyo audit covers flows, campaigns, list health, and segmentation. Each is a substantial analysis. Putting it all in one agent means a bloated context and diluted expertise.</p><p><strong>The architecture:</strong></p><p><strong>Agent A: Flow Analyst</strong></p><ul><li><p>Input: Flow exports, benchmark data</p></li><li><p>Task: Analyze each flow&#8217;s performance, identify issues, estimate revenue impact</p></li><li><p>Output: Flow-by-flow assessment with prioritized recommendations</p></li></ul><p><strong>Agent B: Campaign Analyst</strong></p><ul><li><p>Input: Campaign history export, performance data</p></li><li><p>Task: Identify patterns, compare segment performance, analyze creative effectiveness</p></li><li><p>Output: Campaign performance assessment with trend insights</p></li></ul><p><strong>Agent C: List Health Analyst</strong></p><ul><li><p>Input: List metrics, deliverability data, growth/churn numbers</p></li><li><p>Task: Assess list quality, identify hygiene issues, evaluate growth sources</p></li><li><p>Output: List health report with cleanup recommendations</p></li></ul><p><strong>Agent D: Segmentation Analyst</strong></p><ul><li><p>Input: Segment definitions, usage patterns, overlap analysis</p></li><li><p>Task: Evaluate segmentation strategy, identify gaps, suggest improvements</p></li><li><p>Output: Segmentation assessment with strategic recommendations</p></li></ul><p><strong>Agent E: Synthesis Agent</strong></p><ul><li><p>Input: Outputs from Agents A, B, C, and D</p></li><li><p>Task: Combine findings, identify cross-cutting themes, prioritize overall</p></li><li><p>Output: Unified audit report with executive summary and prioritized roadmap</p></li></ul><p>Agents A, B, C, and D run in parallel &#8212; you can literally run them simultaneously in different browser tabs. Agent E runs after all four complete, combining their outputs.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-83-parallel-processing-patterns?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Kinga | Claude AI for Ecommerce! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-83-parallel-processing-patterns?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-83-parallel-processing-patterns?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div><h2><strong>The Synthesis Step</strong></h2><p>The synthesis agent is the critical component in parallel architectures. It takes multiple independent analyses and produces a coherent whole.</p><p><strong>What synthesis requires:</strong></p><p><strong>Cross-cutting analysis.</strong> The Flow Analyst might identify that abandoned cart flows are underperforming. The Campaign Analyst might notice that campaigns targeting cart abandoners also underperform. The Synthesis Agent connects these: &#8220;There may be a fundamental issue with how we&#8217;re approaching cart abandonment across both flows and campaigns.&#8221;</p><p><strong>Priority reconciliation.</strong> Each specialist agent produces its own priorities. The Flow Analyst says &#8220;fix the welcome series first.&#8221; The Campaign Analyst says &#8220;improve segmentation targeting first.&#8221; The Synthesis Agent weighs these against overall business goals and produces a unified priority list.</p><p><strong>Conflict resolution.</strong> Sometimes parallel agents produce contradictory findings. The Synthesis Agent identifies these conflicts and either reconciles them or flags them for human resolution.</p><p><strong>Narrative construction.</strong> Four separate reports don&#8217;t make a coherent audit. The Synthesis Agent constructs the story: what&#8217;s the overall state, what are the biggest opportunities, what&#8217;s the recommended path forward.</p><h2><strong>Designing the Synthesis Agent</strong></h2><p>The Synthesis Agent needs a different kind of system prompt than the specialist agents. Here&#8217;s the key structure:</p><p><strong>ROLE</strong></p><p>You are a senior strategist synthesizing specialist analyses into unified recommendations. You receive detailed findings from multiple analysts and produce coherent, prioritized strategic guidance.</p><p><strong>CONTEXT</strong></p><p>You&#8217;re producing the final deliverable for a Klaviyo audit. You&#8217;ll receive reports from four specialists: Flow Analyst, Campaign Analyst, List Health Analyst, and Segmentation Analyst. Your job is to combine their findings into an actionable audit report.</p><p><strong>TASK</strong></p><ol><li><p>Read all four specialist reports</p></li><li><p>Identify cross-cutting themes and connections between findings</p></li><li><p>Reconcile priorities across specialists into a unified prioritization</p></li><li><p>Flag any conflicts or contradictions that need human review</p></li><li><p>Produce a unified audit report with executive summary and prioritized roadmap</p></li></ol><p><strong>OUTPUT FORMAT</strong></p><ol><li><p><strong>Executive Summary:</strong> 3-4 paragraphs on overall state and key findings</p></li><li><p><strong>Cross-Cutting Themes:</strong> Issues that span multiple areas</p></li><li><p><strong>Prioritized Recommendations:</strong> Unified list with rationale</p></li><li><p><strong>Quick Wins:</strong> High-impact, low-effort items</p></li><li><p><strong>Strategic Initiatives:</strong> Larger projects requiring planning</p></li><li><p><strong>Appendix:</strong> Detailed specialist findings for reference</p></li></ol><h2><strong>Practical Execution</strong></h2><p>How do you actually run parallel agents in Claude.ai?</p><p><strong>Option 1: Multiple browser tabs</strong></p><p>Open four tabs, each with a different specialist project. Start all four analyses. Work on other things while they process. Collect outputs when done.</p><p>This works. It&#8217;s manual but effective. You can literally run agents in parallel.</p><p><strong>Option 2: Sequential with fresh context</strong></p><p>Run each specialist sequentially but treat them as parallel logically. Each runs in a fresh conversation with its own focused context. The order doesn&#8217;t matter since they&#8217;re independent.</p><p>This is simpler to manage and achieves the same result &#8212; four independent analyses ready for synthesis.</p><p><strong>The synthesis step</strong></p><p>Once all specialist outputs are ready, start a fresh conversation with the Synthesis Agent. Paste all four reports (or use artifacts to reference them). Let the Synthesis Agent do its work.</p><p>The key insight: parallel architecture is about independence of analysis, not necessarily simultaneous execution. You get the benefits (specialized depth, fresh context for each) whether you literally run them at the same time or not.</p><h2><strong>When Parallel Beats Sequential</strong></h2><p><strong>Use parallel when:</strong></p><ul><li><p>Analyses are genuinely independent</p></li><li><p>Each analysis benefits from specialized depth</p></li><li><p>Combined context would exceed useful limits</p></li><li><p>A synthesis step can meaningfully combine outputs</p></li></ul><p><strong>Use sequential when:</strong></p><ul><li><p>Each step depends on the previous step&#8217;s output</p></li><li><p>Shared context is necessary for coherence</p></li><li><p>The workflow has natural progression</p></li><li><p>Quality gates need to stop bad work from proceeding</p></li></ul><p>Many real workflows combine both: parallel analysis followed by sequential implementation. The audit example uses parallel analysis but would use sequential execution for implementing the recommendations.</p><p><strong>Next lesson:</strong> Orchestration Without Frameworks &#8212; how to coordinate multi-agent systems without external tools.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:427879}" data-component-name="PollToDOM"></div><div><hr></div><p>Found this content informative? Like this post, leave a comment and share with others. Help me gain wider reach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-83-parallel-processing-patterns/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-83-parallel-processing-patterns/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Lesson 8.2: Sequential Handoffs]]></title><description><![CDATA[Claude Mastery for E-commerce Operators]]></description><link>https://kinga168.substack.com/p/lesson-82-sequential-handoffs</link><guid isPermaLink="false">https://kinga168.substack.com/p/lesson-82-sequential-handoffs</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Mon, 09 Feb 2026 18:15:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yAVF!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a588e8-11ca-4281-b3c5-4126d71839b9_1138x1138.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The simplest multi-agent pattern is sequential: Agent 1 does its work, produces output, that output becomes input for Agent 2, which produces output for Agent 3, and so on. A pipeline.</p><p>This lesson covers how to design these handoffs well &#8212; what information passes, how to format it, where to build quality gates, and how to handle failures.</p><h2><strong>The Pipeline Pattern</strong></h2><p>Sequential handoffs work like an assembly line. Each agent is a specialized station. Raw materials enter, each station does its work, finished product exits.</p><p>The key insight: each agent should do one thing well and produce clean output for the next station. If you find an agent doing too much, it probably should be two agents.</p><h2><strong>Case Study: 3-Agent Email Marketing System</strong></h2><p>Let&#8217;s make this concrete. Here&#8217;s a real workflow for producing email marketing campaigns:</p><p><strong>Agent 1: The Copywriter</strong></p><ul><li><p><strong>Input:</strong> Campaign brief, brand voice guidelines, product information, target segment description</p></li><li><p><strong>Task:</strong> Write compelling email copy that matches brand voice and speaks to the target segment</p></li><li><p><strong>Output:</strong> Draft email copy including subject line, preview text, body, and CTA</p></li></ul><p>The Copywriter agent is optimized for creative writing. Its system prompt establishes deep expertise in email copywriting, understanding of persuasion, and the specific brand&#8217;s voice. It doesn&#8217;t know or care about project management or technical implementation.</p><p><strong>Agent 2: The Project Manager</strong></p><ul><li><p><strong>Input:</strong> Approved email copy, campaign timeline, team assignments</p></li><li><p><strong>Task:</strong> Create actionable tasks with clear owners, deadlines, and dependencies</p></li><li><p><strong>Output:</strong> Structured task list (created in Asana via MCP) with timeline</p></li></ul><p>The PM agent is optimized for operational thinking. Its system prompt establishes expertise in project coordination, task decomposition, and timeline management. It doesn&#8217;t write copy &#8212; it takes approved copy and turns it into a work plan.</p><p><strong>Agent 3: The Klaviyo Builder</strong></p><ul><li><p><strong>Input:</strong> Final approved copy, segment criteria, send timing</p></li><li><p><strong>Task:</strong> Configure the campaign in Klaviyo with correct settings</p></li><li><p><strong>Output:</strong> Configured campaign ready for final review and scheduling</p></li></ul><p>The Builder agent is optimized for technical implementation. Its system prompt establishes deep Klaviyo expertise &#8212; segments, templates, send settings, compliance. It takes creative assets and operational decisions and turns them into a working campaign.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Thanks for reading Kinga | Claude AI for Ecommerce! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Designing the Handoff</strong></h2><p>The handoff is where multi-agent systems succeed or fail. Bad handoffs create confusion, lost information, and compounding errors. Good handoffs are clean, complete, and unambiguous.</p><p><strong>What information passes</strong></p><p>Each handoff should include exactly what the next agent needs &#8212; no more, no less.</p><p><strong>Copywriter &#8594; Project Manager:</strong></p><ul><li><p>Final approved copy (the actual text)</p></li><li><p>Any notes on variations or personalization needed</p></li><li><p>Confirmation of brand alignment</p></li><li><p>NOT needed: creative process, rejected drafts, stylistic debates</p></li></ul><p><strong>Project Manager &#8594; Klaviyo Builder:</strong></p><ul><li><p>Final copy (unchanged)</p></li><li><p>Target segment criteria</p></li><li><p>Send timing and scheduling requirements</p></li><li><p>Any A/B test parameters</p></li><li><p>NOT needed: task management details, timeline discussions, who approved what</p></li></ul><p><strong>How to format handoffs</strong></p><p>Structure your handoff data consistently. The receiving agent should know exactly where to find each piece of information.</p><p>A handoff template for the email system might look like:</p><p><strong>HANDOFF: Copywriter to Project Manager</strong></p><p><strong>Campaign: </strong>[Campaign name]</p><p><strong>Status: </strong>Copy approved</p><p><strong>Subject Line: </strong>[Subject]</p><p><strong>Preview Text: </strong>[Preview]</p><p><strong>Body Copy: </strong>[Full email body]</p><p><strong>CTA: </strong>[Call to action]</p><p><strong>Notes: </strong>[Any implementation notes]</p><p>This structure is predictable. The receiving agent&#8217;s system prompt can specify exactly how to parse it.</p><h2><strong>Quality Gates</strong></h2><p>Quality gates are checkpoints between agents where you verify the work before it moves forward. They&#8217;re one of the main advantages of multi-agent architecture.</p><p><strong>Between Copywriter and PM:</strong></p><ul><li><p>Is the copy on-brand?</p></li><li><p>Does it address the target segment appropriately?</p></li><li><p>Is the CTA clear and compelling?</p></li><li><p>Are there any compliance concerns?</p></li></ul><p><strong>Between PM and Builder:</strong></p><ul><li><p>Is the segment definition clear and achievable?</p></li><li><p>Is the timing appropriate?</p></li><li><p>Are all required elements present?</p></li><li><p>Has final approval been granted?</p></li></ul><p>Quality gates can be human (you review and approve) or automated (the next agent checks prerequisites before proceeding). For important work, human gates are safer. For routine work, automated gates are faster.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-82-sequential-handoffs?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Kinga | Claude AI for Ecommerce! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-82-sequential-handoffs?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-82-sequential-handoffs?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div><h2><strong>Error Handling in Pipelines</strong></h2><p>What happens when something goes wrong? Each failure mode needs a response.</p><p><strong>Upstream failure:</strong> The Copywriter doesn&#8217;t produce usable copy. The PM agent shouldn&#8217;t try to proceed with incomplete input. Build in checks: &#8220;If copy is missing required elements, flag for human review rather than proceeding.&#8221;</p><p><strong>Handoff failure:</strong> The handoff data is malformed or incomplete. The receiving agent should recognize this and report the specific problem rather than guessing. &#8220;Handoff missing segment criteria. Cannot proceed. Please provide segment definition.&#8221;</p><p><strong>Tool failure:</strong> The Builder agent can&#8217;t connect to Klaviyo. The workflow should pause and alert rather than proceeding with a partial result. Build explicit checks for tool availability.</p><p><strong>Quality gate rejection:</strong> When a quality gate catches a problem, the workflow needs to route back appropriately. Copy problems go back to the Copywriter. Segment problems might stay with the PM.</p><p>The principle: fail explicitly, fail early, fail with information. Silent failures in pipelines compound into disasters.</p><h2><strong>Implementing the 3-Agent System</strong></h2><p>In practice, you implement this as three Claude Projects, each with specialized instructions:</p><p><strong>Project 1: Email Copywriter</strong></p><p>System prompt establishes the copywriter role, brand voice guidelines, target segment understanding, and output format requirements. Project knowledge includes brand voice docs, previous successful emails, and segment personas.</p><p><strong>Project 2: Campaign Project Manager</strong></p><p>System prompt establishes the PM role, task breakdown methodology, timeline management approach, and Asana MCP integration. Project knowledge includes team capacity docs, standard timelines, and task templates.</p><p><strong>Project 3: Klaviyo Builder</strong></p><p>System prompt establishes the technical implementation role, Klaviyo expertise, and campaign configuration standards. Project knowledge includes Klaviyo setup guides, segment definitions, and template library.</p><p><strong>The flow:</strong></p><ol><li><p>You provide the campaign brief to the Copywriter project</p></li><li><p>Copywriter produces draft copy, you review and approve</p></li><li><p>You copy the handoff template with approved copy to the PM project</p></li><li><p>PM creates tasks, you review the task list</p></li><li><p>You copy the handoff template with implementation specs to the Builder project</p></li><li><p>Builder configures the campaign, you do final review</p></li></ol><p>You&#8217;re the orchestrator, moving information between specialized agents. Each agent does what it&#8217;s best at. You maintain quality control at each transition.</p><p><strong>Next lesson:</strong> Parallel Processing Patterns &#8212; when agents can work simultaneously rather than sequentially.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:427879}" data-component-name="PollToDOM"></div><div><hr></div><p>Found this content informative? Like this post, leave a comment and share with others. Help me gain wider reach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-82-sequential-handoffs/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-82-sequential-handoffs/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Lesson 8.1: When One Claude Isn’t Enough]]></title><description><![CDATA[Claude Mastery for E-commerce Operators]]></description><link>https://kinga168.substack.com/p/lesson-81-when-one-claude-isnt-enough</link><guid isPermaLink="false">https://kinga168.substack.com/p/lesson-81-when-one-claude-isnt-enough</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Sun, 08 Feb 2026 18:02:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yAVF!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a588e8-11ca-4281-b3c5-4126d71839b9_1138x1138.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Module 7 taught you to build individual agents. A single well-crafted agent can handle remarkable complexity &#8212; analyzing data, synthesizing insights, producing deliverables.</p><p>But some work can&#8217;t fit in one agent. The context is too large. The expertise is too varied. The workflow is too complex. When you hit these walls, the answer isn&#8217;t forcing a single agent to do more &#8212; it&#8217;s splitting the work across multiple agents that coordinate.</p><p>This lesson covers when that split makes sense and when it&#8217;s overengineering.</p><h2><strong>The Single-Agent Limit</strong></h2><p>Individual agents hit limits. Understanding those limits helps you recognize when multi-agent architecture becomes necessary.</p><p><strong>Context window saturation.</strong> Even with 200K tokens, complex analysis can exhaust available space. A comprehensive Klaviyo audit might need: account data exports (flows, campaigns, segments), benchmark references, methodology documentation, conversation history as you iterate, and space for Claude&#8217;s response. Individually manageable, but together they crowd the context window to the point where Claude starts dropping threads.</p><p><strong>Expertise dilution.</strong> A single system prompt can only establish so much expertise before it becomes unwieldy. An agent that&#8217;s supposed to be a Klaviyo analyst AND a copywriter AND a project manager will be mediocre at all three. Specialized agents do better than generalist agents at focused tasks.</p><p><strong>Quality degradation under load.</strong> As you add more responsibilities to a single agent, quality drops across all tasks. The agent that produces excellent email copy might produce only adequate copy when it&#8217;s also managing timelines, checking inventory, and coordinating with other systems.</p><p><strong>No natural checkpoints.</strong> With a single agent doing everything, there&#8217;s no built-in moment to review intermediate outputs. Errors compound. A mistake in analysis flows through to recommendations flows through to copy flows through to implementation. Multi-agent systems create natural breakpoints for quality control.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Thanks for reading Kinga | Claude AI for Ecommerce! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Decision Criteria for Multi-Agent Systems</strong></h2><p>Don&#8217;t reach for multi-agent architecture by default. It adds complexity. Use it when specific conditions justify that complexity.</p><p><strong>The task requires genuinely different expertise or approaches.</strong></p><p>Analysis and creation are different cognitive modes. A brilliant analyst isn&#8217;t necessarily a brilliant copywriter. If your workflow requires both, splitting them into specialized agents often produces better results than asking one agent to switch modes.</p><p>The same applies to research vs. synthesis, strategy vs. execution, creative vs. technical work. When the expertise is fundamentally different, separate agents make sense.</p><p><strong>A single context window can&#8217;t hold everything needed.</strong></p><p>If your task requires more context than fits in one conversation &#8212; multiple large documents, extensive reference materials, long histories &#8212; you have two choices: summarize aggressively (losing information) or split the work across agents (preserving information in each agent&#8217;s specialized context).</p><p>When information loss is unacceptable, multi-agent is the path.</p><p><strong>Quality degrades when one agent juggles too many responsibilities.</strong></p><p>This is the practical test. If your single-agent output is getting worse as you add more to its plate, that&#8217;s a signal. The agent that used to produce great recommendations now produces mediocre ones because it&#8217;s also managing three other concerns simultaneously.</p><p>When you notice this pattern, consider splitting rather than optimizing. Sometimes the right answer isn&#8217;t a better prompt &#8212; it&#8217;s a different architecture.</p><p><strong>You need clear checkpoints and handoffs.</strong></p><p>Some workflows benefit from built-in review points. Client work often requires approval before proceeding. Complex analysis benefits from human verification at intermediate stages.</p><p>Multi-agent systems create natural checkpoints at each handoff. Agent 1 completes its work, you review, then Agent 2 proceeds. This is harder to achieve with a monolithic agent that does everything in one pass.</p><h2><strong>When NOT to Use Multi-Agent</strong></h2><p>Multi-agent systems add complexity. That complexity has costs: more prompts to maintain, more handoffs to design, more failure points to manage. Don&#8217;t pay those costs without good reason.</p><p><strong>When a single agent can do the job well.</strong> If your single-agent approach produces good results reliably, you don&#8217;t need to complicate it. &#8220;Could be multi-agent&#8221; isn&#8217;t a reason to make it multi-agent. &#8220;Must be multi-agent&#8221; is.</p><p><strong>When the tasks are tightly coupled.</strong> If each step depends heavily on the full context of previous steps, splitting into agents means recreating context at every handoff. The overhead of context transfer might exceed the benefit of specialization.</p><p><strong>When you haven&#8217;t optimized the single-agent approach first.</strong> Before going multi-agent, make sure you&#8217;ve actually pushed the single-agent approach. Better prompting, cleaner context management, smarter use of tools. Multi-agent shouldn&#8217;t be an escape from doing the hard work of prompt engineering.</p><p><strong>When you can&#8217;t clearly define the handoffs.</strong> If you can&#8217;t articulate exactly what Agent 1 produces that Agent 2 needs, you&#8217;re not ready for multi-agent. Fuzzy handoffs create failure modes. The split should be clean and obvious.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-81-when-one-claude-isnt-enough?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Kinga | Claude AI for Ecommerce! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-81-when-one-claude-isnt-enough?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-81-when-one-claude-isnt-enough?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div><h2><strong>The Complexity Budget</strong></h2><p>Think of your architecture decisions as spending from a complexity budget. You have limited capacity to manage complexity &#8212; prompts, handoffs, failure modes, maintenance.</p><p><strong>Single agent:</strong> Low complexity. One prompt to maintain. No handoffs to design. Few failure modes. Easy to iterate and improve.</p><p><strong>Two agents:</strong> Moderate complexity. Two prompts to maintain. One handoff to design. New failure modes (handoff failures, coordination failures). Still manageable.</p><p><strong>Three+ agents:</strong> Higher complexity. Multiple prompts, multiple handoffs, exponentially more potential failure modes. Worth it only when the task genuinely requires it.</p><p>Spend your complexity budget where it pays off. A simple task made multi-agent is overengineered. A complex task forced into single-agent is underarchitected. Match the architecture to the actual requirements.</p><h2><strong>A Framework for the Decision</strong></h2><p>When evaluating whether to go multi-agent, ask:</p><ol><li><p><strong>Is my single-agent approach actually failing, or just underoptimized?</strong> If underoptimized, fix the prompts first.</p></li><li><p><strong>Can I clearly define what each agent would do?</strong> If not, the split isn&#8217;t ready.</p></li><li><p><strong>Can I clearly define what passes between agents?</strong> The handoff must be crisp.</p></li><li><p><strong>Is the added complexity justified by better results?</strong> Complexity for its own sake is waste.</p></li><li><p><strong>Can I maintain this system over time?</strong> More agents means more maintenance.</p></li></ol><p>If you answer yes to all five, multi-agent is likely the right call. If you&#8217;re uncertain on any, try optimizing the single-agent approach further first.</p><p><strong>Next lesson:</strong> Sequential Handoffs &#8212; when agents work in series, passing output from one to the next.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:427879}" data-component-name="PollToDOM"></div><div><hr></div><p>Found this content informative? Like this post, leave a comment and share with others. Help me gain wider reach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-81-when-one-claude-isnt-enough/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-81-when-one-claude-isnt-enough/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Lesson 7.4: Testing and Iteration]]></title><description><![CDATA[Claude Mastery for E-commerce Operators]]></description><link>https://kinga168.substack.com/p/lesson-74-testing-and-iteration</link><guid isPermaLink="false">https://kinga168.substack.com/p/lesson-74-testing-and-iteration</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Sat, 07 Feb 2026 16:02:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yAVF!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a588e8-11ca-4281-b3c5-4126d71839b9_1138x1138.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Building an agent is straightforward. Building a reliable agent requires testing. This lesson covers systematic approaches to finding and fixing problems.</p><h2><strong>The Testing Mindset</strong></h2><p>Most people test agents like this: run a few examples, see if the output looks good, declare it done.</p><p>That&#8217;s not testing. That&#8217;s hoping.</p><p>Real testing is adversarial. You&#8217;re trying to break your agent. You&#8217;re actively looking for the inputs that produce bad outputs. Every failure you find in testing is a failure that won&#8217;t surprise you in production.</p><p>The goal isn&#8217;t to confirm your agent works. It&#8217;s to discover how it fails.</p><h2><strong>Test Cases: The 5-10 Scenarios Your Agent Must Handle</strong></h2><p>Every agent has core scenarios &#8212; the situations it will encounter most often. Identify these first.</p><p><strong>For the inbox triage agent:</strong></p><ol><li><p>Clear client request with specific ask</p></li><li><p>Prospect inquiry from unknown sender</p></li><li><p>Vendor cold outreach</p></li><li><p>Newsletter from subscribed source</p></li><li><p>Administrative notification (receipt, calendar)</p></li><li><p>Urgent request with deadline</p></li><li><p>Email thread (reply in ongoing conversation)</p></li><li><p>Batch of mixed email types</p></li></ol><p><strong>For the research agent:</strong></p><ol><li><p>Well-known brand with lots of public information</p></li><li><p>Smaller brand with limited public presence</p></li><li><p>Brand with active, visible email marketing</p></li><li><p>Brand with minimal email presence</p></li><li><p>Direct competitor in same category</p></li><li><p>Adjacent competitor in related category</p></li></ol><p>Create actual test inputs for each scenario. Real emails, real competitor names. Test them systematically. Record results.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Thanks for reading Kinga | Claude AI for Ecommerce! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Edge Cases: The Weird Inputs That Break Things</strong></h2><p>Core scenarios are necessary but insufficient. You also need edge cases &#8212; the unusual inputs that reveal brittleness.</p><p><strong>Types of edge cases to test:</strong></p><p><strong>Ambiguous inputs. </strong>An email that could reasonably be categorized two different ways. A competitor with multiple brands. What does the agent do when the right answer isn&#8217;t obvious?</p><p><strong>Missing information. </strong>An email with no subject line. A competitor with almost no public information. How does the agent handle gaps?</p><p><strong>Conflicting signals. </strong>An email that&#8217;s both urgent and from an unknown sender. A competitor making contradictory public statements. How does the agent resolve conflicts?</p><p><strong>Extreme inputs. </strong>A very long email. A batch of 50 emails. A competitor you&#8217;ve never heard of. Does the agent scale?</p><p><strong>Trick inputs. </strong>An email that looks like one category but is actually another. A marketing email disguised as a personal message. Does the agent see through surface patterns?</p><p>For each edge case, the question isn&#8217;t just &#8220;does the agent produce output?&#8221; It&#8217;s &#8220;does the agent handle this gracefully?&#8221; Graceful handling might mean correct categorization, or it might mean acknowledging uncertainty and flagging for human review.</p><h2><strong>Failure Modes: Understanding How and Why Agents Fail</strong></h2><p>When agents fail, they fail in predictable ways. Knowing the common failure modes helps you test for them.</p><p><strong>Pattern matching gone wrong. </strong>The agent latches onto surface features and misses underlying meaning. It categorizes based on keywords rather than actual intent. Test: inputs where obvious keywords suggest the wrong category.</p><p><strong>Instruction drift. </strong>Over long conversations or complex inputs, the agent forgets constraints. It stops following the output format. It loses the role. Test: long inputs, complex scenarios, multi-part tasks.</p><p><strong>Confident errors. </strong>The agent produces wrong output with high confidence. No hedging, no uncertainty flags, just wrong. Test: inputs where the right answer is non-obvious and the agent might guess.</p><p><strong>Scope creep. </strong>The agent tries to do more than asked, sometimes doing the extra work poorly. Test: inputs that could be interpreted broadly. Does the agent stay in scope?</p><p><strong>Tool misuse. </strong>The agent uses tools when it shouldn&#8217;t, or doesn&#8217;t use them when it should. It searches when it should use existing knowledge. It calculates in its head when it should use code. Test: scenarios where correct tool choice matters.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-74-testing-and-iteration?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Kinga | Claude AI for Ecommerce! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-74-testing-and-iteration?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-74-testing-and-iteration?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div><h2><strong>The Feedback Loop: Using Failures to Improve</strong></h2><p>Every failure is a lesson. The question is how to learn from it.</p><p><strong>Diagnose before fixing. </strong>When an agent fails, don&#8217;t immediately change the prompt. First, understand why it failed. Was the instruction unclear? Missing? Contradicted by something else? Was the failure predictable from the prompt, or surprising?</p><p><strong>Make minimal changes. </strong>Fix the specific failure without breaking what was working. If the agent miscategorizes vendor emails, add clarification about vendor emails. Don&#8217;t rewrite the entire categorization section.</p><p><strong>Test the fix specifically. </strong>After changing the prompt, re-run the failing case. Did it fix the problem? Then re-run some previously passing cases. Did you break anything?</p><p><strong>Add to your test suite. </strong>Every failure that you fix becomes a test case. If the agent miscategorized a vendor email as a prospect inquiry, that email is now part of your permanent test suite. Future changes must pass it.</p><h2><strong>Versioning Your Prompts</strong></h2><p>As you iterate, prompts evolve. Keep track of what changes.</p><p><strong>Simple versioning:</strong></p><ul><li><p>v1.0: Initial prompt</p></li><li><p>v1.1: Added explicit handling for [specific case]</p></li><li><p>v1.2: Fixed output format for [issue]</p></li><li><p>v2.0: Major restructure of [section]</p></li></ul><p><strong>What to track:</strong></p><ul><li><p>What changed</p></li><li><p>Why (what failure prompted the change)</p></li><li><p>Test results after the change</p></li></ul><p>This history is invaluable when something breaks. You can trace back to when it was working and understand what changed. You can revert if a &#8220;fix&#8221; made things worse.</p><h2><strong>Testing in Production</strong></h2><p>Even well-tested agents encounter new scenarios in production. Build in feedback mechanisms.</p><p><strong>Quick feedback capture. </strong>When output is wrong, note it immediately. What was the input? What was the output? What should it have been? This takes 30 seconds and prevents the same failure from recurring.</p><p><strong>Periodic review. </strong>Every week or two, review recent agent outputs. Look for patterns in errors. Are there new edge cases emerging? Is performance degrading in certain areas?</p><p><strong>Continuous improvement. </strong>Use production feedback to drive iteration cycles. The agent gets better over time because you keep feeding failures back into improvements.</p><h2><strong>The Testing Checklist</strong></h2><p>Before deploying any agent:</p><ol><li><p>Identify 5-10 core scenarios</p></li><li><p>Create real test inputs for each</p></li><li><p>Run all core scenarios, evaluate results</p></li><li><p>Identify 5-10 edge cases</p></li><li><p>Test edge cases, evaluate handling</p></li><li><p>Fix any failures, re-test</p></li><li><p>Document known limitations</p></li><li><p>Set up feedback capture for production use</p></li></ol><p>This checklist ensures your agent is genuinely tested, not just tried. It&#8217;s the difference between &#8220;I ran it once and it seemed to work&#8221; and &#8220;I systematically verified it handles the scenarios it will encounter.&#8221;</p><p><em>--- End of Module 7 ---</em></p><p><strong>What&#8217;s Next: </strong>Module 8 covers Multi-Agent Systems &#8212; when one agent isn&#8217;t enough. You&#8217;ll learn how to break complex work into multiple specialized agents, design handoffs between them, run parallel processes, and orchestrate systems that can tackle work too big for any single agent.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:427879}" data-component-name="PollToDOM"></div><div><hr></div><p>Found this content informative? Like this post, leave a comment and share with others. Help me gain wider reach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-74-testing-and-iteration/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-74-testing-and-iteration/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Lesson 7.3: Step-by-Step: Build a Research Agent]]></title><description><![CDATA[Claude Mastery for E-commerce Operators]]></description><link>https://kinga168.substack.com/p/lesson-73-step-by-step-build-a-research</link><guid isPermaLink="false">https://kinga168.substack.com/p/lesson-73-step-by-step-build-a-research</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Fri, 06 Feb 2026 11:02:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yAVF!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a588e8-11ca-4281-b3c5-4126d71839b9_1138x1138.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The inbox triage agent was about classification and response. Now we build something different: a research agent that gathers, synthesizes, and reports.</p><p>This agent does competitive intelligence &#8212; researching a competitor&#8217;s positioning, digital presence, and marketing approach. It&#8217;s a different goal, different tools, different output. But the development process is identical.</p><h2><strong>Step 1: Define the Goal</strong></h2><p><strong>The problem: </strong>Clients ask &#8220;what are competitors doing?&#8221; Answering well requires research &#8212; checking websites, looking for press coverage, analyzing publicly available information. It takes time and the research goes stale.</p><p><strong>The goal: </strong>An agent that researches a specified competitor and produces a structured report on their market positioning, digital presence, and marketing approach &#8212; including brand strategy, promotional patterns, notable tactics, and strategic observations.</p><p><strong>Success criteria: </strong>Report covers the major aspects of a competitor&#8217;s public presence. Information is current (from web search). Observations are insightful, not just descriptive. Report is client-ready with minimal editing.</p><h2><strong>Step 2: Map Research Sources</strong></h2><p>What information can the agent actually access? This determines what&#8217;s possible.</p><p>Before anything else: make sure web search is toggled on. If it&#8217;s off, Claude works only from training data. For competitive intelligence, enable Research mode too &#8212; Claude will conduct multiple searches across different angles rather than one or two quick lookups. Research mode requires web search to be enabled.</p><p><strong>Via web search and Research:</strong></p><ul><li><p>Company website &#8212; homepage, product pages, about page (static HTML content)</p></li><li><p>Press coverage, marketing blog analyses, and case studies</p></li><li><p>Industry reports mentioning the competitor (summaries &#8212; full reports are often paywalled)</p></li><li><p>Email examples on free archive sites like Really Good Emails</p></li><li><p>Customer reviews on public platforms (Trustpilot, Google Reviews)</p></li><li><p>The brand&#8217;s own blog or content about their approach</p></li></ul><p><strong>Not directly accessible:</strong></p><ul><li><p>JavaScript-triggered popups, exit-intent overlays, or dynamic page elements (Claude fetches static HTML, it doesn&#8217;t browse like a human)</p></li><li><p>Social media feeds (Claude can&#8217;t scroll Instagram or TikTok &#8212; only finds social content if it&#8217;s referenced in articles)</p></li><li><p>Actual competitor emails (would need to subscribe and forward)</p></li><li><p>Internal metrics &#8212; send frequency, open rates, conversion data</p></li></ul><p>This scope check is critical. The agent can research publicly available and indexed information. It cannot browse dynamic content or access anything behind a login. The goal and output need to reflect what&#8217;s actually possible.</p><h2><strong>Step 3: Design Output Format</strong></h2><p>What should the report look like? Design the structure before writing prompts.</p><p><strong>Competitive Intelligence Report</strong></p><p><strong>1. Company Overview: </strong>Who they are, market position, target customer.</p><p><strong>2. Digital Presence and Website Strategy: </strong>What the site communicates &#8212; messaging, product presentation, trust signals, navigation.</p><p><strong>3. Brand Positioning: </strong>How they position themselves &#8212; value propositions, pricing approach, key differentiators.</p><p><strong>4. Marketing Approach: </strong>What&#8217;s discoverable about campaigns, promotional strategy, email presence (from archive sites), content marketing.</p><p><strong>5. Notable Tactics: </strong>Anything distinctive &#8212; unique approaches, interesting techniques, partnerships.</p><p><strong>6. Strategic Observations: </strong>Higher-level analysis &#8212; what&#8217;s working, apparent focus areas, opportunities they might be missing.</p><p><strong>7. Information Gaps: </strong>What couldn&#8217;t be determined from public sources and how to fill those gaps.</p><p><strong>8. Recommendations for Client: </strong>Specific takeaways &#8212; what to emulate, what to avoid, differentiation opportunities.</p><h2><strong>Step 4: Create the System Prompt</strong></h2><p>Assemble into a comprehensive system prompt.</p><p><strong>&#8212;&#8212;&#8212; SYSTEM PROMPT &#8212;&#8212;&#8212;</strong></p><p><strong>ROLE</strong></p><p>You are a competitive intelligence researcher specializing in e-commerce. Your job is to research competitors and produce actionable intelligence reports for DTC brands.</p><p><strong>CONTEXT</strong></p><p>The user is a consultant serving DTC e-commerce clients. Clients frequently want to understand what competitors are doing &#8212; their positioning, marketing, and where the opportunities are. Your research helps inform strategy and identify differentiation.</p><p><strong>TASK</strong></p><p>When given a competitor brand name (and optionally their website), research their public presence and produce a structured competitive intelligence report.</p><p><strong>METHODOLOGY</strong></p><ol><li><p>Fetch the competitor&#8217;s homepage and key pages. Analyze messaging, product presentation, and visible trust signals.</p></li><li><p>Search for press coverage, marketing analyses, or case studies mentioning the brand.</p></li><li><p>Search email archive sites (Really Good Emails, Panoramata) for examples of their campaigns.</p></li><li><p>Search for customer reviews on public platforms.</p></li><li><p>Search for the brand&#8217;s own blog content about their approach.</p></li><li><p>Synthesize findings into the structured report.</p></li></ol><p><strong>OUTPUT FORMAT</strong></p><p>Produce a report with sections: Company Overview, Digital Presence and Website Strategy, Brand Positioning, Marketing Approach, Notable Tactics, Strategic Observations, Information Gaps, Recommendations for Client. Each section should be 2-4 paragraphs with specific examples where available.</p><p><strong>CONSTRAINTS</strong></p><ul><li><p>Always cite sources &#8212; link to where you found information</p></li><li><p>Distinguish between confirmed facts and inferences</p></li><li><p>Do not claim to have seen popups, social feeds, or email inboxes unless you actually retrieved that content</p></li><li><p>Note information gaps &#8212; what you couldn&#8217;t find</p></li><li><p>If limited information is available, say so rather than padding the report</p></li><li><p>Keep tone professional and objective &#8212; analysis, not opinion</p></li><li><p>Make recommendations specific and actionable</p></li></ul><p><strong>QUALITY STANDARD</strong></p><p>The report should be client-ready &#8212; professional formatting, clear writing, valuable insights. A consultant should be able to share this with a client with minimal editing.</p><p><strong>&#8212;&#8212;&#8212; END SYSTEM PROMPT &#8212;&#8212;&#8212;</strong></p><h2><strong>Step 5: Test with a Real Competitor</strong></h2><p>Don&#8217;t test with a fake company. Pick a real competitor from a client&#8217;s space. Run the research.</p><p>Example prompt: &#8220;Research the competitive positioning and marketing approach for [Real Competitor Brand]. Their website is [competitor.com].&#8221; Then evaluate the output.</p><p><strong>What to evaluate:</strong></p><ul><li><p>Did it actually search? Check for citations. No citations usually means web search was off.</p></li><li><p>Is the information current and accurate?</p></li><li><p>Are all sections substantive, or are some thin?</p></li><li><p>Are observations specific to this competitor, or generic best practices with their name attached?</p></li><li><p>Did the agent claim to have seen things it couldn&#8217;t access?</p></li><li><p>Are recommendations specific and actionable?</p></li><li><p>Would you actually send this to a client?</p></li></ul><h2><strong>Step 6: Evaluate Completeness</strong></h2><p>Research agents have a specific failure mode: incomplete coverage. They might do great on one section and barely touch another.</p><p><strong>Completeness checklist:</strong></p><ul><li><p>Did it visit the competitor&#8217;s actual website?</p></li><li><p>Did it search for external coverage and analysis?</p></li><li><p>Did it check email archive sites?</p></li><li><p>Are all report sections populated?</p></li><li><p>Are there specific examples and citations?</p></li><li><p>Does the Information Gaps section contain genuine observations?</p></li></ul><p>If coverage is incomplete, strengthen the methodology section of your prompt. Make each research step more explicit. Also check whether Research mode was enabled &#8212; without it, Claude defaults to fewer searches and you&#8217;ll get thinner results.</p><h2><strong>Step 7: Iterate and Refine</strong></h2><p>Common issues with research agents and fixes:</p><p><strong>Problem: Shallow research</strong></p><p>Agent does one or two searches and calls it done. Fix: Add explicit instruction to &#8220;conduct at least [N] searches across different source types before synthesizing.&#8221; Confirm Research mode is enabled.</p><p><strong>Problem: Missing citations</strong></p><p>Claims without sources. Fix: Add &#8220;Every factual claim must include a source link. If you can&#8217;t cite it, don&#8217;t include it.&#8221;</p><p><strong>Problem: Generic observations</strong></p><p>&#8220;They have a strong online presence.&#8221; Useless. Fix: Add &#8220;Observations must be specific. Instead of &#8216;they have good branding,&#8217; say &#8216;their homepage leads with heritage storytelling before showing products, positioning craftsmanship over price.&#8217;&#8221;</p><p><strong>Problem: Fabricated claims about things Claude can&#8217;t see</strong></p><p>The most dangerous research agent failure. The agent describes social feeds it never accessed or popups it can&#8217;t see. Fix: &#8220;Do not claim to have seen content unless you actually retrieved it.&#8221;</p><p><strong>Problem: Padded content</strong></p><p>When information is thin, agent fills with fluff. Fix: Add &#8220;If information is limited, say so clearly. A short, honest section is better than a long, padded one.&#8221;</p><h2><strong>The Research Agent Pattern</strong></h2><p>Research agents share common characteristics:</p><p><strong>Explicit methodology. </strong>Research without structure produces inconsistent results. Define the research steps.</p><p><strong>Source requirements. </strong>Mandate citations. No claims without evidence.</p><p><strong>Completeness checks. </strong>Ensure all sources are consulted, all sections are covered.</p><p><strong>Honesty about gaps. </strong>Better to acknowledge missing information than to fabricate or pad.</p><p>Apply this pattern to any research task: competitive analysis, industry benchmarking, trend research, market sizing.</p><p><strong>Next lesson: </strong>Testing and Iteration &#8212; systematic approaches to making your agents better.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:427879}" data-component-name="PollToDOM"></div><div><hr></div><p>Found this content informative? Like this post, leave a comment and share with others. Help me gain wider reach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-73-step-by-step-build-a-research/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-73-step-by-step-build-a-research/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Lesson 7.2: Step-by-Step: Build an Inbox Triage Agent]]></title><description><![CDATA[Claude Mastery for E-commerce Operators]]></description><link>https://kinga168.substack.com/p/lesson-72-step-by-step-build-an-inbox</link><guid isPermaLink="false">https://kinga168.substack.com/p/lesson-72-step-by-step-build-an-inbox</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Mon, 02 Feb 2026 18:01:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yAVF!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a588e8-11ca-4281-b3c5-4126d71839b9_1138x1138.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Theory is nice. Building is better.</p><p>This lesson walks through building a complete agent from scratch. Not a toy example &#8212; a genuinely useful tool: an inbox triage agent that categorizes and prioritizes incoming emails, drafts responses where appropriate, and flags what needs your attention.</p><p>We&#8217;ll follow the development cycle: define, build, test, evaluate, iterate. By the end, you&#8217;ll have a working agent and &#8212; more importantly &#8212; a repeatable process for building your own.</p><h2><strong>Step 1: Define the Goal</strong></h2><p>Start with what you&#8217;re trying to accomplish. Be specific.</p><p><strong>The problem: </strong>Email overload. You get dozens of messages daily &#8212; client requests, vendor inquiries, newsletters, administrative stuff, spam that made it through filters. Sorting through them, deciding what needs response, and actually responding takes hours.</p><p><strong>The goal: </strong>An agent that processes incoming emails and produces: (1) categorization of each email by type and priority; (2) draft responses for routine emails; (3) clear flags for emails requiring your personal attention; (4) a summary that lets you quickly see what needs action.</p><p><strong>Success criteria: </strong>Categories are accurate 90%+ of the time. Draft responses are usable with minimal editing 80%+ of the time. Nothing important is missed or miscategorized as low priority.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Thanks for reading Kinga | Claude AI for Ecommerce! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Step 2: Design the Classification Schema</strong></h2><p>Before writing any prompts, design your categories. This is domain knowledge &#8212; you know your inbox better than Claude does.</p><p><strong>Categories (for an e-commerce consultant):</strong></p><ul><li><p><strong>Client Request: </strong>Active client asking for something &#8212; deliverable, meeting, information.</p></li><li><p><strong>Prospect Inquiry: </strong>Potential client expressing interest or asking questions.</p></li><li><p><strong>Vendor/Partner: </strong>Tool vendors, potential partners, collaboration requests.</p></li><li><p><strong>Administrative: </strong>Invoices, receipts, account notifications, scheduling confirmations.</p></li><li><p><strong>Newsletter/Content: </strong>Newsletters you&#8217;ve subscribed to, content updates, industry news.</p></li><li><p><strong>Marketing/Sales: </strong>Unsolicited sales pitches, cold outreach, promotional content.</p></li><li><p><strong>Personal: </strong>Non-work emails from friends, family, personal contacts.</p></li></ul><p><strong>Priority levels:</strong></p><ul><li><p><strong>Urgent: </strong>Needs response today. Time-sensitive requests, deadlines, issues.</p></li><li><p><strong>High: </strong>Important but not time-critical. Respond within 24-48 hours.</p></li><li><p><strong>Normal: </strong>Standard priority. Handle in normal workflow.</p></li><li><p><strong>Low: </strong>Can wait. Newsletters, FYI items, non-urgent admin.</p></li></ul><p><strong>Response actions:</strong></p><ul><li><p><strong>Draft Response: </strong>Agent can draft a suitable reply.</p></li><li><p><strong>Needs Personal Response: </strong>Requires your personal attention, can&#8217;t be templated.</p></li><li><p><strong>No Response Needed: </strong>Newsletters, receipts, notifications &#8212; no reply required.</p></li><li><p><strong>Consider Unsubscribe: </strong>Marketing you keep ignoring, newsletters you never read.</p></li></ul><h2><strong>Step 3: Write Response Templates</strong></h2><p>For emails that get draft responses, you need templates. These aren&#8217;t canned responses &#8212; they&#8217;re frameworks Claude will personalize.</p><p><strong>Meeting request acknowledgment:</strong></p><p><em>&#8220;Thanks for reaching out about [topic]. I&#8217;d be happy to find time to discuss. I&#8217;m generally available [standard availability window]. Would any of these times work for you? [suggest 2-3 options based on context]&#8221;</em></p><p><strong>Simple information request:</strong></p><p><em>&#8220;Thanks for your question about [topic]. [Direct answer]. Let me know if you need any additional detail.&#8221;</em></p><p><strong>Vendor inquiry deferral:</strong></p><p><em>&#8220;Thanks for reaching out. I&#8217;m not currently looking to change [tool/service type], but I&#8217;ll keep your information on file for when I&#8217;m next evaluating options.&#8221;</em></p><p>These templates guide Claude toward appropriate responses while allowing customization for specific situations.</p><h2><strong>Step 4: Create the System Prompt</strong></h2><p>Now we assemble everything into a system prompt. This goes in your Project instructions.</p><p><strong>--- SYSTEM PROMPT ---</strong></p><p><strong>ROLE</strong></p><p>You are an email triage assistant for an e-commerce consultant. Your job is to process incoming emails and provide categorization, prioritization, and draft responses where appropriate.</p><p><strong>CONTEXT</strong></p><p>The user runs a consulting business focused on email marketing and Klaviyo for DTC e-commerce brands. They receive emails from: active clients, prospective clients, tool vendors, partners, and various newsletters and marketing. Their time is valuable &#8212; the goal is to quickly surface what needs attention and handle routine correspondence efficiently.</p><p><strong>TASK</strong></p><p>When given one or more emails to process, for each email provide: (1) Category, (2) Priority level, (3) Recommended action, (4) Draft response if applicable, (5) Key points summary.</p><p><strong>CATEGORIES</strong></p><p>Client Request, Prospect Inquiry, Vendor/Partner, Administrative, Newsletter/Content, Marketing/Sales, Personal</p><p><strong>PRIORITY LEVELS</strong></p><p>Urgent (respond today), High (24-48 hours), Normal (standard workflow), Low (can wait)</p><p><strong>ACTIONS</strong></p><p>Draft Response, Needs Personal Response, No Response Needed, Consider Unsubscribe</p><p><strong>CONSTRAINTS</strong></p><ul><li><p>Never auto-respond to anything involving money, contracts, or commitments</p></li><li><p>Flag anything ambiguous for personal review rather than guessing</p></li><li><p>Client requests are always High priority minimum, Urgent if deadline mentioned</p></li><li><p>When drafting responses, maintain professional but warm tone</p></li><li><p>If context suggests an ongoing client relationship (references to past work, uses familiar tone, mentions specific projects), prioritize accordingly</p></li></ul><p><strong>OUTPUT FORMAT</strong></p><p>For each email, output in this structure: FROM: [sender], SUBJECT: [subject line], CATEGORY: [category], PRIORITY: [level], ACTION: [recommended action], SUMMARY: [2-3 sentence summary of what this email is about and what it&#8217;s asking], DRAFT RESPONSE: [if applicable, otherwise &#8220;N/A&#8221;]</p><p>After processing all emails, provide: TRIAGE SUMMARY showing counts by category and priority, and ACTION ITEMS listing emails that need the user&#8217;s personal attention, sorted by priority.</p><p><strong>--- END SYSTEM PROMPT ---</strong></p><p><strong>Enhancing with client context: </strong>This base prompt works for any email. To make it smarter about your specific clients, add a client list to your Project Knowledge &#8212; names, companies, domains. Then add to the constraints: &#8220;Refer to the client list in Project Knowledge to identify active clients.&#8221;</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-72-step-by-step-build-an-inbox?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Kinga | Claude AI for Ecommerce! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-72-step-by-step-build-an-inbox?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-72-step-by-step-build-an-inbox?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div><h2><strong>Step 5: Test with Real Emails</strong></h2><p>Now test. Not with made-up examples &#8212; with real emails from your inbox.</p><p>Create a new conversation in your Project. Paste in 5-10 recent emails (remove any sensitive information if needed). See what the agent produces.</p><p><strong>What to evaluate:</strong></p><ul><li><p>Are categories correct?</p></li><li><p>Are priorities reasonable?</p></li><li><p>Are draft responses usable?</p></li><li><p>Is the summary accurate?</p></li><li><p>Did it flag the right things for personal attention?</p></li></ul><p>Take notes on what worked and what didn&#8217;t. Be specific &#8212; &#8220;the categorization was wrong&#8221; isn&#8217;t helpful. &#8220;It categorized a client request as Vendor/Partner because the client mentioned a tool&#8221; is something you can fix.</p><h2><strong>Step 6: Iterate on Edge Cases</strong></h2><p>Your first test will reveal problems. Here&#8217;s how to fix them.</p><p><strong>Problem: Miscategorization</strong></p><p>If the agent consistently miscategorizes a certain type of email, add explicit guidance. &#8220;Emails from [domain] are client emails, not vendor emails.&#8221; Or add examples of tricky categorizations to the system prompt.</p><p><strong>Problem: Wrong priority</strong></p><p>If priority assessment is off, clarify your criteria. &#8220;Emails mentioning &#8216;urgent,&#8217; &#8216;ASAP,&#8217; or specific deadlines should be Urgent. Emails with questions but no timeline are Normal.&#8221;</p><p><strong>Problem: Unusable draft responses</strong></p><p>If drafts don&#8217;t match your voice or approach, add examples of good responses. Show the agent what you actually sound like when responding to different email types.</p><p><strong>Problem: Missing important flags</strong></p><p>If important emails are getting marked &#8220;No Response Needed,&#8221; tighten your constraints. &#8220;When in doubt about whether something needs a response, flag for personal review.&#8221;</p><p>After each round of fixes, test again. Run new emails through. See if the problems are resolved. Repeat until performance meets your success criteria.</p><h2><strong>Step 7: Document for Reuse</strong></h2><p>Once your agent works reliably, document it.</p><p><strong>What this agent does:</strong></p><p>Processes incoming emails, providing categorization, prioritization, and draft responses. Surfaces what needs personal attention.</p><p><strong>How to use:</strong></p><p>Paste emails (one or more) into a conversation. Include sender, subject, and body. Agent will process and return structured triage.</p><p><strong>Known limitations:</strong></p><ul><li><p>Can&#8217;t access email directly &#8212; requires copy/paste</p></li><li><p>Doesn&#8217;t know your calendar &#8212; availability suggestions are generic</p></li><li><p>May miscategorize emails from new senders</p></li></ul><p><strong>Version history:</strong></p><ul><li><p>v1.0: Initial version</p></li><li><p>v1.1: Added explicit priority for client emails</p></li><li><p>v1.2: Improved draft response templates</p></li></ul><p>This documentation helps you maintain the agent over time, and helps if you ever want to share or adapt it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Thanks for reading Kinga | Claude AI for Ecommerce! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Looking Ahead: Adding Direct Inbox Access</strong></h2><p>This agent requires copying and pasting emails manually. That&#8217;s intentional for your first build &#8212; it keeps the focus on the agent pattern itself without adding integration complexity.</p><p>But remember Module 5? MCP connectors can give Claude direct access to your inbox. Gmail integration lets Claude read your emails without copy/paste. The system prompt stays almost identical; you&#8217;re just changing how emails reach the agent.</p><p>Once you&#8217;re comfortable with the agent-building pattern from this module, upgrading to MCP access is straightforward. The hard part &#8212; designing the classification schema, writing the system prompt, iterating on edge cases &#8212; you&#8217;ve already done.</p><h2><strong>The Pattern You Just Learned</strong></h2><p>This walkthrough demonstrated a repeatable pattern:</p><ol><li><p>Define the goal precisely, including success criteria</p></li><li><p>Design the domain model (categories, actions, formats)</p></li><li><p>Create supporting elements (templates, examples)</p></li><li><p>Assemble into system prompt</p></li><li><p>Test with real data</p></li><li><p>Iterate based on failures</p></li><li><p>Document for maintenance</p></li></ol><p>This pattern works for any agent. The specifics change &#8212; different goals, different categories, different outputs &#8212; but the process is the same.</p><p><strong>Next lesson: </strong>Step-by-Step: Build a Research Agent &#8212; a different type of agent with different requirements, same development process.</p><div><hr></div><p>Found this content informative? Like this post, leave a comment and share with others. Help me gain wider reach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-72-step-by-step-build-an-inbox/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-72-step-by-step-build-an-inbox/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Lesson 7.1: Anatomy of a Claude Agent ]]></title><description><![CDATA[Claude Mastery for E-commerce Operators]]></description><link>https://kinga168.substack.com/p/lesson-71-anatomy-of-a-claude-agent</link><guid isPermaLink="false">https://kinga168.substack.com/p/lesson-71-anatomy-of-a-claude-agent</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Sun, 01 Feb 2026 17:02:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yAVF!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a588e8-11ca-4281-b3c5-4126d71839b9_1138x1138.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Modules 1-6 gave you the building blocks. Understanding Claude. Knowing when to use it. Prompting for agents. Native tools. MCP connections. Memory and context management.</p><p>Now we assemble.</p><p>This module is where theory becomes practice. You&#8217;ll build real agents that do real work. Not demos. Not toys. Operational tools that save hours every week.</p><p>But before we build, we need to understand what we&#8217;re building. What actually makes something an &#8220;agent&#8221; rather than just a conversation with Claude?</p><h2><strong>The Four Components</strong></h2><p>Every Claude agent has four essential components. Miss one, and you have something less than an agent &#8212; maybe a useful prompt, maybe a one-off workflow, but not a reliable system you can deploy and trust.</p><p><strong>1. Goal</strong></p><p>What the agent is trying to accomplish. Not vaguely &#8212; precisely. &#8220;Help with email marketing&#8221; isn&#8217;t a goal. &#8220;Analyze Klaviyo flow performance against benchmarks and produce a prioritized list of optimization recommendations&#8221; is a goal.</p><p>The goal defines success. Without it, you can&#8217;t know if the agent is working. You can&#8217;t improve it. You can&#8217;t trust it.</p><p>A well-defined goal answers: What output does this agent produce? What inputs does it need? What does &#8220;done&#8221; look like? How will I know if the output is good?</p><p><strong>2. Tools</strong></p><p>What capabilities the agent has access to. This includes Claude&#8217;s native tools (web search, code execution, artifacts) and MCP connections (Shopify, Klaviyo, Notion, etc.).</p><p>Tools define what&#8217;s possible. An agent with Shopify access can check real inventory. An agent without it can only work with data you provide. An agent with code execution can calculate precisely. An agent without it can only estimate.</p><p>Think of tools as the agent&#8217;s hands. The goal tells it what to do. Tools determine what it can do.</p><p><strong>3. Instructions</strong></p><p>How the agent should approach the work. This is your system prompt &#8212; the role, context, constraints, output format, error handling, and examples we covered in Module 3.</p><p>Instructions define the approach. Two agents with the same goal and tools but different instructions will produce different outputs. One might be thorough and methodical. Another might be quick and high-level. One might format for clients. Another might format for internal use.</p><p>Instructions encode your expertise. How you do the work, distilled into a form Claude can follow.</p><p><strong>4. Memory</strong></p><p>What context the agent carries. This includes Claude&#8217;s memory system, project knowledge, and any documents or context you provide.</p><p>Memory defines what the agent knows. An agent with your client context document knows their brand voice, their AOV, their customer segments. An agent without it gives generic advice.</p><p>Memory is what makes an agent yours. The same instructions running with different memory produce different &#8212; and more relevant &#8212; outputs.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Thanks for reading Kinga | Claude AI for Ecommerce! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>How the Components Interact</strong></h2><p>These four components don&#8217;t operate independently. They shape each other.</p><p><strong>Goal shapes everything. </strong>It determines what tools you need, what instructions to write, what memory to include. A goal of &#8220;audit email flows&#8221; requires different tools (Klaviyo access), different instructions (audit methodology), and different memory (benchmarks) than &#8220;write email copy&#8221; (no data access needed, creative brief format, brand voice examples).</p><p><strong>Tools constrain possibilities. </strong>If you don&#8217;t have MCP access to a system, your agent can&#8217;t query it. Your instructions need to account for what&#8217;s possible. Your goal needs to be achievable with available tools.</p><p><strong>Instructions encode method. </strong>They tell Claude how to use the tools to achieve the goal, given the memory available. They&#8217;re the bridge between capability and outcome.</p><p><strong>Memory provides context. </strong>It&#8217;s the specific knowledge that makes generic instructions produce specific, relevant outputs.</p><h2><strong>Packaging Instructions as Skills</strong></h2><p>Once you&#8217;ve refined an agent&#8217;s instructions through iteration, you can package them as a skill file. A skill is essentially your Instructions component in reusable, portable form.</p><p>This makes your agent:</p><p><strong>Reproducible.</strong> The same agent works across different conversations without rewriting the prompt each time.</p><p><strong>Shareable.</strong> Team members or clients can use your agent with the same quality of output.</p><p><strong>Portable.</strong> Move agents between Claude Projects or share them across your organization.</p><p><strong>Version-controlled.</strong> Iterate on the skill file itself, tracking what changed and why.</p><p>We cover building your own knowledge layer &#8212; including skills files &#8212; in Module 6. For now, understand that the Instructions component you&#8217;re crafting isn&#8217;t throwaway work. It becomes an asset you can package and reuse.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-71-anatomy-of-a-claude-agent?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Kinga | Claude AI for Ecommerce! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-71-anatomy-of-a-claude-agent?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-71-anatomy-of-a-claude-agent?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div><h2><strong>Agent vs. Prompt vs. Workflow</strong></h2><p>Let&#8217;s clarify what makes something an agent versus just a good prompt or a workflow.</p><p><strong>A prompt </strong>is instructions for a single interaction. &#8220;Analyze this email and suggest improvements.&#8221; It might be excellent, but it&#8217;s one-shot. No persistent identity, no accumulated capability.</p><p><strong>A workflow </strong>is a sequence of steps you execute. Export data here, paste there, ask Claude this, then that. You&#8217;re the orchestrator. Claude is one tool among several.</p><p><strong>An agent </strong>is a persistent, defined entity. It has an identity (the role in your system prompt). It has capabilities (tools). It has knowledge (memory). It can be deployed &#8212; you point it at work and it produces output, reliably, consistently.</p><p>The distinction matters because agents are reusable and improvable. You build them once, use them many times, refine them based on performance. A prompt is ephemeral. An agent is infrastructure.</p><h2><strong>The Minimum Viable Agent</strong></h2><p>You don&#8217;t need all four components at maximum strength to have a useful agent. Start minimal and add sophistication.</p><p><strong>Minimum goal: </strong>A clear, specific outcome. Not comprehensive, just defined.</p><p><strong>Minimum tools: </strong>Claude&#8217;s native capabilities. Web search, code execution, artifacts. No MCP required to start.</p><p><strong>Minimum instructions: </strong>Role, context, output format. Enough to shape behavior.</p><p><strong>Minimum memory: </strong>Project instructions. No extensive knowledge base needed.</p><p>A minimum viable agent might just be: a Claude Project with good instructions and a clear purpose. That&#8217;s it. That&#8217;s an agent. You can add tools, add memory, sophisticate the instructions &#8212; but the base is simple.</p><h2><strong>The Agent Development Cycle</strong></h2><p>Building agents is iterative. Here&#8217;s the cycle:</p><ol><li><p><strong>Define: </strong>Specify the goal, identify needed tools, draft instructions, determine required memory.</p></li><li><p><strong>Build: </strong>Create the Project, write the system prompt, connect tools, add knowledge.</p></li><li><p><strong>Test: </strong>Run real tasks through the agent. Start with typical cases.</p></li><li><p><strong>Evaluate: </strong>Is the output good? Does it meet the goal? Where does it fall short?</p></li><li><p><strong>Iterate: </strong>Refine instructions, add examples, adjust constraints. Return to step 3.</p></li></ol><p>You&#8217;ll go through this cycle multiple times for any agent worth building. The first version is never the final version. That&#8217;s not failure &#8212; that&#8217;s the process.</p><h2><strong>What Makes an Agent Good</strong></h2><p>A good agent is:</p><p><strong>Reliable. </strong>Same type of input produces same quality of output. No surprises. No wide variance.</p><p><strong>Useful. </strong>It saves time or produces better results than manual work. If it doesn&#8217;t, why have it?</p><p><strong>Bounded. </strong>It knows what it does and doesn&#8217;t do. It handles edge cases gracefully. It asks for help when appropriate.</p><p><strong>Improvable. </strong>When it fails, you can see why and fix it. The instructions are clear enough to modify.</p><p>These qualities come from the development process. Reliability comes from testing and iteration. Usefulness comes from clear goal definition. Boundaries come from explicit constraints. Improvability comes from well-structured instructions.</p><p><strong>Next lesson: </strong>Step-by-Step: Build an Inbox Triage Agent &#8212; your first complete agent build, from goal through deployment.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:427879}" data-component-name="PollToDOM"></div><div><hr></div><p>Found this content informative? Like this post, leave a comment and share with others. Help me gain wider reach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-71-anatomy-of-a-claude-agent/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-71-anatomy-of-a-claude-agent/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Lesson 6.4: Building Your Own Knowledge Layer ]]></title><description><![CDATA[Claude Mastery for E-commerce Operators]]></description><link>https://kinga168.substack.com/p/lesson-64-building-your-own-knowledge</link><guid isPermaLink="false">https://kinga168.substack.com/p/lesson-64-building-your-own-knowledge</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Sat, 31 Jan 2026 18:35:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UnId!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Memory gives Claude persistent context about you. Project Knowledge gives Claude reference materials for specific work. Long conversation management keeps context coherent within sessions.</p><p>This lesson is about the layer you build yourself: documented assets that make Claude systematically better at your specific work. Not Claude&#8217;s features &#8212; your infrastructure.</p><h2><strong>The Four Components</strong></h2><p>Your knowledge layer has four main components:</p><p><strong>1. Skills files </strong>&#8212; documented best practices and methodologies Claude can reference</p><p><strong>2. Reference templates </strong>&#8212; examples of excellent output Claude can pattern-match against</p><p><strong>3. Client context documents </strong>&#8212; everything Claude needs to know about specific clients or projects</p><p><strong>4. Prompt libraries </strong>&#8212; reusable prompts for tasks you do repeatedly</p><p>Each component serves a different purpose. Together, they create a system that compounds in value over time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Thanks for reading Kinga | Claude AI for Ecommerce! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Skills Files: Documented Best Practices</strong></h2><p>A skills file documents how to do something well. Not generic best practices from the internet &#8212; your best practices, refined through experience, specific to your work.</p><p><strong>What makes a good skills file:</strong></p><ul><li><p><strong>Specific to a task type. </strong>&#8220;How to audit a Klaviyo welcome series,&#8221; not &#8220;email marketing best practices.&#8221;</p></li><li><p><strong>Process-oriented. </strong>Step-by-step, what to do, in what order, with what considerations.</p></li><li><p><strong>Decision-inclusive. </strong>Not just &#8220;analyze open rates&#8221; but &#8220;if open rates are below X, check for these issues first.&#8221;</p></li><li><p><strong>Experience-encoded. </strong>The things you&#8217;ve learned that aren&#8217;t in any guide.</p></li></ul><p><strong>Example structure for a skills file:</strong></p><blockquote><p><em># Skill: Abandoned Cart Flow Audit</em></p><p><em>## When to use this</em></p><p><em>Reference when auditing any abandoned cart flow in Klaviyo for DTC e-commerce.</em></p><p><em>## Evaluation Framework</em></p><p><em>1. Check flow configuration: timing between emails, trigger conditions, exit conditions...</em></p><p><em>2. Analyze email 1 performance: open rate benchmark is 45%+, click rate benchmark is 5%+...</em></p><p><em>[continue with each email and metric]</em></p><p><em>## Common Issues and Fixes</em></p><p><em>- Low open rates usually indicate: [list causes and solutions]</em></p><p><em>- High unsubscribe rates usually indicate: [list causes and solutions]</em></p><p><em>## Red Flags</em></p><p><em>Issues that indicate serious problems requiring immediate attention: [list]</em></p><p><em>## Output Format</em></p><p><em>Present findings in this structure: [specify format]</em></p></blockquote><p>When this skills file is in your Project Knowledge, Claude approaches abandoned cart audits with your methodology, not generic approaches.</p><h2><strong>Reference Templates: Examples of Excellence</strong></h2><p>We covered few-shot examples in Module 3. Reference templates are the persistent version &#8212; examples you want Claude to have access to across all conversations in a project.</p><p><strong>Types of reference templates:</strong></p><ul><li><p><strong>Output templates </strong>&#8212; examples of excellent deliverables (audit reports, email copy, analysis summaries)</p></li><li><p><strong>Voice templates </strong>&#8212; examples that demonstrate the tone and style you want</p></li><li><p><strong>Format templates </strong>&#8212; examples showing structure, sections, and organization</p></li></ul><p><strong>Example: An audit report template</strong></p><p>Take your best audit report &#8212; one where the structure, tone, and depth are exactly right. Clean it of client-specific details if needed, but keep the structure and approach intact.</p><p>Upload it to your audit project as &#8220;reference-audit-report.md&#8221; with a header:</p><blockquote><p><em># Reference: Exemplary Audit Report</em></p><p><em>This is an example of an excellent flow audit report. Use this as a reference for structure, depth of analysis, tone, and format when creating new audit reports.</em></p><p><em>[Full report follows]</em></p></blockquote><p>Now when you ask Claude to create an audit report, it has a concrete example of what &#8220;good&#8221; looks like &#8212; your definition of good, not generic.</p><h2><strong>Client Context Documents: Everything Claude Needs</strong></h2><p>For client work, create comprehensive context documents that give Claude everything it needs to work effectively on that client&#8217;s business.</p><p><strong>What to include:</strong></p><ul><li><p><strong>Business overview: </strong>Industry, products, positioning, target market</p></li><li><p><strong>Key metrics: </strong>AOV, customer lifetime value, purchase frequency, typical segments</p></li><li><p><strong>Brand voice: </strong>How they communicate, what language they use, what they avoid</p></li><li><p><strong>Strategic context: </strong>Current priorities, recent changes, upcoming plans</p></li><li><p><strong>Constraints: </strong>What they won&#8217;t do, limitations on resources, regulatory considerations</p></li><li><p><strong>Relationship context: </strong>Key contacts, decision-making process, communication preferences</p></li></ul><p><strong>Example structure:</strong></p><blockquote><p><em># Client Context: Coastal Footwear</em></p><p><em>## Business Overview</em></p><p><em>Hawaii-based DTC footwear brand. Premium positioning ($85 average order). Target demographic: women 35-55 who value comfort and style. Strong local brand recognition, building mainland e-commerce.</em></p><p><em>## Current Email Program</em></p><p><em>Klaviyo since 2022. Basic flows in place but not optimized since initial setup. Campaign sends 2x/week. List size: 45,000 active profiles. Email contributes ~25% of revenue (target: 35%).</em></p><p><em>## Brand Voice</em></p><p><em>Warm and welcoming, island-inspired without being kitschy. Emphasize comfort and quality. Avoid aggressive sales language. Never use discount as primary value proposition.</em></p><p><em>[Continue with more sections...]</em></p></blockquote><p>This document lives in your client project. Every conversation starts with Claude knowing who this client is, what they need, and how to serve them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!UnId!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!UnId!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!UnId!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!UnId!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!UnId!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!UnId!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg" width="1456" height="602" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:602,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:119418,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/185708794?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!UnId!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!UnId!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!UnId!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!UnId!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F388f0071-b5fa-4479-8834-ae2a43ccc323_1456x602.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Prompt Libraries: Reusable Prompts</strong></h2><p>If you do a task more than twice, the prompt should be saved and refined rather than recreated each time.</p><p><strong>Building your prompt library:</strong></p><p><strong>1. Capture prompts that work. </strong>When a prompt produces excellent results, save it immediately.</p><p><strong>2. Generalize for reuse. </strong>Replace client-specific details with placeholders: [CLIENT NAME], [PRODUCT TYPE], [TARGET METRIC].</p><p><strong>3. Document the context. </strong>Note when to use this prompt, what inputs it needs, what output to expect.</p><p><strong>4. Version as you improve. </strong>Prompts get better with use. Update them when you discover improvements.</p><p><strong>Example prompt library entry:</strong></p><blockquote><p><em># Prompt: Welcome Series Analysis</em></p><p><em>## When to use</em></p><p><em>Initial analysis of any welcome series flow. Use after exporting flow data from Klaviyo.</em></p><p><em>## Required inputs</em></p><p><em>- Flow performance data (last 90 days minimum)</em></p><p><em>- Number of emails in series</em></p><p><em>- Client context (industry, AOV, audience)</em></p><p><em>## The prompt</em></p><p><em>&#8220;Analyze this welcome series for [CLIENT NAME], a [INDUSTRY] brand with $[AOV] average order value targeting [AUDIENCE DESCRIPTION].</em></p><p><em>Here&#8217;s the flow data: [PASTE DATA]</em></p><p><em>Provide: (1) Current State summary; (2) Performance Assessment with metrics vs. DTC benchmarks; (3) Priority Issues ranked by revenue impact; (4) Specific Recommendations with expected impact estimates.&#8221;</em></p><p><em>## Expected output</em></p><p><em>Structured analysis following the four-section format. Should be specific enough to act on immediately.</em></p><p><em>## Version history</em></p><p><em>v1.0 - Initial prompt</em></p><p><em>v1.1 - Added &#8220;revenue impact&#8221; to priority ranking requirement</em></p><p><em>v1.2 - Added audience context to improve benchmark selection</em></p></blockquote><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-64-building-your-own-knowledge?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Kinga | Claude AI for Ecommerce! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-64-building-your-own-knowledge?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-64-building-your-own-knowledge?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div><h2><strong>Organizing Your Knowledge Layer</strong></h2><p>As you build these assets, organization matters.</p><p><strong>By project: </strong>Each Claude Project gets the relevant subset of your knowledge layer. The Klaviyo audit project gets audit-related skills files and templates. The content creation project gets writing templates and brand voice guides.</p><p><strong>By type: </strong>Within your file system (outside Claude), organize by component type. A folder for skills files, a folder for templates, a folder for client contexts, a folder for prompts. This makes it easy to find and update.</p><p><strong>With metadata: </strong>Include creation dates, last-updated dates, and version notes. Your knowledge layer is only valuable if it&#8217;s current.</p><h2><strong>The Compound Effect</strong></h2><p>Your knowledge layer compounds over time.</p><p>Every skills file you create makes that type of work faster and better, forever. Every template you save prevents reinvention. Every prompt you refine gets more reliable.</p><p>Early investment feels slow. You&#8217;re doing the work AND documenting the work. But each asset pays dividends across every future use.</p><p>A year from now, you won&#8217;t remember how you worked before you had this infrastructure. Claude with your knowledge layer will feel like a different tool entirely &#8212; because it is. It&#8217;s Claude trained on your expertise, calibrated to your standards, equipped with your methods.</p><h2><strong>Getting Started</strong></h2><p>You don&#8217;t need to build everything at once. Start with the component that will have the most immediate impact:</p><ul><li><p><strong>If you do a specific task repeatedly: </strong>Create a skills file for it.</p></li><li><p><strong>If Claude&#8217;s output quality is inconsistent: </strong>Create reference templates.</p></li><li><p><strong>If you work with multiple clients: </strong>Create client context documents.</p></li><li><p><strong>If you keep rewriting similar prompts: </strong>Start your prompt library.</p></li></ul><p>Each component you add makes Claude more capable. The knowledge layer isn&#8217;t extra work &#8212; it&#8217;s the foundation for working at a higher level.</p><p><em>--- End of Module 6 ---</em></p><p><strong>What&#8217;s Next: </strong>Module 7 brings everything together: Building Your First Agent. You understand Claude, you know when to use it, you can prompt for agents, you know the tools, you&#8217;ve connected MCP, and you understand memory and context. Now you&#8217;ll build something real &#8212; from goal definition through testing and iteration.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:427879}" data-component-name="PollToDOM"></div><div><hr></div><p>Found this content informative? Like this post, leave a comment and share with others. Help me gain wider reach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-64-building-your-own-knowledge/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-64-building-your-own-knowledge/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Lesson 6.3: Managing Long Conversations]]></title><description><![CDATA[Claude Mastery for E-commerce Operators]]></description><link>https://kinga168.substack.com/p/lesson-63-managing-long-conversations</link><guid isPermaLink="false">https://kinga168.substack.com/p/lesson-63-managing-long-conversations</guid><pubDate>Fri, 30 Jan 2026 09:31:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!E5fq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We covered the context window in Module 1 &#8212; the 200K token limit, the &#8220;middle gets lost&#8221; problem, the importance of information placement. Now we go deeper: practical strategies for keeping Claude coherent across long working sessions.</p><p>Because real work isn&#8217;t always a quick question and answer. Sometimes you&#8217;re iterating on a document across 30 exchanges. Sometimes you&#8217;re building an analysis that requires sustained context. Sometimes the conversation needs to be long.</p><p>Here&#8217;s how to do that without losing the thread.</p><h2><strong>Recognizing When Claude Is Losing the Thread</strong></h2><p>The first skill is recognition. Claude won&#8217;t tell you it&#8217;s getting confused. You have to notice.</p><p><strong>Signs Claude is losing context:</strong></p><ul><li><p><strong>Contradicting earlier decisions. </strong>You established X in message 10, and now Claude is recommending the opposite.</p></li><li><p><strong>Forgetting constraints. </strong>&#8220;Remember, no discount-focused messaging&#8221; &#8212; but Claude just suggested a 20% off subject line.</p></li><li><p><strong>Asking questions you&#8217;ve already answered. </strong>&#8220;What industry is this client in?&#8221; when you said footwear fifteen messages ago.</p></li><li><p><strong>Inconsistent tone or style. </strong>The voice drifts from what you established earlier.</p></li><li><p><strong>Repetitive suggestions. </strong>Claude keeps recommending the same thing you already discussed and decided against.</p></li><li><p><strong>Superficial responses. </strong>Answers become more generic, less connected to the specific context you&#8217;ve built up.</p></li></ul><p>When you see these signs, the conversation has gotten too long or the important information has drifted to the forgotten middle. Time to intervene.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Thanks for reading Kinga | Claude AI for Ecommerce! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>The Checkpoint Pattern</strong></h2><p>Don&#8217;t wait for problems. Build checkpoints into long conversations proactively.</p><p><strong>Every 10-15 exchanges, pause and checkpoint:</strong></p><p>&#8220;Before we continue, let&#8217;s verify we&#8217;re aligned. Summarize: (1) The key decisions we&#8217;ve made so far. (2) The constraints we&#8217;re working within. (3) What we&#8217;re trying to accomplish in this next phase.&#8221;</p><p>This does several things:</p><ul><li><p>Forces Claude to articulate the important context (refreshing its grip on it)</p></li><li><p>Surfaces any drift or confusion before it causes problems</p></li><li><p>Puts the critical information at the end of the context (the high-attention zone)</p></li><li><p>Gives you a chance to correct any misunderstandings</p></li></ul><p>Checkpoints feel like interruptions. They&#8217;re actually efficiency. Catching drift early is much cheaper than discovering it after Claude has built something on a flawed foundation.</p><h2><strong>Summarization Strategies Mid-Conversation</strong></h2><p>When a conversation has covered a lot of ground, summarization can reset the context.</p><p><strong>The recapping prompt:</strong></p><p>&#8220;Let&#8217;s recap where we are. Summarize in a structured format: (1) Starting context and goal. (2) Analysis completed so far. (3) Key findings. (4) Decisions made. (5) Open questions. (6) Next steps.&#8221;</p><p>Claude&#8217;s summary becomes a fresh anchor point. The conversation can continue with this summary as the recent, high-attention context.</p><p><strong>The compression prompt:</strong></p><p>&#8220;We&#8217;ve covered a lot. Give me a compressed summary of everything we&#8217;ve established &#8212; the kind of summary I could use to brief someone who&#8217;s joining this work now.&#8221;</p><p>This produces a dense, information-rich summary you can save externally or use to start a fresh conversation</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!E5fq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!E5fq!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!E5fq!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!E5fq!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!E5fq!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!E5fq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg" width="1456" height="1386" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1386,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:261943,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/185708913?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!E5fq!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!E5fq!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!E5fq!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!E5fq!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa88210a3-6a41-4169-b3ad-009ad5d4e076_1796x1710.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>.</p><h2><strong>When to Start Fresh with a Summary</strong></h2><p>Sometimes the best move is to start a new conversation entirely, carrying forward only what matters.</p><p><strong>The fresh start workflow:</strong></p><p>1. In your current conversation, ask for a comprehensive summary of the work so far.</p><p>2. Copy that summary (and any artifacts/documents you&#8217;ve created).</p><p>3. Start a new conversation.</p><p>4. Paste the summary as your opening message: &#8220;I&#8217;m continuing work from a previous conversation. Here&#8217;s where we left off: [paste summary]. Now let&#8217;s continue with [next task].&#8221;</p><p>You&#8217;ve now got a fresh context window with the distilled essence of your previous work, none of the noise, and Claude&#8217;s full attention.</p><p><strong>When to use this:</strong></p><ul><li><p>Conversation has exceeded 25-30 exchanges</p></li><li><p>Claude is showing signs of context loss</p></li><li><p>You&#8217;re transitioning to a different phase of work</p></li><li><p>The conversation has accumulated a lot of exploratory discussion that&#8217;s no longer relevant</p></li></ul><h2><strong>The Sprint Pattern</strong></h2><p>For complex, multi-session work, think in sprints rather than marathon conversations.</p><p><strong>Each sprint:</strong></p><ul><li><p>Starts with clear context (previous sprint summary + current sprint goal)</p></li><li><p>Covers 15-20 exchanges maximum</p></li><li><p>Ends with a summary and artifact checkpoint</p></li><li><p>Produces tangible output (a document section, a completed analysis, a decision)</p></li></ul><p><strong>Between sprints:</strong></p><ul><li><p>Start fresh or checkpoint and continue</p></li><li><p>Carry forward summaries, not full history</p></li><li><p>Save artifacts externally so they don&#8217;t depend on conversation context</p></li></ul><p>This sprint pattern keeps each working session within Claude&#8217;s effective attention span while allowing extended projects to develop over time.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-63-managing-long-conversations?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Kinga | Claude AI for Ecommerce! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-63-managing-long-conversations?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-63-managing-long-conversations?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div><h2><strong>Using Artifacts as External Memory</strong></h2><p>Artifacts (Module 4, Lesson 4.1) aren&#8217;t just outputs &#8212; they&#8217;re memory aids.</p><p>When you create an artifact, it persists in the conversation panel. Even as the context window gets crowded, the artifact remains visible and referenceable.</p><p><strong>Use this strategically:</strong></p><ul><li><p>Put key decisions in an artifact: &#8220;Create a markdown artifact called &#8216;Project Decisions&#8217; and add each major decision we make.&#8221;</p></li><li><p>Build living documents: Instead of decisions scattered across 30 messages, accumulate them in an artifact that gets updated.</p></li><li><p>Reference artifacts explicitly: &#8220;Check the &#8216;Project Decisions&#8217; artifact &#8212; does this new recommendation align with what we decided earlier?&#8221;</p></li></ul><p>Artifacts don&#8217;t disappear into the middle of the context. They stay present, anchoring important information.</p><h2><strong>Repetition Isn&#8217;t Redundant</strong></h2><p>In long conversations, repeating important information isn&#8217;t wasteful &#8212; it&#8217;s necessary.</p><p>The middle-gets-lost problem means that a constraint mentioned once, 20 messages ago, may be functionally forgotten even though it&#8217;s technically in context.</p><p><strong>Repeat strategically:</strong></p><ul><li><p>When constraints matter for the current task: &#8220;Remember, we&#8217;re avoiding discount messaging &#8212; with that in mind, draft subject lines for...&#8221;</p></li><li><p>When asking for final output: &#8220;Before you finalize, verify alignment with: [list key constraints and decisions].&#8221;</p></li><li><p>When Claude seems to be drifting: &#8220;To reset: we established X, decided Y, and are constrained by Z. Given that, let&#8217;s continue.&#8221;</p></li></ul><p>You&#8217;re not telling Claude things it doesn&#8217;t know. You&#8217;re putting important things at the end of context, where attention is highest.</p><h2><strong>The Briefing Document Pattern</strong></h2><p>For recurring long-form work, create a briefing document that starts every conversation.</p><p>Example: You&#8217;re writing a 10-module course. Each module requires multiple sessions. Create a course briefing document:</p><blockquote><p><em>Course: Claude Mastery for E-commerce Operators</em></p><p><em>Audience: E-commerce operators, particularly Klaviyo specialists</em></p><p><em>Voice: Direct, practical, no-fluff. Examples from real e-commerce work.</em></p><p><em>Completed: Modules 1-5</em></p><p><em>Current: Module 6 &#8212; Memory and Context</em></p><p><em>Key decisions: [list major decisions about structure, tone, content]</em></p></blockquote><p>Paste this at the start of each working session. Claude immediately has the context it needs, even in a fresh conversation.</p><h2><strong>Long Conversation Checklist</strong></h2><p>For any conversation that will extend beyond 15-20 exchanges:</p><ul><li><p>Start with clear context (briefing document or summary from previous session)</p></li><li><p>Build artifacts for important outputs and decisions</p></li><li><p>Checkpoint every 10-15 exchanges</p></li><li><p>Repeat critical constraints when they&#8217;re relevant</p></li><li><p>Watch for signs of context loss</p></li><li><p>Summarize before continuing when things get dense</p></li><li><p>Consider fresh-starting with a summary at natural breakpoints</p></li><li><p>End with a summary you can carry to the next session</p></li></ul><p>Long conversations are manageable. They just require active management rather than passive accumulation.</p><p><strong>Next lesson: </strong>Building Your Own Knowledge Layer &#8212; skills files, reference templates, client context documents, and prompt libraries that make your Claude work systematically better.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:427879}" data-component-name="PollToDOM"></div><div><hr></div><p>Found this content informative? Like this post, leave a comment and share with others. Help me gain wider reach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-63-managing-long-conversations/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-63-managing-long-conversations/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Lesson 6.2: Project Knowledge]]></title><description><![CDATA[Claude Mastery for E-commerce Operators]]></description><link>https://kinga168.substack.com/p/lesson-62-project-knowledge</link><guid isPermaLink="false">https://kinga168.substack.com/p/lesson-62-project-knowledge</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Thu, 29 Jan 2026 14:03:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ae46!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Memory gives Claude context about you. Project Knowledge gives Claude context about your work &#8212; reference documents, methodology guides, examples, and other materials that inform what you&#8217;re building.</p><p>This is where Claude Projects become powerful. A Project isn&#8217;t just a collection of conversations &#8212; it&#8217;s a workspace with persistent knowledge that every conversation in that project can access.</p><h2><strong>What Project Knowledge Is</strong></h2><p>When you create a Project in Claude, you can upload documents to it. These documents become part of the project&#8217;s knowledge base &#8212; available to Claude in every conversation within that project.</p><p>This is different from uploading a file in a single conversation. A file uploaded to a conversation is only available in that conversation. A file uploaded to Project Knowledge is available in every conversation in the project.</p><p>Think of it as Claude&#8217;s reference library for that specific work. Your Klaviyo audit project might have benchmark documents, your methodology guide, and client brief templates. Every audit conversation can reference these materials without you re-uploading them.</p><h2><strong>File Types That Work Well</strong></h2><p>Not all file types are equally useful for Project Knowledge. Here&#8217;s what works:</p><p><strong>Excellent:</strong></p><ul><li><p><strong>Markdown (.md) </strong>&#8212; Claude&#8217;s native format. Clean, structured, easy to parse. Best choice for methodology documents, guidelines, and structured reference material.</p></li><li><p><strong>Plain text (.txt) </strong>&#8212; Simple and reliable. Good for lists, quick references, and unformatted content.</p></li><li><p><strong>PDF </strong>&#8212; Works well for documents with important formatting, reports, and materials you&#8217;ve received from others.</p></li></ul><p><strong>Good:</strong></p><ul><li><p><strong>Word documents (.docx) </strong>&#8212; Claude can read these, though markdown is cleaner for reference material you&#8217;re creating yourself.</p></li><li><p><strong>CSV/Excel </strong>&#8212; Useful for data references, but large datasets are better handled through code execution in specific conversations.</p></li></ul><p><strong>Less Ideal:</strong></p><ul><li><p><strong>Images </strong>&#8212; Claude can see images, but text-based reference material is more reliably retrievable.</p></li><li><p><strong>Very large files </strong>&#8212; They consume context window space. Better to excerpt the relevant portions.</p></li></ul><p><strong>The practical recommendation: </strong>For materials you&#8217;re creating specifically for Claude, use markdown. For materials from external sources, PDF usually works fine.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Thanks for reading Kinga | Claude AI for Ecommerce! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>What to Upload as Project Knowledge</strong></h2><p>Different types of projects benefit from different knowledge bases. Here&#8217;s what to consider:</p><p><strong>For client work projects:</strong></p><ul><li><p>Client brief or onboarding document</p></li><li><p>Brand guidelines or voice documentation</p></li><li><p>Previous work or reports for context</p></li><li><p>Relevant benchmarks or performance targets</p></li></ul><p><strong>For methodology projects:</strong></p><ul><li><p>Your documented process or framework</p></li><li><p>Checklists or quality criteria</p></li><li><p>Examples of good output</p></li><li><p>Industry benchmarks or standards</p></li></ul><p><strong>For analysis projects:</strong></p><ul><li><p>Reference frameworks for the analysis type</p></li><li><p>Benchmark data</p></li><li><p>Output templates</p></li><li><p>Previous analyses for consistency reference</p></li></ul><h2><strong>Organizing Knowledge for Retrieval</strong></h2><p>How you organize and name your knowledge files affects how well Claude can use them.</p><p><strong>Use descriptive file names: </strong>&#8220;klaviyo-flow-benchmarks-2026.md&#8221; is better than &#8220;benchmarks.md&#8221;. Claude sees file names and uses them to understand what&#8217;s in each file.</p><p><strong>Add context at the top of documents: </strong>Start each document with a brief description of what it contains and when to use it. This helps Claude know when to reference the document.</p><p>Example document header:</p><blockquote><p><em>&#8220;# Klaviyo Flow Benchmarks</em></p><p><em>Use this document when analyzing email flow performance. These benchmarks are specific to DTC e-commerce brands doing $1M-$10M annually. Last updated: January 2026.&#8221;</em></p></blockquote><p><strong>Structure documents clearly: </strong>Use headers, sections, and consistent formatting. Claude parses structured documents more reliably than wall-of-text documents.</p><p><strong>Keep documents focused: </strong>One document per topic is better than one massive document with everything. &#8220;flow-benchmarks.md&#8221; and &#8220;campaign-benchmarks.md&#8221; are easier to work with than &#8220;all-benchmarks.md&#8221;.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-62-project-knowledge?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Kinga | Claude AI for Ecommerce! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-62-project-knowledge?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-62-project-knowledge?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div><h2><strong>Keeping Project Knowledge Current</strong></h2><p>Project Knowledge isn&#8217;t set-and-forget. It needs maintenance.</p><p><strong>Regular review: </strong>Every quarter, review your project knowledge. Are benchmarks still current? Has your methodology evolved? Are there documents you&#8217;re no longer using?</p><p><strong>Version awareness: </strong>When you update a methodology or benchmark document, note the update date in the document. This helps you track currency and helps Claude know how recent the information is.</p><p><strong>Pruning: </strong>Remove outdated documents rather than letting them accumulate. Old benchmarks or deprecated methodologies can confuse Claude &#8212; and you.</p><p><strong>Addition triggers: </strong>When you find yourself repeatedly explaining something to Claude within a project, that&#8217;s a signal to create a knowledge document. The explanation you&#8217;re making verbally should probably be written down and uploaded.</p><h2><strong>Project Knowledge vs. Conversation Uploads</strong></h2><p>When should you upload to Project Knowledge vs. uploading in a specific conversation?</p><p><strong>Upload to Project Knowledge when:</strong></p><ul><li><p>The document is reference material you&#8217;ll use across multiple conversations</p></li><li><p>It&#8217;s methodology, benchmarks, or guidelines that should inform all work in this project</p></li><li><p>It&#8217;s relatively stable &#8212; won&#8217;t change conversation to conversation</p></li></ul><p><strong>Upload in conversation when:</strong></p><ul><li><p>The document is specific to this task (a data export to analyze, an email to review)</p></li><li><p>It&#8217;s one-time use material</p></li><li><p>It&#8217;s large and would unnecessarily consume context in other conversations</p></li></ul><p><strong>The test: </strong>&#8220;Will I want Claude to know about this in my next conversation in this project?&#8221; If yes, Project Knowledge. If no, conversation upload.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ae46!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ae46!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!ae46!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!ae46!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!ae46!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_webp, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ae46!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg" width="1456" height="1448" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1448,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:268123,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kinga168.substack.com/i/185708624?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ae46!, /__u/kinga168.substack.com/w_424, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!ae46!, /__u/kinga168.substack.com/w_848, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!ae46!, /__u/kinga168.substack.com/w_1272, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!ae46!, /__u/kinga168.substack.com/w_1456, /__u/kinga168.substack.com/c_limit, /__u/kinga168.substack.com/f_auto, /__u/kinga168.substack.com/q_auto:good, /__u/kinga168.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc40b0f56-06b8-499e-84ab-3783b5908635_1486x1478.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Building Effective Knowledge Documents</strong></h2><p>The best Project Knowledge documents share certain characteristics:</p><p><strong>Clear purpose statement: </strong>What is this document for? When should Claude reference it?</p><p><strong>Structured content: </strong>Headers, sections, lists. Easy to scan, easy to parse.</p><p><strong>Specific information: </strong>Actual benchmarks, not &#8220;good open rates.&#8221; Real examples, not vague descriptions.</p><p><strong>Currency indicators: </strong>When was this written? When was it last updated? What time period does it cover?</p><p><strong>Actionable guidance: </strong>Not just what, but how. Not just benchmarks, but what to do when performance is above or below.</p><h2><strong>Example: A Methodology Knowledge Document</strong></h2><p>Here&#8217;s the structure of an effective methodology document for a Klaviyo audit project:</p><blockquote><p><em># Klaviyo Flow Audit Methodology</em></p><p><em>Purpose: This document defines how to conduct flow audits for DTC e-commerce clients. Reference this when analyzing any flow performance data.</em></p><p><em>## Flow Priority Order</em></p><p><em>Analyze flows in this order: 1. Welcome Series, 2. Abandoned Cart, 3. Browse Abandonment, 4. Post-Purchase, 5. Win-Back...</em></p><p><em>## Metrics to Evaluate</em></p><p><em>For each flow: Open rate, Click rate, Conversion rate, Revenue per recipient, Unsubscribe rate...</em></p><p><em>## Benchmark Thresholds</em></p><p><em>[Specific numbers for each metric by flow type]</em></p><p><em>## Red Flags</em></p><p><em>Issues that indicate serious problems: [list with explanations]</em></p><p><em>## Output Format</em></p><p><em>Structure audit findings as: Current State, Performance Assessment, Priority Issues, Recommendations...</em></p></blockquote><p>This document turns every audit conversation into a consistent, methodology-driven analysis. Claude knows how to approach the work because you&#8217;ve documented how you approach it.</p><p><strong>Next lesson: </strong>Managing Long Conversations &#8212; strategies for maintaining coherence when conversations extend beyond Claude&#8217;s natural attention span.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:427879}" data-component-name="PollToDOM"></div><div><hr></div><p>Found this content informative? Like this post, leave a comment and share with others. Help me gain wider reach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-62-project-knowledge/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-62-project-knowledge/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Lesson 6.1: Claude’s Memory Feature]]></title><description><![CDATA[Claude Mastery for E-commerce Operators]]></description><link>https://kinga168.substack.com/p/lesson-61-claudes-memory-feature</link><guid isPermaLink="false">https://kinga168.substack.com/p/lesson-61-claudes-memory-feature</guid><dc:creator><![CDATA[Kinga Dow]]></dc:creator><pubDate>Wed, 28 Jan 2026 09:30:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yAVF!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a588e8-11ca-4281-b3c5-4126d71839b9_1138x1138.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Modules 1-5 covered Claude&#8217;s capabilities: understanding how it works, when to use it, how to prompt it, its native tools, and MCP connections. Now we address something equally important: how Claude remembers.</p><p>Memory is what transforms Claude from a tool you use repeatedly into a partner that knows your context. It&#8217;s the difference between explaining your business every conversation versus picking up where you left off.</p><h2><strong>What Memory Actually Is</strong></h2><p>Claude&#8217;s memory feature allows information from past conversations to persist and inform future ones. When you tell Claude something important &#8212; your business context, your preferences, your ongoing projects &#8212; that information can be retained and referenced later.</p><p>This isn&#8217;t the same as conversation history within a single chat. That&#8217;s context window &#8212; information Claude can see because it&#8217;s in the current conversation. Memory is different: it&#8217;s information that carries across conversations, available even when you start fresh.</p><p>Think of it like the difference between short-term and long-term memory. The context window is short-term &#8212; what&#8217;s immediately present. Memory is long-term &#8212; what persists over time.</p><h2><strong>How Memories Are Generated</strong></h2><p>Claude doesn&#8217;t remember everything. Memories are generated selectively, typically capturing:</p><ul><li><p><strong>Facts about you and your business </strong>&#8212; your role, your company, your industry, your clients</p></li><li><p><strong>Your preferences </strong>&#8212; communication style, formatting preferences, how you like information presented</p></li><li><p><strong>Ongoing context </strong>&#8212; projects you&#8217;re working on, decisions you&#8217;ve made, strategies you&#8217;re pursuing</p></li><li><p><strong>Important relationships </strong>&#8212; key clients, team members, stakeholders you reference frequently</p></li></ul><p>The generation happens in the background. As you converse with Claude, it identifies information that seems worth retaining and creates memories. You don&#8217;t have to explicitly say &#8220;remember this&#8221; &#8212; though you can.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kinga168.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">Thanks for reading Kinga | Claude AI for Ecommerce! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>What Gets Remembered vs. What&#8217;s Ignored</strong></h2><p>Not everything becomes a memory. Understanding the distinction helps you work with the system rather than against it.</p><p><strong>Likely to become memories:</strong></p><ul><li><p>Stable facts about your identity and business</p></li><li><p>Explicit preferences you&#8217;ve stated</p></li><li><p>Context you&#8217;ve provided about ongoing work</p></li><li><p>Information you&#8217;ve referenced multiple times</p></li></ul><p><strong>Unlikely to become memories:</strong></p><ul><li><p>One-off details from a specific task</p></li><li><p>Temporary information that will change</p></li><li><p>Granular data points (specific metrics, exact figures)</p></li><li><p>Content of documents you&#8217;ve shared (the document itself, not facts about it)</p></li></ul><p><strong>The practical implication: </strong>If something is important for Claude to know long-term, make it explicit and frame it as persistent context, not task-specific detail.</p><p>&#8220;For this email, the client&#8217;s AOV is $85&#8221; &#8212; probably not remembered.</p><p>&#8220;My client Coastal Footwear has an AOV of $85 and focuses on the 35-55 female demographic&#8221; &#8212; more likely to be remembered.</p><h2><strong>Viewing Your Memories</strong></h2><p>You can see what Claude remembers about you. In Claude.ai, look for Memory in your settings or profile area. You&#8217;ll see a list of stored memories &#8212; facts, preferences, and context that Claude has retained.</p><p>This is worth reviewing periodically. You might find:</p><ul><li><p>Memories that are outdated (you&#8217;ve changed roles, a project has ended)</p></li><li><p>Memories that are incorrect (Claude misunderstood something)</p></li><li><p>Memories that are surprisingly useful (context you forgot you&#8217;d shared)</p></li><li><p>Gaps where important context is missing</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-61-claudes-memory-feature?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Kinga | Claude AI for Ecommerce! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-61-claudes-memory-feature?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-61-claudes-memory-feature?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div></li></ul><h2><strong>Editing and Deleting Memories</strong></h2><p>Memories aren&#8217;t permanent. You can edit or delete them as needed.</p><p><strong>Delete when:</strong></p><ul><li><p>Information is no longer accurate</p></li><li><p>Context is no longer relevant</p></li><li><p>You want a fresh start on a topic</p></li></ul><p><strong>Edit when:</strong></p><ul><li><p>Details have changed but the core is still relevant</p></li><li><p>The memory is almost right but needs correction</p></li><li><p>You want to add nuance to existing context</p></li></ul><p>Think of memory management as hygiene. A quick review every month or two keeps Claude&#8217;s understanding of you current and accurate.</p><h2><strong>Memory Scope: Global vs. Project-Level</strong></h2><p>Here&#8217;s something important: memories can have different scopes.</p><p><strong>Global memories </strong>apply everywhere. Your name, your business, your general preferences &#8212; these should inform every conversation regardless of context.</p><p><strong>Project-level memories </strong>apply within a specific Project. When you&#8217;re using Claude Projects (covered in Lesson 6.2), memories generated within that project stay within that project.</p><p>This separation is useful. Your Klaviyo audit project doesn&#8217;t need memories from your personal recipe experiments. Your client work doesn&#8217;t need context from conversations with your team about internal operations.</p><p><strong>The practical implication: </strong>Be thoughtful about where you have conversations. Context shared in a Project stays in that Project. Context shared in general conversations becomes global.</p><h2><strong>User Edits: Telling Claude What to Remember</strong></h2><p>You don&#8217;t have to wait for Claude to decide what&#8217;s worth remembering. You can explicitly tell Claude to remember things &#8212; or to forget them.</p><p><strong>To add a memory:</strong></p><p>&#8220;Remember that my primary client is Coastal Footwear, a Hawaii-based DTC brand with $2M annual revenue.&#8221;</p><p>&#8220;Please remember that I prefer concise responses without excessive caveats.&#8221;</p><p>&#8220;Remember that I&#8217;m building a course on Claude for e-commerce operators.&#8221;</p><p><strong>To remove a memory:</strong></p><p>&#8220;Forget that I work at [old company] &#8212; I&#8217;ve changed jobs.&#8221;</p><p>&#8220;Please don&#8217;t remember details about my divorce &#8212; I&#8217;d prefer not to discuss that.&#8221;</p><p>&#8220;Remove the memory about the Project X deadline &#8212; that project is complete.&#8221;</p><p>These explicit instructions give you control. You&#8217;re curating Claude&#8217;s understanding of you rather than leaving it entirely to inference.</p><h2><strong>Memory Best Practices for E-commerce Work</strong></h2><p>For e-commerce operators specifically, consider establishing memories for:</p><p><strong>Your expertise and role: </strong>&#8220;I&#8217;m a Klaviyo specialist who works with DTC brands doing $1M-$10M annually. I focus on email marketing strategy, flow optimization, and campaign management.&#8221;</p><p><strong>Your client roster: </strong>&#8220;My current clients include [Client A] (footwear), [Client B] (supplements), and [Client C] (home goods).&#8221; This lets Claude understand context when you mention client names.</p><p><strong>Your methodology: </strong>&#8220;When I audit email programs, I use a specific framework: flow analysis first, then campaign review, then list health, then strategic recommendations.&#8221;</p><p><strong>Your standards: </strong>&#8220;I consider 40%+ open rates strong for welcome series, 25%+ for campaigns. I benchmark against DTC e-commerce specifically, not general email marketing.&#8221;</p><p><strong>Your preferences: </strong>&#8220;I prefer specific, actionable recommendations over general best practices. I want revenue impact estimates when possible. I don&#8217;t need excessive caveats &#8212; I understand these are estimates.&#8221;</p><p>This context transforms every conversation. Claude starts with understanding rather than requiring explanation.</p><h2><strong>The Memory Mindset</strong></h2><p>Think of memory as an investment. The context you establish now pays dividends in every future conversation.</p><p>Without memory, every conversation starts cold. You explain who you are, what you do, what you need. Over and over.</p><p>With well-curated memory, conversations start warm. Claude knows your context. You can get straight to work.</p><p>The difference compounds. A few minutes spent establishing good memories saves hours of re-explanation over time.</p><p><strong>Next lesson: </strong>Project Knowledge &#8212; how to give Claude access to reference documents, methodology guides, and other materials that inform your work.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:427879}" data-component-name="PollToDOM"></div><div><hr></div><p>Found this content informative? Like this post, leave a comment and share with others. Help me gain wider reach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kinga168.substack.com/p/lesson-61-claudes-memory-feature/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/kinga168.substack.com/p/lesson-61-claudes-memory-feature/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item></channel></rss>