Back to blog
ChatGPT16 min read

10 Bad Prompts, Fixed (Before and After)

Ten bad prompt examples that look reasonable at a glance and fail for a specific reason, each with the fix and the one change that actually mattered.

NH
Nafiul Hasan
Founder, Prompt Architects

TL;DR: Most bad prompt examples online are strawmen nobody would actually type. These ten aren't. Each one reads like a completely normal request until you notice the one specific thing missing, an audience, a format, a definition of done, context only you have. Below: the before, why it actually fails, the after, and the one change that did the work.

Why Do the Worst Prompts Look Fine at a Glance?

Because the failure isn't in the words that are there, it's in the one thing that isn't. A prompt missing an audience, a format, or a sentence of context reads like a fine prompt to whoever wrote it, since they already have the missing piece in their head. The model doesn't. It answers the sentence in front of it, not the one you meant to write, and the gap stays invisible until the output arrives already built on the wrong assumption.

That's the idea behind every example below: ten failures, each a different mechanism, so you leave with a vocabulary instead of one lesson repeated ten times. No named audience. No named format. A compound ask bundling three jobs into one pass. A goal with no way to check if it was met. Context the writer knows and never states. Politeness burying the actual instruction. "Better" standing in for a real definition. No permission to admit uncertainty. An assumption the model can see something it can't. A format request so narrow it throws away real content. Each entry gets the before, the actual mechanism, the after, and one line naming the principle so it transfers past the specific example.

This is a worked-examples gallery, not a framework or a repair guide, and two close relatives exist already. To catch these before sending, the prompt hygiene checklist runs ten yes-or-no checks in sixty seconds. If a prompt already came back wrong, Prompt Not Working? A Diagnostic Flowchart matches symptom to cause. If the answer wasn't wrong so much as bad, and your instinct is to hit regenerate, what to do when the first answer is bad covers why that usually doesn't work. This page sits earlier than all three: what these failures actually look like typed out.

1. Why Does a Prompt With No Audience Read Like It's for Everyone?

Because "for everyone" is the model's actual default when nobody's named, and an answer aimed at everyone lands well for almost no one who actually reads it.

BEFORE:
Explain how our new expense report policy works.

A completely normal internal request, the kind someone types between two meetings without a second thought. It makes total sense to whoever wrote it, since they already know who's reading the answer. The model doesn't. That sentence could be for an employee submitting their first reimbursement, who needs plain steps; a manager approving reports, who needs the exceptions; or finance, who wants the accounting-code mapping. Absent a name, the model settles in the middle of all three and satisfies none of them well.

AFTER:
Explain how our new expense report policy works, for an employee
submitting their very first reimbursement request. Assume they've
never used the system before and don't know our internal approval
terminology.

Principle: A prompt has exactly one intended reader whether or not you name them. Leave the slot blank and the model fills it with an average reader who doesn't exist. Naming who reads the answer is the flip side of persona prompting, which covers the model's own voice; this is about the audience on the other end.

2. Why Did You Get Paragraphs When You Needed a Table?

Because an implied shape is optional and an implied one usually loses to whatever shape the model produces most often for a request like yours, which is prose.

BEFORE:
Compare these three payroll providers for a 15-person startup:
Gusto, Rippling, and Justworks.

Nothing wrong with the ask itself. But "compare" describes the content, not the container, and nothing signals that you pictured a table with specific columns rather than three paragraphs. You'll get something reasonable back, then spend five minutes re-reading it to pull out the facts you wanted side by side.

AFTER:
Compare Gusto, Rippling, and Justworks for a 15-person startup.
Output as a markdown table with exactly these columns: Provider |
Pricing structure | Full-service tax filing? | Benefits admin
included? | Best fit for. One row per provider, nothing else.

Principle: If you can picture the columns, name them, the model can't read the table forming in your head. How to Decide What Output Format You Actually Need covers picking the right shape when you're not sure what to ask for.

3. What Happens When You Ask for Three Things in One Prompt?

Attention and effort split across the bundle rather than landing fully on any single piece of it, so all three deliverables come back a little thinner than any one of them would have on its own.

BEFORE:
Here's the podcast transcript below. Write show notes, a 3-tweet
thread announcing the episode, and the email blurb for our
newsletter.

[PASTE TRANSCRIPT]

A completely realistic content-ops habit: three related outputs from one source, batched to save a round trip. The trouble is show notes, a tweet thread, and an email blurb want different lengths, voices, and levels of detail, and one pass holding all three tends to regress toward one mediocre version of each.

AFTER, step 1 (show notes only):
Write show notes for this podcast episode: a 3-4 sentence summary,
then a bulleted list of topics discussed with timestamps if the
transcript includes them. Nothing else.

[PASTE TRANSCRIPT]
AFTER, step 2 (chained from step 1's output):
Using the show notes above, write a 3-tweet thread announcing this
episode. Tweet 1 is the hook. Tweet 2 is the single most surprising
point from the notes. Tweet 3 is a one-line CTA plus [LINK].

Principle: Three deliverables in one prompt don't get three passes of attention, they split one pass three ways. Why Your ChatGPT Answers Are Bad covers this same mechanism as one of ten broader causes; this is what it looks like typed out and chained into a fix.

4. How Do You Know a Vague Goal Made the Output Impossible to Grade?

You know because you can't say, looking at what came back, whether it succeeded, and that's the tell: the prompt named a topic but never named a target it could hit or miss.

BEFORE:
Write a postmortem for last night's checkout-service outage.

Reasonable on its face. But a postmortem's job changes depending on who reads it, a blameless internal review for engineers, a document support can hand to a customer, or evidence for a compliance audit. "Write a postmortem" doesn't choose between those, so the model picks one, and you find out which only when someone downstream needed a different document.

AFTER:
Write a blameless postmortem for last night's checkout-service
outage, for two audiences: engineering and the customer support
team who'll use it to answer tickets. It succeeds if a support rep
can read only the "Customer impact" and "What we're doing about it"
sections and answer a customer's question without escalating.
Sections: timeline, root cause, customer impact, immediate fix,
prevention items with named owners.

Principle: "Write a postmortem" has no wrong answer to check itself against. Say what the finished document has to let a specific reader do, and you've given it something to fail or succeed at.

5. Why Doesn't the Model Know What You Already Know?

Because the numbers and context sitting in your head never made it into the prompt, and a model can reason well about a situation it's been given, but it can't reason about one it hasn't.

BEFORE:
Should we raise our prices?

A fair strategic question that produces confident, entirely generic pricing filler, because the inputs that would make the answer specific to your business, current price, tenure, churn, competitors, were never stated. The person asking has all of that in their head. None of it is in the prompt.

AFTER:
We charge $29/month, last raised prices 14 months ago. Monthly
churn is 4.2%. Our closest competitor charges $39/month with fewer
features. Should we raise our price, by how much, and how should we
message the change to existing customers who'd be grandfathered at
$29?

Principle: The model can reason well about your situation. It cannot know your situation, that part is entirely on you. If you'd rather have it surface exactly which numbers are missing instead of you guessing, getting ChatGPT to ask you questions first closes that gap upstream, before you've sent anything.

6. Does Politeness Ever Actually Hurt a Prompt?

Not the courtesy itself, a "please" costs nothing. What hurts is when the courtesy language is doing all the talking and the actual brief never gets written down at all.

BEFORE:
Hi! I know you're probably really busy, but if it's not too much
trouble, do you think you could maybe help me put together
something for a farewell message for a coworker? No worries at all
if you can't, just whenever you get a chance, thank you so much!

Read it again and notice what's missing: who's leaving, what tone, how long, any detail worth including. None of that is in there. It isn't really a "too polite" problem so much as a "so busy hedging the brief never got written" problem, the padding is the symptom, the missing instructions are the disease.

AFTER:
Draft a farewell email to the team for Priya, who's leaving after 4
years to start her own company. Warm, a little funny, under 150
words. Include one specific memory: the time she talked the team
out of a Friday deploy and turned out to be right.

Principle: Hedging language and a missing brief tend to travel together. Strip the hedges and check what's actually left, usually, not much.

7. Is "Make It Better" Ever a Real Instruction?

Not on its own. "Better" is a placeholder standing in for a dozen decisions you haven't made yet, better for which reader, weighted toward which metric, and the model has to guess your definition before it can optimize toward it.

BEFORE:
Can you make this resume bullet better?

"Responsible for managing social media accounts."

Ask this twice and you can get two different kinds of "better": punchier verbs one pass, quantified results the next, keyword density for an applicant-tracking system after that. None of those is wrong. The prompt never picked one, so the model picked for you.

AFTER:
Rewrite this resume bullet for a Senior Social Media Manager
application. Lead with an action verb, include one quantified
result (use a bracketed placeholder like [+18%] if I haven't given
you a real number), and work in these keywords naturally: content
strategy, campaign performance, cross-functional.

"Responsible for managing social media accounts."

Principle: "Better" is not a target, it's a placeholder for a target you haven't named yet. Name it, and the model has something concrete to aim at instead of a guess to make on your behalf.

8. Why Do Confident Wrong Answers Look Exactly Like Right Ones?

Because a question with no permission to say "I don't know" gives a specific-sounding guess and a genuinely current fact the exact same voice, and nothing in the output distinguishes them.

BEFORE:
What's the default runtime version AWS Lambda uses for a new
function if I don't specify one?

A reasonable, narrow question about a real product default. It's also exactly the shape of question a model has no good way to refuse: platform defaults change on a schedule outside its training data, and nothing here says admitting uncertainty is acceptable. A current version number and a stale one read identically confident.

AFTER:
What's the default runtime version AWS Lambda uses for a new
function if none is specified? If you're not certain this default
is still current, platform defaults change and your training data
has a cutoff, say so explicitly and tell me where to verify it,
rather than stating a version number you're inferring.

Principle: Permission to not know isn't a courtesy add-on, it's the only thing that makes an honest "I'm not sure" cheaper than a confident guess.

9. Can the Model See What You're Picturing?

No, and this is the single most common way people talk to a chat model like it's a colleague who already has access to their screen, their inbox, or last week's conversation. It doesn't, and it hasn't.

BEFORE:
Here's the error I'm seeing, can you tell me what's causing the
crash?

(Nothing is actually pasted below it, the writer has the log open in another window, or thinks it's already shared since they mentioned a similar bug three days ago.) Unless the text is sitting inside the current message, it doesn't exist to the model, not the screenshot on your other monitor, not the doc in the next tab, not last week's thread in the same account.

AFTER:
Here's the exact error log, pasted in full below. What's the most
likely cause of this crash, and what's the fastest way to confirm
it?

[PASTE FULL LOG TEXT HERE]

Principle: The chat window is the model's entire universe. If it isn't pasted inside it, it isn't there, no matter how obviously present it feels to you.

10. When Does a Format Request Erase the Content You Actually Needed?

When the container is sized for one idea and the source material genuinely contains several, forcing a fit either drops the extras silently or blurs everything into a sentence vague enough to describe none of them well.

BEFORE:
Summarize this bug report into a single sentence for the changelog:

[a report describing three separate regressions: the export button
is greyed out on Safari, CSV export drops the last row, and the
date column shows the wrong timezone for EU users]

A perfectly ordinary habit, most changelog entries genuinely are one line. This report bundles three unrelated regressions, and "a single sentence" forces a choice: quietly drop two, or smear all three into something so general it names none of them. Nothing signals that anything got left out, until a user reports one of the missing bugs as still open.

AFTER:
This bug report may describe more than one distinct regression.
First, list each one separately in one line. Then, for each, write
one changelog-ready sentence. Do not compress multiple regressions
into a single entry.

Principle: A container sized for one idea will quietly throw away the other two. Let the content set the container's size before you pick the format, not the other way around.

The Ten Failure Modes at a Glance

#Looks likeActually missingOne-line fix
1A normal internal questionA named audienceSay who reads the answer
2A normal comparison requestA named formatName the columns you want
3Batching related deliverablesTask separationOne output per prompt, chained
4A normal writing requestA definition of doneSay what success lets someone do
5A normal strategic questionYour own numbersState the specifics you already know
6An extra-polite requestThe actual briefCut the padding, keep the four facts
7A normal edit requestA quality definitionName what "better" means here
8A normal factual questionPermission to not knowAdd the explicit escape hatch
9A normal follow-upThe actual source textPaste it, don't reference it
10A normal format requestRoom for the real contentLet content set the container's size

None of these ten need a special tool, a paid tier, or a specific model, they're about what any model can and can't infer from the text in front of it. The closest thing to a shortcut is scanning your own prompt against this table before you send it, the same way the prompt hygiene checklist turns ten checks into a sixty-second habit.

A prompt can also stack more than one of these at once, burying a real instruction inside polite padding, skipping the audience, and never stating a success criterion, all in two sentences, and fixing the first problem you notice sometimes just uncovers the next one underneath it. If a rewrite still disappoints after an obvious fix, check whether a second failure mode from this list was hiding behind the first before you rewrite the whole thing from scratch.

If you like the before/after shape and want to apply it to persuasive writing rather than prompts themselves, the BAB framework structures a problem, an outcome, and a bridge the same way this page structures a failure, a mechanism, and a fix, a genuinely different use of the same idea. And if an answer comes back wrong after a clean prompt, Prompt Not Working? A Diagnostic Flowchart picks up from there.

None of the fixes above needed more than a sentence or two added, or in one case, several sentences removed. That's the pattern underneath all ten: a bad prompt is rarely short on effort. It's short on one specific thing the writer knew and forgot to say out loud.

Free Chrome Extension

Stop rewriting prompts. Start shipping.

Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 5.0★ on the Chrome Web Store.

Create An Account

Frequently asked questions

Free Chrome Extension

Stop rewriting prompts. Start shipping.

Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 5.0★ on the Chrome Web Store.

Create An Account