Tip: markdown headings (#, ##) improve
accuracy, because they tell the tool where your sections really
begin.
How scoring works
An AI support agent does not read your article the way a person does. Before the agent sees your writing, software splits the article into pieces and stores each piece on its own. The split is driven by your headings, though not necessarily by every one of them: the vendor whose algorithm is drawn onto your article further down picks a single heading level and cuts only there, so one piece can hold several of your sections. (Engineers call these pieces chunks. This page says section for what you wrote and piece for what gets delivered.) When someone asks the agent a question, that software fetches the few pieces that best match the question, and the agent answers from those alone, without the title, the intro, or whatever came before.
The usual way to test for this is by hand: pull a paragraph out of the article, read it cold with no context around it, rewrite it if it cannot stand on its own, then repeat for every paragraph. This tool runs that test for you, using fixed rules that explain themselves. The same article always gets the same score. No AI model is involved in the scoring, and nothing you paste leaves your browser.
The score
Each of the five checks starts at 100 points. Every major finding costs 25 points and every minor finding costs 10. Info findings cost nothing, because they are worth knowing without being worth punishing. Only the first three findings from any one rule count against the score. Anything past that is still listed, tagged "not double-counted, same habit", because ten instances of one habit is one lesson rather than ten. A check never drops below 0.
The report shows the weakest check next to the overall number, every time, not only when it is bad. An average hides exactly the thing you need to see: one collapsed dimension.
The overall score is a weighted average of the five checks:
| Check | Weight |
|---|---|
| Self-contained sections | 25% |
| Answer first (BLUF) | 20% |
| Unresolved references | 20% |
| One idea per section | 15% |
| Structure signals | 20% |
85 and up: agent-ready. 60 to 84: needs edits before your agent can rely on it. Below 60: an agent will struggle to answer from this. The same bands apply to each individual check, as pass, needs work, or fail.
The floor: no single check may fail
Nothing is agent-ready with any check below 60, whatever the average says. That rule exists because the weighted average, on its own, gets this wrong. Run the arithmetic on the 15% check with the other four perfect: drive it to 25 and the total is 88.75, drive it all the way to 0 and the total is exactly 85.0. Both used to certify. The same collapse on the 25% check gives 81.25, which fails. So whether a completely failed check sank the article depended on nothing but which check it happened to be, which is not a rubric, it is an accident of the weights.
The floor is 60 rather than some new number because 60 is already the line this page draws between "needs work" and "fail" on every check. The score now obeys a sentence this page was already printing: a failing check is a failing check, whatever the total says. When the floor is what stopped an article, the report says so in words, and the overall number is still shown unchanged. The number is never quietly adjusted; only the verdict it can buy.
Check 1: Self-contained sections (25%)
Agents retrieve individual sections, not whole articles. A section that only makes sense after reading what came before it will be retrieved alone, and misread alone. The principle is chunk self-containment: every section has to work by itself.
- Orphan opener (major, costs 25). The section's first sentence starts with a bare pronoun ("It", "This", "They") or a connective ("However", "Therefore", "Additionally"). Retrieved alone, the section opens mid-thought. The agent has no idea what "this" refers to, and a connective promises a contrast with text the agent never saw.
- Cross-section pointer (major, costs 25). Phrases like "as mentioned above", "see below", or "in the previous section". The agent sees one section at a time, so "above" does not exist for it.
- Generic heading (minor, costs 10). Headings like "Overview", "Notes", "More information", or a bare "Step 3". The heading travels with its section as the label retrieval matches against, and a generic label matches nothing in particular.
- Orphan acronym (minor, costs 10). An acronym is spelled out once, as in "Multi-Factor Authentication (MFA)", then used bare in a different section. The section holding the expansion may not be retrieved alongside the one using the acronym.
Check 2: Answer first, or BLUF (20%)
Agents, and the software that picks which sections to retrieve, weigh the start of a section heavily. Burying the answer under context makes a section both harder to find and harder to answer from. The principle is bottom line up front.
- Preamble opener (major, costs 25). Throat-clearing first sentences such as "In this article", "Before you begin", or "It is important to note". The first sentence is the most valuable one you have, so spend it on the answer rather than on announcing the article.
- Buried steps (minor, costs 10). Three or more sentences of prose before the section's steps. An agent asked "how do I" should reach the steps immediately.
- Slow start (minor, costs 10). A first paragraph over 60 words that neither gives an instruction nor restates the topic named in the heading. If the opening does not restate the topic, retrieval has weaker evidence that this section answers the question.
- Past the chat cutoff (minor, costs 10). The piece opens with more than 500 characters of prose, or its steps begin after that point. Moveworks documents what a person actually sees of a retrieved piece in chat: "The maximum number of characters that can be shown in a snippet is 500 characters", and "Snippets end at the first space after 500 characters, this is done so that the last word in a snippet is not cut off." An answer below that line is retrieved, is correct, and is never read. The same page says the article title does not count toward the 500, so this check does not count it either. That is one vendor's display limit, not a universal one.
Check 3: Unresolved references (20%)
Pronouns and pointers that rely on distant context break when text is split into sections. The agent cannot work out what they refer to, and may answer about the wrong thing. The principle is entity resolution: every "it" needs its noun nearby.
- Dangling pointer (major, costs 25). "The following", "the above", or "the previous", with no list or table in the same section to point at. A "the following" sentence that introduces the list right underneath is fine, because the target travels with the section.
- Bare demonstrative (minor, costs 10). A paragraph that opens "This causes" or "Those require". Any paragraph may be quoted alone in an answer, and an opener like "This" forces the agent to guess what it means. "This setting controls" is fine, because the noun is right there.
- Ambiguous "it" (minor, costs 10). A paragraph that opens "It takes" or "It fails". Formal patterns such as "It is recommended" are not flagged.
- Relative time (info, costs nothing). "Currently", "recently", "soon", "the latest release". Agents cannot tell when the article was written, so "currently" goes wrong silently. No points are deducted, but a date or a version number is worth more.
Check 4: One idea per section (15%)
Retrieval matches a question to a section. A section covering three ideas matches all three questions weakly instead of matching one strongly. The principle is one idea per chunk.
- Section too long (minor, costs 10, over 300 words). A section past about 300 words is usually carrying more than one idea, and each extra idea weakens its match to any one question. This is a rule of thumb about meaning, and that is all it claims.
- Piece too long (major, costs 25). The delivered piece is over roughly 512 tokens. This is the one rule that scores the piece rather than the section, because a long, perfectly self-contained section is exactly the one that gets split again, which destroys the very property the rest of this page rewards. The limit is Moveworks': its structure-aware chunking publishes a hard maximum of 512 tokens per chunk, with a target size of 256. The target is not used as a threshold, because an ordinary 200-word section already sits above it, and flagging that would be punishing writing that is doing nothing wrong. Token counts here are an estimate at four characters per token, not a tokenizer, and the report says so wherever a number appears. One difference from the rule above it is deliberate: code blocks do not count toward a section's word count, because they are not prose, but they do count toward a piece's token count, because the software doing the splitting has to carry them either way.
- Topic shift (minor, costs 10). Two or more paragraphs in one section starting with "Additionally", "You can also", or "Alternatively". Each extra idea dilutes the section's match to any one question.
- No headings (major, costs 25). A document over 200 words with no headings at all. Without headings, the splitting is done by length instead of by you.
Check 5: Structure signals (20%)
Headings, lists and tables are structure an agent can read reliably. Walls of prose are not. The principle is structure parseability: make the shape of the article visible.
- Low heading density (minor, costs 10). More than 400 words per heading on average. Fewer headings means bigger retrieval units and vaguer matches.
- Heading jump (info, costs nothing). A heading level that skips down more than one step, such as # straight to ###. Skipped levels scramble the section tree that some software relies on.
- Comparison in prose (minor, costs 10). Two or more "whereas", "compared to" or "in contrast" sentences with no table in the section. Agents answer comparison questions far more reliably from a table.
- Sequence in prose (minor, costs 10). "First, then, next, finally" packed into one paragraph with no numbered list in the section. Steps hidden in a paragraph get paraphrased and reordered. A numbered list gets quoted.
- Wall of text (minor, costs 10). Any single paragraph over 120 words. Long paragraphs get split blindly, mid-thought.
- Answer only in a table (minor, costs 10). A section whose content is a table with under 20 words of prose around it. Moveworks states that "The bot is currently unable to surface content from tables in-chat", so an answer living only in a table can be retrieved and still not shown. It is a minor, and the fix is additive: keep the table, and also write the takeaway in a sentence. Anything stronger would contradict "comparison in prose" three rules up, which asks you to build the table in the first place. Note the word "currently": this is one vendor's present limitation, not a fact about agents.
- Image with no alt text (minor, costs 10; major, costs 25 when the image is nearly all the section has). Moveworks: "Do not use images to provide text. Moveworks cannot read text that's embedded in your images (no OCR)." A screenshot with no alt text is simply not there as far as an agent is concerned. When you paste from a rendered page, images are kept as text so this check can see them; nothing is ever fetched, and the page's content security policy would refuse it anyway.
- Nested list (minor, costs 10). List items indented under other list items. Moveworks asks writers to "avoid creating nested lists, or lists within lists", because "The nested list will be flattened and the list items will all appear on the same level." Flattening is worse than losing the formatting: a sub-step that applied to one case is promoted into a step that applies to everybody.
- Hyperlink in a heading (minor, costs 10). Moveworks: "Do not insert hyperlinks into headings". The heading is the label the piece is retrieved by, and part of it is now anchor text pointing somewhere else.
Where Moveworks would cut this
Everything above scores the sections you wrote. The report also shows where your article would actually be cut, which is not the same thing, and it is drawn straight onto your text.
Moveworks publishes its splitting rule, so it can be computed from your own headings. "For each article, one level of header is used to divide an article into sections, these sections then make up a snippet." Which level? "We look for the largest header style that has at least 2 instances, so if H1 is present but only once, and H2 occurs 3 times, then snippetization will occur on H2." The search stops there: "This does not consider headers below H2 once the condition is met", which means an article whose only headings are H3s is never divided at all, and arrives in one piece. FAQ articles are the exception, where "we look for the largest header which occurs more than 4 times and the majority of instances end in a question mark (?)".
The consequence is worth seeing once. If your article has a single H1 and several H2s, the cuts land on the H2s. Add one more H1 and every boundary in the document moves, splitting your article somewhere else entirely, and nothing anywhere would tell you. The report says so when your article is in that state.
This is one vendor's published algorithm, not an industry standard. It is here because Moveworks documents it fully enough to compute and most vendors do not. Another product will cut your article somewhere else. Every quotation above comes from Writing AI-ready KB Articles for Moveworks, checked at that page on 13 August 2026.
Strengths
The report also points out what is already agent-ready. There are no points for it, just recognition: headings written as questions or tasks ("How do I reset my token", "Reset your token"), tables for comparisons, and numbered steps. If your article shows strengths, keep writing like that.
Honest limitations
Every rule here is a fixed rule of thumb, tuned for English-language KB writing, with no machine learning and no calls to any service. Rules of thumb have edge cases. When a finding is wrong for your article you can see exactly why it fired, judge it yourself, and ignore it with a clear conscience. A score that cannot explain itself is a toy, and every point lost on this page can explain itself.
One consequence of the weighting is worth knowing. The three checks about meaning, which are self-containment, answer first and references, carry 65% of the score, and pure structure carries 35%. An article whose only problem is structural can still land in the 80s on the composite. What it can no longer do is get called agent-ready: the floor stops any article with a failing check, and the weakest check is printed beside the total either way. Read the five check scores rather than the headline number.
Where a number comes from a vendor, this page says which vendor. The 512-token maximum, the 500-character chat cutoff, the table and image and list rules, and the map of where your article gets cut are all Moveworks', taken from its own documentation and quoted above. They are documented behavior of one product, which is more than a guess and less than a standard. The thresholds that are mine, such as 300 words for a section or 120 for a paragraph, are rules of thumb, and they are labeled as such.