Model-Specific Prompt Engineering | How to Write for ChatGPT, Claude, and Gemini
A five-star prompt in ChatGPT is often a two-star prompt in Claude. Copy the exact same instructions into Gemini and you’ll get a third, completely different result. If you’ve felt that whiplash, you’re not imagining it: it’s not a “you” problem, it’s an architecture problem.
Each model is trained on different data, shaped by different safety rails, and built to weigh context in its own way. A prompting style that feels natural to one model can feel like static to another. This guide breaks down exactly how to adapt the same request for ChatGPT (GPT-5.5), Claude (Sonnet 5), and Gemini (3 Pro), so you stop rewriting from scratch every time you switch tools.
Why Do AI Models React Differently to the Same Prompt?
AI models react differently to the same prompt because of variations in their underlying architecture, primary training datasets, system prompts, and how they weigh context limits. A model isn’t just “smart” or “dumb”; it’s trained toward a specific personality and processing style, and your prompt either works with that style or fights it.
This comes down to prompt priming: the idea that every model arrives at your conversation already primed by an invisible system prompt set by its provider. OpenAI’s system prompts tend to push GPT toward structure and brevity. Anthropic’s tend to push Claude toward conversational nuance and comfort with long, messy context. Google’s tend to push Gemini toward grounding responses in retrievable, factual data. You never see these system prompts, but you’re always prompting on top of them, which is why identical instructions land differently depending on where you paste them.
The practical takeaway: don’t ask “is this a good prompt?” Ask “is this a good prompt for this model’s token limits, context window, and default behavior?”
ChatGPT (GPT-5.5) Prompting Strategy: The Rule-Follower
ChatGPT performs best when a prompt gives it explicit constraints, structured formatting, and rigid boundaries around output length and style. It follows instructions literally, which is a strength when you’re specific and a liability when you’re vague.
Core Trait
GPT-5.5 loves rules. It responds well to bullet-pointed instructions, numbered constraints, and hard limits on format. Give it room to interpret and it will fill that room with its own assumptions, often the wrong ones.
Best Practices
- Use explicit constraints: “Do not use jargon,” “Output exactly 3 paragraphs,” “Never use the word ‘delve.'”
- Front-load format requirements before the task itself.
- For anything requiring precision like code, data extraction, or compliance language, keep temperature control low; a lower temperature setting reduces creative drift and keeps output deterministic.
- Use few-shot prompting (one or two input/output examples) when you need a specific tone or structure; GPT-5.5 pattern-matches examples closely.
- For simple, single-step tasks, zero-shot prompting (no examples, just clear instructions) is usually enough and saves tokens.
Example Prompt
❌ Generic: “Write a product description for a running shoe.”
✓ Optimized for ChatGPT:
Write a product description for a trail running shoe.
Constraints: Exactly 3 short paragraphs. No exclamation points. Do not mention price. Use active voice only. Target audience: intermediate trail runners, ages 25 to 45.
Notice the constraints do the work. Take a look at how we built out a full version of this in our ChatGPT Product Description Prompt if you want the ready-made template.
Claude Sonnet 5 Prompting Strategy: The Context Consumer
Claude performs best with generous context, clearly labeled sections, and natural, conversational instructions rather than terse commands. It’s built to read long documents in a single pass and produce output that sounds less like a machine and more like a careful human collaborator.
Core Trait
Claude Sonnet 5 thrives when you hand it more, not less: full documents, brand guidelines, prior conversation history. Where ChatGPT wants rules, Claude wants context. Starve it of context and you’ll get generic output; feed it context and the quality jump is significant.
The XML Tag Advantage
Claude was trained extensively on prompts that use XML-style tags, and it uses them to separate different parts of a prompt without confusing instructions for examples or examples for source material. Anthropic’s own documentation on structuring prompts with XML tags confirms this is a first-class technique, not a workaround. Tags like <instructions>, <context>, and <brand_voice> act as guardrails that keep a long, multi-part prompt from collapsing into a jumble.
Example Prompt
Here’s the same running shoe brief, rewritten for Claude:
<task>
Write a product description for a trail running shoe.
</task>
<brand_voice>
Confident but not aggressive. Speak to experienced runners as peers, not customers.
</brand_voice>
<constraints>
- 3 short paragraphs
- No exclamation points
- Do not mention price
- Target audience: intermediate trail runners, ages 25-45
</constraints>
Same request, same constraints, but structured the way Claude was trained to parse it. This tends to produce noticeably more natural prose than the ChatGPT-style flat instruction block. We tested a longer version of this structure in our Claude UI Color Palette Prompt, worth a look if you’re writing for a specific tone at scale.
Gemini 3 Pro Prompting Strategy: The Data Synthesizer
Gemini performs best when prompts connect directly to real data sources, images, or documents rather than relying on an assumed persona or elaborate role-play setup. It’s built for ecosystem integration and massive multimodal input, so its strength is synthesis, not personality.
Core Trait
Gemini 3 Pro is less interested in “who it’s pretending to be” and more interested in “what it’s actually looking at.” It’s designed to pull from Search, Docs, Drive, and multimodal inputs like images, spreadsheets, and video, then synthesize an answer grounded in that material. This grounding also tends to reduce LLM hallucinations on fact-heavy tasks, since the model has something concrete to anchor its answer to instead of pattern-completing from memory.
Best Practices
- Skip the heavy persona setup (“You are a world-class copywriter with 20 years of experience…”) and go straight to the task and the data.
- Attach or reference the actual source material (a spreadsheet, an image, a document) rather than describing it in prose.
- Ask for synthesis and comparison explicitly: Gemini is strong at “compare these three files and summarize the differences” style tasks.
- Keep instructions direct; elaborate scaffolding tends to add noise rather than precision here.
Side-by-Side Comparison: The Same Request Across 3 Models
| Feature | ChatGPT (GPT-5.5) | Claude (Sonnet 5) | Gemini (3 Pro) |
|---|---|---|---|
| Tone formatting | Responds to explicit tone rules (“formal,” “no jargon”) | Responds to described brand voice and examples | Responds to source data tone, less to abstract description |
| Context handling | Best with concise, front-loaded context | Best with large, detailed context and full documents | Best with linked or attached source files |
| Formatting preference | Numbered constraints, bullet-point rules | XML tags, labeled sections | Direct task plus data reference |
| Persona adoption | Adopts personas readily and consistently | Adopts nuanced, sustained personas over long conversations | Minimal persona needed; performs better task-first |
How to Convert Prompts Between Models
If you’ve already written a prompt that works well in one model and it’s falling flat in another, you don’t need to start over. Follow this three-step conversion process:
- Strip it down to the core task. Remove all model-specific formatting (bullet rules, XML tags, persona setup) and isolate what you’re actually asking for.
- Re-wrap it in the target model’s preferred structure. Moving to Claude, add XML tags and context. Moving to ChatGPT, add explicit constraints and format rules. Moving to Gemini, attach the source data and drop the persona framing.
- Test with the same input and compare output against your original. If the new version underperforms, check whether you preserved the constraints but lost the context, or vice versa. That’s almost always where conversions break down.
Doing this manually for every prompt in your library gets old fast, especially across dozens of use cases. If you’d rather skip the manual conversion entirely, the Promptliness Prompt Generator builds a model-specific version of your prompt automatically based on your profession and target model.
Conclusion & Next Steps
Stop treating prompt engineering as one-size-fits-all. ChatGPT wants rules. Claude wants context. Gemini wants data. The same underlying request, reshaped for each model’s actual training and architecture, is the difference between a mediocre output and a great one, and that reshaping takes minutes once you know the pattern.
If you want tested, ready-to-use versions of these techniques rather than building every prompt from scratch, explore the Promptliness Library, the only directory where every prompt is tested and categorized by the exact AI model it was built for.
Written by
Kumail KazmiCo-Founder & Prompt Engineer
Kumail Kazmi is a co-founder and prompt engineer at Promptliness, where he builds and tests AI prompts across ChatGPT, Claude, Gemini, and other leading models. He focuses on making prompt engineering practical and repeatable rather than trial-and-error.