DEV Community

Yvoo
Yvoo

Posted on

How to Make AI Summaries Stop Dropping the Important Parts: A Copy-Paste Prompt (Tested)

An AI summary fails quietly. It doesn't invent anything, it reads well, every bullet is true — and the one line you needed is simply not there. The exception to the rule. The deadline. The "never do X". Nothing in a clean eight-bullet summary tells you what got cut, so you walk away confident about a document you've only partly read.

That's a different problem from hallucination, and it needs a different fix. You can't fact-check an omission; there's nothing on the page to check. What you can do is make the model show its work: list everything the document contains first, summarize second, then account for every item it left out. Below is that prompt, a side-by-side test against a plain "summarize this", and where it still needs you.

Why do AI summaries drop the important parts?

Because "summarize" asks for compression, and compression keeps what's typical of a document, not what's load-bearing in it. The main rules survive. The exceptions to those rules — usually one sentence each, often buried under a heading that sounds minor — are exactly what compression treats as detail.

Three kinds of content go first, and they happen to be the ones that hurt:

  • Exceptions — "do X, except when Y." The summary keeps "do X".
  • Hard constraints — numbers, limits, deadlines, "must" and "must not".
  • Small sections — a heading with three lines under it loses to a heading with thirty, whatever the three lines say.

The copy-paste summary prompt with a coverage check

Summarize the document below in two passes.
Pass 1 — Map: list every section or distinct topic, in order, one line each.
Pass 2 — Summary: write the summary (max [N] bullets). Every bullet must name
the section it comes from.
Then, Coverage check: list each Pass-1 item that is NOT in the summary, and
for each say in one line whether a reader could get hurt by not knowing it
(yes/no + why).
Numbers, deadlines, exceptions and "must/must not" rules are never dropped
silently: include them or list them under Coverage check.
Document: [PASTE]
Enter fullscreen mode Exit fullscreen mode

The map comes first on purpose. Once the model has written down every section, it can't pretend the small ones don't exist — and the coverage check forces a verdict on each one it skipped. The omission becomes visible, which is the whole point.

What happens on a real document?

I used PEP 8, Python's style guide: long, public domain, full of rules and exceptions to those rules, and easy to check. Two fresh runs (Claude Sonnet, same 8-bullet limit):

  • Run A: only the instruction "Summarize this document in at most 8 bullet points."
  • Run B: the prompt above, with N = 8.

Run A was a good summary. Indentation, line length, blank lines, imports, naming, docstrings, comparisons to None, annotations — all correct, all genuinely useful. If you'd never read PEP 8, you'd think you had.

Here's what it didn't mention, checked against the source:

  • The section on when to ignore the guide. PEP 8 opens by saying consistency within a project matters more than consistency with PEP 8, lists reasons to break its own rules, and says in so many words: do not break backwards compatibility just to comply with this PEP. Run A kept every rule and dropped the permission to deviate — which makes it read stricter than the document is.
  • The team exception to line length. Run A gave the 79-character limit. The source adds that a team can agree to go up to 99, as long as comments and docstrings still wrap at 72.
  • The one mandatory trailing comma. Trailing commas are optional except for a one-element tuple. That's a real bug in waiting: without the comma you don't get a tuple.
  • Where module dunders like __all__ go, including the rule that from __future__ imports come before them.

Run B caught all four. The permission-to-deviate section became its first bullet, backwards-compatibility warning included. The 99-character team limit made it into the line-length bullet. And the coverage check listed the sections it still left out, each with a verdict:

  • When to Use Trailing Commas — yes, a reader could get hurt: the one-element tuple case "silently produces a plain string instead of a tuple — a classic hidden bug."
  • Module Level Dunder Names — yes: the from __future__ ordering rule, which the model noted can cause a real error rather than a style nit.
  • Source File Encoding, ASCII Compatibility — no: mostly binding on standard-library contributors.
  • References, Copyright — no.

Run B also listed a tail of exceptions it had compressed out of the summary: the two narrow cases where a bare except: is acceptable, the warning against return inside finally, the note that name-mangled attributes are still reachable. Not all of that belongs in a summary. All of it is better listed than silently gone.

Same model, same document, same bullet budget. The difference is that Run B had to account for what it cut.

Where does this prompt stop?

Three limits showed up in the test:

  • It's longer. Run B's output was several times the length of Run A's. On a document you'll skim once, that's overhead. Use it when being wrong about the document costs you something.
  • The yes/no verdicts are judgment calls. "Could a reader get hurt?" depends on who the reader is. The model marked Source File Encoding as low-risk because it mostly binds standard-library contributors — right for most readers, wrong if you are one.
  • It only covers what the model actually read. Both runs read PEP 8 through a web-fetch tool, and the Run B agent reported that parts of the page came back paraphrased rather than verbatim. It also reported the map as complete — all 42 section headings present — but a map built from a paraphrase can still miss a line. For anything that matters, paste the source text in yourself.

How do you use the coverage check in practice?

  1. Read the "yes" items first. They're the ones the summary would have hidden from you. On PEP 8 that was two lines; on a contract or a policy it's usually the reason you're reading it.
  2. Spot-check one "no". Open the source at one skipped section and confirm the verdict. If it's wrong once, read the others yourself.
  3. Search the source for "except", "must", "never", "unless", and any number. Ten seconds, and it's the fastest independent check that the constraints made it through.
  4. Keep the map. Pass 1 is a table of contents you can come back to when a question comes up later — faster than rereading.

Written with AI assistance. Both summary runs were performed as described and reported faithfully; the claims about what PEP 8 says were checked against the live page at peps.python.org. PEP 8 is public domain — reproduce the test on it or on any document you know well.

This is part of the Verify AI Output series; related: how to stop ChatGPT and Claude from forgetting context in long conversations. I keep prompts like this one — summarization, fact verification, source compilation — in a Notion workspace I actually work from; if you want that library already set up, the AI-Augmented Notion Workspace is free, pay what you want.

If you run your AI work on a system, run the rest on one too. An ATS resume template in English and French, for Word and Google Docs: on Gumroad. A 2027 household budget sheet in French and an invoice and income tracker for micro-entrepreneurs, both on Etsy: YvooLab on Etsy.

Top comments (0)