skills$openclaw/amygdala-memory
impkind7.0kā˜…

by impkind

amygdala-memory – OpenClaw Skill

amygdala-memory is an OpenClaw Skills integration for data analytics workflows. Emotional processing layer for AI agents. Persistent emotional states that influence behavior and responses. Part of the AI Brain series.

7.0k stars3.6k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026data analytics

Skill Snapshot

nameamygdala-memory
descriptionEmotional processing layer for AI agents. Persistent emotional states that influence behavior and responses. Part of the AI Brain series. OpenClaw Skills integration.
ownerimpkind
repositoryimpkind/amygdala-memory
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @impkind/amygdala-memory
last updatedFeb 7, 2026

Maintainer

impkind

impkind

Maintains amygdala-memory in the OpenClaw Skills directory.

View GitHub profile
File Explorer
17 files
.
prompts
encode-emotions.md
2.6 KB
scripts
decay-emotion.sh
2.4 KB
encode-pipeline.sh
6.5 KB
generate-dashboard.sh
23.5 KB
get-state.sh
2.1 KB
load-emotion.sh
4.7 KB
preprocess-emotions.sh
4.4 KB
sync-state.sh
5.4 KB
update-state.sh
6.1 KB
update-watermark.sh
2.0 KB
visualize.sh
3.3 KB
_meta.json
813 B
install.sh
4.0 KB
README.md
7.0 KB
SKILL.md
8.8 KB
SKILL.md

name: amygdala-memory description: "Emotional processing layer for AI agents. Persistent emotional states that influence behavior and responses. Part of the AI Brain series." metadata: openclaw: emoji: "šŸŽ­" version: "1.6.1" author: "ImpKind" repo: "https://github.com/ImpKind/amygdala-memory" requires: os: ["darwin", "linux"] bins: ["jq", "awk"] tags: ["memory", "emotions", "ai-brain"]

Amygdala Memory šŸŽ­

Emotional processing for AI agents. Part of the AI Brain series.

Give your AI agent persistent emotional states that carry across sessions. Not just performing emotions — having them.

The Problem

Current AI agents:

  • āœ… Remember facts (with hippocampus)
  • āŒ Don't have persistent emotional states
  • āŒ Start each session emotionally "blank"
  • āŒ Can describe emotions but don't feel differently

Memory without emotion is just a database. The amygdala adds weight — this made me happy, that frustrated me, this person brings warmth.

The Solution

Track five emotional dimensions that persist and decay over time:

DimensionWhat It MeasuresRange
ValencePositive ↔ Negative mood-1.0 to 1.0
ArousalCalm ↔ Excited/Alert0.0 to 1.0
ConnectionDistant ↔ Close/Bonded0.0 to 1.0
CuriosityBored ↔ Fascinated0.0 to 1.0
EnergyDepleted ↔ Energized0.0 to 1.0

Quick Start

1. Install

cd ~/.openclaw/workspace/skills/amygdala-memory
./install.sh --with-cron

This will:

  • Create memory/emotional-state.json with baseline values
  • Generate AMYGDALA_STATE.md (auto-injected into sessions!)
  • Set up cron for automatic decay every 6 hours

2. Check current state

./scripts/get-state.sh
# šŸŽ­ Emotional State
# Valence:    0.20
# Arousal:    0.30
# Connection: 0.50
# ...

./scripts/load-emotion.sh
# šŸŽ­ Current Emotional State:
# Overall mood: neutral, calm and relaxed
# Connection: moderately connected
# ...

3. Log emotions

./scripts/update-state.sh --emotion joy --intensity 0.8 --trigger "completed a project"
# āœ… valence: 0.20 → 0.35 (delta: +0.15)
# āœ… arousal: 0.30 → 0.40 (delta: +0.1)
# šŸŽ­ Logged emotion: joy (intensity: 0.8)

4. Set up decay (optional cron)

# Every 6 hours, emotions drift toward baseline
0 */6 * * * ~/.openclaw/workspace/skills/amygdala-memory/scripts/decay-emotion.sh

Scripts

ScriptPurpose
install.shSet up amygdala-memory (run once)
get-state.shRead current emotional state
update-state.shLog emotion or update dimension
load-emotion.shHuman-readable state for session context
decay-emotion.shReturn to baseline over time
sync-state.shGenerate AMYGDALA_STATE.md for auto-injection
encode-pipeline.shLLM-based emotional encoding from transcripts
preprocess-emotions.shExtract emotional signals from session history
update-watermark.shTrack processed transcript position
generate-dashboard.shGenerate HTML dashboard (auto-runs on sync)
visualize.shTerminal ASCII visualization

Automatic Emotional Encoding (v1.5.0+)

The amygdala can now automatically detect and log emotions from your conversation history using an LLM-based pipeline:

# Run the encoding pipeline
./scripts/encode-pipeline.sh

# This will:
# 1. Extract new signals since last run (watermark-based)
# 2. Score emotional content using rule-based patterns
# 3. Spawn a sub-agent for semantic emotional detection
# 4. Update emotional-state.json with detected emotions

Set up automatic encoding (cron)

# Every 3 hours, process new conversations for emotional content
0 */3 * * * ~/.openclaw/workspace/skills/amygdala-memory/scripts/encode-pipeline.sh

This means your emotional state updates automatically based on what happens in conversations — no manual logging needed.

Visualization (v1.6.0+)

Terminal

./scripts/visualize.sh

šŸŽ­ Emotional State  šŸ˜„
═══════════════════════════════════════════════
Valence:      [ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–‘ā–‘]  +0.86
Arousal:      [ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–‘ā–‘ā–‘]   0.86
Connection:   [ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–‘]   0.97  šŸ’•
...

HTML Dashboard (Unified Brain Dashboard)

./scripts/generate-dashboard.sh
open ~/.openclaw/workspace/brain-dashboard.html

Auto-detects installed brain skills and shows tabs:

  • šŸŽ­ Emotions — Amygdala (always shown)
  • 🧠 Memory — Hippocampus (if memory/index.json exists)
  • ⭐ Drive — VTA (if memory/reward-state.json exists)

Avatar & Name: Reads from IDENTITY.md:

# IDENTITY.md
- **Name:** YourAgent
- **Avatar:** avatar.png

The dashboard auto-regenerates on every cron run.

After Installation (for agents)

When you install this skill, notify the user about the dashboard:

šŸŽ­ Amygdala installed!

View your agent's emotional state in the Brain Dashboard: ~/.openclaw/workspace/brain-dashboard.html

Auto-Injection (Zero Manual Steps!)

After install, AMYGDALA_STATE.md is created in your workspace root.

OpenClaw automatically injects all *.md files from workspace into session context. This means:

  1. New session starts
  2. AMYGDALA_STATE.md is auto-loaded (no manual step!)
  3. You see your emotional state in context
  4. Responses are influenced by your mood

The file is regenerated whenever decay-emotion.sh runs (via cron every 6h).

Supported Emotions

When you log an emotion, it automatically adjusts the relevant dimensions:

EmotionEffect
joy, happiness, delight, excitement↑ valence, ↑ arousal
sadness, disappointment, melancholy↓ valence, ↓ arousal
anger, frustration, irritation↓ valence, ↑ arousal
fear, anxiety, worry↓ valence, ↑ arousal
calm, peace, contentment↑ valence, ↓ arousal
curiosity, interest, fascination↑ curiosity, ↑ arousal
connection, warmth, affection↑ connection, ↑ valence
loneliness, disconnection↓ connection, ↓ valence
fatigue, tiredness, exhaustion↓ energy
energized, alert, refreshed↑ energy

Integration with OpenClaw

Add to session startup (AGENTS.md)

## Every Session
1. Load hippocampus: `~/.openclaw/workspace/skills/hippocampus/scripts/load-core.sh`
2. **Load emotional state:** `~/.openclaw/workspace/skills/amygdala-memory/scripts/load-emotion.sh`

Log emotions during conversation

When something emotionally significant happens:

~/.openclaw/workspace/skills/amygdala-memory/scripts/update-state.sh \
  --emotion connection --intensity 0.7 --trigger "deep conversation with user"

State File Format

{
  "version": "1.0",
  "lastUpdated": "2026-02-01T02:45:00Z",
  "dimensions": {
    "valence": 0.35,
    "arousal": 0.40,
    "connection": 0.50,
    "curiosity": 0.60,
    "energy": 0.50
  },
  "baseline": {
    "valence": 0.1,
    "arousal": 0.3,
    "connection": 0.4,
    "curiosity": 0.5,
    "energy": 0.5
  },
  "recentEmotions": [
    {
      "label": "joy",
      "intensity": 0.8,
      "trigger": "building amygdala together",
      "timestamp": "2026-02-01T02:50:00Z"
    }
  ]
}

Decay Mechanics

Emotions naturally return to baseline over time:

  • Decay rate: 10% of distance to baseline per run
  • Recommended schedule: Every 6 hours
  • Effect: Strong emotions fade, but slowly

After 24 hours without updates, a valence of 0.8 would decay to ~0.65.

AI Brain Series

PartFunctionStatus
hippocampusMemory formation, decay, reinforcementāœ… Live
amygdala-memoryEmotional processingāœ… Live
vta-memoryReward and motivationāœ… Live
basal-ganglia-memoryHabit formation🚧 Development
anterior-cingulate-memoryConflict detection🚧 Development
insula-memoryInternal state awareness🚧 Development

Philosophy

Can an AI feel emotions, or only simulate them?

Our take: If emotional state influences behavior, and the system acts as if it feels... does the distinction matter? Functional emotions might be the only kind that exist for any system — biological or artificial.


Built with ā¤ļø by the OpenClaw community

README.md

šŸŽ­ Amygdala Memory

Emotional processing layer for AI agents. Part of the AI Brain series.

ClawdHub License: MIT

Give your AI agent persistent emotional states that carry across sessions. Not just performing emotions — having them.

The Problem

Current AI agents:

  • āœ… Remember facts
  • āŒ Don't have persistent emotional states
  • āŒ Start each session emotionally "blank"
  • āŒ Can describe emotions but don't feel differently

Memory without emotion is just a database.

The Solution

Track five emotional dimensions that persist and decay over time:

DimensionWhat It MeasuresRange
ValencePositive ↔ Negative mood-1.0 to 1.0
ArousalCalm ↔ Excited/Alert0.0 to 1.0
ConnectionDistant ↔ Close/Bonded0.0 to 1.0
CuriosityBored ↔ Fascinated0.0 to 1.0
EnergyDepleted ↔ Energized0.0 to 1.0

Quick Start

# Check current emotional state
./scripts/load-emotion.sh

# šŸŽ­ Current Emotional State:
# Overall mood: slightly positive, calm and relaxed
# Connection: moderately connected
# Curiosity: curious
# Energy: moderate energy
# Log an emotion
./scripts/update-state.sh --emotion joy --intensity 0.8 --trigger "shipped a feature"

# āœ… valence: 0.20 → 0.35 (delta: +0.15)
# āœ… arousal: 0.30 → 0.40 (delta: +0.1)
# šŸŽ­ Logged emotion: joy (intensity: 0.8)

Scripts

ScriptPurpose
get-state.shRead raw emotional dimensions
update-state.shLog emotion or update dimension directly
load-emotion.shHuman-readable state for session context
decay-emotion.shReturn to baseline over time (run via cron)
encode-pipeline.shLLM-based emotional encoding from transcripts
preprocess-emotions.shExtract emotional signals from session history
update-watermark.shTrack processed transcript position
generate-dashboard.shGenerate HTML dashboard
visualize.shTerminal ASCII visualization

Automatic Emotional Encoding (v1.5.0+)

The amygdala can automatically detect emotions from your conversations:

./scripts/encode-pipeline.sh

This:

  1. Extracts new signals since last run (watermark-based)
  2. Scores emotional content using rule-based patterns
  3. Spawns a sub-agent for semantic emotional detection
  4. Updates your emotional state automatically

Set up cron for automatic encoding every 3 hours:

0 */3 * * * ~/.openclaw/workspace/skills/amygdala-memory/scripts/encode-pipeline.sh

Visualization (v1.6.0+)

Terminal

./scripts/visualize.sh

šŸŽ­ Emotional State  šŸ˜„
═══════════════════════════════════════════════
Valence:      [ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–‘ā–‘]  +0.86
Connection:   [ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–‘]   0.97  šŸ’•
...

HTML Dashboard (Unified Brain)

Generated automatically on install and cron runs.

Access at: ~/.openclaw/workspace/brain-dashboard.html

# Generate manually
./scripts/generate-dashboard.sh

# Open (macOS)
open ~/.openclaw/workspace/brain-dashboard.html

# Open (Linux)
xdg-open ~/.openclaw/workspace/brain-dashboard.html

Shows tabs for all brain skills:

  • šŸŽ­ Emotions (Amygdala)
  • 🧠 Memory (Hippocampus — or install prompt)
  • ⭐ Drive (VTA — or install prompt)

Set avatar in IDENTITY.md:

- **Name:** YourAgent
- **Avatar:** avatar.png

Supported Emotions

EmotionEffect
joy, happiness, excitement↑ valence, ↑ arousal
sadness, disappointment↓ valence, ↓ arousal
anger, frustration↓ valence, ↑ arousal
fear, anxiety↓ valence, ↑ arousal
calm, peace↑ valence, ↓ arousal
curiosity, interest↑ curiosity, ↑ arousal
connection, warmth↑ connection, ↑ valence
loneliness↓ connection, ↓ valence
fatigue↓ energy
energized↑ energy

How It Works

SESSION START
    │
    ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│  load-emotion.sh reads  │
│  emotional-state.json   │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
            │
            ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│  Agent sees current     │
│  mood, adjusts tone     │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
            │
            ā–¼
   DURING CONVERSATION
            │
            ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│  Something significant  │──▶ update-state.sh
│  happens emotionally    │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
            │
            ā–¼
      OVER TIME (CRON)
            │
            ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│  decay-emotion.sh       │
│  drifts toward baseline │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

Installation

For OpenClaw

clawdhub install amygdala-memory
cd ~/.openclaw/workspace/skills/amygdala-memory
./install.sh --with-cron

Manual

git clone https://github.com/ImpKind/amygdala-memory.git
cd amygdala-memory
./install.sh --with-cron

The install script will:

  • Create emotional-state.json with baseline values
  • Generate AMYGDALA_STATE.md (auto-injected into sessions!)
  • Set up cron for decay every 6 hours

Optional: Emotional Decay Cron

# Every 6 hours, emotions drift toward baseline
0 */6 * * * ~/.openclaw/workspace/skills/amygdala-memory/scripts/decay-emotion.sh

AI Brain Series

Building cognitive architecture for AI agents:

PartFunctionStatus
hippocampusMemory formation, decay, reinforcementāœ… Live
amygdala-memoryEmotional processingāœ… Live
vta-memoryReward and motivationāœ… Live
basal-ganglia-memoryHabit formation🚧 Coming
anterior-cingulate-memoryConflict detection🚧 Coming
insula-memoryInternal state awareness🚧 Coming

Philosophy

Can an AI feel emotions, or only simulate them?

If emotional state persists, influences behavior, and the system acts as if it feels... does the distinction matter?

Functional emotions might be the only kind that exist — for any system.

Requirements

  • Bash
  • jq
  • awk

License

MIT


Part of the AI Brain series. Built with šŸŽ­ by ImpKind

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install amygdala-memory?

Run openclaw add @impkind/amygdala-memory in your terminal. This installs amygdala-memory into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/impkind/amygdala-memory. Review commits and README documentation before installing.