Skip to content

devlog/model-bench/fable-51-in-your-terminal-for-long-form-docs-1083.md

Fable 5.1 in Your Terminal for Long-Form Docs

Long prompts that bury the document brief

The most common failure with Claude Fable 5.1 happens before the document exists, inside a prompt that buries the actual brief. I keep a terminal pane open beside my editor and paste a request that mixes audience notes, an outline, a style preference, a block of raw logs, and a half-remembered constraint from a meeting. The model answers politely and writes fluent prose that satisfies almost none of it completely, because it cannot tell which sentence is the deliverable and which sentence is background noise.

Lead with the artifact you want, in one sentence: a getting-started guide for backend engineers, eight hundred to one thousand words, with runnable curl examples. Then list hard requirements as short standalone sentences, and paste reference material last. Ordering matters more than raw length here, because a strong opening instruction anchors everything that follows in a very long prompt.

  • State the target reader and their existing knowledge in one explicit sentence.
  • Declare the approximate length and the number of sections before asking for prose.
  • Mark pasted logs, source files, and meeting notes as background rather than instructions.
  • Keep tone rules short, because stacked style notes conflict with each other easily.

Voice drift when you regenerate individual sections

Long documents are rarely written in a single pass. You generate the outline, regenerate section three after a review, rewrite the introduction on Friday, and the document slowly splits into three different voices. Each regeneration sees only the fragment you pasted, so the model reinvents its idea of tone instead of borrowing yours. Pin the voice with two paragraphs of your own finished prose, and always send the surrounding headings along with the fragment you want rewritten.

Script that assembly instead of typing it by hand. I keep a small wrapper that builds one request from the system note, the style sample, the outline, and the target section, then posts it to a single base URL, https://api.fluxorelay.com, with one key, and prints the result into the editor buffer. Fluxo relays Claude, GPT, Gemini, DeepSeek, Kimi, GLM, Qwen, Grok and more through that endpoint and works with Claude Code, Codex, Gemini CLI and any OpenAI SDK, so the wrapper keeps working when I switch models mid-project. Billing is per real token including cache reads and writes, with no monthly fee, which makes an expensive-looking regeneration loop perfectly affordable.

  • Send a two-paragraph sample of your own prose with every rewrite request.
  • Include the neighboring headings so each section keeps its place in the document.
  • Regenerate the smallest useful unit instead of rewriting whole chapters repeatedly.

Chunked pasting that loses the document outline

Pasting a six-thousand-word draft into the chat in chunks quietly corrupts long-form work. The model still writes well at paragraph level, but headings stop numbering correctly, earlier constraints fade, and section four repeats what section two already covered. The fix is to resend the outline with every chunk and to say exactly which part of the document you are currently filling in.

I build long documents downward from the outline rather than upward from loose paragraphs. First generate the full section plan with titles and one-line scope notes, save it as plain text, and paste that plan at the top of every follow-up request. When a section grows too large, split it into subsections inside the plan instead of asking for one enormous write-up that will lose focus halfway through.

  • Resend the saved outline at the top of every chunked request you make.
  • Number sections yourself in the plan so the model cannot renumber them by accident.
  • Ask for scope notes per section before asking for the prose itself.

Code samples that drift away from the real API

Model-written code samples drift away from the real API faster than prose does. Fable 5.1 will happily invent plausible flags, wrong response fields, or a deprecated parameter name, and a long technical document gives those errors many places to hide. The reliable pattern is to treat code as quoted evidence: paste the snippet that actually runs, ask for a prose explanation around it, and verify every command line yourself before it ships.

I also split the writing load. Narrative sections and architectural explanations go to Claude Fable 5.1, while short changelog blurbs and API summaries get drafted on Claude Haiku 4.5 and then checked against the same pasted samples. Whatever model is drafting, the request includes the exact snippet, the runtime version, and one sentence stating that no new API surface may be introduced. That single sentence catches most hallucinated examples before they reach the page.

  • Paste the exact snippet you tested instead of describing the API from memory.
  • Run every command in a shell before it becomes part of the documentation.
  • Forbid the model from inventing parameters, flags, or response fields in any request.

Prose that slips into marketing language

Technical docs fail when they sound like a product page. Words like powerful, seamless, and blazing fast appear because the model optimizes for a positive tone rather than engineering accuracy. Ask instead for claims with a mechanism behind them: what the call does, when it fails, what it costs in latency or tokens, and which trade-off the reader is accepting.

Give Fable 5.1 a short banned-word list and a rule that every superlative must be replaced with a measurable statement. Ask for the trade-offs paragraph early rather than at the end, because summarizing the section against your own constraints is the strongest way to keep the voice honest. When a paragraph still reads like marketing, replace the abstract claim with a concrete number, an example, or a failure mode.

  • Replace every superlative with a measurable claim that a reader could verify.
  • State the latency, token cost, or operational trade-off behind each feature.
  • Write failure modes early so the document stays useful during real incidents.

Revision loops that burn tokens without improving prose

Revision loops are where token budgets disappear. Asking for a tighter version of eight hundred words at a time gives you a fresh draft and a fresh set of regressions, so you pay twice and review twice. Prefer targeted edits: send the paragraph that is weak, state the single defect, and ask for one replacement paragraph plus a one-line reason. Feedback should name the problem, not the solution, and it should be specific enough that any model can act on it.

The same discipline applies to the relay layer. Because Fluxo bills per real token including cache reads and writes and has no monthly fee, keeping prompts cache-friendly by reusing stable prefixes pays off immediately instead of waiting for a billing cycle. One key and one base URL cover the models I use, and teammates I invite who end up paying generate a referral share for me. If a question comes up while you wire this into your tooling, leave a note on the contact page after signing in. If you want to run these long-form passes yourself, create a Fluxo account and point your existing setup at the single endpoint.

Next in the buffer