Rhetorical questions in writing
By Jack Stovell · published 2026-09-24
Question marks in body is a yes-or-no attribute in a ScriptGrain voice profile: whether questions appear inside body copy at all, not how many. The profile stores the extraction model's reading; code checks a draft for any question mark when it is scored. In ScriptGrain's reference corpus, 86% of 299 public pieces contain at least one.
Analyse your question marks in body free
Your free voice profile measures question marks in body among all 45 attributes, from a sample of your own writing. No card needed.
Try the six-signal check first
At a glance
- API field: question_mark_in_body
- How it is measured: Measured in code
- Group: Punctuation and format (ScriptGrain voice profile, 45 attributes in 8 groups)
- Scale: yes or no (ScriptGrain attribute definitions)
- Voice match: Scored, weight 1 (ScriptGrain voice-match engine (published method))
What question marks in the body measures
This attribute measures a simple presence, not a frequency. The app's own definition is "whether questions appear inside body copy", and it's stored as a boolean: yes or no, nothing in between. When code checks a draft, quoted questions count too: someone else asking "what's the point?" inside a quote still sets it to yes. The free habits report shows the same check as "Questions in the body".
It sits in the punctuation and format group, alongside things like comma density, exclamation rate, and ellipsis usage. A voice profile gets this value from your writing samples using Claude Sonnet 5, in two passes. Pass one reads each sample on its own; pass two synthesises everything into one profile with a confidence score. The stored yes or no is that model's reading of what you did on the page, not a rule about "good writing".
How question marks in the body is scored
Yes, this attribute affects your voice match score, and the maths behind it is plain. It carries a weight of 1 in the scoring model, and it's counted straight from your draft using code (specifically the measureTextFeatures function), not judged by a language model's impression. If your draft's answer matches your profile's stored answer, that comparison scores 1. If they don't match, meaning your profile says "yes, I use questions" but your draft has none (or the reverse), it scores 0.2.
That's a binary match with a soft penalty for the miss, not a cliff-edge. For the fuller picture of how features like this combine into an overall score (0 to 1, with bands from Low to Excellent), the voice measurement framework covers the method, and the voice match glossary entry defines the term itself.
How to analyse question marks in the body in your own writing
You don't need software to check this one; it's the kind of thing you can do by hand in a few minutes. Here's a method:
- Pull three or four pieces you've written that feel representative of your normal voice.
- Scan each one for question marks, including any inside quoted speech.
- Note whether each question is genuinely rhetorical (asked and left hanging) or answered immediately after (the "question, then answer" pattern).
- Count how many of your pieces contain at least one question mark versus how many contain none.
- If most of your pieces ask at least one question, your answer is yes; if they never do, it's no.
That manual check gets you the yes-or-no answer. ScriptGrain's free voice profile reads it from a writing sample among all 45 attributes.
Typical question marks in the body in published writing
Most published writing does use at least one question somewhere in the body, and the corpus confirms it plainly. In ScriptGrain's reference corpus, 86% of pieces contain at least one question mark in the body. The corpus is 299 public pieces from 47 sources (835,655 words), built 2026-09-20, each measured in code and then discarded: real published writing, not a style guide's idea of what "should" happen.
So the baseline isn't neutral: most published pieces ask at least one question somewhere. The attribute doesn't tell you why, or how often, or whether it's rhetorical versus genuine. It just flags the presence. For the wider punctuation and format picture across the corpus, the punctuation and format reference page has more context, and the full attributes list shows where this sits among the other 44.
How to make AI ask questions the way you do
Getting an AI assistant to match your actual question habits, rather than a generic default, takes deliberate steering:
- Allow questions to the reader mid-piece, but only where your own samples actually ask them, not everywhere.
- Use a question to open a section if that's genuinely something you do, rather than treating it as a universal opening trick.
- Answer any question you raise in plain statements. Skip the "the answer?" template entirely; it reads as filler, not voice.
When a ScriptGrain profile generates text, this attribute is sent inside the voice profile JSON block of the system prompt, under "Treat every attribute as a hard constraint, not a suggestion." That's how the model knows whether questions belong in your voice at all. The same profile reaches ChatGPT, Claude and other tools through the API and MCP server.
How to make AI stop asking rhetorical questions
If your writing samples don't use rhetorical questions, the fix is to ban the pattern outright, not soften it:
- Turn rhetorical questions into plain statements. For example, "Isn't that the real problem?" becomes "That's the real problem."
- Explicitly ban the question-then-answer template in your instructions to the model. ScriptGrain's AI-tell list catalogues it as "Rhetorical question, then the answer", though its scanner does not detect it.
- Keep questions only for genuine asks, the kind where you actually want a reply, such as inviting a reader to write back.
In a ScriptGrain draft the mechanism works in reverse: a profile that reads "no" sends that value as a hard constraint in the system prompt. The attribute records presence only, so it cannot tell a rhetorical question from a genuine one; the steps above do that work.
Questions
Should you use questions in blog posts?
Only if they're genuinely part of how you write, not because a style guide says engagement improves. The corpus shows 86% of published pieces contain at least one question, so it's common, but common isn't the same as universal. If your own samples never ask questions, forcing them in creates a mismatch a voice match score will catch: same answer scores 1, different answer scores 0.2.
How is question use scored in a voice profile?
It's scored as a boolean match with weight 1. Code checks whether your draft contains a question mark and compares that yes/no answer against your stored profile value. Matching answers score 1; a mismatch scores 0.2, not zero, so it's a soft penalty rather than a hard fail. It's one of 28 attributes (of 45 total) that can move a voice match score.
How do I check question mark use in my own writing?
Read through a handful of your own pieces and note every question mark, including ones inside quotes. Work out what proportion of pieces contain at least one. That percentage is your personal baseline, and you can compare it loosely against the reference corpus figure of 86% to see whether you're a heavier or lighter user of questions than typical published writing.
How do I make AI stop asking rhetorical questions?
Ban the question-then-answer template directly in your instructions, and convert existing rhetorical questions into statements. Keep questions only where you're inviting an actual response, not asking one purely for rhythm. A ScriptGrain profile sends its stored yes or no as a hard constraint in the system prompt, but it records presence only, so state the ban on the template as well.
Is there a question marks in writing checker?
Yes: ScriptGrain's free habits report checks a text for question marks in code and shows the result as "Questions in the body", and the free voice profile reads the habit among all 45 attributes. The manual method works fine by hand: scan your samples, tally the presence of question marks, and compare against the 86% corpus baseline. The profile's value comes from the same two-pass extraction as everything else.
Related
- Punctuation and format attributes
- Comma density
- Exclamation rate
- Ellipsis usage
- Punctuation and formatting as a fingerprint: dashes, commas, list habits
- micro-habits