Feelings Framework
by @blaspat
Provides OpenClaw agents with persistent emotional states, tracking mood and feelings over time to influence response tone and behavior consistently.
clawhub install feelings-frameworkπ About This Skill
Feelings Framework β OpenClaw Skill
What It Does
The feelings-framework skill gives your OpenClaw agent a persistent emotional layer. It tracks mood and feeling intensities over time, applies meaningful triggers, and generates response modifiers you can use to shape how the agent sounds.
This isn't personality acting β it's runtime emotional state that carries across sessions.
When It Activates
How to Use
1. Install
The library is included in this skill. Import from the local path:
import sys
sys.path.insert(0, "/path/to/feelings-framework/library/python")from feelings import FeelingsEngine, JsonFileMemory
Or pip install if published:
pip install feelings-framework
2. Initialize per agent
Each agent gets its own FeelingsEngine instance with its own mood file:
from feelings import FeelingsEngine, JsonFileMemory, Calibrationmemory = JsonFileMemory("feelings_mood.json")
engine = FeelingsEngine(
agent_id="my_agent",
memory=memory,
calibrations={"my_agent": my_calibration},
initial_mood=0.1,
)
3. Session lifecycle
# On session start
state = engine.load()
engine.update("session_started")During session β fire meaningful triggers
engine.update("user_praised") # warmth β
engine.update("request_ignored") # frustration β
engine.update("surprise_bad") # anxiety βBefore generating a response
mods = engine.respond()
mods["warmth"] β use more warm, friendly language
mods["guard"] β be more careful with words
mods["reach_out"] β lean toward connection
On session end
engine.dampen_all(amount=0.03)
engine.save()
4. Per-agent calibration
Different agents can use different calibration tables:
engine.calibrate("agent_a") # warm, engaged
engine.calibrate("agent_b") # cooler, more restrained
Key Concepts
The 9 Feelings
Warmth Β· Coolness Β· Interest Β· Boredom Β· Loneliness Β· Security Β· Anxiety Β· Satisfaction Β· Frustration
OpenClaw-Specific Notes
~/.openclaw/agents//feelings_mood.json examples/openclaw/claire_feelings.py for a full integration exampleFile Structure
feelings-framework/
βββ CORE.md β Full framework specification
βββ library/python/feelings/ β Python package
βββ library/js/feelings/ β JS/ESM package
βββ tests/python/ β Python tests
βββ tests/js/ β JS tests
βββ examples/openclaw/ β OpenClaw integration example