blog.skwa.red
-
From building to architecting
Read more →
From building to architecting
Software architecture is probably one of the most important skills for working on applications with coding agents. When an agent writes most of the code, the direction you give it becomes the architecture: which patterns to follow, where new code belongs, and how the pieces of the system fit together. A poorly architected application will be difficult for an agent to work in for the same reasons it's hard for a human to work in. So how do we do architecture in harness engineering, and how do we keep our applications high quality and easy to work on? The design patterns and principles we already know are still essential, plus some important new skills. Less of our time goes into building, and more goes into deciding how things should be built.
-
Software Engineering is dead, long live Software Engineering
Read more →
Software Engineering is dead, long live Software Engineering
Everything has changed - so where do we go from here?
Software Engineering has had a wild ride the last couple of months. The whole industry has declared that things are changing completely - from companies laying off engineers claiming they will be replaced with AI, junior developer roles disappearing, and plenty of hyperbole about the benefits and dangers of LLMs. Underlying all the panic, hyperbole, and excitement is a fundamental truth - things are changing. Things are changing fast.
However, I think only one part of Software Engineering has actually been handed off to AI. It's the part we engineers spent most of our time doing - writing code - but all of the other parts still require us humans. Those parts will have to change to keep up, but the good news for us engineers is that they matter more than ever. So what does it mean to do Software Engineering now? If we don't write code, what do we spend our time doing? How do we continue to build things (and hopefully enjoy it)?
-
Harness Engineering Readiness
Read more →
Harness Engineering Readiness
A checklist to keep agents from guessing
The success of agents when developing in a project depends on the quality of the harness. Anthropic and OpenAI (as well as many software engineers) agree that this hypothesis is true, but it can still be challenging to know when you have all the pieces of the harness in place for an agent to be successful in your project. In Assessing legacy projects I asked how you work out whether a project is ready for harness engineering at all, and in Reducing blast radius I discussed how to limit what the agent can do in your project to get started. This post is my answer to that first question: a checklist of things that are essential for getting an agent to build the project the way that you want. First the list, then a brief explanation of each section and how it helps agents stay on track.
-
Reducing Blast Radius
Read more →
Reducing Blast Radius
A first step to build a trustworthy harness
Trust is the most essential component of any agentic harness. In a previous post I discussed how to start doing harness engineering on legacy projects. Most of that post is abstract; it talks about questions you should ask or things you should think about when getting started. While it's important to have answers to those questions, I also wanted to provide some specific approaches that make the first steps into harness engineering successful. A successful harness engineering workflow requires: A trustworthy harness, precise scoping, and good analytics. This post will focus on specific ways to reduce the scope of the agents changes. Reducing scope reduces risk, increases the ability of humans to verify what the agent did, makes it easier to get comfortable fixing the harness to correct mistakes, and lets developers see what the agent will do. These things will help developers build trust that their agent will not (or can not) go off the rails and do something dangerous.
-
Skills and Extensions I built for Pi Agent
Read more →
Skills and Extensions I built for Pi Agent
When I started using a local llm my focus was primarily to use it to reduce costs of my use of claude. That meant that I wanted to pick a harness that would be lightweight and flexible. I had heard of Pi and open code and after looking over the two briefly decided that Pi aligned more with my interests. Plus I wanted to explore "building my own" harness, so picking a lightweight and extensible system made a lot of sense to me. I've built a handful of extensions and skills (with the help of Claude and Pi) to make Pi more successful in the work I give it. First I'll work through the extensions I've built for Pi and then the skills I've built for both Claude and Pi. I went into this to save on my Claude usage, but that turned out not to be the most interesting part. With this hybrid system I am seeing better results than just with Claude alone.
-
Assessing legacy projects for Harness Engineering
Read more →
Assessing legacy projects for Harness Engineering
Harness Engineering is a hugely popular topic at the moment. It seems to be the latest way to talk about agentic coding - Using an agent to do most of the software development, with humans giving direction. There are lots of articles about "what harness engineering is" or "how to do harness engineering." As a Staff Engineer working on a legacy codebase, with a passion for using LLMs to generate quality software, I've been considering a different question: How can I determine what the "readiness" of a project is for adopting harness engineering?
-
Building a hybrid agent setup with qwen and pi-agent
Read more →
Building a hybrid agent setup with qwen and pi-agent
I have enjoyed building tools for myself and exploring ideas with Claude code. When I started getting into some projects more seriously, I was hitting the usage limits on the pro subscription within a few days. I'm not willing to spend more on what is more or less a toy, so I would just wait until the weekly reset to keep working on my project. That is, until a friend of mine introduced me to Mixture of Experts (MoE) models (like Qwen 3.6 A3B) which can run on dramatically smaller hardware. Now I use Claude Code to do discovery and planning, then delegate most of the code work to my local model.
-
Welcome
Read more →
Welcome
I've decided to move my blog from graphicsunplugged.com to here because I like this domain better, and I rarely write about graphics, or design, or anything related to what that domain might infer about the topics being discussed.
My focus for this blog is software development processes, which means for the forseeable future it will be focused a lot on LLM-based development processes like harness engineering, agenting coding, or whatever newfangled other thing comes along. As a developer with 15+ years of professional experience writing software for the web I think I can provide some insights into how software engineers should adapt to this new frontier. I hope to provide some good insight into what is valuable, what looks valuable but isn't, and what is outright slop.