Most prompts fail for the same reason: they’re too vague. Not because the person is bad at prompting. Because there’s no structure behind the request.
A thread in r/PromptEngineering just laid out the anatomy that separates outputs you keep from outputs you delete and try again.
The framework is simple: Role → Context → Constraint → Format → Tone. Not all five need to appear in every prompt. But the more you define, the less the model guesses. Think of each element as narrowing a search space. A fully open prompt hands the model an infinite possibility space and asks it to read your mind. Each element you add cuts that space in half.
Here’s when each pattern earns its place.
Pattern 1: Role + Negative Constraint + Output Format
Use when: You need scoped, clean output and keep getting bloat.
“You are a [expert role]. Write a [document type] for [audience]. Do NOT include [thing to avoid]. Format: [specific structure]. Under [word limit].”
The negative constraint is the unlock. It forces an active decision instead of the model defaulting to its training patterns. Pair it with an explicit format and the output tightens up every time.
In practice, the most useful negative constraints are the ones you keep trimming manually anyway: generic disclaimers, throat-clearing intros, bullet points when you wanted prose, jargon when you wanted plain language. Write those down once. Paste them into Pattern 1 and stop fixing the same problems over and over.
Pattern 2: Perspective Shift + Tension + Resolution
Use when: You’re writing something persuasive to someone who already disagrees.
“Write a [document] from the perspective of [person A] explaining [topic] to [person B] who believes [opposing view]. Acknowledge [person B’s] concern in the first sentence. Resolve the tension by [specific approach]. Tone: [adjective].”
The built-in tension gives the model a narrative arc to follow. Open-ended prompts without conflict tend to produce flat, generic output.
A concrete example: writing a pitch for a budget increase to a CFO who thinks the current tool spend is already high. Naming that skepticism explicitly in the prompt produces output that leads with cost framing, not feature excitement. The model can’t do that unless you tell it where the resistance lives.
Pattern 3: Sequential Output with Self-Verification
Use when: Accuracy matters and single-pass outputs keep missing things.
“Complete this in 3 steps: (1) [first action], (2) [second action], (3) review your output against [criteria] and revise anything that violates [rule]. Show all 3 steps.”
Step 3 is the reason this works. Asking the model to catch its own errors before delivering is surprisingly effective. Not perfect. Better than one pass.
The “show all 3 steps” instruction matters more than it looks. If you skip it, the model often collapses the steps silently and delivers what looks like a single output. Seeing step 3 explicitly lets you evaluate whether the self-review actually caught anything or just rubber-stamped the original. Over time that feedback tells you which criteria to tighten.
Pattern 4: Constraint Ladder
Use when: You don’t have a strong direction yet and need options before committing.
“First: give me 5 options for [task]. Then: eliminate any that [constraint 1] or [constraint 2]. Then: expand the best remaining option into [final format].”
Staged filtering beats asking for a filtered result directly. The elimination step forces criteria application rather than the model pattern-matching to what it thinks you want.
This pattern is particularly useful for naming, positioning statements, or email subject lines, where you know the wrong answer when you see it but can’t define the right answer in advance. Generate wide, eliminate hard, then commit. That sequence produces better results than trying to describe your ideal outcome before you’ve seen any options.
Pattern 5: Emotional Register + Subtext
Use when: The professional situation requires tone to carry more weight than the literal words.
“Write a [communication type] that on the surface [says X] but between the lines conveys [Y]. The reader should feel [emotion] without being told directly. Avoid any word that directly states [the underlying message].”
Subtext instructions push showing over telling. This is your pattern for rate increase conversations, client offboarding, scope creep responses, anything where saying the thing directly would land wrong.
The hardest part of this prompt is the final constraint: forbidding the direct word forces the model to find oblique language that still communicates the intent. That’s exactly the craft problem you’d face writing it yourself. The constraint makes the model solve it the right way instead of taking the shortcut.
Which Pattern to Reach for First
For most professional writing tasks, start with Pattern 1. It covers roughly 80% of cases.
Add Pattern 3 when accuracy is non-negotiable. Reach for Pattern 2 or 5 when the audience has a known objection or emotional state baked in. Pattern 4 is your move when you genuinely don’t have a clear preference yet and need the model to help you find one.
The patterns also stack. A client offboarding email might start with Pattern 1 for format control, then layer in Pattern 5 for tone. A competitive analysis might use Pattern 4 to generate options, then Pattern 3 to verify the final output against your criteria. Start simple, add layers only when the single-pattern version keeps missing the mark.
Build a template doc with all five. Within a week you’ll stop writing prompts from scratch and start getting first drafts that don’t need three rewrites before they’re usable.
Pick the pattern that fits your situation and run with it.
Prompt structure patterns for professional communication — 5 reusable templates with role/constraint/format breakdown
by u/mrgulshanyadav in PromptEngineering