Hi there! I'm low energy at the moment because I spent 4 hours writing today's other blogpost, which you should read, announcing atp.pics:

Fetch a picture; it’ll make the moment last longer - graham.systems
Put faces to names with atp.pics
https://graham.leaflet.pub/3mhr36lsmo222

Let's crush these notes.

atp.pics

I'm glad I got this service out, I wanted to have it announced before ATmosphereConf so I had something to talk about there.

I'm not gonna explain what atp.pics is--that's covered in the linked post. However, since my weekly notes have recently been a saga of trying different agentic coding styles, I figured I'd cover that aspect.

If you take a look at the repo, you'll notice the openspec directory, because I took a stab at spec-driven development for this project. I really liked it!

OpenSpec provides a CLI and the relevant skills for your agent to perform their idealized development loop, which roughly goes:

  1. 1.

    Propose your ideas/constraints to the agent

  2. 2.

    The agent generates a spec document

  3. 3.

    The agent generates a design doc/implementation plan from the spec, detailing changes and how to verify the changes

  4. 4.

    The agent derives tasks from the design doc

  5. 5.

    The agent implements the tasks as specified

  6. 6.

    You and another agent verify that the spec is satisfied

  7. 7.

    All the artifacts are archived

  8. 8.

    Repeat

It's an interesting approach, because it treats the limited context window of the agent as a feature rather than a limitation. Practically, each step can be accomplished in a separate agent session, with each conversation acting as a set of fresh eyes. I found this very useful, particularly for the verification step.

Instead of the Letta approach where the agent owns the text files that comprise the agent "memory", the spec-driven approach makes those memories artifacts of the project, and then takes advantage of the fact that any individual agent is not present for long.

Would I want this for a personal agent? Absolutely not. For coding, however, I enjoyed it a lot. I suspect it will make collaboration difficult, and I'm curious to see how the method holds up over time.

Ooof... I don't have all that much more in me. Too much writing for one day.

Don't expect notes for next week, since I'll be up in Vancouver still and trying to spend a little time as vacation.

If you read all of my words today, thank you so much--it means a lot. I hope you have a great week!