← Blog

Thin Harness, Fat Skills

Thin harness, fat skills is the right direction for agents.

The model’s intelligence isn’t the bottleneck — context and architecture are. Deterministic vs latent matters. Codify everything. Let the system compound.

One refinement that makes the harness even more powerful:

Yes, it should own the loop, file I/O, context management, and safety. But it should also fully own the state machine: implement → verify → review → merge, claim lifecycle, concurrency, resource allocation, risk-based routing.

That part isn’t “thin” — and it shouldn’t be.

Workflow routing is deterministic. An issue that passes verification always goes to review. One that fails always goes to investigation. Same input → same output, every single time.

Leaving “what should I do next?” decisions to the model is exactly the anti-pattern we want to avoid: putting deterministic work into latent space.

Clear boundary instead:

Harness owns the process (what step comes next — deterministic).

Skills own the judgment (what happens inside each step — latent).

The flow between steps is too important to leave to vibes.

It’s the same logic as agile sprints. No engineering team says “figure out your own workflow every sprint.” The ceremonies (standup, planning, review, retro) are fixed, shared, and deterministic. What you actually do inside each ceremony is where judgment lives.

Same here: state machine = sprint structure, per-state prompts = judgment inside each ceremony.

Extra win: every “should I verify now or merge?” call you offload to the model is tokens burned and hallucination risk for a question that has exactly one correct answer. The state machine does it for free in zero tokens.

Structured harness where the process is deterministic, fat skills where the intelligence actually matters. The system compounds harder that way.