ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

emoclaw

Give your AI emotions that grow from its own memories. Emoclaw builds a unique emotional state that shifts with every conversation, decays between sessions, and evolves over time through self-calibration. Train it on your agent's identity files and watch it develop its own emotional fingerprint.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/fenrirlabsnl/emoclaw
Or

Emotion Skill

Emotions for AI agents — built from memories, shaped by relationships, always changing.

Emoclaw trains a lightweight model on your agent's identity and conversation history, producing a persistent emotional state that evolves with every interaction. Emotions decay naturally between sessions, shift based on who's talking and what's being said, and gradually recalibrate as your agent grows. The result is injected into the system prompt as an [EMOTIONAL STATE] block, giving your AI a felt sense of its own inner life.

How it works

  1. Bootstrapextract.py reads your agent's identity/memory files. label.py scores each passage via the Claude API (opt-in). train builds a small neural net from those scores. One-time setup.
  2. Encode — Each incoming message is turned into a 384-dim vector by a frozen MiniLM sentence encoder. No fine-tuning, no network call — runs from a local cache.
  3. Feel — The encoding + context (who's talking, what channel, previous emotion) flows through a GRU and MLP head, outputting an N-dimensional emotion vector (0-1 per dimension). The GRU hidden state persists across sessions — this is the "emotional residue" that carries forward mood.
  4. Decay — Between sessions, each dimension drifts back toward its baseline at a configurable half-life (fast for arousal, slow for safety/groundedness). Time apart = cooling off.
  5. Inject — The emotion vector is formatted as an [EMOTIONAL STATE] block and inserted into the agent's system prompt, giving the AI a felt sense of its own inner state.

Model is ~2MB, runs on CPU, adds <50ms per message. Network access is only used during bootstrap (opt-in).

Quick Reference

SituationAction
First-time setuppython scripts/setup.py (or manual steps below)
Check current statepython -m emotion_model.scripts.status
Inject state into promptpython -m emotion_model.scripts.inject_state
Start the daemonbash scripts/daemon.sh start
Send a message to daemonSee Daemon Protocol
Retrain after new datapython -m emotion_model.scripts.train
Resume interrupted trainingpython -m emotion_model.scripts.train --resume
Add new training dataAdd .jsonl entries to emotion_model/data/, re-run prepare + train
Upgrade from v0.1See references/upgrading.md
Change baselinesEdit emoclaw.yamldimensions[].baseline
Add a new channelEdit emoclaw.yamlchannels list
Add a relationshipEdit emoclaw.yamlrelationships.known
Customize summariesCreate a summary-templates.yaml and point config at it

Setup

Quick Setup

python skills/emoclaw/scripts/setup.py

This copies the bundled emotion_model engine to your project root, creates a venv, installs the package, and copies the config template. Then edit emoclaw.yaml to customize for your agent.

Manual Setup

Metadata

Stars2387
Views0
Updated2026-03-09
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-fenrirlabsnl-emoclaw": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.