An empty stage at night under a single caged bulb, the ghost light, while a stagehand kneels to tape down marks for tomorrow’s performers.

Be the advocate for your agent’s UX

My first week of Mega.dev, a four-week online program for developers who already build with AI, taught by Kent C. Dodds, Angie Jones, John Lindquist and Theo Browne, strengthened some of my ideas and reminded me of the importance of having external eyes look at how my system works. I didn’t really know what to expect - I’m already a Theo enjoyer (Theo Browne, CEO of T3 and a YouTube personality who is passionate and deeply opinionated in a frustratingly right way about everything from type safety to skateboarding and keyboards) and he’s helped shape a lot of what I’ve done with my own systems. I had been watching him on Twitch one evening the week before Mega and I got interested but didn’t pursue it until a nagging feeling Sunday night had me submitting a request in hopes of a fast turnaround.

My manager is a great advocate for all of his employees, so he of course saw this as a good opportunity and got the approval but logistics caused a wait until late Tuesday. By that time the form was no longer accepting orders. I contacted Mega hoping that I could still get in - and either late in the evening or early the next morning I got the email that I could in fact get in. Now I was a couple days behind but I was in with an open mind and still somehow wanting to prove how good my systems and workflows were.

Pixel art of a red mechanical beetle with its wing cases raised, over a black grid of blue file, terminal and hash icons.

You Are In

LORE · MOMENT

the seat was empty. now it isn’t.

PR0 015/120

MEGA.dev deck card

Lesson 1Thu Oct 29I read the first lesson and watched the video then had my agent at work run the first challenge - the lesson’s scored task for your agent, with traps built in. Everything went smoothly, I looked over everything and was happy.

But I knew I wanted to catch up so I ported over to my home setup. This was a key and interesting decision because the course is more than just tuning your understanding and exposing you to techniques - it’s putting in tricks and snags to really challenge not only how your system responds, but how your practiced behavior impacts the outcomes.

Thus, the environment matters a lot - at work, I have a single development machine set up for a different kind of workflow than at home. I use one provider’s models, same or similar interfaces, but a different set of workflows and approaches to software development. It isn’t completely different, but when you work with a team some things are necessarily different. There’s also the huge benefit of other minds to work with and who have to check my work - that has informed a lot about how I work at home where I don’t have that benefit, but I also don’t have as much friction in choosing exactly how I want to experiment and change my systems.

This mattered more now than usual because I was this week in a major transformation in my own practice. I had over a year built up a lot of things that I like but were getting too heavy, were organized in ways that I didn’t like or actually didn’t work and so I made wide sweeping changes to my environment including retiring a bunch of skills I had been using, setting up some leaner skills and working on getting my T3 environment working how I want - T3 Code is the app I run my agents in, across providers and machines.

At home I have a desktop, an AI server, a web & home services server and a NAS which all make up a fleet of systems that I work with. I do most agentic work on my desktop and the AI server and I want my surface, the UI on which I focus my attention, to be able to seamlessly utilize whichever machine makes the most sense based on what else I have going on. I also use several providers at home: Anthropic, Codex, Grok, Antigravity - T3 makes managing these super easy. Getting it all together allows me to orchestrate work across multiple machines, using multiple models which opens opportunities for cross model evaluations, spreading out my tokens or focusing them on the right model for the task.

Built from the text and course notes

The week, beat by beat

The course opened one lesson a day from Mon Oct 26. I got in late, so each lesson shows when it opened and when I solved it, in Central time.

  1. Before I started Tue Oct 27
    What went wrongMy setup had grown too heavy and was organized in ways that didn’t work.
    What I changedRetired a bunch of skills and set up leaner ones.
  2. Lesson 1 Opened Mon Oct 26 Done Thu Oct 29
    What went wrongNothing. It ran on my work setup and went smoothly.
    What I changedMoved to my home setup to catch up.
  3. Lesson 2 Opened Tue Oct 27 Done Thu Oct 29
    What went wrong2 snags, and 2 of the 4 things the challenge tested went wrong first. A guess caused a silly mistake.
    What I changedA return-path hook so threads my agent starts report back, and AGENTS.md files load again.
  4. The assessment Thu Oct 29
    What went wrongWeakest habit: stating a done check up front, 24%. Strongest: verification closure, 99%.
    What I changedMore changes, and a plan to carry them across the fleet.
  5. Lesson 3 Opened Wed Oct 28 Done Thu Oct 29, late night
    What went wrongThe agent didn’t recover this time. I found the problem and told it.
    What I changedNothing yet. The fixes came after Lesson 4.
  6. Lesson 4 Opened Thu Oct 29 Done Fri Oct 30
    What went wrongThe agent jumped the gun on the last step. An agent planned around retired skills whose docs still called them live.
    What I changedMade the agent aware of my T3 tooling with code and checks, not more prose. Marked the old skills retired.
  7. Lesson 5 Opened Fri Oct 30 Done Sat Oct 31
    What went wrongA fetch option Node accepts and Cloudflare’s runtime refuses. The self-test never sent a reply.
    What I changedA check that runs the deploy bundle in Cloudflare’s runtime, and more questioning of my sessions’ data to improve the agent’s experience.

Lesson 2Thu Oct 29So my home system wasn’t as finely tuned and I was going to be poking at it and I really hoped it would prove itself. I did the second day and this time I had only 2 snags, problems that changed what my agent or I did, but 50% of the challenge KPIs, 2 of the 4 things it was testing, went wrong the first time.

Did my configuration changes fail me? I have a strong preference for validation and evidence based work but that didn’t stop the agent from making a guess that caused a silly mistake. That irritated me to no end but the analysis led to immediate changes where I added a return-path hook on t3_thread_launch so a thread my agent starts can always report back to it, fixed some agents files being skipped problems - Claude Code wasn’t loading a repo’s AGENTS.md when a CLAUDE.md sat above it.

From the MEGA assessment report, home sessions only

Before and after the Oct 27 lean change

Share of eligible episodes where each trait was applied. Hover a row for the counts.

Before Oct 27After (Oct 27–29)
Rate per trait before and after Oct 27, home sessions0%25%50%75%100%episodes afterT06 Falsifiable acceptance22% → 72%18T01 Intent clarity54% → 96%27T17 Agent brief quality55% → 92%12T07 Understand first12T13 Inspect before edit19T18 Decision rights21T02 Problem framing13T09 Evidence injection18T03 Agent state modeling13T15 Delegation judgment14T23 Verification closure23T05 Constraint precision17
Table view
TraitBefore Oct 27After
T06 Falsifiable acceptance83/380 (22%)13/18 (72%)
T01 Intent clarity360/670 (54%)26/27 (96%)
T17 Agent brief quality114/209 (55%)11/12 (92%)
T07 Understand first79/114 (69%)11/12 (92%)
T13 Inspect before edit274/349 (79%)14/19 (74%)
T18 Decision rights466/488 (95%)21/21 (100%)
T02 Problem framing240/251 (96%)13/13 (100%)
T09 Evidence injection195/200 (98%)15/18 (83%)
T03 Agent state modeling361/369 (98%)13/13 (100%)
T15 Delegation judgment266/270 (99%)13/14 (93%)
T23 Verification closure509/516 (99%)22/23 (96%)
T05 Constraint precision233/236 (99%)17/17 (100%)
The lean profile cut the skill set to a starter kit on 2026-10-27. Of the 12 traits the assessment split, 8 rose afterwards. The biggest rises: T06 falsifiable acceptance (a done check stated up front, 22% → 72%), T01 (54% → 96%) and T17 (55% → 92%). Four dipped: T09, T13, T15 and T23. But the “after” side is only 12 to 27 episodes over three days, so treat it as a direction, not a result.

The assessmentThu Oct 29The course has an assessment tool which I had actually taken the day I started. It reads your agent session history and scores 24 working habits. The figure below shows what it found. This can be done multiple times before, during and after the course - the entire idea is that it examines your sessions to extract information about how you work, what’s working well, what costs time and a plethora of observations that allow for even further self-examination.

From the MEGA assessment report, home sessions only

All 24 traits, Jul 11 to Oct 29

703 episodes over 100 active days. Traits below 80% are in rust, with their rates; the strongest, T23 verification closure, is labelled too (531 of 539).

All 24 traits, home sessions Jul 11 to Oct 290%25%50%75%100%DirectionT01 Intent clarity55%T02 Problem framingT05 Constraint precisionT06 Falsifiable acceptance24%ContextT04 Context anchoringT09 Evidence injectionT10 Progressive disclosureT11 Context economyT12 Durable memoryGroundT03 Agent state modelingT07 Understand first71%T13 Inspect before edit78%T14 Capability provisioningOrchestrationT15 Delegation judgmentT16 DecompositionT17 Agent brief quality57%T19 Parallelism hygieneT20 Result integrationProofT08 Root-cause orientation47%T18 Decision rightsT21 Feedback specificityT22 Steering & trustT23 Verification closure99%T24 Recovery & learning
Table view
FamilyTraitApplied / eligible
DirectionT01 Intent clarity386/697 (55%)
DirectionT02 Problem framing253/264 (96%)
DirectionT05 Constraint precision250/253 (99%)
DirectionT06 Falsifiable acceptance96/398 (24%)
ContextT04 Context anchoring284/287 (99%)
ContextT09 Evidence injection210/218 (96%)
ContextT10 Progressive disclosure175/180 (97%)
ContextT11 Context economy122/136 (90%)
ContextT12 Durable memory475/478 (99%)
GroundT03 Agent state modeling374/382 (98%)
GroundT07 Understand first90/126 (71%)
GroundT13 Inspect before edit288/368 (78%)
GroundT14 Capability provisioning131/137 (96%)
OrchestrationT15 Delegation judgment279/284 (98%)
OrchestrationT16 Decomposition163/169 (96%)
OrchestrationT17 Agent brief quality125/221 (57%)
OrchestrationT19 Parallelism hygiene130/143 (91%)
OrchestrationT20 Result integration175/188 (93%)
ProofT08 Root-cause orientation51/109 (47%)
ProofT18 Decision rights487/509 (96%)
ProofT21 Feedback specificity128/135 (95%)
ProofT22 Steering & trust283/284 (100%)
ProofT23 Verification closure531/539 (99%)
ProofT24 Recovery & learning194/197 (98%)
The MEGA assessment reads your agent sessions and scores how you work with agents on 24 traits in five families. Each trait is a count: the episodes where you applied it, out of the episodes where it applied. How far to trust the numbers: a separate judge re-scored 22 random sessions blind and agreed on applied-or-not in 234 of 254 session-trait pairs (92%). It found more misses on T22, so that rate is likely overstated.

This is a core skill that I feel like I’ve been leaning into for quite some time - use your agent to help you with anything. Leverage your curiosity, your skepticism, your ambitions and make things happen that were too hard or too tedious to do before. Lean in to the tedium - those things are what agents are great for - one of many things Theo stressed in the first week.

So I dove in and made more changes and made plans for how to get those changes across my fleet and how I might transfer learnings without forcing myself to redo lessons on my work machine - I want everybody tuned!

Are you seeing it yet? I’m personifying my agents - not with silly personalities and wasted context, but in my mind. I’m thinking about them like my employees that I want to have the best environments and the least amount of friction. When I started down this journey a year ago it was about removing my friction, but now I realize that comes from getting out of the way of agents on the things they can do well, help them fix when things go wrong (they’ll just work around it and you may not even notice it because you get a good result), and make that my loop.

Chisels, a knife and a mallet laid out in a row on a walnut workbench at night, with a file clamped in a vise mid-repair.

Lessons 3 and 4Thu Oct 29 and Fri Oct 30Lessons 3 and 4 were the first time I got really mad because the challenge showed 2 things that both went wrong first. In the previous challenge the agent recovered but in this one it was me finding the problem and informing the agent that got us over the hill.

But then the next problem happened because it jumped the gun on the last step. Small but irritating because my tooling does have timers for just this case - so the way I approached that was to examine how without writing prose - in code or a check rather than one more instruction file - I can make sure that the agent is aware particularly of T3 tooling that makes its ability to orchestrate my fleet smoother. Both of these could have been avoided with a bit more attention on my part and I wanted to make sure that was more built in. There are places where I need to change my behaviors, but I also recognize that I have a certain way of working and I want my system to be aware of that and compensate where possible - so I went down another fix round for the environment.

During this fix, my old skills really caused some problems - skills from a setup I had recently retired. Their docs still described them as live, so an agent planned around them which wasted time. The necessary step, which you’ll see is becoming a pattern, is to examine the problem and do another round of fixes so that wouldn’t happen again.

Lesson 5Sat Oct 31Finally day five comes to synthesize everything and I work carefully, I read the challenge thoroughly then have a session to examine it even more deeply, asking questions and pointing out where I see traps, planning out what my agent would need as this challenge had to host a service with an agent that would have to respond to mega.dev servers. Once I had all the components pulled together and a plan for how to satisfy all the items we went off.

I spent too long I think on this overall but I wanted a fully clean run. I almost got it - everything worked first time except for one issue where a fetch request option was supported by Node but refused by Cloudflare’s runtime - it was thoroughly tested locally yet the self-test, the live check the service ran on itself after deploy, never actually sent a reply.

Simple fix but I still didn’t love it - getting past the ego hit I realized that I need to keep questioning, analyzing friction and improving the agent’s experience, using the wealth of data my sessions create on their own. Most things working doesn’t mean you can put down the guards, but those guards are best served by an attitude of service to your agents to facilitate the best outcomes, including designing validations for all sorts of common failure modes in order to plug them up. It may be tedious, but the tedious work I had to do each day reduced a bit.