> **The harness, not the prompt — Silou**
> Canonical: https://silou.dev/writing-harness-not-the-prompt
> Generated: 2026-07-19 — markdown twin of the HTML page (the HTML is the source of truth).

# The harness, not the prompt

*Writing*

The next dev skill is engineering the system around the model — not wording the request.

The industry taught everyone to *prompt better*. That skill is real but small, and it's already commoditising — every release, the model gets better at reading a sloppy request. The leverage moved somewhere else: to the system you build *around* the model so it can do real work reliably. I call that system the harness. The model is the engine; the harness is everything else.

A harness has five parts. None of them is the model.

## Context

Keep a structured, reusable context and feed it back, instead of re-prompting from zero every time — memory, project files, the right documents loaded at the right moment. Most "the model got it wrong" moments are really "the model was never given what it needed."

## The agentic layer

Commands, agents, and skills — the difference between a model that *answers* and one that *acts*: reads files, runs commands, edits code, fans work out to sub-agents. The organising question is *where each capability lives*. Anything deterministic drops to a script; anything that needs judgment climbs to an agent; anything reusable becomes a skill. That single classification tells a team what to automate, what to make an agent, and what to package as shared knowledge.

## Hooks — trust and control

The brakes. Hooks fire across a session's lifecycle, and each does double duty: one path *validates* (block a dangerous command, check that a plan is actually complete before the agent calls itself done), the other *records*. This is how you let an agent move fast without giving up the ability to stop it — the guardrails live in the runtime, not bolted on afterward as log-scraping.

## Model-offloading

Not every task needs the frontier model. Route the cheap, parallel, high-volume work to a smaller or local one and reserve the expensive engine for the work that earns it — for cost, and for reliability. The catch worth naming out loud: sometimes the verification you need to trust a cheaper model's output costs more than the model you saved. That's an architecture decision, not a default.

## Observability

You can't supervise what you can't see. Agent behaviour is invisible by default — the reasoning between tool calls disappears, and a run that went sideways looks the same as one that went well until you read the diff. Turning that invisible behaviour into an audit trail is what separates a production agentic system from a demo.

## Why it adds up to more than its parts

Put the five together and something changes in kind: work can run *without you in the loop* — on a schedule, unattended — because the hooks, the evals, and the observability are what make it safe to step away. That end state, not a faster chat window, is the point.

Here's the pattern I see in teams that already pay for Claude Code: they optimise the engine (which model? which prompt?) and never build the harness. So they get a very good autocomplete and wonder why the promised leverage never arrives. The gap between "we have licenses" and "we ship measurably faster" is almost never the model. It's the missing system around it.

> **Where this comes from.** I didn't invent any of it. A large part of these patterns I learned from a paid community resource — [IndyDevDan](https://indydevdan.com/)'s agentic-engineering work — and then operationalised in a scaled, production enterprise context: review agents, cloud operations, CI debugging, observability, strictly-typed functional code under real constraints. That work is under NDA, so I describe the *category* and the transferable lesson and name zero clients. The arc is the whole point: learn the pattern from the open community, then prove it where the stakes are real.

The harness isn't proprietary magic. Every piece of it is a capability a team can build for itself — which is exactly what I help teams do.

[← Back to the Lab](https://silou.dev/lab)
