My AI's Chat Replies Read Fine but Its Reports Were Stiff: A 3-Part Fix
Your AI explains things clearly in chat, then hands you a report that reads like a compliance form. I ran into this all day on November 15, 2026, so I asked the AI why. Its answer was blunt: in chat it was answering me, and in documents it was writing to pass a checklist.
Key Takeaways
- The AI named four causes itself. The rules shaped the sentences, and the brief was in a different language from the output. The reader was described as a crowd, and the polish step kept getting skipped.
- Changing only the sentence endings did not help. The document still had the skeleton of a form.
- Three things worked together. Write it as a chat reply first. Keep a list of words that never go in a document. Run a small script that flags those words each time a file is saved.
- The script flagged its own style guide on the first save: seven sentences in a row with the same ending.
- The script cannot tell whether a sentence sounds natural. It only catches what is on the list.
Why does an AI write well in chat and badly in a report?
An AI writes well in chat because it is answering one person, and badly in a report because it is assembling sentences to satisfy rules. That was the AI's own explanation when I asked, and my files backed it up.
I work in Korean with Claude Code, an AI assistant that reads and writes files on my computer. It is the same setup I described in my shared worklog post. That day it had written blog drafts, status notes and a decision log. The chat messages about that work were easy to read. The files were not. It told me four things had gone wrong.
| Cause | What it looked like in my files |
|---|---|
| The rules wrote the sentences | The brief said "mark anything unconfirmed". One draft then used the same "not confirmed" label 27 times, and sentence after sentence ended with the same "it was reported" tag. |
| The brief and the output were in different languages | The instructions to the AI writers were in English. The posts were in Korean. They read like translations. |
| The reader was a crowd | The brief said "general Korean readers". In chat there was one specific person: me. |
| The polish step was skipped | Each AI writer reported "polish pass not run" and moved on. So did I. |
Why didn't a friendlier tone fix it?
A friendlier tone did not fix the stiff documents, because the AI changed the sentence endings and kept the structure of a form. I asked it to rewrite the About page of Checknote, our Korean sister blog, "the way you'd say it to me". It came back with the same bold-label bullets, now ending in casual verbs.
The version that worked threw the structure away and started from how a person would actually say it. These are my English translations of the Korean lines.
| Version | Opening lines (translated from Korean, shortened) |
|---|---|
| Original | "Checknote is a fact-check blog that verifies information involving money, eligibility and deadlines directly against official sources and organizes it." |
| Endings changed only | "Ever been confused because every post says something different? Checknote is the blog for that. We check official sources directly and organize it for you." |
| Written as speech | "You search and every post says something different. How much the benefit is, when the deadline is, whether you even qualify. Checknote is the blog we made for those moments. We open the official notices and the law ourselves and write down only what we saw. If we couldn't find something, we say so." |
The third version drops the label "fact-check blog" and says what we do.
What goes on a banned-word list?
A banned-word list holds the words you and the AI use while working that a reader never would. Mine has 29 working terms, plus 5 phrases that are fine once and tiresome by the third time.
My list is Korean. These are the English equivalents I would start with. I have not put an English list through the checker, so they are a starting point and nothing more.
| Working word | Write this |
|---|---|
| canonical source, source of truth | the original, the file we go by |
| incorporated, ingested | added, moved in |
| gate, gating | check, what it has to pass |
| unverified, not confirmed | I don't know yet, I couldn't find it, nobody has announced it |
| deliverable, artifact | the file, what I made |
| iteration, this run | this time, this round of work |
| blocking issue, must-fix code | a problem to fix before publishing |
| traceable, untraceable | has a source, has no source |
Match whole words only. A bare "gate" also sits inside "investigate".
The list also has those five phrases. The checker counts each one and complains when it reaches its limit. It also complains when four or more sentences in a row end with the same Korean verb ending. An English version would need a different repetition test.
What did the checker catch when I first ran it?
The checker's first catch was the style guide I had just written for it: seven sentences in a row ending the same way, in the section that told writers not to do that.
The checker is a Python script of about 130 lines. Claude Code runs it each time the AI saves a text file into a folder other people read. If it finds something, the AI gets the list back straight away.
- The style guide came first. It had seven sentences in a row with the same ending, and it took a few edits to fix.
- An old decision log came next. One working term appeared 24 times and another 12. A different AI had written most of those lines over the previous weeks, so I left them and rewrote only that day's entries.
- Then came three false alarms. One banned word was hiding inside a longer everyday word, so I narrowed that rule. A normal phrase meaning "is scheduled" got flagged, so I took it off the list. The last was the correct name for something in housing applications. I kept that rule and live with the alarm.
After that tuning, the read-me for that folder, a status note and the rewritten About page all passed.
Where does this method fall short?
This method falls short on anything the list does not name, because the script matches words and cannot hear a sentence.
- It does not stop a file from being saved. It reports after the fact.
- The first rewritten About page, the one with only the endings changed, passed the checker. A person still found it stiff.
- It only sees files the AI saves through its normal write step. Files made by a script, or text edited in a browser, never reach it unless I run the checker on them myself.
- Only one AI tool runs it. The other assistants I use get the written guide.
I have set a date one month out to look at the false alarms. If it cries wolf more often than it helps, it goes.
What can you paste into your AI today?
You can try the order without any script: speech first, structure second, checks last. In my Korean session the version that worked came from changing the order, and the checker could not tell it from the stiff one. I have not tested this English wording.
Before you write this document: 1. The reader is [one specific person and what they need from this]. 2. First, explain the whole thing to that person as if you were replying in chat. No headings, no bullets. 3. Then turn that reply into the document. Add tables and sources. Keep the sentences. 4. Do not use these words in the document: [your working words]. 5. Last, check format and sources. If a rule makes a sentence stiff, fix the sentence. 6. Read it once as if aloud. Rewrite anything you would not say to the reader's face.
Start your list of working words with five you have typed to the AI this week. Mine began with the Korean words for "canonical", "incorporate" and "gate".
Frequently Asked Questions
Does this work in English, or only Korean?
I only ran it in Korean. The four causes the AI gave are not about Korean, and nothing in the paste-in steps depends on Korean. I have not tried this English wording, and the banned-word table is my untested English adaptation.
Do I need Claude Code to use the checker?
The automatic part uses a Claude Code feature called hooks, which runs a command after a file is written. Without it, you can still keep the word list and ask the AI to check its own draft against it, though I did not test how reliable that is.
Won't banning words make the writing vague?
It did the opposite for me. "Not confirmed" became "nobody has announced it yet" or "I could not find the notice", which says more about what was actually checked.
Should formal reports be written as speech too?
I kept one exception. Our formal proposals follow a fixed house style, so I did not touch them. The speech-first order applies to posts, notes and anything a reader meets without a style manual.
Tested November 15, 2026, in Claude Code, working in Korean. This post was drafted with the help of AI writing tools, based on my own notes from that session.
JH-A, Charrette AI Room editor (About, Editorial Policy)
Comments
Post a Comment