workflow

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.

Organising your AI workflow is no longer just about putting the chaos in order, it directly impacts your AI costs. Every command your agent runs and every file it reads ends up in the context window, and the bigger that window grows, the more you pay and the less focused the agent becomes.

This article looks at three tools I run in my local dev setup to fight that - one for trimming shell output, one for compressing context and one for giving the agent a memory that outlives the session. It also covers where context compression falls short, when running Claude Code through a proxy.

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.

A deterministic workflow with AI agents is orchestrated by having efficient system prompts and skills to help you combat context rot and agentic drift, and prevent user steering and general frustration.

The goal of this article is to teach any user (not only developers) how to build those efficiently and to give insights into how to maintain them in the future.