Thin Harness, Fat Skills

Thin Harness, Fat Skills

Core thesis: 100x agent leverage comes less from a smarter model than from architecture: fat reusable skills, a thin harness, and deterministic application tools.

Five concepts

1. Skill files

Reusable Markdown procedures that teach the model how to do work.

The user supplies the task. The skill supplies the process.

Treat a skill like a parameterized method call: same procedure, different target, question, and dataset.

2. The harness

The program wrapping the LLM: run the loop, read and write files, manage context, and enforce safety.

Thin means the harness avoids owning domain judgment or broad tool clutter.

3. Resolvers

Context routing: when task type X appears, load document or skill Y first.

Descriptions, AGENTS pointers, project docs, and skill metadata act as lazy loaders that protect attention.

4. Latent vs deterministic

Latent space is for judgment: reading, interpretation, synthesis, and pattern recognition.

Deterministic tools are for trust: SQL, arithmetic, assignment, compiled code, and file operations.

5. Diarization

Read everything about a subject and distill a structured profile.

It turns scattered documents into analyst-grade judgment, not just retrieval hits or keyword matches.

Anti-pattern to avoid

A fat harness with thin skills pushes the wrong material into the middle: huge tool schemas, slow generic MCP round trips, REST endpoints as tool spam, and a bloated context window. The result is more tokens, more latency, and more ways to fail.

Three-layer architecture

Top: Fat skills

Markdown procedures encode judgment, process, and domain knowledge.

This is where most value compounds.

Middle: Thin CLI harness

Small loop: JSON in, text out, read-only by default.

It orchestrates context and safety without absorbing business logic.

Bottom: Application tools

QueryDB, ReadDoc, Search, Timeline, browser or domain CLIs.

Deterministic foundation: fast, narrow, testable.

Directional principle

Push intelligence up into skills. Push execution down into deterministic tooling. Keep the harness thin so model upgrades improve every skill without destabilizing execution.

The system that learns

1. Manual sample

Do the repeatable task manually on 3 to 10 items and inspect the output.

2. Codify as a skill

If the output works, turn the process into a reusable skill file. If it should run automatically, schedule it.

3. Read feedback

Use surveys, mediocre results, failures, logs, and eval regressions as the next dataset.

4. Rewrite the skill

Extract new rules and write them back into the skill. The system learns without rewriting core code.

sourcesummaryruns throughloads context viaroutes work acrossfeeds synthesisinvoked throughexecutes throughimproves