- Author
- Kyle, HumanLayer
- Published
- March 12, 2026
- Kind
- Company blog post of practical advice from team experience
- Original
- www.humanlayer.dev/blog/skill-issue-harness-engineering-for-coding-agents
- Subject
- Harnesses and agent loops
- Themes
- Handing over control
What it is
Kyle writes for HumanLayer about lessons from dozens of projects. The post lists the harness settings that mattered most.
What it says
- The post says coding agent failures are a configuration problem, not a model problem.
- It defines a coding agent as an AI model plus a harness.
- Sub-agents work for context control, not for roles like frontend engineer or backend engineer.
- Too many MCP tools fill the context. The team swapped a Linear MCP server for a CLI.
- An ETH Zurich study of 138 agentfiles found that LLM-generated ones hurt performance.
- Hooks that stay silent on success and surface only errors give the agent back-pressure.
- The post relays Viv's claim: Opus 4.6 ranked 33 in Claude Code, 5 elsewhere.
What evidence it gives
The main evidence is the team's experience across dozens of projects and hundreds of sessions. The post includes a full example hook script and a Linear CLI snippet. It cites outside work: an ETH Zurich study and Chroma research. It runs no controlled tests of its own.
Interests and limits
HumanLayer publishes the post on its company blog. The post does not describe its products. It admits it may misread the OpenAI post on harnesses. Advice comes from the team's codebases, mostly with Claude Code. The Chroma tests were needle-in-a-haystack tasks, which the post says differ from coding.
Connections
These links are this wiki's own reading, not claims the sources make.
- On the foolishness of "natural language programming" (EWD 667). Dijkstra prefers narrow interfaces, since a wider one can raise work on both sides. HumanLayer's team found this by swapping a Linear MCP server for a small CLI. The old argument now gets paid in tokens.