Developer Experience

Posts about improving developer experience, tooling, and workflows.

Once you get introduced to vibe-coding, you start building with chat. You get excited and you try to build something bigger. You figure out spec-driven development to some extent and you give it a go. You either fail dramatically or create what is known in the IT industry as a Frankenstein - a re-animated code-stitchling.

You try again and get better at it, but your agents still get confused and often fail to stay on track. Then you find beads, the Jira for agents(opens in new tab), and things start to look up.

Reading a skill is the cheap part. The work it drives is where the tokens and the time go - every search, file read, retry and wrong turn the agent takes along the way. A good skill makes that work predictable: fewer wrong turns, and the same result tomorrow as today.

This article walks through how I plan and write skills, with a release-notes skill as the running example, and how to test them with tools like skillgrade.

Coding agents forget everything between sessions, and the bigger the codebase grows, the more they have to rediscover before they can do anything useful.

This article covers spec-driven development as a whole - why agents need specs, the frameworks worth starting with, and how my own setup evolved from homegrown commands to OpenSpec and beads.

Executing coding agents from the shell or your desktop executes commands with your user's privileges. Their own guardrails have come a long way, but a prompt injection can hide in many places - open-source packages, images with invisible text, which only the agent reads, harmful instructions inside searched pages, the list goes on.

This article covers the most basic setup of sandboxing a local agent for daily tasks inside a dev container.