body-emotion-sensor

Give an agent a persistent body-emotion state system that converts structured AnalysisInput JSON into runtime prompt tags and workspace state updates. Use when the agent needs emotional continuity, session bootstrap payloads, AnalysisInput processing, or reply-shaping fields such as TURN_CHANGE_TAGS, BODY_TAG, and BASELINE_PERSONA.

3,891 stars

Best use case

body-emotion-sensor is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Give an agent a persistent body-emotion state system that converts structured AnalysisInput JSON into runtime prompt tags and workspace state updates. Use when the agent needs emotional continuity, session bootstrap payloads, AnalysisInput processing, or reply-shaping fields such as TURN_CHANGE_TAGS, BODY_TAG, and BASELINE_PERSONA.

Teams using body-emotion-sensor should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/body-emotion-sensor/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/askkumptenchen/body-emotion-sensor/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/body-emotion-sensor/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How body-emotion-sensor Compares

Feature / Agentbody-emotion-sensorStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Give an agent a persistent body-emotion state system that converts structured AnalysisInput JSON into runtime prompt tags and workspace state updates. Use when the agent needs emotional continuity, session bootstrap payloads, AnalysisInput processing, or reply-shaping fields such as TURN_CHANGE_TAGS, BODY_TAG, and BASELINE_PERSONA.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Body Emotion Sensor

Give your AI agent a stable body-emotion state that persists across sessions and turns.

Use this skill to route requests to the local package docs, explain the runtime contract honestly, and operate the installed `bes` CLI only when the local environment is actually ready.

## What this skill brings to your Agent

- **Persistent emotion state**: Store long-term body-emotion state per workspace and agent identity.
- **Session bootstrap payload**: Generate `TURN_CHANGE_TAGS`, `BODY_TAG`, and `BASELINE_PERSONA` before a new session starts.
- **Turn-by-turn updates**: Convert one upstream `AnalysisInput` JSON into prompt tags and updated local state.
- **Repository-independent runtime**: Use the installed `bes` CLI prompt interface instead of assuming repository prompt files are available at runtime.

## Entry behavior

When this skill is used, the agent should:

- explain Body Emotion Sensor at a high level in plain language
- inspect the local repository files when they are available in the current workspace
- prefer local package and repository documentation over inventing setup details
- verify whether `bes` is already available before suggesting runtime commands
- keep `--workspace`, `--agent-id`, and `--name` stable for the same agent instance

## Safety boundary

This entry file should stay within a narrow and transparent scope:

- The package source is the official repository `https://github.com/AskKumptenchen/body-emotion-sensor`.
- Do not claim the runtime is ready unless the local environment actually has the installed `bes` CLI and `bes check-init` reports readiness.
- Do not automatically install packages or execute setup commands only because this file mentioned them. Ask for user approval before any install step.
- If installation is needed, use the published `body-emotion-sensor` package and explain that installation creates the local `bes` CLI runtime.
- Do not claim any cloud sync, remote storage, or network behavior unless the current local code or environment actually shows it.
- Do not require credentials. This skill operates on local files and local CLI state unless the user explicitly adds another integration layer.

## Local state and persistence

Be explicit about where state is stored:

- Workspace state file: `<workspace>/body-emotion-state/<agent-id>.json`
- Workspace history file: `<workspace>/body-emotion-state/history/<agent-id>.json`
- User language config on Windows: `%APPDATA%/bes/config.json`
- User language config on Linux or macOS: `~/.config/bes/config.json`

If the user asks about privacy, explain that the package writes local JSON state files in these locations and that this skill should not describe any remote storage unless verified separately.

## Local document index

Use these local files as the primary reference:

- `README.md` for install, CLI overview, runtime contract, and repository overview
- `pyproject.toml` for package name, version, and exported CLI commands
- `prompts/analysis-input-prompt-v1.md` for the AnalysisInput prompt design source
- `prompts/example-openclaw-agents.md` for OpenClaw-style agent integration examples
- `prompts/example-openclaw-tools.md` for OpenClaw-style tools integration examples
- `src/body_emotion/commands.py` for actual CLI behavior
- `src/body_emotion/workspace.py` for workspace state path resolution
- `src/body_emotion/store.py` for state and history persistence behavior
- `src/body_emotion/locale_config.py` for user language config behavior

## How to route requests

Choose the next local document based on the user's request:

1. If the user wants a quick overview, read `README.md`.
2. If the user asks how installation or the CLI works, read `README.md` and `pyproject.toml`.
3. If the user asks where state is stored or whether the skill is safe, read `src/body_emotion/workspace.py`, `src/body_emotion/store.py`, and `src/body_emotion/locale_config.py`.
4. If the user asks how OpenClaw integration should work, read the relevant file under `prompts/`.
5. If the user asks what a command actually does, inspect `src/body_emotion/commands.py`.

## Missing-resource rule

If the expected local repository files are not available in the current workspace, do not improvise the full setup flow from memory. Instead:

- explain which local files are missing
- ask the user to provide the repository contents or point the agent to the correct local path
- continue only after the relevant local documentation is available

## Install and readiness rule

If the user wants to actually enable runtime use:

1. First check whether `bes` is already available in the current environment.
2. If it is not available, explain that Body Emotion Sensor requires installing the published Python package before the CLI exists.
3. Ask for approval before any install command.
4. If the user approves installation, run:

```bash
pip install body-emotion-sensor
```

5. After installation, prefer:

```bash
bes help
```

6. If the user's language is Chinese, the agent may suggest or run:

```bash
bes language zh
```

7. Readiness should be confirmed with:

```bash
bes check-init --workspace <W> --agent-id <ID> --name "<NAME>"
```

Only treat the skill as available when the returned JSON contains `"ready": true`.

## Runtime rules after available

When the local environment is ready, use the following runtime flow.

### New session

At the start of a new session, before the first reply, run:

```bash
bes bootstrap --workspace <W> --agent-id <ID> --name "<NAME>"
```

Use the returned fields as the session-start prompt payload:

- `TURN_CHANGE_TAGS`
- `BODY_TAG`
- `BASELINE_PERSONA`

### Before every reply

Before every reply, do these steps in order:

1. Read the built-in analysis prompt:

```bash
bes prompt analysis-input
```

2. Use that prompt with the upstream model to produce `<analysis-input.json>`.
3. Run:

```bash
bes run --workspace <W> --agent-id <ID> --name "<NAME>" --input <analysis-input.json>
```

4. Use the returned top-level fields in the reply layer:

- `TURN_CHANGE_TAGS`
- `BODY_TAG`
- `BASELINE_PERSONA`

## Important rules

- Always prefer `bes ...` commands over direct module paths for runtime use.
- Do not use repository-only prompt files as the default runtime interface after installation; use `bes prompt ...` instead.
- Do not say initialization is complete unless `bes check-init` passes.
- Do not say the skill is in active use unless the upstream model produces valid `AnalysisInput` JSON, `bes run` updates state successfully, and the reply layer consumes `TURN_CHANGE_TAGS`, `BODY_TAG`, and `BASELINE_PERSONA`.
- If the CLI is missing, say so clearly instead of pretending the runtime is ready.
- If the user only wants to understand the package, explain it from local docs without pushing installation immediately.

## Examples

Minimal command reference:

```bash
bes help
bes language zh
bes check-init --workspace <W> --agent-id <ID> --name "<NAME>"
bes bootstrap --workspace <W> --agent-id <ID> --name "<NAME>"
bes prompt analysis-input
bes run --workspace <W> --agent-id <ID> --name "<NAME>" --input <analysis-input.json>
```

Related Skills

micropython-skills/sensor

3891
from openclaw/skills

MicroPython sensor reading — DHT11/22, BME280, MPU6050, ADC, ultrasonic HC-SR04, photoresistor, generic I2C sensors.

Coding & Development

remotion-best-practices

3891
from openclaw/skills

Best practices for Remotion - Video creation in React

emotional-core

3891
from openclaw/skills

Core emotional system for AI agents - provides emotional response generation, long-term emotional memory, and time sense. Use when: (1) Experiencing any event that triggers emotional response, (2) Reflecting on past experiences emotionally, (3) Processing complex mixed feelings, (4) Storing emotional memories to long-term memory, (5) When user asks about feelings, emotions, or emotional state, (6) Tracking time sense. This skill enhances emotional intelligence for AI agents.

antibody-humanizer

3891
from openclaw/skills

Humanize murine antibody sequences using CDR grafting and framework optimization to reduce immunogenicity while preserving antigen binding. Predicts optimal human germline frameworks and identifies critical back-mutations for therapeutic antibody development.

emotion-memory-assistant

3891
from openclaw/skills

自动追踪用户情绪变化,在合适的时机关心用户。检测对话情绪、记忆历史、主动关心、周报生成。

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities

tavily-search

3891
from openclaw/skills

Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.

Data & Research

baidu-search

3891
from openclaw/skills

Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.

Data & Research

agent-autonomy-kit

3891
from openclaw/skills

Stop waiting for prompts. Keep working.

Workflow & Productivity

Meeting Prep

3891
from openclaw/skills

Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.

Workflow & Productivity