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 clea
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]
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 thatfrom __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?
- 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.
- Spot-check one "no". Open the source at one skipped section and confirm the verdict. If it's wrong once, read the others yourself.
- 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.
- 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.
Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.