Feelings Framework
/install feelings-framework
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
- When you want agents to have consistent emotional memory
- When interactions should feel like they matter (stakes, anticipation, recall)
- When you want different agents to respond differently to the same event
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, Calibration
memory = 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
- Mood — general emotional baseline (-1 to +1), accumulates over time
- Feeling intensity — per-feeling 0.0–1.0, driven by triggers
- Triggers — named events mapped to feelings + deltas
- Calibration — per-agent trigger overrides
- Escalation — repeated triggers hit harder (up to a max)
- Dampening — feelings slowly decay between significant events
- Response modifiers — nudges for tone/language based on current state
The 9 Feelings
Warmth · Coolness · Interest · Boredom · Loneliness · Security · Anxiety · Satisfaction · Frustration
OpenClaw-Specific Notes
- Mood files for OpenClaw agents live at:
~/.openclaw/agents/\x3Cagent_name>/feelings_mood.json - See
examples/openclaw/claire_feelings.pyfor a full integration example - The example shows how to hook into OpenClaw session lifecycle (start/end)
File 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
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install feelings-framework - After installation, invoke the skill by name or use
/feelings-framework - Provide required inputs per the skill's parameter spec and get structured output
What is Feelings Framework?
Provides OpenClaw agents with persistent emotional states, tracking mood and feelings over time to influence response tone and behavior consistently. It is an AI Agent Skill for Claude Code / OpenClaw, with 107 downloads so far.
How do I install Feelings Framework?
Run "/install feelings-framework" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Feelings Framework free?
Yes, Feelings Framework is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Feelings Framework support?
Feelings Framework is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Feelings Framework?
It is built and maintained by Blasius Patrick (@blaspat); the current version is v1.0.0.