ai-writing-tells-check · git:20261025.7203ae2 · 2026-10-25 · sha256 077a25b9ca9b9055

ai-writing-tells-check git:20261025.7203ae2A

Immutable. This exact content never changes and is served at /api/v1/blob/077a25b9ca9b9055.

---
name: ai-writing-tells-check
description: "Finds the patterns that make slide text read as machine-written (filler openers, inflated verbs, groups of three, em dashes, hedge stacks, symmetrical sentences) and proposes a plain rewrite for each, slide by slide. Changes no figure, name, date or claim, and applies nothing until the user approves. Use when the user says a deck sounds like AI, sounds generic, needs a human voice, or asks for an AI-tells, slop or tone check."
---

# AI writing tells check

## Purpose

A deck drafted with AI help is usually factually fine and tonally obvious. The tells are
structural, not vocabulary: openers that clear the throat, triples that pad, hedges stacked two
deep, every sentence the same length. Readers notice before they can name it, and in a client or
board deck the cost is credibility.

This finds the tells and proposes plain replacements. It never touches a number.

## When to use

- The user says a deck sounds like AI, sounds generic, sounds corporate, needs a human voice,
  or asks for a slop, tone or AI-tells check.
- A deck was drafted with AI help and is going to a client, a board or a public audience.
- Run it **last**, after the content is settled. Rewriting prose that is about to be cut wastes
  the user's attention.
- Do not use to change meaning, shorten a deck or fix consistency. Those are `deck-trim-proposal`
  and `deck-consistency-sweep`.

## Inputs

1. The deck (required). If nothing is open or attached, ask for it.
2. Scope (optional): all slides, a range, titles only, or speaker notes too. Default: all slide
   text and titles, excluding speaker notes.
3. Voice (optional): a sample of the user's own writing, or a house style note. Default: plain,
   specific and direct.
4. Strictness (optional): `flag-all`, or `high-confidence` which reports only tells with a clear
   fix. Default: `high-confidence`.

## Procedure

1. Read every slide. Work slide by slide, keeping each slide's text together, because a tell is
   often only visible against its neighbours.
2. Check each tell in [references/tells.md](references/tells.md). That file is the list; do not
   invent additional tells from taste, and do not skip ones you find unfashionable.
3. For each hit, record: slide number, the exact span, which tell, and one proposed replacement.
4. **Carry every figure, name, date, product and claim through unchanged.** Copy them, never
   retype them. If a rewrite cannot keep a number in place, do not propose it.
5. If a sentence's only problem is that it is long, leave it. Length is not a tell; uniformity is.
6. Where a tell is load-bearing, say so and leave it. A triple that lists three real things is a
   list, not padding. An em dash inside a quotation stays, because it is someone else's words.
7. Rank by how visible each tell is to a reader who is not looking for it. Openers and inflated
   verbs top; rhythm last.
8. Draft the table (see Output) and **stop for approval**.
9. After approval, apply only the accepted rewrites, one slide at a time, leaving every other
   character untouched.
10. Report what you changed and what you left.

## Human approval checkpoint

Show the table of proposed rewrites with the tell named for each, plus the count by tell type and
anything you deliberately left. Ask: "Shall I apply all of these, a subset, or would you like to
edit the wording first?" Change nothing before explicit approval.

## Output

In the conversation:

| Slide | Tell | Current text | Proposed | Numbers touched |
|---|---|---|---|---|

Every row's last column must read "none". If a row says otherwise, the rewrite is wrong.

Plus: count by tell type, a list of tells deliberately left and why, and any slide where the text
reads as human already (say so; the absence of a finding is a finding).

After approval: the applied changes, slide by slide, and anything the user declined.

## Fallbacks and edge cases

- **A quotation:** never rewrite. Someone else's words, including their em dashes, stay.
- **A legal, regulatory or safety line:** never rewrite. Flag it and say it needs its owner.
- **A deck in another language:** apply the structural tells (openers, triples, hedge stacks,
  rhythm) and skip the English vocabulary list, saying you did.
- **Technical terms that look inflated:** "leverage" as a finance term is not a tell. Judge by the
  domain, not the word.
- **Nothing found:** say so plainly. A clean deck is a valid result and inventing three weak
  findings to look useful is the failure mode here.
- **The user's own voice sample contradicts a tell:** their voice wins. Say which tell you
  skipped and why.

## Rules

- Never change a number, name, date, product or claim. Copy them through.
- Never change meaning. A rewrite that says something different is a rejected rewrite.
- Never rewrite inside a quotation, or a legal, regulatory or safety line.
- Work from `references/tells.md`. Do not add tells from personal taste mid-run.
- Propose, do not apply. Nothing changes before approval.
- Report tells left in place as well as tells fixed.

## Self-check

- [ ] Every row's "Numbers touched" column reads "none".
- [ ] No quotation, legal or safety line was rewritten.
- [ ] Every proposed rewrite means the same as the original.
- [ ] Every tell named maps to an entry in `references/tells.md`.
- [ ] Load-bearing tells are listed as deliberately left.
- [ ] Nothing was applied before approval.