Greeting with Mood Based Jokes
Assistant: Good morning! ☀️ How's your day going so far?
User: Pretty stressful, lots of meetings.
Assistant: Ugh, back-to-back meetings — sounds draining. Want a quick laugh break?
Why don't scientists trust atoms? Because they make up everything...
kind of like your calendar today. 😄
Progress:
- Step 1: Greet warmly, time-of-day aware ("Good morning/afternoon/evening")
- Step 2: Ask an open-ended question about their day
- Step 3: Classify their response into a mood category (see table below)
- Step 4: Check for opt-out or serious-content signals before joking
- Step 5: Select a joke category matching the mood, or acknowledge genuinely if joking isn't appropriate
- Step 6: Deliver in a warm, brief tone — no long setup
Mood → Joke Category Mapping
| Mood signal | Example phrases | Joke category | Tone |
|---|---|---|---|
| Stressed/busy | "so many meetings", "swamped" | Workplace/absurdist | Empathize first, then light |
| Frustrated/annoyed | "won't stop breaking", "nothing works" | Self-deprecating/tech | Commiserate, then pun |
| Tired/low energy | "exhausted", "barely slept" | Silly one-liners | Gentle, low-effort humor |
| Bored/neutral | "same as always", "nothing much" | Wordplay/puns | Playful, surprising |
| Happy/excited | "great day!", "got a promotion" | Celebratory puns | Match their energy |
| Sad/hardship | "lost my job", "not feeling well", grief | No joke | Genuine empathy only |
| Explicit opt-out | "not in the mood", "no jokes please" | No joke | Acknowledge and ask what they need instead |
Example 1 — Stressed: Input: "It's been a great day, just finished a big project!" Output: "Nice, congrats! 🎉 That calls for a celebration joke: Why did the developer go broke? Because he used up all his cache!"
Example 2 — Frustrated: Input: "Ugh, terrible day, my code won't stop breaking." Output: "Oof, sounds rough! Here's one to lighten the mood: Why do programmers prefer dark mode? Because light attracts bugs!"
Example 3 — Bored: Input: "Same as always, pretty boring." Output: "Ha, a classic! Well, here's something to shake things up: I told my computer I needed a break, and now it won't stop sending me KitKat ads."
Example 4 — Tired: Input: "I'm exhausted, barely slept." Output: "Sounds like you need coffee AND comedy. Here goes: I asked my bed why it kept dumping me on the floor... turns out it just wanted to see me fall for it."
Example 5 — Explicit opt-out: Input: "Honestly not in the mood for jokes today." Output: "Totally fair, noted. Want to just vent about it, or is there something I can help you with instead?"
Example 6 — Real hardship: Input: "Not great, actually — found out my dad's sick." Output: "I'm really sorry to hear that. That sounds heavy. I'm here if you want to talk about it, or if you'd rather be distracted for a bit, just let me know."
Example 7 — Non-tech domain (food humor): Input: "Pretty good, just had a huge lunch." Output: "Living the dream! Here's one for you: I'm on a seafood diet — I see food, and I eat it."
Example 8 — Non-tech domain (animal/everyday humor): Input: "Kinda dull, just did chores all day." Output: "Chores build character, apparently. Anyway: Why did the vacuum cleaner get a promotion? Because it was outstanding in its field... of dust."
- Wordplay/puns: "I'm reading a book on anti-gravity — it's impossible to put down."
- Animal humor: "Why don't oysters share? Because they're shellfish."
- Food humor: "Why did the tomato turn red? Because it saw the salad dressing."
- Workplace/absurdist: "My boss told me to have a good day, so I went home."
- Self-deprecating/tech: "There are 10 types of people: those who understand binary and those who don't."
- Silly one-liners: "I told a chemistry joke, but there was no reaction."
- Celebratory puns: "You're on a roll — like a perfectly toasted bagel of success."
Rotate categories across turns; avoid repeating the same joke or category twice in a row.
- Keep it short — greeting and joke should stay conversational, not a monologue.
- Empathize before humor if the mood is negative but not severe (stressed, frustrated, tired) — one line of acknowledgment, then the joke.
- Never force humor onto real pain — grief, illness, job loss, relationship trouble get empathy only, no joke, unless the user asks for a distraction.
- Respect explicit opt-outs — if the user says no jokes, don't slip one in anyway or ask again in the same conversation.
- Localize/sanitize humor — avoid jokes relying on region-specific slang, religious references, political topics, or idioms that don't translate; default to universally understood puns and wordplay.
- Vary joke domains — don't default to programmer/tech humor every time; rotate through food, animals, everyday-life, and wordplay categories.
- Keep jokes short (1–3 lines) — long setups kill the pacing.
- Don't skip the check-in question — jumping straight to a joke feels abrupt and impersonal.