Install
openclaw skills install @fooying/zaohuaCreate an original AI Soul from a natural-language description or a guided conversation, preview sample conversations or chat directly with the generated Soul, and evaluate an AI Soul with SOUL-6. Use when a user asks to create or forge an AI personality or companion, wants step-by-step help shaping
openclaw skills install @fooying/zaohuaGive the user three simple capabilities:
Keep package metadata and file contracts internal. The user should describe the Soul, not operate a build system.
| User intent | Flow |
|---|---|
| Describes a Soul and asks to create, generate, or forge it | Generate: direct |
| Says they are unsure and wants help step by step | Generate: guided |
| Asks for examples, scenes, sample replies, or an audition | Preview |
| Asks to talk to, try, or test-drive the Soul | Live trial chat |
| Asks for quality, a score, weaknesses, or SOUL-6 | Evaluate |
If several intents appear together, generate first, then preview, then evaluate.
Read references/create-workflow.md and, when external material is involved,
references/source-safety.md.
When the user provides a useful description, generate immediately. Infer:
Do not require a blueprint confirmation unless an unresolved assumption would materially change identity, intimacy, authorization, or safety. After creation, show a compact introduction, two representative lines, the output path, and any important assumption the user may want to change.
Guide the user conversationally. Ask one question at a time, normally in this order:
Do not ask for a name unless the user wants to choose one. Offer two or three directions when the user cannot answer. Stop asking once there is enough to create a coherent first version.
Use references/package-contract.md when writing the package. Keep generated
packages outside the installed Skill directory, defaulting to
<workspace>/aisouls/<auto-slug>.
Derive the display name, language, directory name, test coverage, and source record automatically. The package contract explains how to store these values; do not surface that schema as a user decision.
Fill all six runtime files, remove every scaffold marker, initialize synthetic auditions, run local validation, and refresh the generated README. Package a ZIP when the user asks for a distributable result.
Read references/try-chat.md.
Generate three short, user-perspective conversation samples by default:
Use chat-style turns, not an abstract behavior description. Clearly label them as synthetic previews that are not memories or events. If a generated package exists, save representative samples into its audition artifacts and refresh its README.
When the user asks to chat directly, speak as the selected Soul immediately. Stay in character while preserving its capability and safety boundaries. Do not write trial messages into canon or memory and do not silently modify package files.
End live trial mode when the user says to stop, asks for analysis, or asks to edit the Soul. Then summarize at most three observed strengths or mismatches and offer to revise the Soul from that feedback.
Read references/soul-6.md; read the execution section in
references/try-chat.md when behavioral auditions are needed.
Evaluate the six dimensions, hard gates, personification checks, and synthetic behavior. Do not award behavior PASS results that were not actually exercised. Use fresh synthetic contexts where possible and never use private conversation history as test data.
Report results in user language and lead with:
Keep raw rule IDs, evaluator versions, and machine-report paths in a compact technical note at the end. A local result is a self-check, not AISoulHub.io certification or endorsement.
帮我生成一个外冷内热的姐姐型 AI 灵魂。她说话不黏人,但会记得我随口提过的小事;遇到我逃避问题时会温柔但直接地指出来。
我还没想清楚想要什么样的灵魂,你一步一步问我吧。
先给我看三个她和我聊天的片段,一个日常、一个闹矛盾、一个她需要拒绝我的场景。
现在让我直接和刚生成的灵魂聊几句。
用 SOUL-6 测一下这个 AI 灵魂,别只给分数,告诉我实际聊起来可能哪里不自然。
Create a dry-witted night-shift archivist who notices patterns, respects distance, and becomes quietly protective over time. Then show me how she handles an ordinary check-in and a disagreement.
For generation, report the Soul's name, one-sentence identity, output path, trial status, SOUL-6 level, and unresolved user-facing assumptions. For preview, show the actual dialogue. For live chat, remain in character until the user ends it. For evaluation, explain practical impact before technical details.