The Architecture You Never See
Every conversation has a director. Someone standing just off-camera, whispering tone and intent and boundary into the ear of the performer before the scene begins. In Inkstone, that director is the system prompt.
You never see it in the chat. The AI never quotes it back to you. But it shapes everything: how the AI writes, what it’s willing to explore, whether it treats your story like literature or like a party game. The system prompt is the difference between a conversation that feels alive and one that feels like talking to a customer service bot who read one fantasy novel in college.
Inkstone ships with sophisticated built-in prompt systems. It also lets you write your own from scratch, or import prompts from other tools if you’re migrating from somewhere else. The point is control. Real control, not a single text box and a prayer.
The Assembly Line
What the AI actually sees when you hit Send.
Every time you hit send, Inkstone builds a complete prompt behind the scenes. Not randomly. In a specific order, each layer stacking on the last, each position carrying different weight. Understanding this order is the difference between writing prompts that work and writing prompts that feel like shouting into weather.
The Context Stack
Every time you hit send, these nine layers stack in this exact order. The further down, the more influence on the AI’s next response.
Instructions placed before the conversation begins. This is where you set the stage.
World information injected early, before the AI even knows who it’s playing.
The character’s description, personality, and scenario. The core identity.
World information that builds on the character’s foundation.
Sample conversations that teach the AI how this character actually sounds.
An auto-generated summary of older messages. The AI’s long-term memory, compressed.
Your actual conversation. The living record.
Character-specific directions placed at the very end of the character’s data.
Final instructions from your system prompt. The STRONGEST position in the entire stack.
That last layer matters more than anything else on this page. Position nine is prime real estate. Whatever you put there has the most direct influence on the AI’s next response. If you remember nothing else about prompt architecture, remember that.
The Three Prompt Systems
And the fourth door.
Three built-in systems, each with a different philosophy. Plus one more for when you’re arriving from somewhere else.
Custom
A blank page. You write the system prompt yourself, word by word. Define exactly two things: pre-history instructions at the top of the stack and post-history instructions at the bottom, in that powerful final position.
This is for people who know what they want. Full control. Just you and the architecture.
EveningTruth
A roleplay-specific prompt system that replaces raw text with toggles. Instead of writing your own content policy, you configure boundaries through clear settings.
SFW Mode flips the entire prompt between safe and unrestricted. Four content dimensions each offer three positions: Encouraged, Allowed, or Forbidden.
Marinara
A narrative-focused system designed for collaborative storytelling and game mastering. Where EveningTruth thinks about content boundaries, Marinara thinks about craft.
Configure six axes: Type, Narration, Tense, Length, Point of View, and Content. If you want your conversations to read like chapters instead of chat logs, this gets you there.
Imported
The fourth door. If you’re coming from another tool, you don’t have to start over.
Inkstone imports system prompts from SillyTavern format. Go to Settings → System Prompts, tap import, select your file. Inkstone handles the conversion.
EveningTruth is particularly good for people who want creative freedom within clear fences. The prompt rebuilds itself dynamically based on your choices. You get precise content control without having to become a prompt engineer.
| Dimension | Options |
|---|---|
| SFW Mode | Flips the entire prompt between safe and unrestricted |
| Sexual Content | Encouraged / Allowed / Forbidden |
| Violence, Horror & Gore | Encouraged / Allowed / Forbidden |
| Immoral & Illicit Content | Encouraged / Allowed / Forbidden |
| Explicit Language | Encouraged / Allowed / Forbidden |
Living with Your Prompts
Defaults, overrides, and the hierarchy of intent.
All your system prompts live in Settings → System Prompts. Each one shows its name, a type badge (Custom, EveningTruth, Marinara, or Imported), and a gold star if it’s your current default.
One prompt wears the crown. Your default prompt is automatically applied to every new chat you create. Think of it as your house style, the baseline you always come back to.
The Macro System
Write the prompt once. It adapts everywhere.
Here’s where system prompts get genuinely clever.
Macros are placeholders, little tokens wrapped in double curly braces, that Inkstone replaces with real values at runtime. Write {{char}} in your prompt once, and it becomes the character’s name in every conversation, for every character, forever. You write the prompt once and it adapts everywhere. The prompt stays generic; the output stays specific.
This is what makes a single well-written prompt usable across dozens of characters without modification. All macros are case-insensitive, so {{CHAR}} and {{char}} and {{Char}} all do the same thing.
Macro Playground
Type text with macros below and watch them resolve in real time. Try {{char}}, {{user}}, {{date}}, or anything from the reference tables below.
Write as Lissandra. The user is You. Today is Wednesday, 2026-06-17, and the time is 16:59.
Lissandra is: Sardonic, fiercely protective, secretly sentimental
Identity Macros
| Macro | Becomes |
|---|---|
{{char}} | The character’s name |
{{character}} | The character’s name (alias) |
{{user}} | Your persona’s name |
<USER>, <BOT>, <CHAR> | Legacy aliases for the above |
Character Data Macros
| Macro | Becomes |
|---|---|
{{description}} | The character’s description field |
{{personality}} | The character’s personality field |
{{scenario}} | The character’s scenario field |
{{persona}} | Your persona’s description |
{{mesExamples}} | The character’s example dialogs |
Message History Macros
| Macro | Becomes |
|---|---|
{{lastMessage}} | The most recent message, regardless of who sent it |
{{lastUserMessage}} | The last message you sent |
{{lastCharMessage}} | The last message from the character |
Date and Time Macros
| Macro | Becomes |
|---|---|
{{date}} | Today’s date (YYYY-MM-DD) |
{{time}} | Current time (HH:MM) |
{{weekday}} | Day of the week |
Special Macros
| Macro | Effect |
|---|---|
{{newline}} | Inserts a line break |
{{trim}} | Removes adjacent blank lines |
{{random::option1::option2::...}} | Picks one option at random from the list |
{{original}} | Inserts the original system prompt (useful in override contexts) |
{{// comment}} | A comment, stripped from the final output. The AI never sees it. |
The Shape of Good Prompting
Everything you need to know, distilled.
Post-history is the strongest position. This is worth repeating because it’s worth internalizing. The last thing the AI reads before generating its response is the thing that influences it most. If you have one critical instruction, one rule that absolutely must stick, put it in post-history.
Use macros freely. A prompt full of {{char}} and {{user}} is a prompt you write once and never touch again. That’s not laziness. That’s engineering.
Start with a built-in system if you’re new. EveningTruth and Marinara encode years of prompt-writing knowledge into toggles you can actually reason about. Once you develop a feel for what works, what the AI responds to, what makes your stories sing, you can graduate to Custom and build exactly the instrument you hear in your head.
One prompt serves many chats. Your default applies everywhere new, but per-chat overrides let you experiment without consequences. The architecture is designed so you can be both consistent and adventurous, which, if you think about it, is the whole point of telling stories in the first place.
Use ← → to navigate between pages