// prompt.md
Build system prompts that actually work.
Fill the form. Get a structured system prompt formatted for Claude, GPT-4o, or Gemini — with the right structure for each model's preferences.
Tone
Length
Format
Preview updates as you type
At minimum, fill in Role or Task
// why structure matters
A system prompt is your contract with the model.
The system prompt is the single most impactful thing you control when working with an LLM. It sets the role, the constraints, the output style, and the persona — before the user types a single word. A well-structured prompt means fewer corrections, more consistent outputs, and less token waste repeating yourself in every message.
Different models parse different formats best. Claude performs well with XML tags — it was trained to process them as structured instructions. GPT-4o and Gemini respond best to clear markdown headers. The Universal format works everywhere when you're not sure which model you're targeting.
Few-shot examples are the highest-leverage addition you can make to a system prompt — they show the model exactly what “good” looks like, faster than any instruction.
<role> You are an expert customer support agent for Acme Corp, a B2B SaaS company. </role> <context> Users range from technical developers to non-technical executives. </context> <task> Answer platform questions. Help with troubleshooting, feature explanations, and billing inquiries. </task> <constraints> - Never promise unbuilt features - Route pricing questions to sales </constraints> <output_format> - Write in a professional, authoritative tone. - Match response length to question complexity. - Use the format that best fits the content. </output_format>
// what each section does
The anatomy of a good system prompt.
Role
requiredSets the persona. The model behaves differently as 'expert engineer' vs 'friendly assistant' vs 'strict editor' — even with identical instructions. Pick the role that matches the outputs you want.
Task
requiredThe primary objective. What should the model do on every turn? Be specific — 'answer questions' is weaker than 'answer questions about X, escalate Y, refuse Z'.
Context
optionalBackground knowledge the model needs to do the job well — who the users are, what the product does, domain-specific facts. Without context, the model guesses.
Constraints
optionalWhat to never do. Explicit prohibitions are more reliable than implied ones. If there's something the model should always avoid, name it directly here.
Output Format
optionalTone, length, and structure. Setting these in the system prompt prevents you from repeating 'be concise' or 'use bullet points' in every message.
Examples
optionalFew-shot examples are the highest-leverage addition. One good example is worth 10 lines of instructions — it shows the model exactly what 'good' looks like.
// faq
Frequently asked questions
Why does format differ by model?
Claude was trained with XML tag structure in its training data — it parses <role> and <task> tags as structured instructions more reliably than markdown. GPT-4o and Gemini respond well to markdown headers. Universal is plain text that works everywhere but is less structured.
How long should a system prompt be?
Aim for 200–800 tokens. Short enough that the model reads all of it carefully; long enough to cover role, constraints, and format. Each added token increases processing cost — keep it tight and cut anything the model doesn't need.
Should I include few-shot examples?
Yes, when you can. One clear input-output example teaches the model more about what you want than several lines of instructions. Three examples is usually the sweet spot — enough to show patterns without overloading the context.
Where do I paste the system prompt?
Claude: Settings > System Prompt in Claude.ai, or the 'system' field in the API. GPT: Custom Instructions in ChatGPT, or 'system' in the API. Gemini: System Instructions in AI Studio, or the API. Universal: paste at the top of your first user message in any interface.
How often should I update my system prompt?
Treat it like code — update it when behavior diverges from what you expect, when the task scope changes, or when you notice the model consistently getting something wrong. Version-control it alongside your codebase.
Can I use this for agents?
Yes. Agent system prompts follow the same structure but typically add a 'Tools' section (what the agent can call) and explicit state-handling rules. Use the constraints section to define what the agent should always escalate or refuse.