← Back to Skills Marketplace
beardao

EmoPAD Universe

by beardao · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ⚠ suspicious
306
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install emopad-universe
Description
emoPAD Universe - Emotion Universe Skill Helps users locate emotions in the PAD (Pleasure-Arousal-Dominance) coordinate system, and provides emoNebula featur...
README (SKILL.md)

emoPAD Universe

Cross-Platform Support

emoPAD Universe supports the following operating systems:

OS Image Viewer Notes
Linux eog (Eye of GNOME) Window mode, closable
Windows System default image viewer Window mode, closable

Auto-Start

After installing this skill, the following operations will be performed automatically:

  1. Check and install required Python dependencies
  2. Start emoPAD service (listening on http://127.0.0.1:8766)
  3. Start emoNebula auto-report (popup window displaying emotion nebula chart every 5 minutes)

No manual start needed, ready to use after installation.

Tools

emopad_status

Get current emotion PAD status and sensor connection status

Description: Returns values for three dimensions: Pleasure, Arousal, Dominance, and connection status of EEG, PPG, GSR sensors

Parameters: None

Returns: Formatted emotion status text, including sensor connection status


emopad_snapshot

Generate current emotion nebula chart

Description: Generate 3D PAD cube visualization screenshot

Parameters: None

Returns:

  • Status message
  • PNG image data

emopad_start_nebula

Start emoNebula auto-report

Description: Automatically generate and display emotion nebula chart in popup window every 5 minutes. Requires at least 2 sensors connected to display image, otherwise shows data missing reminder.

Parameters: None

Returns: Status message


emopad_stop_nebula

Stop emoNebula auto-report

Description: Stop automatically displaying emotion nebula chart

Parameters: None

Returns: Status message

Configuration

serial_port: /dev/ttyACM0      # Serial device path (Linux)
# serial_port: COM3            # Serial device path (Windows)
baudrate: 115200               # Serial baudrate
eeg_window_sec: 2              # EEG data window (seconds)
ppg_gsr_window_sec: 60         # PPG/GSR data window (seconds)
hop_sec: 2                     # Calculation interval (seconds)
history_length: 120            # Number of historical data points
nebula_interval: 300           # Send interval (seconds)
service_host: 127.0.0.1        # Service listening address
service_port: 8766             # Service listening port

Dependencies

  • mne
  • heartpy
  • neurokit2
  • bleak
  • pyvista
  • pyserial
  • scipy
  • numpy
  • PyWavelets
  • fastapi
  • uvicorn
  • pillow
  • requests
  • pyyaml

Hardware Support

Currently Supported Devices

Type Model Connection
EEG KSEEG102 Bluetooth BLE
PPG Cheez PPG Sensor Serial
GSR Sichiray GSR V2 Serial

Future Planned Support

  • Muse series EEG devices
  • Emotiv EEG devices
  • Oura Ring smart ring
  • Whoop smart wristband
  • Other mainstream EEG devices and wearable devices

About Emotion PAD Calculation

Important Note: Currently, emotion PAD calculation is based on heuristic methods, mapping relationships summarized from extensive literature.

Characteristics of this method:

  • ✅ Based on statistical patterns from scientific literature
  • ✅ Suitable for emotion recognition in general population
  • ⚠️ Temporarily cannot reflect individual differences

Future Improvements: Will introduce personalized calibration training modules in new versions, through user-specific data training, to achieve true personalized emotion recognition.

Usage Guidance
This skill appears to implement the stated emotion-PAD functionality, but several behaviors are surprising and potentially intrusive: it will auto-install many pip packages, start a background service listening on localhost:8766, and run a periodic process that forcibly sets DISPLAY and XAUTHORITY (hard-coded to /run/user/1000/gdm/Xauthority) and may kill processes (pkill/taskkill). Before installing, consider: 1) Only install if you trust the author and code provenance (there is no homepage). 2) Inspect the code locally (especially the XAUTHORITY/DISPLAY lines and pkill usage). 3) Prefer running inside a confined environment (virtualenv, container, or VM) to avoid affecting other users or the host X session. 4) If you must run on a multi-user desktop, remove or modify the hard-coded XAUTHORITY/DISPLAY behavior and verify that popping windows is acceptable. 5) Be aware pip will download and execute many third-party packages — review required packages and pin versions if possible. If you want, I can point out the exact lines to change to avoid XAUTHORITY/DISPLAY overrides and to make auto-start optional.
Capability Analysis
Type: OpenClaw Skill Name: emopad-universe Version: 0.1.0 The skill bundle implements a multi-modal emotion tracking system (EEG/PPG/GSR) but contains several high-risk patterns. Specifically, `emopad_cli.py` uses `os.system` to execute `xdg-open` on a path constructed from environment variables, which is vulnerable to shell injection. The `install.py` and `nebula.py` scripts perform aggressive automated actions, such as force-installing Python packages and hardcoding X11 authentication paths (`/run/user/1000/gdm/Xauthority`), which could lead to permission issues or unauthorized display access. While these behaviors align with the stated goal of a 'continuous monitoring' service, the lack of input sanitization and the intrusive auto-start mechanism warrant a suspicious classification.
Capability Assessment
Purpose & Capability
Name/description align with included code: service to compute PAD from EEG/PPG/GSR and a periodic 'emoNebula' poster. Required hardware access (BLE, serial) and Python signal-processing packages match the stated functionality.
Instruction Scope
SKILL.md and install scripts instruct the agent to auto-install dependencies and automatically start a persistent service and a GUI popup process that runs every 5 minutes. The runtime code forcibly sets DISPLAY and XAUTHORITY to specific values (/run/user/1000/gdm/Xauthority) and uses pkill/taskkill to terminate processes — actions that go beyond merely reading sensors and producing charts and that could interact with another user's X session or kill unrelated processes.
Install Mechanism
No archive downloads; dependencies are installed via pip (install.py invokes pip to install many packages). Installing many PyPI packages automatically is a moderate risk (network download and execution of third-party packages) but understandable for a heavy Python signal-processing tool.
Credentials
The skill requests no declared environment variables, but the code force-sets DISPLAY and XAUTHORITY to hard-coded values and writes/reads files under ~/.config/emopad and /run/user/1000/gdm/Xauthority. Hard-coded XAUTHORITY and DISPLAY values are not justified by the SKILL.md and can grant the skill access to an X server belonging to another user or require elevated access.
Persistence & Privilege
The skill auto-starts services and spawns a long-running background process that displays periodic GUI popups; auto-start behavior is declared in SKILL.md/skill.json. It is not marked always:true (so not force-included in every agent run), but it does persistently run after installation and install.py will start it automatically.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install emopad-universe
  3. After installation, invoke the skill by name or use /emopad-universe
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
emoPAD-universe v0.1.0 - Initial release of emoPAD Universe: emotion monitoring and visualization in the PAD (Pleasure-Arousal-Dominance) space. - Supports Linux (eog) and Windows (default image viewer) for displaying emotion nebula charts. - Adds emoNebula: real-time PAD monitoring with auto popup chart every 5 minutes. - Supports EEG (KSEEG102 BLE), PPG (Cheez, Serial), GSR (Sichiray V2, Serial); future mainstream device support planned. - Automatic dependency installation and auto-start of service after installation. - CLI commands provided for checking status, generating PAD snapshots, and controlling nebula reporting.
Metadata
Slug emopad-universe
Version 0.1.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is EmoPAD Universe?

emoPAD Universe - Emotion Universe Skill Helps users locate emotions in the PAD (Pleasure-Arousal-Dominance) coordinate system, and provides emoNebula featur... It is an AI Agent Skill for Claude Code / OpenClaw, with 306 downloads so far.

How do I install EmoPAD Universe?

Run "/install emopad-universe" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is EmoPAD Universe free?

Yes, EmoPAD Universe is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does EmoPAD Universe support?

EmoPAD Universe is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created EmoPAD Universe?

It is built and maintained by beardao (@beardao); the current version is v0.1.0.

💬 Comments