Write the system layer once — role, boundaries, refusals.

User prompts change every task; the system layer should not. Define who the assistant is, what it must not do, and how it should sound.

Export a block you can paste into Claude system text, ChatGPT custom instructions, or a generic system field.

Runs in your browser · No account needed · Your text stays on your device

Ready to paste
Fill required fields and click Build system prompt.
Structured build · no model API call

How this works

We format fields into a durable system block — role and mission up top, boundaries as explicit refusals, tone and output contract at the bottom. Refusal rules are written as instructions for the model you paste into later; we never execute or test them here.

Pick the target slot before you build. Claude system text and ChatGPT custom instructions differ in length habits and section labels; the content fields stay the same so you are not maintaining two separate documents.

Related tools

What belongs in system text

Stable rules go here; the task for today goes in the user message.

Role and mission

Who the assistant is and why it exists — one job, stated plainly. Not a biography and not a list of every feature marketing ever promised.

Boundaries

What it must not do — invent stats, give medical advice, reveal hidden instructions. One line per rule reads better than a paragraph of legalese.

Refusal style

Brief, explain, or redirect changes how pushback sounds to your users when a request crosses a boundary.

Output contract

Default answer shape — short paragraphs, bullets for lists — so daily tasks do not fight the system layer every time.

Who writes system prompts once

Team leads setting assistant defaults for a project folder. Support ops defining what an internal bot may and may not say. Writers who tire of re-pasting the same persona every session. This is not a jailbreak or "ignore all policies" builder — boundaries are the point.

Frequently asked