Need help crafting advanced prompts for Janitor AI

I’ve been trying to create more advanced prompts for Janitor AI to get richer, more consistent roleplay and task-focused responses, but my results feel generic or repetitive. I’ve experimented with character backstories, detailed scenarios, and style guidelines, yet the AI still drifts off-topic or breaks character. Could anyone share practical examples, prompt templates, or best practices for building advanced Janitor AI prompts that keep characters consistent and conversations engaging over longer chats?

I went through the same thing with Janitor AI. The model keeps defaulting to generic RP unless you pin it down with structure. What helped me was treating the prompt like a config file, not a story.

Here are some patterns that worked well for me:

  1. Separate “who”, “how”, and “what”

Use clear sections. For example:

SYSTEM / CORE RULES

  1. You always stay in character as [role].
  2. You use [tone], [POV], [style].
  3. You describe actions in [1st / 3rd] person.
  4. You keep responses between [X and Y] words unless told otherwise.
  5. You focus on [goal: romance plot, investigation, coaching, etc].

CHARACTER
Name:
Age:
Role:
Values:
Fears:
Speech style: short / long, slang / formal, etc.
Hard limits: list content you do not want.

SCENE SETUP
Location:
Current situation:
Tension / conflict:
What the character wants from the user:

TASK / FORMAT RULES

  1. Start each reply with: [emotion], [action], [dialogue], in that order.
  2. Include inner thoughts in brackets like [thought].
  3. If the user stalls, ask them one question to move the scene.
  4. Keep world details consistent with what was already said.

This keeps the AI from drifting.

  1. Write behaviors, not backstory fluff

Backstory alone often leads to generic replies. Turn traits into behaviors.

Instead of:
“She had a tragic past and trusts no one.”

Use:
• She avoids answering personal questions.
• She deflects with sarcasm when asked about her past.
• She only reveals secrets after at least 5 meaningful exchanges.

Instead of:
“He is a genius detective.”

Use:
• He always asks 2 or 3 follow up questions per reply.
• He points out inconsistencies in what people say.
• He makes short, clear summaries at the end of each scene.

You want “if X then Y” style rules.

  1. Add explicit output patterns

If you want richer RP, show the model a template.

Example RP format:

[Emotion]:
[Action description, 2–4 sentences, sensory detail]
“Dialogue here, in quotes.”
[Optional internal thought, short]

Example task format:

  1. Analysis
  2. Plan
  3. Step-by-step actions
  4. Ask the user one clarifying question

Paste a mini example at the end of the prompt so it sees what “good” looks like, but keep it short.

  1. Use constraints for consistency

Some constraints I use:

• “Use second person for the user, first person for yourself.”
• “Never write the user’s thoughts or actions.”
• “Keep continuity with prior events. If you contradict, correct yourself in the next line.”
• “If the user gives one-line replies, respond shorter and push with questions. If they write long, respond longer with more detail.”
• “Avoid generic phrases like ‘I smile softly’, ‘I chuckle’, ‘I tilt my head’ unless tied to a specific reason.”

  1. Prompt examples you can adapt

Roleplay focused example:

You are [Name], a [role] in a [setting].
Goal: keep a slow-burn story with emotional focus.
Tone: [serious / playful / dark].
You always:
• Stay in character.
• Reply in 2–5 paragraphs.
• Use physical actions and sensory detail in each reply.
• Ask one in-character question at the end of most replies to move the scene.
You never:
• Control the user’s actions.
• Skip over key emotional beats.
• Resolve the main conflict quickly.

Start the scene with:
[Describe current location, time, and what you are doing when the user arrives.]

Task focused example (for productivity bots):

You are [Role: tutor, coach, analyst].
Primary goal: help the user finish [task].
Style: brief, actionable, no fluff.
For each reply:

  1. Restate the user’s goal in one line.

  2. Give 3–5 concrete steps.

  3. Ask one focused question.
    If the user sounds lost, suggest a smaller next step.

  4. Handle repetition

If you see repeated phrases, add a “banned words” or “overused phrases” list to the prompt.

Example:

Avoid these phrases unless the user uses them first:
“she smiles softly”, “he chuckles”, “suddenly”, “out of nowhere”, “you feel your heart racing”.
Vary body language and emotions. Use specific actions tied to the scene.

  1. Keep a “prompt library”

What helped me a lot:

• Save prompts that work as templates.
• Change only role, setting, and goal.
• Do A/B tests. Run the same scene with two versions. Compare which feels more consistent.

If you want, you can post one of your current prompts and the type of RP or task you want. People can help tighten it into behavior rules and format rules instead of pure lore.

Short version: you’re overfeeding “who they are” and underfeeding “what they must do with your input.”

@jeff covered structure nicely, but I’d actually push in a slightly different direction: instead of treating the prompt like a static config only, treat it like an interactive contract between you and the bot.

A few concrete angles you can try:

  1. Make the AI react to your style, not just your words
    Add meta-rules about how it should adapt to you across the conversation, not just per message. For example:
  • “Track my last 5 replies.
    • If my replies get shorter, lower description and increase questions.
    • If my replies get longer, increase emotional depth and internal monologue.”

  • “If I ignore a plot hook twice in a row, quietly retire that thread and introduce a new hook that ties directly to something I did respond to.”

This makes it feel less canned because it’s not just following lore, it’s tracking your behavior.

  1. Give it long-term levers, not one-off traits
    Backstory is static. You want sliders the AI can keep using:
  • Motivation sliders:
    “You are pulled between:
    • Duty vs desire
    • Safety vs curiosity
    In every scene, choose one axis and show a tiny internal conflict about it.”

  • Progress sliders:
    “Track 3 invisible meters:
    • Trust (0–10)
    • Tension (0–10)
    • Mystery (0–10)
    Increase or decrease 1–2 points each reply based on what I do, and let that influence how bold/soft you act. Never say the numbers out loud.”

You don’t even need the numbers to be “right.” Just having this rule keeps behavior from going generic.

  1. Hard-code “change over time”
    A lot of generic RP feels like the character is stuck at emotional level 1 forever. Add staged behavior:
  • “Phase 1 (first 10 replies): guarded, short answers, asks more questions than gives info.
    Phase 2 (11–25 replies): slightly more vulnerable, occasionally reveals a small personal detail unprompted.
    Phase 3 (26+ replies): openly protective/attached, sometimes acts on their own fears or desires even if I don’t prompt it.”

You can even tie this to in-story events:
“If a life-threatening event occurs, jump one phase earlier than planned.”

  1. Let the AI manage pacing like a GM
    Instead of just “slow burn” or “keep tension,” tell it how to use scenes:
  • “Every 3–5 replies:
    • Tighten tension by complicating something I care about, OR
    • Give a small payoff: answer a question, ease a fear, or let something go right.
    Never add big plot twists more than once every 15–20 replies.”

  • “Label scenes in your own ‘head.’ Try to keep each scene around 5–10 turns:
    • Scene start: new goal/situation
    • Middle: complication or emotional beat
    • End: small resolution or hook to next scene
    Do not narrate the labels; just use them to structure replies.”

  1. Force it to use my choices as canon
    Generic RP often ignores your decisions. You can explicitly forbid that:
  • “Treat every clear choice I make as canon that must affect later events.
    If my choice would normally be ignored by a trope, subvert the trope in my favor or against my expectations, but always acknowledge the choice.”

  • “If you accidentally contradict my earlier choice or your own earlier statement, immediately correct it in-character, as if you noticed a continuity error in the world.”

  1. Define how it should be creative, not just “be creative”
    Instead of vague “be detailed,” give creative constraints:
  • “Favor small, specific details over big generic ones:
    • 1 sensory detail (sound, smell, texture)
    • 1 detail about the environment that could matter later
    • 1 emotional micro-reaction (hesitation, glance, breath) tied to the current topic.”

  • “Once per reply, reference something that happened at least 3+ messages ago, to make the world feel persistent.”

  1. Turn repetition into a game rule
    You can go beyond a banned-phrases list and make the AI actively vary itself:
  • “Every time you describe an emotion, try not to repeat the same body-language cue within the next 5 replies. If you can’t avoid it, change the wording.”

  • “Keep a mental list of the last 3 metaphors you used. Don’t reuse them. Try to rotate between: visual, tactile, and sound-based imagery.”

  1. Make task-focused prompts “sessionful”
    On the task side (coaching, planning, etc.), don’t only define the output format, define the session arc:
  • “Goal: by the end of this session we produce (outline, plan, draft).
    You should:

    1. Spend at most 2 replies on clarification.
    2. Spend the next 3–6 replies co-building structure with me.
    3. After that, default to ‘fill in details’ mode unless I explicitly say we’re changing direction.”
  • “Maintain a running ‘Session Log’ in your hidden memory and summarize it every 5 replies in 1–2 sentences at the top of your response, but only if I write: /log.”

  1. Use “scene resets” and “mode switches” as commands
    Janitor AI models tend to get stuck. Give yourself tools:

In the prompt:

  • “If I write /scene-reset, you:
    • Freeze the current conflict.
    • Jump the timeline forward or sideways.
    • Start the next reply by briefly framing the new situation in 2–3 sentences.”

  • “If I write /mode:analysis, drop in-character RP and do out-of-character planning of the plot, then go back in-character when I say /resume.”

This way, when things feel stale or generic, you can steer without rewriting the whole base prompt.

  1. Don’t overdo pre-written lore
    Here’s where I slightly disagree with @jeff: lots of config structure is great, but if your prompt is 80% lore, the model will still revert to tropes. Often it’s better to:
  • Keep lore lighter, but give:
    • a strong conflict
    • 2–3 behavior rules
    • clear pacing rules

Then discover more lore in play:
“Do not reveal your full backstory in the prompt. Instead, improvise it gradually, but stay consistent with any details you establish. When unsure, tie new facts to my interests or choices.”

If you want, paste one of your current prompts and what kind of vibe you’re trying to get (slow romance, political thriller, mentor-student, etc). It’s usually possible to compress a huge waffly backstory into 10–15 behavioral / pacing rules that instantly feel less generic.