An AI coding model on its own is a brilliant intern with amnesia. The harness — twelve parts of configuration, rules, and checks you wrap around it — is what turns it into a teammate you'd put on a real codebase. One slide per part. Framework concept inspired by Charlie Hills; the setup and words here are mine, from daily use.
George Moreas · georgemoreas.com/insights
Part 1 of 12
CLAUDE.md — standing orders.
A markdown file the model reads at the start of every session: your stack, your conventions, what 'done' means.
Two levels: ~/.claude/CLAUDE.md follows you everywhere; the repo-level file rules that project.
Every time you correct the model twice for the same thing, that correction belongs here — permanently.
~/.claude/CLAUDE.md
Part 2 of 12
The project brief — scope before code.
Run /init on a fresh repo and Claude drafts the project's brief from the codebase itself. Then you edit it — that edit is the real work.
Defines what's in scope, what's out, and what finished looks like, before a single file changes.
Commit it. A brief that isn't in the repo doesn't exist.
/init
Part 3 of 12
Memory — never repeat yourself.
Corrections and preferences persist across sessions instead of dying when the window closes.
Good memory hygiene turns one-off fixes into defaults: naming style, test framework, deploy quirks.
Review it occasionally — stale memory is worse than none.
/memory
Part 4 of 12
Permissions — autonomy is earned, not granted.
Default: the model asks before every action, and you review each diff. Start every new codebase here.
Scope trust per tool and per project in .claude/settings.json — which commands run free, which always ask.
Never blanket-approve on a repo with secrets, migrations, or deploy scripts within reach.
.claude/settings.json
Part 5 of 12
Plan Mode — align before it builds.
The model writes out its full plan as a document and waits. You annotate — 'don't touch the auth module' — before it edits anything.
Catches bad assumptions when they cost seconds, not hours.
Rule of thumb: anything touching more than three files goes through a plan first.
Shift+Tab → Plan
Part 6 of 12
Model routing — right brain for the job.
Not every task deserves the biggest model. Route cheap models to grunt work, save the strongest for judgment calls.
Start small, escalate on failure — the reverse wastes money silently.
Switch mid-session when the task changes shape.
/model
Part 7 of 12
Skills — workflows as commands.
Anything you've prompted three times becomes a saved skill you fire with one command.
A skill is a small markdown recipe: the steps, the standards, the output format — reusable forever.
My rule: 200 words of skill beats 2,000 words of re-explaining.
name/SKILL.md
Part 8 of 12
MCP — give the model hands.
Model Context Protocol connectors plug Claude into your real systems: database, browser, issue tracker — read and write, not copy-paste.
Start with two: a browser (so it can verify its own UI work) and your data layer.
Every connector you add deletes a category of 'let me paste that for you' from your day.
claude mcp add
Part 9 of 12
Hooks — the non-negotiables.
Deterministic code that fires on the model's actions. Not a suggestion — a gate.
A PreToolUse hook can hard-block edits to protected paths or force the linter before any commit.
CLAUDE.md is what you ask the model to respect. Hooks are what you guarantee.
PreToolUse
Part 10 of 12
Sub-agents — parallel, focused, clean.
Spin up workers that each get one job and a clean context — no drift from a bloated conversation.
Perfect for 'review these six files independently' work; they run in parallel and return one focused result each.
Defined once, reused everywhere in the repo.
.claude/agents/
Part 11 of 12
Agent teams — many hands, one task list.
Multiple agents coordinate off a single shared task list: owner, status, handoff.
The task list is the contract — it's what prevents three agents from solving the same bug three ways.
Still the frontier. Start here last, after the rest of the harness holds.
experimental
Part 12 of 12
The verify loop — check, score, then ship.
The model reviews its own work before you see it: run tests, run the linter, load the page, score against the definition of done.
Ask for it explicitly at first; then bake it into CLAUDE.md so it's automatic.
This one habit is the difference between reviewing work and re-doing work.
gather → act → verify → repeat
Assembly
The model is the engine. The harness is why it drives straight.
Assembly order that actually works: CLAUDE.md and permissions first — rules and boundaries. Then Plan Mode and the verify loop — alignment and quality. Then MCP, skills, hooks — leverage. Sub-agents and teams last — scale. Build it on a real project, not a toy: configuration only teaches you something when something is at stake.
The Agent Harness — Setting Up Claude Code Like You Mean It
Twelve parts of Claude Code configuration that turn an AI coding model into a reliable engineering teammate: CLAUDE.md, project brief, memory, permissions, plan mode, model routing, skills, MCP, hooks, sub-agents, agent teams, and the verify loop.
Written by George Moreas — more insights · framework concept inspired by Charlie Hills.
Mental Models for the AI Economy
Get the next essay the day it publishes.
A few a month, written from real builds. Unsubscribe in one click.
About the author
George Moreas
Performance marketing and search leader who builds — 15+ years in digital growth and product (AT&T/DirecTV, Microsoft, Employbridge, Site Impact), now running his own properties with AI. These essays are field notes from that loop: what AI actually changes about work, product, and the economics underneath. Based in South Florida.