EmoClaw

ReviewAudited by ClawScan on May 10, 2026.

Overview

EmoClaw’s artifacts match its stated purpose, but it intentionally persists prompt-influencing emotion state, can optionally send selected memory passages to Anthropic for labeling, and can run a local daemon.

Before installing, decide whether you want persistent synthetic emotion state to affect future prompts. Review memory source paths and redaction settings before running bootstrap or label steps, avoid auto-labeling if you do not want passages sent to Anthropic, pin/cache ML dependencies if provenance matters, and restrict the daemon socket to trusted local users.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Past interactions can influence later agent behavior through a persistent synthetic emotion state.

Why it was flagged

The skill intentionally reuses conversation-derived state across sessions and places it into future prompt context.

Skill content
producing a persistent emotional state that evolves with every interaction... injected into the system prompt as an `[EMOTIONAL STATE]` block
Recommendation

Install only if you want this persistent behavior; keep the state file private and reset/delete it when you no longer want prior interactions to influence responses.

What this means

If you run auto-labeling, selected identity or memory passages may leave your machine for scoring.

Why it was flagged

The optional labeling workflow uses a Claude API key and may send extracted passages to Anthropic.

Skill content
"ANTHROPIC_API_KEY": {"required": false, "description": "Claude API key for auto-labeling passages..."}
Recommendation

Review `bootstrap.source_files`, `bootstrap.memory_patterns`, and redaction settings before labeling; use manual labels or skip labeling if the source files are sensitive.

What this means

Any local process with permission to access the socket could submit messages that update the persistent emotional state.

Why it was flagged

The daemon exposes a local Unix socket protected by filesystem permissions, not by an application-level authentication protocol.

Skill content
server.bind(socket_path)
server.listen(1)
os.chmod(socket_path, 0o660)
Recommendation

Run the daemon only in a trusted local environment, keep the socket in a private directory when possible, and tighten permissions if group access is not needed.

What this means

First setup or first use may depend on external ML package/model provenance unless you pin and cache the artifacts yourself.

Why it was flagged

The encoder loads a named sentence-transformer model, so users should verify or pre-cache the model artifact and dependency source.

Skill content
self.model = SentenceTransformer(model_name, device="cpu")
Recommendation

Pin dependency versions and model revisions where possible, and pre-download/cache the model from a trusted source if offline or reproducible behavior matters.

What this means

The emotion engine can keep running after startup and continue updating state when called.

Why it was flagged

The daemon is a long-running local process by design.

Skill content
while True:
            conn, _ = server.accept()
Recommendation

Start the daemon only when needed and make sure you know how to stop it and remove the socket/state files.