106 karma · joined May 27, 2019
Coding agents pattern-match on what they find. If the convention is no tests, that's what they'll write. And the longer it goes on, the more the codebase is shaped in ways that make testing harder, which entrenches the pattern further. New post on why testing is no longer optional in the new world of agentic coding, how to start when you have zero tests, and what to do when the code resists being tested at all.
A harness is the system that lets an AI coding agent produce correct, high-quality code consistently. It has four parts:
Guidance: CLAUDE.md and rules in .claude/rules/ that shape what the agent writes. Guardrails: automated checks (lint, tests, build) the agent runs. Flywheel: review feedback updates a rule file. The next conversation starts smarter. Workflows: agents, commands, and skills under .claude/ that turn institutional knowledge into runnable procedures.
sellier ships a generic, slim version of all four. You run it once, then run a Claude command to fill in the placeholders.
This post is about how we stopped fighting that and started using it. It covers two iterations of a system we call the harness — the set of files, rules, and workflows that constrain what an agent produces in our Laravel + React monorepo. The first iteration was a scattering of CLAUDE.md files in subdirectories. The second is a .claude/ folder with rules, agents, commands, and skills. The second is dramatically better, and the reasons are worth writing down.
The audience here is engineers who are picking up agentic coding and want a concrete pattern they can copy.
Note this series is half-published and updates will be coming over the next few days.