# Build a Repository Harness for Claude Code Coding Agents

DevFeed: [Build a Repository Harness for Claude Code Coding Agents](<https://devfeed.tech/articles/stop-tuning-prompts-build-a-harness-19029.md>)

Original publisher: [Read original article](<https://www.pulumi.com/blog/stop-tuning-prompts-build-a-harness/>)

Author: Engin Diri

Published: 2026-05-26T00:00:00Z

Content type: opinion

Language: en

Sources: [Pulumi](<https://devfeed.tech/sources/pulumi.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Code](<https://devfeed.tech/topics/code.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [MCP](<https://devfeed.tech/topics/mcp.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [claude](<https://devfeed.tech/tags/claude.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [devops](<https://devfeed.tech/tags/devops.md>), [extension](<https://devfeed.tech/tags/extension.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [ls](<https://devfeed.tech/tags/ls.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [perspectives](<https://devfeed.tech/tags/perspectives.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [skills](<https://devfeed.tech/tags/skills.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

## AI overview

The article argues that, in real codebases, the context and tooling surrounding Claude Code can matter more to performance than the underlying model version. It presents a repository-level AI harness built from seven components, including CLAUDE.md, hooks, skills, plugins, LSP, MCP, and subagents, and discusses agentic navigation without a separately maintained codebase index.

## Source excerpt

Anthropic shipped a piece earlier this month called How Claude Code Works in Large Codebases. I have not read anything more useful about coding agents this year. The core claim, in their words: "the ecosystem built around the model--the harness--determines how Claude Code performs more than the model alone." In my phrasing: in a real codebase, the model is the smaller variable. The layer of context and tooling you wire around the agent matters more than which version of Sonnet or Opus is behind it. The post stays high-level, which is the right move for a launch piece. What I want to do here is land it. Same seven pieces, but with the wiring you would actually put in a repo, in the order I would put it. How Claude Code navigates without an index Anthropic's writeup says Claude Code works from the live codebase and does not require a codebase index to be built, maintained, or uploaded. The agent navigates the way an engineer would, with grep, find, ls, file reads, and reference-following. Anthropic calls this agentic search, and the upside is obvious: no separate index exists for you to keep fresh. The downside is also obvious. An engineer who has never seen your repo and only has shell tools will flounder if you drop them in the root with no map. That is your agent on day one. Everything that follows is about giving it the map. The AI layer in seven pieces Every codebase used to have two artifacts engineers cared about: the code and the tests. A third exists now. Call it the AI layer, or the harness, or whatever you want. This layer is the set of context and tools you give your coding agent to operate in this specific repo. Anthropic breaks it into seven pieces, and each one solves a different scaling problem. Anthropic gives each piece a role: CLAUDE.md is the foundation, hooks do self-improvement, skills are progressive disclosure, plugins handle distribution, LSP gives navigation, MCP is extension, subagents split exploration from editing. They are not equal in usag