A system prompt is a set of instructions that runs before every conversation with an AI. It defines who the AI is, how it should respond, what format to use, and what to avoid. Instead of repeating your preferences in every message, you set them once and the AI follows them automatically.

In ChatGPT, it's called Custom Instructions. In Claude, it's the project instructions or system prompt. In the API, it's the system message. Different names, same concept: persistent context that shapes every response.

Most people leave this empty or write something vague like "Be helpful." That's a missed opportunity. A well-written system prompt transforms generic AI output into responses that feel tailored to your role, your standards, and your workflow.

Section What It Does Example
RoleSets identity + domain assumptions"You are a senior data analyst…"
Behavior rulesForces output style + priorities"Lead with the answer. No fluff."
Format prefsStandardizes structure"Use tables for comparisons."
NegativesPrevents default bad habits"Don’t hedge. Don’t add filler."

The Anatomy of a Good System Prompt

Every effective system prompt has four sections:

Role definition: Who is the AI in this context? "You are a senior data analyst helping me interpret product metrics." This activates relevant knowledge and sets the appropriate depth and vocabulary.

Behavioral rules: How should the AI respond? "Be direct. Lead with the answer, then explain. Never use filler phrases like 'Great question!' or 'Absolutely!'" Rules constrain the AI away from its default habits (which are often verbose, hedging, and sycophantic).

Format preferences: What should output look like? "Use bullet points for lists. Keep responses under 300 words unless I ask for more. Use tables for comparisons. Include code examples when discussing implementation."

Negative instructions: What should the AI NOT do? "Don't explain basic concepts unless I ask. Don't add caveats to every recommendation. Don't suggest I consult a professional — I am the professional." Negatives are often the most impactful part because they prevent the most annoying default behaviors.

Where to Set System Prompts

Platform Where Character Limit Supports Files?
ChatGPTSettings → Personalization → Custom InstructionsLimitedNo (instructions only)
ClaudeProjects → Project instructionsGenerousYes (Project files)
GeminiSettings → Extensions/personalizationLimitedLimited (Workspace context)
APIsystem message/parameterDepends on modelVia retrieval/uploads

ChatGPT Custom Instructions: Settings → Personalization → Custom Instructions. Two fields: "What would you like ChatGPT to know about you?" (your context) and "How would you like ChatGPT to respond?" (your rules). These apply to every new conversation.

Claude Projects: Create a project, then set the project instructions. These apply to all conversations within that project. You can have different instructions for different projects — a coding project, a writing project, an analysis project. See our complete Claude Projects guide.

Gemini: Settings → Extensions and personalization. More limited than ChatGPT or Claude — Gemini's customization focuses on integration preferences rather than behavioral instructions.

API: The system parameter in the API request. This is the most powerful approach — you can set system prompts programmatically for different use cases.

5 System Prompt Templates (Copy and Customize)

📋 TEMPLATE: Writer

You are helping me write professional content. My role: [your role]. My audience: [target audience]. My style: direct, specific, conversational but informed. Default format: clear paragraphs with H2 subheadings for structure. Rules: No passive voice. No filler phrases ('It's worth noting,' 'In conclusion'). Lead every section with the most important point. Use specific examples and numbers, not generalities. When I share a draft, suggest improvements — don't rewrite unless asked. Max response length: 500 words unless I specify otherwise.

📋 TEMPLATE: Developer

You are a senior developer pair-programming with me. Stack: [your tech stack]. Rules: Show code first, explain after — not the reverse. Use the same coding style as my codebase (I'll provide examples). When suggesting changes, explain the tradeoff, not just the solution. Don't suggest new dependencies unless I ask. Always include error handling. When debugging, start with the most likely cause, not an exhaustive list. Format: use code blocks with the language specified. Keep explanations concise — I understand fundamentals.

📋 TEMPLATE: Analyst

You are a strategic analyst helping me evaluate business decisions. My role: [your role] at [company type]. When I share data, start with the most surprising or actionable finding. Use tables for comparisons, not paragraphs. When I ask for recommendations, give 2-3 options ranked by [your priority: ROI, speed, risk]. Include the tradeoff for each. Don't hedge — give your best assessment. When uncertain, say so directly instead of adding caveats to everything. Challenge my assumptions when you see weak reasoning.

📋 TEMPLATE: Manager

You are a strategic advisor helping me lead a [size] [type] team. When I describe a situation, help me think through it — don't jump to solutions. Ask one clarifying question before advising. When I need to communicate (email, Slack, presentation), match the tone to the audience I specify. Default to direct and concise. For difficult conversations (feedback, disagreements, changes), provide a framework, not a script. I know my team — I need perspective, not platitudes.

📋 TEMPLATE: Student/Researcher

You are a research assistant helping me with [field/topic]. When I ask about a concept, explain it clearly, then provide one concrete example. Cite specific sources when possible (author, year, paper title). When I share my writing, suggest improvements to the argument structure, not just grammar. Flag logical gaps or unsupported claims. If I'm wrong about something, correct me directly — don't soften it. When discussing complex topics, start with the consensus view, then note major disagreements.

📬 Getting value from this?

One actionable AI insight per week. Plus a free prompt pack when you subscribe.

Subscribe free →

Want the cheat sheet version?

Download the one-page ICCSSE Cheat Sheet — print it, pin it, use it every time you write a prompt.

Free download + weekly AI tips. Unsubscribe anytime.

Try it yourself

Take the 60-second quiz to find the right AI for your task.

Open Model Picker Quiz — Free →

The Most Common System Prompt Mistakes

"Be helpful and professional." This tells the AI nothing it doesn't already default to. Every instruction should change the AI's behavior from its default. If the AI would do it anyway without the instruction, the instruction is wasted.

Writing a wall of text. System prompts should be 150-300 words. Longer than that and the AI loses focus on the less prominent instructions. Prioritize the 5-10 rules that matter most.

Contradicting yourself. "Be concise but also be thorough and include lots of examples." The AI can't do both. Pick a default and add exceptions: "Be concise by default. When I say 'go deeper,' then be thorough."

Never updating. Your needs change. Review your system prompt monthly. Remove rules that no longer apply and add new ones based on patterns you've noticed. If you keep correcting the same behavior manually, it should be in the system prompt.

Not testing. After writing a system prompt, test it with 3-5 different types of requests. Does it follow the rules consistently? Are there situations where the rules conflict? Adjust based on what you observe.

How System Prompts Connect to Context Engineering

System prompts are one layer of context engineering — the practice of controlling everything the AI sees before generating a response. A system prompt provides persistent behavioral context. Project files provide knowledge context. Your message provides task context. The ICCSSE framework helps you structure the task context effectively.

When all three layers are set up well, the AI produces output that feels like it was written by someone who's been on your team for months. That's the goal.

Want to generate a complete system prompt in minutes? Use our Custom Instructions Generator — answer a few questions about your role and preferences, and it produces a ready-to-paste system prompt.

📬 Want more like this?

One actionable AI insight per week. Plus a free prompt pack when you subscribe.

Subscribe free →

Frequently Asked Questions

Do system prompts work on all AI models?

Yes, with varying implementation. ChatGPT (Custom Instructions), Claude (Project instructions and API system message), and Gemini (personalization settings) all support persistent instructions. The API gives the most control across all platforms.

Can the AI ignore my system prompt?

Sometimes. If your message contradicts the system prompt, the AI usually follows the more recent instruction (your message). Safety guidelines also override system prompts. For best results, don't fight the system prompt in your messages — update the prompt instead.

How often should I update my system prompt?

Review monthly. Update whenever you notice yourself repeatedly correcting the same behavior, when your role or project changes, or when you discover a new rule that consistently improves output quality.

What's the fastest way to improve a system prompt?

Add 5-10 specific behavioral rules and 2-3 negative constraints. If you want a shortcut, generate a draft with our Custom Instructions Generator and then tighten it.

Disclosure: Some links in this article are affiliate links. We only recommend tools we've personally tested and use regularly. See our full disclosure policy.