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.
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.
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.
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.