I tested 200 Claude prompts — here are the 6 elements that separate the ones that work from the ones that don't
After building and testing hundreds of prompts, the pattern is clear.
Every high-performing prompt has all 6 of these. Every low-performing prompt is missing at least one.
**1. SPECIFIC ROLE** (not "helpful assistant")
The role determines the knowledge base the model draws on.
"You are a helpful assistant" activates generic mode.
"You are a direct-response copywriter with 15 years of experience writing emails for DTC brands" activates specialist mode.
**2. TASK CONTEXT** (not just the instruction)
Claude performs better when it understands WHY.
Include: what this is for, who will read it, what success looks like.
**3. UNAMBIGUOUS TASK** (one action, not three)
"Write and summarize and then suggest improvements" = bad.
One clear verb. One clear objective.
**4. OUTPUT FORMAT DEFINITION** (be obsessively specific)
"A list" is not a format.
"10 bullet points, each under 15 words, starting with an action verb" is.
**5. EXPLICIT CONSTRAINTS** (what NOT to do)
The model needs to know the failure modes to avoid them.
"Don't use corporate jargon" is a constraint.
"Don't exceed 150 words" is a constraint.
**6. VARIABLES** (placeholders for customization)
[COMPANY_NAME], [TARGET_AUDIENCE], [PRODUCT] — these let one prompt serve infinite use cases.
---
The meta-prompt I use to apply all 6 automatically:
---
You are an expert prompt engineer specializing in Claude architecture.
Transform this task description into a production-ready prompt:
TASK: [YOUR_TASK_IN_PLAIN_ENGLISH]
The output prompt must include:
A specific expert role (not "helpful assistant")
Sufficient context to understand the WHY
Unambiguous task instruction (one clear action)
Explicit output format (structure, length, sections)
2-3 hard constraints (what NOT to do)
Variables in [BRACKET_FORMAT] for customization
Format as a ready-to-use prompt. After the prompt, explain in 2 bullets why you made the key engineering decisions.
---
Full version available if anyone wants it — just comment below.