<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>All notes - Tracy Atteberry</title><link>https://tracyatteberry.com/notes/</link><description>All notes | Tracy Atteberry</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>tracy@magicbydesign.com (Tracy Atteberry)</managingEditor><webMaster>tracy@magicbydesign.com (Tracy Atteberry)</webMaster><lastBuildDate>Thu, 23 Jul 2026 00:00:00 +0000</lastBuildDate><image><url>https://tracyatteberry.com/images/feed-icon.jpg</url><title>All notes - Tracy Atteberry</title><link>https://tracyatteberry.com/notes/</link></image><atom:link href="https://tracyatteberry.com/notes/" rel="self" type="application/rss+xml"/><item><title>For the love of feeds</title><link>https://tracyatteberry.com/notes/rss/</link><pubDate>Thu, 23 Jul 2026 00:00:00 +0000</pubDate><author>Tracy Atteberry</author><guid>https://tracyatteberry.com/notes/rss/</guid><description><![CDATA[<div class="featured-image">
                <img src="https://tracyatteberry.com/notes/rss/rsslove.png" referrerpolicy="no-referrer">
            </div><p>I love RSS feeds. I have a reader on my phone (<a href="https://github.com/spacecowboy/feeder" target="_blank" rel="noopener noreffer ">Feeder</a>)
and one on my laptop (<a href="https://netnewswire.com/" target="_blank" rel="noopener noreffer ">NetNewsWire</a>). I find it the perfect way to
keep up with my blogroll reading list. Imagine my horror, then, when I discovered that my own
blog had the RSS feed turned off. 😱 It took a while to get the feed icon and the inline
images to show up properly, but with the help of my AI sidekick we eventually figured it out.</p>
<h2 id="my-own-feeds">My own feeds</h2>
<p>My site doesn&rsquo;t surface the feed variety very well yet, so here&rsquo;s the list:</p>
<table>
	<thead>
			<tr>
					<th>Description</th>
					<th>Feed URL</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>All posts + notes</td>
					<td><a href="https://tracyatteberry.com/index.xml" target="_blank" rel="noopener noreffer ">https://tracyatteberry.com/index.xml</a></td>
			</tr>
			<tr>
					<td>Posts only</td>
					<td><a href="https://tracyatteberry.com/posts/index.xml" target="_blank" rel="noopener noreffer ">https://tracyatteberry.com/posts/index.xml</a></td>
			</tr>
			<tr>
					<td>Notes only</td>
					<td><a href="https://tracyatteberry.com/notes/index.xml" target="_blank" rel="noopener noreffer ">https://tracyatteberry.com/notes/index.xml</a></td>
			</tr>
			<tr>
					<td>Portfolio</td>
					<td><a href="https://tracyatteberry.com/portfolio/index.xml" target="_blank" rel="noopener noreffer ">https://tracyatteberry.com/portfolio/index.xml</a></td>
			</tr>
			<tr>
					<td>By tag (e.g. &ldquo;AI&rdquo;)</td>
					<td><a href="https://tracyatteberry.com/tags/ai/index.xml" target="_blank" rel="noopener noreffer ">https://tracyatteberry.com/tags/ai/index.xml</a></td>
			</tr>
	</tbody>
</table>
<h2 id="feeds-i-follow">Feeds I follow</h2>
<p>In case you&rsquo;re wondering what my feed looks like, here it is:</p>
<table>
	<thead>
			<tr>
					<th>Blog</th>
					<th>Site URL</th>
					<th>RSS URL</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>byroot&rsquo;s blog</td>
					<td><a href="https://byroot.github.io/" target="_blank" rel="noopener noreffer ">https://byroot.github.io/</a></td>
					<td><a href="https://byroot.github.io/feed.xml" target="_blank" rel="noopener noreffer ">https://byroot.github.io/feed.xml</a></td>
			</tr>
			<tr>
					<td>Creative Midlife Mayhem</td>
					<td><a href="https://satteberry.substack.com/" target="_blank" rel="noopener noreffer ">https://satteberry.substack.com/</a></td>
					<td><a href="https://satteberry.substack.com/feed" target="_blank" rel="noopener noreffer ">https://satteberry.substack.com/feed</a></td>
			</tr>
			<tr>
					<td>DevBlog by Zil Norvilis</td>
					<td><a href="https://norvilis.com/" target="_blank" rel="noopener noreffer ">https://norvilis.com/</a></td>
					<td><a href="https://norvilis.com/feed.xml" target="_blank" rel="noopener noreffer ">https://norvilis.com/feed.xml</a></td>
			</tr>
			<tr>
					<td>ElixirStatus</td>
					<td><a href="https://elixirstatus.com/" target="_blank" rel="noopener noreffer ">https://elixirstatus.com/</a></td>
					<td><a href="https://elixirstatus.com/rss" target="_blank" rel="noopener noreffer ">https://elixirstatus.com/rss</a></td>
			</tr>
			<tr>
					<td>Julia Evans</td>
					<td><a href="https://jvns.ca/" target="_blank" rel="noopener noreffer ">https://jvns.ca/</a></td>
					<td><a href="https://jvns.ca/atom.xml" target="_blank" rel="noopener noreffer ">https://jvns.ca/atom.xml</a></td>
			</tr>
			<tr>
					<td>RubyStack News</td>
					<td><a href="https://rubystacknews.com/" target="_blank" rel="noopener noreffer ">https://rubystacknews.com/</a></td>
					<td><a href="https://rubystacknews.com/feed/" target="_blank" rel="noopener noreffer ">https://rubystacknews.com/feed/</a></td>
			</tr>
			<tr>
					<td>seangoedecke.com</td>
					<td><a href="https://seangoedecke.com/" target="_blank" rel="noopener noreffer ">https://seangoedecke.com/</a></td>
					<td><a href="https://www.seangoedecke.com/rss.xml" target="_blank" rel="noopener noreffer ">https://www.seangoedecke.com/rss.xml</a></td>
			</tr>
			<tr>
					<td>Simon Willison</td>
					<td><a href="http://simonwillison.net/" target="_blank" rel="noopener noreffer ">http://simonwillison.net/</a></td>
					<td><a href="https://simonwillison.net/atom/everything/" target="_blank" rel="noopener noreffer ">https://simonwillison.net/atom/everything/</a></td>
			</tr>
			<tr>
					<td>Towards Data Science</td>
					<td><a href="https://towardsdatascience.com/" target="_blank" rel="noopener noreffer ">https://towardsdatascience.com/</a></td>
					<td><a href="https://towardsdatascience.com/feed/" target="_blank" rel="noopener noreffer ">https://towardsdatascience.com/feed/</a></td>
			</tr>
			<tr>
					<td>Tracy Atteberry</td>
					<td><a href="https://tracyatteberry.com/" target="_blank" rel="noopener noreffer ">https://tracyatteberry.com/</a></td>
					<td><a href="https://tracyatteberry.com/index.xml" target="_blank" rel="noopener noreffer ">https://tracyatteberry.com/index.xml</a></td>
			</tr>
	</tbody>
</table>
]]></description></item><item><title>Impeccable</title><link>https://tracyatteberry.com/notes/impeccable/</link><pubDate>Wed, 22 Jul 2026 00:00:00 +0000</pubDate><author>Tracy Atteberry</author><guid>https://tracyatteberry.com/notes/impeccable/</guid><description><![CDATA[<p>Does your frontend AI skill give you a site that looks like all the other AI
sites? That&rsquo;s probably because if you don&rsquo;t give some guidance otherwise, you
tend to get the same font (Inter), same gradients, same nest of cards, etc. The
AI design slop. So when I needed to re-create a few simple single-page sites
recently, I reached for <a href="https://github.com/pbakaus/impeccable" target="_blank" rel="noopener noreffer ">Impeccable</a>.
It&rsquo;s a very nice AI skill to help <code>craft</code>, <code>critique</code>, <code>optimize</code> (and 21 other
commands) your frontend design. I used it to re-create
<a href="https://magicbydesign.com" target="_blank" rel="noopener noreffer ">MagicByDesign.com</a> (an old site with defunct
content, but still my primary email domain) and
<a href="https://atteberryshandcrafted.com" target="_blank" rel="noopener noreffer ">AtteberrysHandcrafted.com</a> (for my brother,
still a definite work in progress, but I thought it did a nice job with the
assets I had at the time).</p>
<p>You may not care for those site designs, but that&rsquo;s not the point. The point is
that they don&rsquo;t look like so many other generated sites and impeccable <em>did</em>
achieve the looks I was after.</p>
<p>From <a href="https://impeccable.style/" target="_blank" rel="noopener noreffer ">Impeccable.stlye</a>:</p>
<blockquote>
<p>Impeccable strips the slop from AI-generated interfaces, gives you precise
commands to steer, and iterates visual variants live in your product. Then
the dice: pushed out of distribution, your model designs ambitious visual
worlds it could never reach alone.</p>
</blockquote>
<p>Recommended.</p>
]]></description></item><item><title>Blame Claude</title><link>https://tracyatteberry.com/notes/blame_claude/</link><pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate><author>Tracy Atteberry</author><guid>https://tracyatteberry.com/notes/blame_claude/</guid><description><![CDATA[<div class="featured-image">
                <img src="https://tracyatteberry.com/notes/blame_claude/blame.jpg" referrerpolicy="no-referrer">
            </div><p>The debate about how much credit to give AI tools for their contributions to
software development has been going on for a while now. I only recently, however,
became aware of how academic publishers have been handling this issue in the
context of research papers.</p>
<p>A number of academic publishers have policies stating that 1) use of AI
tools must be disclosed, and 2) AI tools cannot be listed as authors. Here&rsquo;s an
example of the latter from Elsevier Books:</p>
<blockquote>
<p>Authors should not list generative AI and AI-assisted technologies as an
author or co-author, nor cite AI as an author. Authorship implies
responsibilities and tasks that can only be attributed to and performed by
humans&hellip;[1]</p>
</blockquote>
<p>There are good arguments on both sides of the debate, but I tend to agree with
the spirit of this policy and would extend it to software development as well.</p>
<p>If I submit code, I am responsible for that code. Full stop. The AI is not an
author, it&rsquo;s not a co-author, and it doesn&rsquo;t get a byline. I don&rsquo;t want to be
able to say &ldquo;well, the AI wrote that part, so it&rsquo;s not really my fault if it
has a bug.&rdquo; If I use an AI tool to generate code, I am responsible for
reviewing that code, making sure it meets the coding standards, and being able
to defend and explain it to my teammates. If I vibe code a commit and send it
off to be reviewed by my team, I am now shifting all of the responsibility for
code quality onto them. That creates cognitive debt and burns trust.</p>
<p>At the same time, I think it&rsquo;s important to be transparent about the use of AI
tools. It&rsquo;s not something to be ashamed of or hide, any more than I&rsquo;d hide the
fact that I used a code generator or a linter. These days it&rsquo;s a good bet that
AI is involved at some point, and I honestly may forget to point that out every
time.  Maybe I should do better in that area, but I don&rsquo;t want to pedantic
about it. I just want to make sure that when I do use AI, I&rsquo;m taking
responsibility for the output.</p>
<p>Used well, AI can clear space for better judgment. Used poorly, it can move
more work onto others and/or create more cognitive debt.</p>
<p><strong>Note:</strong> <em>I usually have an AI look over my writing or even brainstorm the
initial draft, but I didn&rsquo;t do that this time. However, I will admit that
Copilot was on in my editor and I spent a lot of time dismissing bad
auto-complete suggestions before I finally turned it off. Okay, hopefully
that&rsquo;s enough transparency for this short post.</em></p>
<p>[1] <a href="https://libguides.tamusa.edu/AI_for_lit_research/journal_requirements" target="_blank" rel="noopener noreffer ">https://libguides.tamusa.edu/AI_for_lit_research/journal_requirements</a></p>
]]></description></item><item><title>Claude Cowork... maybe?</title><link>https://tracyatteberry.com/notes/cowork/</link><pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate><author>Tracy Atteberry</author><guid>https://tracyatteberry.com/notes/cowork/</guid><description><![CDATA[<div class="featured-image">
                <img src="https://tracyatteberry.com/notes/cowork/claude-cowork.jpg" referrerpolicy="no-referrer">
            </div><p>I was excited to try the new Cowork feature in Claude. The idea of a
persistent, safe workspace where I can collaborate with an AI over time sounded
great. I set up my space, pointed it at my screenshots directory, and asked
Claude to help me organize it. It actually worked pretty well. Claude
understood my files, suggested a new folder structure, and moved everything
around for me. Cool. What next?</p>
<p>I noticed a sample task offering to help build a background creator based on
biological principles. That sounded fun, so I gave it a shot. Claude got
started and then&hellip; nothing. Some of the presets just didn&rsquo;t work at all.</p>
<p>I asked Claude to fix it. It tried, and failed, repeatedly. The problem was it
had no way to see what the output actually looked like, so I tried to give it a
tool to help. Unfortunately, it couldn&rsquo;t install the tool — no network access —
and it also couldn&rsquo;t reach a locally installed version outside the Cowork VM.</p>
<p>The pattern that emerged was pretty clear. For tasks where Claude can get
feedback from the files in its workspace, it works pretty well. For tasks like
the background creator, where it needs to see rendered output, it falls flat.
I get the safety rationale behind the sandboxing, but I hope they can improve
the tooling enough to at least make their own examples work.</p>
]]></description></item><item><title>Website watch</title><link>https://tracyatteberry.com/notes/website_watch/</link><pubDate>Sun, 04 Jan 2026 00:00:00 +0000</pubDate><author>Tracy Atteberry</author><guid>https://tracyatteberry.com/notes/website_watch/</guid><description><![CDATA[<p>There&rsquo;s <em>almost</em> a Dollar Tree near my house. That is to say, they&rsquo;re in the
process of building one, but it&rsquo;s not open yet. I&rsquo;d like to know when it opens,
so I wrote a quick script to check their website for updates. Well actually, I
had Github Copilot write it for me. It&rsquo;s the kind of thing that hits the sweet
spot of not worth spending a lot of time on, but is easy enough to have an AI
tool generate for me quickly.</p>
<p>The script runs daily with cron and has a configuration file that lets me
specify multiple URLs to watch and a regex pattern to look for. When it finds a
match, it sends a system nofification to my desktop. A gist with the generated
code is available
<a href="https://gist.github.com/grymoire7/ae37f2416bfe95d38f73e4c9b1278c32" target="_blank" rel="noopener noreffer ">here</a>.</p>
]]></description></item><item><title>Organizing health files with AI</title><link>https://tracyatteberry.com/notes/org_health/</link><pubDate>Sat, 20 Dec 2025 00:00:00 +0000</pubDate><author>Tracy Atteberry</author><guid>https://tracyatteberry.com/notes/org_health/</guid><description><![CDATA[<p>After a lot of activity this year in my org/health directory, I found it
getting a bit disorganized. I wanted a better folder structure to help me
find/do/add things later. So I asked Claude to help me design a new folder
structure and move files around. Using Jesse Vincent&rsquo;s <a href="https://github.com/obra/superpowers" target="_blank" rel="noopener noreffer ">Superpowers
plugin</a> (<code>/superpowers brainstorm</code>
specifically) helped a lot. I was hoping Claude would be a little more
proactive in suggesting structural changes, but the brainstrom superpower did
help get the conversation going. My one piece of advice is to not be afraid to
push back on the list of choices presented by Claude during the brainstorming
session. Sometimes the right answer seemed like a combination of options, or
something entirely different. Overall though, I&rsquo;m very happy with the final
result.</p>
]]></description></item><item><title>Change of plans</title><link>https://tracyatteberry.com/notes/change_of_plans/</link><pubDate>Thu, 30 Oct 2025 00:00:00 +0000</pubDate><author>Tracy Atteberry</author><guid>https://tracyatteberry.com/notes/change_of_plans/</guid><description><![CDATA[<p>I&rsquo;ve been using Anthopic&rsquo;s Claude models via API for a while now and that&rsquo;s
been very cost effective&hellip; until recently. I started using it for longer
periods and with more advanced skills. I also started hitting $5-$10 a day in
usage costs. That&rsquo;s a bit much for my side projects, especially when I&rsquo;m between
jobs.</p>
<p>So today, based on advice from <a href="https://blog.fsck.com" target="_blank" rel="noopener noreffer ">Jesse Vincent</a> I
upgraded to the Pro plan at $20/month and if I run into limits quickly for some
reason, I plan to switch to z.ai&rsquo;s models which are nearly as capable and
much, much cheaper.</p>
<p>Today&rsquo;s session with Claude went really well, but we&rsquo;ll continue to see how it
goes.</p>
]]></description></item><item><title>Fly cannon</title><link>https://tracyatteberry.com/notes/flycannon/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0000</pubDate><author>Tracy Atteberry</author><guid>https://tracyatteberry.com/notes/flycannon/</guid><description><![CDATA[<p>I&rsquo;ve been fascinated lately by the Claude Code experiments by <a href="https://blog.fsck.com" target="_blank" rel="noopener noreffer ">Jesse Vincent</a>
and <a href="https://simonwillison.net/2025/Oct/16/claude-skills/" target="_blank" rel="noopener noreffer ">Simon Willison</a>.</p>
<p>I recently used Jesse&rsquo;s superpowers plugin to help me add a csv export feature
to <a href="https://stormoji.com" target="_blank" rel="noopener noreffer ">Stormoji</a>. I started with the brainstorm superpower
and followed it&rsquo;s suggested courses of action all the way to the end. It worked
great tech-wise and the results looked good. In the end, I only tweaked the
icon appearance a bit. However, this simple feature took 1h 47m (wall time) to
implement and cost $7.66. This is not ideal for tiny side project features. I
asked Claude what drove the costs and what could be done to reduce them. Here
is the response I got:</p>
<div class="code-block code-line-numbers" style="counter-reset: code-block 0">
    <div class="code-header language-text">
        <span class="code-title"><i class="arrow fas fa-chevron-right fa-fw" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h fa-fw" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy fa-fw" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">&gt; /cost 
</span></span><span class="line"><span class="cl">  ⎿  Total cost:            $7.66
</span></span><span class="line"><span class="cl">     Total duration (API):  41m 40s
</span></span><span class="line"><span class="cl">     Total duration (wall): 1h 47m 6s
</span></span><span class="line"><span class="cl">     Total code changes:    3574 lines added, 19 lines removed
</span></span><span class="line"><span class="cl">     Usage by model:
</span></span><span class="line"><span class="cl">             claude-haiku:  516 input, 142 output, 0 cache read, 0 cache write ($0.0012)
</span></span><span class="line"><span class="cl">            claude-sonnet:  2.1k input, 115.1k output, 9.6m cache read, 813.7k cache write ($7.66)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">&gt; Wow. Using the superpowers plugin seem to produce a great result but the cost
</span></span><span class="line"><span class="cl">  and time were much more than expected. Were there parts of that process that
</span></span><span class="line"><span class="cl">  might have been excessive or could be pared back? 
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">⏺ Great question! Looking at the process, there were definitely areas where the
</span></span><span class="line"><span class="cl">  superpowers workflow was excessive for a feature of this size and complexity.
</span></span><span class="line"><span class="cl">  Let me break down what contributed to the high cost:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  What Drove the Cost/Time
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  Subagent invocations: ~12-13 separate Claude instances
</span></span><span class="line"><span class="cl">  - 6 implementation subagents (one per task)
</span></span><span class="line"><span class="cl">  - 5-6 code review subagents (after tasks 1-4, plus final review)
</span></span><span class="line"><span class="cl">  - 1 fix subagent (CSS issues)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  Each subagent needs to read context, produce comprehensive reports, which
</span></span><span class="line"><span class="cl">  adds up quickly.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  What Was Excessive for This Feature
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  1. Code Reviews After Every Single Task
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  - Reviewed HTML changes alone, then CSS alone, then JS alone
</span></span><span class="line"><span class="cl">  - For straightforward changes like these, could have reviewed HTML+CSS+JS together
</span></span><span class="line"><span class="cl">  - Savings potential: ~3 fewer subagent invocations, ~$2-3
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  2. Overly Detailed Implementation Plan
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  - 546 lines with exact code examples for every step
</span></span><span class="line"><span class="cl">  - For a simple CRUD-like feature, a high-level outline would suffice
</span></span><span class="line"><span class="cl">  - Savings potential: 10-15 minutes, minor cost reduction
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  3. Task 5 (Manual Testing) Used a Subagent
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  - Subagent created test artifacts but couldn&#39;t actually test in browser
</span></span><span class="line"><span class="cl">  - A simple checklist would have been more appropriate
</span></span><span class="line"><span class="cl">  - Savings potential: 1 subagent, ~$0.50
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  4. Separate Subagents for Simple Tasks
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  - Task 6 (update CLAUDE.md) - straightforward documentation
</span></span><span class="line"><span class="cl">  - Task 7 (prepare for merge) - just git commands
</span></span><span class="line"><span class="cl">  - These could have been done directly
</span></span><span class="line"><span class="cl">  - Savings potential: 2 subagents, ~$1
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  5. Brainstorming Asked Questions One-by-One
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  - 5 separate question rounds added interaction overhead
</span></span><span class="line"><span class="cl">  - Could have asked 2-3 questions simultaneously
</span></span><span class="line"><span class="cl">  - Savings potential: 5-10 minutes
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  6. Final Comprehensive Code Review
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  - Added after all task-level reviews
</span></span><span class="line"><span class="cl">  - Either do incremental reviews OR final review, not both
</span></span><span class="line"><span class="cl">  - Savings potential: 1 subagent, ~$1
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  More Efficient Approach for This Feature
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  Total cost could have been ~$2-3 instead of $7.66:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  1. Quick brainstorming (2-3 questions at once)
</span></span><span class="line"><span class="cl">     → 5 minutes, $0.20
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  2. Lightweight design doc (outline, not full plan)
</span></span><span class="line"><span class="cl">     → 10 minutes, $0.30
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  3. Implement in 2-3 chunks instead of 7 tasks:
</span></span><span class="line"><span class="cl">     - Chunk 1: HTML + CSS (menu structure + styling)
</span></span><span class="line"><span class="cl">     - Chunk 2: JavaScript (menu logic + CSV export)
</span></span><span class="line"><span class="cl">     - Chunk 3: Documentation + testing
</span></span><span class="line"><span class="cl">     → 3 subagents instead of 6, $1.50
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  4. ONE code review at the end
</span></span><span class="line"><span class="cl">     → 1 subagent, $0.80
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  5. Manual testing checklist (no subagent)
</span></span><span class="line"><span class="cl">     → 5 minutes, $0.20
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  Total: ~$3, 30-45 minutes
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  When Is the Full Superpowers Workflow Worth It?
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  The rigorous approach is justified for:
</span></span><span class="line"><span class="cl">  - Large features (1000+ lines of code)
</span></span><span class="line"><span class="cl">  - Complex architecture (multiple services, new patterns)
</span></span><span class="line"><span class="cl">  - High-risk changes (authentication, payments, data migration)
</span></span><span class="line"><span class="cl">  - Team codebases where reviews catch style/pattern issues
</span></span><span class="line"><span class="cl">  - Learning mode when you want to understand best practices
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  For Simple Features Like This
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  You could have said:
</span></span><span class="line"><span class="cl">  &#34;I want CSV export. Skip the detailed planning, just implement
</span></span><span class="line"><span class="cl">  it in 2-3 chunks with one review at the end.&#34;
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  Or even more direct:
</span></span><span class="line"><span class="cl">  &#34;Implement CSV export with menu dropdown. Review when done.&#34;
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  This would give you 80% of the quality at 30% of the cost.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  The Upside
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  Despite the cost, you got:
</span></span><span class="line"><span class="cl">  - ✅ Zero bugs (5-star production ready)
</span></span><span class="line"><span class="cl">  - ✅ Comprehensive documentation
</span></span><span class="line"><span class="cl">  - ✅ RFC 4180 compliant CSV
</span></span><span class="line"><span class="cl">  - ✅ Full test coverage
</span></span><span class="line"><span class="cl">  - ✅ Learning the complete process
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  Think of it as paying for a tutorial on how to build features with extreme
</span></span><span class="line"><span class="cl">  rigor. Now you know what &#34;perfect&#34; looks like, and you can dial back the rigor
</span></span><span class="line"><span class="cl">  for simpler work.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  Recommendation: For features under 500 lines, skip
</span></span><span class="line"><span class="cl">  subagent-driven-development and just implement directly with one final review.</span></span></code></pre></div></div>
<p>Yeah, okay. Lesson learned I guess.
Don&rsquo;t use a cannon when a flyswatter will do.</p>
<p>For anyone interested, the github repo for Stormoji is <a href="https://github.com/grymoire7/stormoji" target="_blank" rel="noopener noreffer ">here</a>.</p>
]]></description></item><item><title>Back from sabbbatical</title><link>https://tracyatteberry.com/notes/sabbatical/</link><pubDate>Mon, 27 Oct 2025 00:00:00 +0000</pubDate><author>Tracy Atteberry</author><guid>https://tracyatteberry.com/notes/sabbatical/</guid><description><![CDATA[<p>Hi! It&rsquo;s been about six months since I&rsquo;ve posted. I took a sabbbatical
from writing and job searching to focus on an amazing personal development
project. This isn&rsquo;t the right place to share details, but I will say that it
was transformative, I was featured in the New York Times, and I provided
testimony for a U.S. federal agency. Life-changing stuff, but eventually I had
to get back to &ldquo;normal&rdquo; life. Most of all, this means getting back to creating
an income, probably a job. I&rsquo;ll likely start with a few small proejcts to &ldquo;warm
up&rdquo; my skills.</p>
<p>Most recently, I have been testing some Claude Code workflows while working on
a grid game project. Unfortunately, the experiments did not always go well and
the code is in a bit of a state. When and if I get it cleaned up and working
again, I&rsquo;ll post it here.</p>
]]></description></item><item><title>Agents Assemble</title><link>https://tracyatteberry.com/notes/agents_click/</link><pubDate>Thu, 03 Apr 2025 00:00:00 +0000</pubDate><author>Tracy Atteberry</author><guid>https://tracyatteberry.com/notes/agents_click/</guid><description><![CDATA[<p>AI agents didn&rsquo;t really &ldquo;click&rdquo; for me until I thought about it like this.</p>
<p>I&rsquo;m trying to get from Apple to Zebra in a traditional, deterministic way, but
there&rsquo;s a lot of fiddly edge cases and conditionals because neither the Apple
nor the process is as well-defined as we&rsquo;d like (first picture). With agents,
we give them each a job and maybe a few tools, put them all in a big circus
tent, tell them to work together, and toss in the Apple (second picture). We
wait a few minutes and, poof, out pops a Zebra. And, very rarely, a Gnu. Okay,
it&rsquo;s slightly more complicated, but it helps me if I can reduce it to emojis
and circus tents.</p>
<figure>
  
  <figcaption>Edge case city</figcaption>
</figure>
<figure>
  
  <figcaption>Team effort</figcaption>
</figure>
]]></description></item></channel></rss>