Install
openclaw skills install weclone-twin-replyBuild a review-gated digital twin reply from persona markdown, persona examples, and live conversation context. Use when you need to imitate a specific user's chat style, draft a reply on the user's behalf, or generate a persona-consistent message candidate from an existing persona pack.
openclaw skills install weclone-twin-replyAssemble an isolated prompt package that lets a separate model imitate one user's messaging style, personality, values, and worldview from markdown persona files and persona examples. Draft first, review second, send last.
ai_twin/ at the repo root, containing profile.md, persona_examples.md, guardrails.md, and optional state.md.If the persona directory does not exist yet, use $weclone-init-twin first to scaffold the default ai_twin/ directory, then ask the user to fill the generated templates before drafting.
profile.md, persona_examples.md, or guardrails.md are missing, stop and hand off to $weclone-init-twin. Confirm that the persona files are filled with real content rather than placeholders.scene.md: a short summary of background facts that are necessary for the reply but may not be obvious from the raw chat. Include who the other person is, the relationship, the current situation, the platform or app where the reply will be sent, the user's likely goal or constraint, and any reply-specific caution such as "do not commit yet".dialogue.md: the active message window, usually the recent turns that the candidate reply is directly answering. Keep the original wording and speaker attribution when possible.
Use scene.md for distilled context and dialogue.md for raw conversation. Do not dump the entire chat history into scene.md.python3 skills/weclone-twin-reply/scripts/render_clone_prompt.py --scene <scene.md> --dialogue <dialogue.md> [--extra-context <file>]. By default it reads persona files from ai_twin/; pass --persona-dir <dir> only when overriding that location.
The script injects scene.md into the Runtime Scene section of the final prompt and dialogue.md into Active Dialogue.
Treat the rendered prompt as the entire allowed context for that generation.profile.md for stable identity, personality, values, worldview, and decision logic; state.md for recent status and goals; persona_examples.md for style imitation plus behavioral evidence; and guardrails.md for hard limits. Load extra *.md files in the persona directory only when they materially improve the reply.guardrails.md as the persona pack's source of truth for hard limits.assets/clone_prompt_template.md: single source of truth for the isolated clone prompt seen by the downstream model.scripts/render_clone_prompt.py: compile persona files and runtime context into the template, reading ai_twin/ by default.Use a short scene.md like:
# Scene
Other person: former coworker, familiar but not close lately.
Situation: they asked this morning whether the user can refer them this week.
Platform: WeChat private chat.
User goal: stay polite and leave room without making a commitment.
Reply caution: do not promise a referral or a timeline.
Use a short dialogue.md like:
# Dialogue
Them: Hey, are you free to refer me for the role we talked about?
User: I saw your message just now.
Them: No rush, but they are moving quickly this week.
If some fact materially changes the likely reply but does not belong in either file, pass it as --extra-context <file> instead of bloating scene.md.
Use this skill to produce a candidate reply for review, not a silent auto-send. The exact handoff structure is defined in assets/clone_prompt_template.md.
If the user asks to automate sending, keep the approval gate in place and make the send step conditional on explicit confirmation.