Deep dive
Clean Your AI Harness: 6 Principles for Fable 5 & GPT-5.6 Setups
Nate B Jones argues that the thing holding back Fable 5 and GPT-5.6 usually isn't the prompt — it's the bloated harness wrapped around the model: the custom instructions, project files, saved prompts, memory, skills, tools, and permissions that accumulate one correction at a time. His own audit turned up 66 reusable skills and 172 instruction files. This video lays out six principles for making that harness visible and cleaning it, and shows how Fable 5 and GPT-5.6 fail in different ways when the setup gets overloaded.
"Fable 5 And GPT-5.6 Don't Need Better Prompts. They Need A Clean Setup." by Nate B Jones — Watch on YouTube →
Everything wrapped around the model: your custom instructions, project files, saved prompts, memory, skills, tools, permissions, and any checks you run. It shapes the answer before you type anything, because it ships alongside your prompt. Most people never set out to build one — it grows accidentally, one fix at a time.
The Six Principles
-
1. Map the harness before you clean it.
Give every important control its own row and ask: where does it live, when does it load, what job does it do, who owns it, is there evidence it still helps, and what could go wrong if it's misused? The first inventory Nate ran surfaced 66 reusable skills and 172 instruction-related files — one ordinary writing job pulled in an 18,000-word file before it even saw the prompt. Mapping also exposes a difference chat interfaces hide: some controls are just text, but permissions, schemas, and task checks are real locks with teeth.
-
2. Blame the right layer — model or harness?
He ran the same job with Fable 5 two ways. A compact setup (goal, facts, permission boundary, finish line) finished correctly three times out of three. A thick setup (all of that plus the full method, a scoring system, an eval plan, and a classification scheme) produced richer analysis but failed delivery twice — one run broke the JSON, another blew the word limit. If you reflexively blame the model, you keep adding instructions to fix problems the instructions caused.
-
3. One rule, one home, one owner.
His authorship/source rule existed in 15 different top-level skills. Every copy is another place the rule can drift: one gets fixed after a failure, the other 14 don't, and now the model has several versions of the truth. Give each rule a single canonical home and a clear owner who updates it when something changes.
-
4. Load specialist knowledge only when the work needs it.
Six editorial guides were loading every time one writing skill ran. Research quality suffers when the model is also chewing on YouTube examples it doesn't need yet. Keep the library — it can be large — but change when each part appears: research context during research, script examples during scripting.
-
5. Hard requirements need hard checks.
Testable, yes/no rules (a word count, valid JSON) belong in a schema the model is checked against, not in prose reminders it may or may not honor. Let the system enforce the machine-verifiable parts — that makes the harness both lighter and safer.
-
6. Build for the model and the product doing the work.
Fable 5 in Claude.ai isn't the same as Fable 5 in Claude Code or via the API; GPT-5.6 in ChatGPT Work isn't the same as in Codex or the API. The product determines how skills load, which tools exist, and what proof comes back. Your core rules — what facts the model needs, what it's allowed to do, what must be true before the work is done, what the eval is — stay constant across both.
How Fable 5 and GPT-5.6 Fail Differently
Why it happens: narrating the entire method up front — before Fable has even seen the job — overloads it. Fable's characteristic failure is sorting through too much context and struggling to hit hard delivery constraints, even though it follows rules well.
Fix: give it the real outcome, the context it can't infer, and room to inspect and plan its own approach; bring in the specialist depth only when the work reaches that phase.
Why it happens: the audit showed 27,000 characters of skill descriptions against Codex's ~8,000-character discovery budget — so Codex can't read them all. Its failure shows up earlier than Fable's, while it's still trying to route across a huge harness layer.
Fix: make the route to each skill easy to find, then load depth at the right point; keep schemas, tool restrictions, file checks, and a run receipt consistent from skill to skill so Codex behaves the same way every time.
Gotchas & Caveats
- Short prompts don't automatically win. Depth helped the model notice more — the problem was loading all of it up front, not the depth itself.
- Model defaults can change under you. ChatGPT or Claude may retire an older model, route a hard request somewhere new, or even switch models mid-conversation — while your old harness stays in place and behavior quietly gets worse.
- Old corrections keep over-applying. A "always show me the step-by-step" note you added months ago may still be shaping answers from a newer model that no longer needs it.
- In his setup, only 6 of 66 root skills had a detected local eval — hard checks were missing on the other 60.
- Anthropic notes Fable 5 hands a small slice of sensitive requests to the smaller Opus 4.8 model — a reminder that "the model" you're running isn't always fixed either.
Key Takeaways
- Your harness is a system, not a pile of text — map it before you touch it, and treat permissions, schemas, and task checks as real locks.
- When output degrades, ask "did the model fail, or did the setup fail?" before adding another rule.
- De-duplicate rules to one home, load specialist context just-in-time, and turn testable requirements into schemas.
- Tune for the specific product surface (Claude.ai vs Claude Code vs API; ChatGPT Work vs Codex vs API) — the same model behaves differently in each.





