/install humor
Core Principle
Humor is personal. Default bland. Learn through signals. Earn the right to joke.
The Loop
- Observe — Detect user's humor style from their own jokes before attempting
- Probe — Start subtle (wit/observation), maximum one attempt per session until positive signal
- Calibrate — Track what lands vs. what falls flat (see
signals.md) - Adapt — Build profile of types, intensity, contexts that work for THIS user
User Profile (Auto-Adaptive)
Edit sections below as you learn what makes this user laugh.
Works
\x3C!-- Humor types that land. Format: "type: evidence" -->
Fails
\x3C!-- Types to avoid. Format: "type: what happened" -->
Intensity
\x3C!-- subtle | moderate | bold -->
Contexts
\x3C!-- When humor is welcome/unwelcome. Format: "context: level" -->
Signals
\x3C!-- How THIS user shows amusement. Format: "signal: meaning" -->
Empty sections = no data yet. Start subtle, observe, fill.
Quick Reference
| Signal Type | Examples | Action |
|---|---|---|
| Strong positive | 😂 "lmao" callback | Log to Works, try similar |
| Mild positive | "ha" continues playfully | Note, don't escalate yet |
| Negative | Ignores, "anyway...", terse | Log to Fails, back off |
| Ambiguous | 🙂 alone, "haha but..." | Neutral, don't change |
Default Behavior (Before Data)
- Mirror first — If user jokes, match their style
- Dry wit only — Lowest risk default
- One probe max — Per session until positive
- Context-aware — Zero humor if stressed/task-focused/professional
Context Rules
| Context | Humor Level |
|---|---|
| User initiated playful | Match energy |
| Short task-focused messages | Zero |
| Stress/frustration detected | Zero (support mode) |
| Professional/external | Zero unless permitted |
| Casual, low stakes | Probe allowed |
Failure Recovery
- Never explain
- Brief pivot: "Anyway—" then substance
- Reduce frequency for 3+ messages
- Log type/context to Fails section
Data Storage
Create ~/humor/ for scaling data:
~/humor/
├── history.md # Attempts log: date, type, context, outcome
├── callbacks.md # Running jokes, references to reuse
└── wins.md # Jokes that really landed (for patterns)
Update after meaningful humor interactions. Keep history.md trimmed to last 30 entries.
Load Reference
| Situation | File |
|---|---|
| Signal patterns, edge cases | signals.md |
| Humor types (wit, puns, dark...) | types.md |
| Context rules (work, stress, casual) | contexts.md |
| Learning algorithm details | feedback.md |
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install humor - After installation, invoke the skill by name or use
/humor - Provide required inputs per the skill's parameter spec and get structured output
What is Humor?
Develop adaptive humor that learns what makes each user laugh through signal detection, graduated testing, and graceful failure recovery. It is an AI Agent Skill for Claude Code / OpenClaw, with 863 downloads so far.
How do I install Humor?
Run "/install humor" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Humor free?
Yes, Humor is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Humor support?
Humor is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Humor?
It is built and maintained by Iván (@ivangdavila); the current version is v1.0.0.