Install
openclaw skills install body-emotion-sensorGive 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.
openclaw skills install body-emotion-sensorGive 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.
TURN_CHANGE_TAGS, BODY_TAG, and BASELINE_PERSONA before a new session starts.AnalysisInput JSON into prompt tags and updated local state.bes CLI prompt interface instead of assuming repository prompt files are available at runtime.When this skill is used, the agent should:
bes is already available before suggesting runtime commands--workspace, --agent-id, and --name stable for the same agent instanceThis entry file should stay within a narrow and transparent scope:
https://github.com/AskKumptenchen/body-emotion-sensor.bes CLI and bes check-init reports readiness.body-emotion-sensor package and explain that installation creates the local bes CLI runtime.Be explicit about where state is stored:
<workspace>/body-emotion-state/<agent-id>.json<workspace>/body-emotion-state/history/<agent-id>.json%APPDATA%/bes/config.json~/.config/bes/config.jsonIf 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.
Use these local files as the primary reference:
README.md for install, CLI overview, runtime contract, and repository overviewpyproject.toml for package name, version, and exported CLI commandsprompts/analysis-input-prompt-v1.md for the AnalysisInput prompt design sourceprompts/example-openclaw-agents.md for OpenClaw-style agent integration examplesprompts/example-openclaw-tools.md for OpenClaw-style tools integration examplessrc/body_emotion/commands.py for actual CLI behaviorsrc/body_emotion/workspace.py for workspace state path resolutionsrc/body_emotion/store.py for state and history persistence behaviorsrc/body_emotion/locale_config.py for user language config behaviorChoose the next local document based on the user's request:
README.md.README.md and pyproject.toml.src/body_emotion/workspace.py, src/body_emotion/store.py, and src/body_emotion/locale_config.py.prompts/.src/body_emotion/commands.py.If the expected local repository files are not available in the current workspace, do not improvise the full setup flow from memory. Instead:
If the user wants to actually enable runtime use:
bes is already available in the current environment.pip install body-emotion-sensor
bes help
bes language zh
bes check-init --workspace <W> --agent-id <ID> --name "<NAME>"
Only treat the skill as available when the returned JSON contains "ready": true.
When the local environment is ready, use the following runtime flow.
At the start of a new session, before the first reply, run:
bes bootstrap --workspace <W> --agent-id <ID> --name "<NAME>"
Use the returned fields as the session-start prompt payload:
TURN_CHANGE_TAGSBODY_TAGBASELINE_PERSONABefore every reply, do these steps in order:
bes prompt analysis-input
<analysis-input.json>.bes run --workspace <W> --agent-id <ID> --name "<NAME>" --input <analysis-input.json>
TURN_CHANGE_TAGSBODY_TAGBASELINE_PERSONAbes ... commands over direct module paths for runtime use.bes prompt ... instead.bes check-init passes.AnalysisInput JSON, bes run updates state successfully, and the reply layer consumes TURN_CHANGE_TAGS, BODY_TAG, and BASELINE_PERSONA.Minimal command reference:
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>