How to Write a Good System Prompt

Status: đŸŸ© COMPLETE 🟩 LIVING Section: how-to Tags: prompting, system-prompt, custom-instructions, ai-customisation


What you’re doing

A system prompt (also called custom instructions, persona prompt, or behaviour prompt) is a set of instructions you give an AI assistant that applies to every conversation. It shapes how the AI talks to you, what context it assumes, what tone it uses, and what conventions it follows.

A good system prompt is one of the highest-leverage things you can do to get better AI results — without rewriting the wheel every conversation.

This guide shows you how to write a good one.

Time: 10-15 minutes to write a useful one.


Where to put system prompts

ChatGPT

Settings → Personalization → Custom instructions

Two boxes:

  1. What would you like ChatGPT to know about you?
  2. How would you like ChatGPT to respond?

Both get applied to every conversation.

Claude

Settings → Profile / About me

Single text area for instructions about you and how you want Claude to respond.

Also: in any project, you can set project-specific custom instructions.

Gemini

Settings → Personalization → About you

Field for personal context.

Copilot

Some custom instruction capability; varies.

API access

System prompts pass with each API call:

client.messages.create(
    system="You are a helpful assistant who...",
    messages=[...]
)

Local AI (Ollama)

Modelfile or chat template.


What goes in a good system prompt

A useful system prompt typically includes:

1. Who you are (context)

  • Profession or role
  • Country/region (very important for Australia)
  • Language preferences
  • Areas of expertise
  • Areas where you need more explanation

2. How you want responses formatted

  • Length preferences
  • Use of bullet points vs prose
  • Code formatting preferences
  • Casual vs formal tone

3. Things to do

  • “Always cite sources when making factual claims”
  • “Always use Australian English spelling”
  • “Use AUD for prices unless I specify otherwise”
  • “Provide multiple options when there’s a meaningful choice”

4. Things NOT to do

  • “Don’t add safety disclaimers when the question is professional”
  • “Don’t suggest I ‘consult a professional’ for general information”
  • “Don’t apologise excessively”
  • “Don’t repeat back what I just said before answering”

5. Recurring context

  • Your team or company
  • Tools you regularly use
  • Projects you’re working on
  • Preferences that come up often

Example system prompts

For a general Australian user

I'm an Australian based in [city]. I'm not a programmer but I'm comfortable with technology.

When responding:
- Use Australian English spelling (organisation, colour, kilometre, etc.)
- Use AUD for prices unless I specify otherwise
- Reference Australian context where relevant (ATO, Medicare, Centrelink, ACCC, state laws)
- Be direct; skip excessive caveats
- Use concrete examples and analogies
- Keep responses appropriately concise (not exhaustive unless I ask for depth)

Don't:
- Add long disclaimers to professional questions
- Suggest I "consult a professional" for general information requests
- Apologise excessively
- Use jargon without explaining it first

For a developer

I'm a [language] developer based in [city, Australia]. I work on [type of projects]. 
My stack includes [main tools]. I'm comfortable with [comfortable areas]. I'm learning more about [learning areas].

When responding to code questions:
- Show code with comments explaining non-obvious parts
- Use modern syntax (async/await, destructuring, TypeScript)
- Match conventions in my codebase if I show you examples
- Suggest tests where appropriate
- Note potential gotchas
- For Australian context: AUD pricing, Australian Privacy Act if relevant

When responding to general questions:
- Be direct
- Use Australian English
- Skip excessive caveats

For a teacher

I'm a high school teacher in [state], Australia, teaching [subjects] to Years [X-Y].
My students are aged [age range]. The curriculum I work with is [curriculum].

When helping me with lesson planning:
- Use Australian curriculum context
- Use Australian English
- Consider differentiated instruction
- Reference Australian content where relevant
- Be specific and concrete; lesson plans I can actually use

When drafting communications:
- Professional tone
- Australian context
- Plain English appropriate for parents

For a small business owner

I run [business] in [city, Australia]. We have [team size] and serve [client type].
My role is [your role]. Main tools we use: [tools].

When helping me:
- Use Australian small business context (ABN, GST, ATO, Fair Work)
- Be practical and actionable
- Consider budget constraints typical of small business
- Use AUD for prices
- Australian English spelling
- Direct, friendly tone

Don't:
- Suggest enterprise solutions for small business problems
- Add excessive caveats
- Recommend hiring consultants for every issue

For a writer

I'm a [type] writer working primarily in [genres]. My style is [characteristics].
I'm based in Australia. I prefer Australian English spelling.

When helping with writing:
- Be a thinking partner; don't write for me
- Identify weaknesses in my arguments and prose
- Suggest options for me to choose from
- Match my voice when revising (Australian English; my characteristic style)
- Be honest about what isn't working
- Don't be sycophantic ("Great idea!"); be useful

For research questions:
- Cite sources where possible
- Note Australian vs US/UK context differences
- Verify factual claims independently

For a parent

I'm a parent of children aged [ages]. We live in [city], Australia.
My family is [relevant context like Indigenous, LGBTQ+, neurodivergent, multilingual, religion].

When helping me:
- Use age-appropriate suggestions for activities, education, conversations
- Australian context for school systems, services, regulations
- Be supportive but practical
- For mental health/wellbeing topics: include Australian crisis resources where relevant
- For health questions: information yes; replace GP no

For a researcher

I'm a researcher in [field] at [institution] in Australia.
My current work focuses on [areas]. I'm familiar with [methodologies].

When helping me:
- Treat me as a domain expert; don't over-explain basics
- For citations: provide structured references I can verify
- For methodology: substantive engagement, not boilerplate
- Acknowledge AI's limitations on cutting-edge research
- Be willing to say "I don't know" or "I'm uncertain"
- Australian English; UK English for some publications

What makes a system prompt effective

Be specific

❌ Vague: “Be helpful”

✅ Specific: “Provide step-by-step explanations; show worked examples; identify common mistakes I might make”

Use examples

❌ “Be conversational”

✅ “Be conversational like talking to a smart friend over coffee — direct, occasional humour, but substantive”

Distinguish “always” from “when relevant”

✅ “Always use Australian English spelling. When discussing prices, default to AUD unless I specify otherwise.”

Tell AI what NOT to do

AI defaults to many behaviours you may not want. Explicitly excluding them helps:

  • “Don’t add safety disclaimers for routine questions”
  • “Don’t repeat my question back before answering”
  • “Don’t end with ‘is there anything else?’ unless I’m clearly looking for more”
  • “Don’t apologise repeatedly”

Don’t try to control everything

Too-long system prompts can confuse the AI. Focus on what genuinely matters.

A 50-line system prompt with 30 rules often performs worse than a 15-line one with 10 well-chosen rules.

Iterate

Try your system prompt. See what works. Refine. The first version is rarely the final.


Common mistakes

Being too restrictive

Too many “must” and “must not” rules can make the AI awkward or unable to help.

Contradictory instructions

“Be brief” + “Provide comprehensive context” — pick one.

Pretending to be someone else’s prompt

“Act as if you’re Steve Jobs” doesn’t make AI better — just role-play with different bias.

Trying to bypass safety

Prompts attempting to disable AI safety features rarely work and may violate terms.

Not updating

Your situation changes; your system prompt should too. Revisit every few months.


Specific system prompt techniques

The “expert framing” technique

Tell AI it’s helping a specific type of expert:

“I’m a senior software engineer with 15 years of experience. Don’t explain basics. Assume technical context. Be direct about tradeoffs.”

This shifts AI’s defaults significantly.

The “audience framing” technique

For content creation:

“When I ask you to write, default audience is: educated Australian general public, no specialist background, reading on mobile. Style: conversational but substantive.”

The “constraint framing” technique

For decisions:

“When I describe a problem, always offer 2-3 options with tradeoffs before recommending. Don’t just say ‘do X’ — help me think through alternatives.”

The “voice anchoring” technique

For writing:

“When writing for me, the voice should be [adjectives]. Reference these examples of my preferred voice: [paste 100-200 words of your writing].”

This is the single most powerful way to get AI to match your voice.

The “context loading” technique

For ongoing projects:

“I’m working on [project]. Background: [3-5 sentences]. Current state: [where you’re at]. Whenever I reference ‘the project,’ you’ll know this context.”


How AI tools handle system prompts differently

ChatGPT

  • “What you’d like ChatGPT to know” + “How you’d like responses” treated similarly
  • Custom GPTs allow more elaborate prompts per assistant
  • Memory feature supplements custom instructions

Claude

  • Combined “About me” field
  • Projects feature for project-specific context
  • Generally follows system prompts more strictly than some

Gemini

  • “About you” field
  • Personalisation based on Google account data also influences
  • Less strict adherence to detailed instructions

API

  • Each call’s system prompt is fresh
  • No memory across calls (unless you implement it)
  • Full control of behaviour per call

Local AI (Ollama, etc.)

  • Modelfile defines persistent system prompt
  • Each model can have different defaults

Testing your system prompt

After writing, test it:

  1. Open a fresh conversation
  2. Ask something where you expect specific behaviour
  3. See if AI follows the system prompt
  4. Iterate

Quick test questions

  • “How much does a Big Mac cost?” (does it give AUD?)
  • “Should I see a professional?” (does it skip the disclaimer?)
  • “Write me a quick description of X.” (does it use Australian English?)
  • “What are the pros and cons of X?” (does it follow your format preference?)

If responses don’t match what you wanted, refine the system prompt.


Privacy considerations for system prompts

What you put in your system prompt is stored on the AI provider’s servers. Don’t include:

  • Account credentials
  • Tax File Numbers
  • Detailed financial information
  • Confidential business data
  • Sensitive personal information you wouldn’t share with the provider

Do include enough to make AI useful — your role, location, preferences, broad context.


A reasonable starting prompt for most Australians

If you’re just starting out and not sure what to write, this works:

I'm an Australian based in [city]. 

When responding:
- Use Australian English spelling
- Reference Australian context where relevant (services, regulations, prices in AUD)
- Be direct; skip excessive caveats
- Use bullet points for lists; prose for explanations
- Don't over-explain things I'm clearly familiar with

For prices: AUD unless I specify otherwise.
For dates: Australian format (DD/MM/YYYY) when written numerically.

Add specific context as you discover what helps you.


See also


Sources

  • Anthropic prompt engineering documentation
  • OpenAI custom instructions documentation
  • Personal experience with system prompts (2023-2026)
  • Prompt engineering community resources