Install
openclaw skills install @tobemorelucky/dreamlover-skillAlways run intake first before creating or updating distilled agent skills for anime and game virtual characters. Use when the task requires separating canon, persona, and style examples, writing one canonical source, installing a Codex wrapper, and optionally exporting an OpenClaw wrapper.
openclaw skills install @tobemorelucky/dreamlover-skillThis repository is a meta-skill for building character skills from text-only source materials.
Use this skill when the user wants to:
./.agents/skills/ or archived in characters/If the user wants a new character skill but has not supplied enough intake information, stop and ask the intake questions before generating anything. If intake is incomplete, you are forbidden to create, update, or modify any character files.
The minimum intake bundle is:
If the user says only something like "create a Rem skill", do not jump straight to canon, persona, or style_examples.
Do not dump the full questionnaire in one message.
Use a slot-state intake model with these canonical slots:
source_policyinput_modecharacter_namesource_workmaterial_typesallow_low_confidence_personaarchive_mirrorAsk exactly one unresolved intake question at a time, wait for the user's answer, then ask the next needed question. If a slot is already clearly answered, do not ask it again unless the answer is ambiguous, conflicts with another slot, or the user explicitly changes it. Build the draft in memory first, then summarize the generated key factors for confirmation before writing files.
Before any generation work, ask which source completion policy is allowed:
Then ask how the directly provided material will arrive:
Ask these in sequence:
The first intake reply for an underspecified request should contain only question 1 plus its options. Do not include question 2 or later questions in that first reply.
Do not ask for target use during the hard intake gate unless the user explicitly asks to customize it.
Use the default target use openclaw roleplay conversation when no explicit target use is supplied.
If the current branch still requires input mode and the user has not answered it yet, the hard intake gate is still incomplete.
Follow this order:
canon first.persona from source materials plus the confirmed canon.style_examples.characters/{slug}/.SKILL.md../.agents/skills/{slug}/.Do not skip the ordering. persona may depend on canon, but canon must not depend on persona.
canon may only contain:
canon must never contain:
persona may only contain:
persona must never contain:
style_examples may only contain:
style_examples must never replace canon or persona.
Read these files only when needed:
docs/PRD.md for product goals and lifecycledocs/evidence-model.md for evidence priority and conflict handlingdocs/canon-persona-boundary.md for layer separation rulesdocs/input-contract.md for accepted source formats and intake minimumsdocs/output-contract.md for child skill layoutdocs/safety.md for content and copyright boundariesreferences/memory_policy.md for conditional memory rulesUse these prompts during execution:
prompts/intake.mdprompts/source_audit.mdprompts/canon_builder.mdprompts/persona_builder.mdprompts/style_examples_builder.mdprompts/skill_composer.mdprompts/correction_handler.mdprompts/evolution_merge.mdUse these tools when deterministic output helps:
tools/slugify.pytools/source_normalizer.pytools/evidence_indexer.pytools/style_extractor.pytools/skill_writer.pytools/skill_linter.pytools/version_manager.pyUse these runtime memory scripts when composing or validating child skill behavior:
scripts/memory_prepare.pyscripts/memory_router.pyscripts/memory_fetch.pyscripts/memory_commit.pyscripts/memory_summarize.pyPrefer tools/skill_writer.py --interactive when intake information is missing or incomplete.
In interactive mode, do not allow any writes before the intake summary is confirmed.
Each generated character should first have one canonical static source under characters/{slug}/:
canon.mdpersona.mdstyle_examples.mdmeta.jsonsources/normalized.jsonversions/Then install a Codex runtime package under ./.agents/skills/{slug}/ with a Codex-oriented SKILL.md.
If the user explicitly asks for OpenClaw export, also write <openclaw_workspace>/.agents/skills/{slug}/ with an OpenClaw-oriented SKILL.md.
Static content must stay identical across Codex and OpenClaw runtime packages.
Dynamic memory must not be stored inside the character package. Use ./.dreamlover-data/ for local runtime memory storage.
Do not maintain two editable sources for the same character. Re-export from the canonical static source instead.
Before finishing:
canon contains only directly supported materialpersona contains only summarized behaviorstyle_examples only handles language texture./.agents/skills/{slug}/tools/skill_linter.py without errors