Most people's first instinct with AI is to type something like "write me a marketing email" and see what comes out. The output is usually fine. Technically correct, nothing obviously wrong — and totally generic. You rewrite most of it anyway.
The problem isn't the AI. It's that you gave it almost nothing to work with. A vague prompt produces a vague output. The fix isn't a new tool or a different model — it's understanding what a good prompt actually contains.
Bad prompts fail for three predictable reasons:
A reliable prompt has four parts. You don't always need all four — but knowing them helps you diagnose what's missing when the output misses the mark.
Tell the AI what perspective to take. "You are a senior product manager reviewing this feature brief." "You are a direct, skeptical editor." This shifts the entire framing of the response.
You don't always need this — but when the tone or expertise level of the output matters, it's the fastest lever you have.
What's the situation? Who are you? Who is the reader? What are you trying to accomplish? What has already been decided?
This is the part most people skip. It's also the part that does most of the work. The AI can't invent context you didn't give it — it can only guess, and guessing is how you get generic output.
Tell the AI what to return. Bullet points, a numbered list, a table, a short paragraph, a JSON object, a markdown file, a 50-word summary. If the format matters for how you'll use the output, say so explicitly.
Here's what this looks like in practice. Same goal, two different prompts.
The second prompt takes 30 seconds longer to write. The output takes 30 seconds to edit instead of 10 minutes.
If you're using Claude for a specific project — building an app, writing content for a company, analyzing a dataset — you'll be repeating the same context in every prompt. That gets tedious fast.
The solution is a CLAUDE.md file in your project folder. Claude reads it automatically at the start of every session. You write the context once; it's always there.
Rule of thumb: If you're pasting the same paragraph of context into every prompt, put it in CLAUDE.md instead. If you're writing a one-off prompt for a task you'll never repeat, include the context inline.
The first output is rarely the final output. Iteration is the skill — knowing how to redirect without starting over.
"Make it better" gives the AI almost no signal. "Make it shorter" or "the tone is too formal — make it sound like I'm talking to a colleague" gives it something to work with.
Copy this and fill in the blanks whenever you're starting a new task.
# Context I am [who you are]. I'm working on [what the project is]. The audience for this is [who they are and what they care about]. # Task [What you want done — specific action verb, not "help me with"] # Constraints - Tone: [direct / warm / formal / casual / etc.] - Length: [under 200 words / 3 paragraphs / a list of 5 / etc.] - Avoid: [jargon / clichés / specific phrases you don't like] - Don't make up: [statistics / quotes / names / etc.] # Format [Bullet list / numbered steps / a single paragraph / markdown / JSON / etc.]
One more thing: Claude will tell you if your prompt is unclear or if it needs more information to do the task well. If you get a response that asks clarifying questions — that's a good sign. Answer them. The next output will be substantially better.
At MakerSquare, we spend Day 1 building the mental model for how to talk to AI so it produces useful work, not generic output. It's the foundation everything else builds on.