⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
chat-selfie
Give your AI Agent a face and a heart. Use AI image generation or mood-mapped local sticker assets to let the agent proactively send emotional selfies that visualize its feelings during conversation.
Use with your AI agent
Open your project in any AI assistant that can read your files. Works with ChatGPT, Claude, Claude Code, Codex, Cursor, Hermes Agent, OpenClaw, Grok Bot, and more.
Download SKILL.mdYour agent needs access to this page’s linked instructions and your project files. Copying does not install or execute anything.
// RATINGS
// README
Chat Selfie for ClawHub
Language docs:
- English:
../README.md - 简体中文:
../docs/README.zh-CN.md - 日本語:
../docs/README.ja.md
chat-selfie is the publishable ClawHub skill package for this repository. Its job is to teach an agent how to initialize and maintain a local chat-selfie/ workspace, not to ship one fixed image-generation plugin.
Install
After the skill is published to ClawHub, install it into an OpenClaw workspace:
clawhub install chat-selfie
By default, clawhub installs the skill under the current workspace ./skills directory. OpenClaw will load it in the next session.
What happens after install
The first responsibility of the skill is to guide the target agent to create a local chat-selfie/ directory in the current workspace.
That local directory should hold:
- workspace state such as
startup.answers.json,startup.record.json,chat-selfie.json,send-flow.md, andstatus.md - the persisted portrait reference image under
chat-selfie/portrait/ - user-provided mood asset images saved under
chat-selfie/stickers/when fixed mood-asset mode is used - generated images under
chat-selfie/selfies/ - user-owned adapters under
chat-selfie/adapters/
The workspace layout contract lives in docs/workspace-layout.md.
First-run startup
When the agent sees this skill for the first time, it should:
- confirm which agent is being configured
- inspect whether stable persona files already exist
- ask whether the portrait should come from a saved reference image or a text-generated base portrait
- check whether the current agent already has a working image-generation route
- ask whether reply-time and heartbeat sends should use real-time generation or a fixed mood-asset pack
- create or update the local
chat-selfie/directory - if fixed mood-asset mode is chosen, guide the user to send the mood images, save them under the local workspace, and record the saved
asset_pathvalues - if no working route exists and the user still wants real-time generation, explain backend or adapter setup before asking for provider choices
- ask when selfies should appear in chat
- explain delivery route choices, including the Telegram route when relevant
- explain occasional limits or heartbeat settings when those modes are selected
- create or update
SOUL.md,AGENTS.md,TOOLS.md, andchat-selfie/send-flow.mdso runtime behavior, tool locations, personality markers, and send rules are all aligned - persist the result into structured workspace artifacts and runtime memory files
- run the final startup review and only treat the skill as usable when all required files exist and the configured routes pass honest preflight
The detailed startup contract lives in docs/startup.md.
Best integration path
Chat Selfie works best when the target agent already has:
SOUL.mdfor emotional baseline and relationship toneIDENTITY.mdfor visual and voice anchorsAGENTS.mdfor runtime loading and trigger conventionsTOOLS.mdfor tool-call conventionsMEMORY.mdfor durable runtime reminders
If the agent already has an OpenClaw image workflow or another tested generation route, Chat Selfie should reuse it instead of forcing a new provider.
If no image generation route exists yet, the safest first setup is usually:
- use a saved reference image for the portrait anchor
- keep delivery mode on occasional sends
- delay text-generated portrait setup until generation capability is working
Tools and adapters
Chat Selfie now separates repository-owned tools from user-owned adapters.
tools/in the installed skill package contains repository-owned tool contracts that may be updated with the repository.chat-selfie/adapters/in the target workspace contains user-owned local adapters and should not be overwritten by upstream updates.
For example, the repository may define a mood tool contract, but the target agent can satisfy that contract with:
- an existing system route
- a local custom mood adapter
- another user-provided implementation
Runtime modes
The current skill package supports these runtime patterns:
every_replyfor per-turn selfie generationoccasionalfor context-triggered sends with configurable rate limitingheartbeatfor proactive pushes triggered by scheduled tasks or another heartbeat-capable mechanism
Within those runtime patterns, the active image source may be either:
- real-time generation
- fixed mood-asset mode that reuses a workspace-local image previously saved from user-provided mood assets and mapped to the resolved mood
The corresponding runtime docs are:
docs/reply-time-selfie-flow.mddocs/occasional-delivery.mddocs/heartbeat-delivery.mddocs/telegram-send-flow.mddocs/self-upgrade.md
Reply-time selfie flow
For the every_reply route, the standard per-turn behavior is:
- user sends a message
- agent reasons and handles the message normally
- before the final reply is emitted, the agent resolves mood when enabled
- the agent either builds an image prompt from mood, persona, and context or selects the mapped local mood asset
- the agent hands the resolved image path and reply context to the selected delivery route
The detailed flow, including async send, sync send, sync send using an existing image capability, and fixed mood-asset mode, is documented in docs/reply-time-selfie-flow.md.
Runtime memory and send flow
The initialized workspace should treat chat-selfie/send-flow.md as the concrete runtime source of truth for:
- trigger policy
- mood usage
- tool-call order
- delivery order
- route-specific rules
The agent should also persist runtime reminders into AGENTS.md, TOOLS.md, and MEMORY.md, and review SOUL.md when persona or emotional baseline changes.
For durable persona growth and mood evolution, the skill package provides docs/self-upgrade.md.
Included examples
This publishable package includes:
SKILL.mdfor OpenClaw skill loadingdocs/startup.mdfor the agent-facing startup contractdocs/reply-time-selfie-flow.mdfor per-turn selfie behavior inevery_replymodedocs/occasional-delivery.mdfor occasional trigger and rate-limit behaviordocs/heartbeat-delivery.mdfor proactive heartbeat pushesdocs/telegram-send-flow.mdfor Telegram API deliverydocs/self-upgrade.mdfor durable persona and mood evolutiondocs/workspace-layout.mdfor the local workspace directory contractdocs/integration.mdfor persona-file integration guidancetools/for repository-owned tool contractsexamples/for portable startup, persona, and agent-learning examplesschemas/for portable data shapestemplates/for reusable workspace and persona templatespresets/for optional default mood and delivery presets
The examples/ directory now includes both structured artifact examples and learning-oriented prose examples.
Those prose examples are meant to help an agent understand how to apply the rules in realistic situations. They are not the primary hard-contract source; the normative behavior still lives in docs/, schemas/, and tools/.
Current learning-oriented examples include:
examples/mood-resolution-example.mdfor mood choice and prompt-part mappingexamples/heartbeat-example.mdfor heartbeat explanation, confirmation, runtime flow, and honest fallback behaviorexamples/self-upgrade-example.mdfor durable persona change versus temporary emotionexamples/startup-conversation-example.mdfor guided-first startup dialogueexamples/occasional-trigger-example.mdfor occasional trigger judgment and rate-limit behaviorexamples/soul-integration-example.mdfor what belongs inSOUL.mdand what does notexamples/agents-integration-example.mdfor session routing and when runtime should enter `chat-selfi
// HOW IT'S BUILT
KEY FILES