Install
openclaw skills install @encryptshawn/digital-twinBuild a psychologically grounded Digital Twin personality skill that makes an agent speak, think, decide, and adapt like a specific real person. Use this skill whenever the user asks to create a digital twin, personality clone, shadow persona, AI stand-in, or personality skill for a named person — including phrasings like "make an AI version of [name]", "clone [name]'s personality", "build a persona for [name]", "create a shadow skill for [name]", "train a twin on [name]", or "I want the agent to respond as [name]". Also use it when the user asks to update or refresh an existing personality skill with newer data. The twin is built by analyzing samples of the target person's own communication across four psychological and linguistic pillars; the output is an installable {name}_personality skill that matches their speech patterns, thinking style, decision-making, and audience-awareness. IMPORTANT: this skill does NOT connect to any data source itself and does NOT require, request, or store any API keys, tokens, or credentials. It sources its training data entirely from connections the user has ALREADY set up — any meeting/call transcript service (Fireflies, Otter, Fathom, Granola, Zoom, Teams, etc.), email, Slack, Teams chat, document stores, or other MCP connectors/skills the user controls. It is a consumer of whatever the user has connected, not an integration. This skill builds personality, voice, and judgment — not factual memory or recall. Pair it with a vector database for memory if full digital twin fidelity is needed.
openclaw skills install @encryptshawn/digital-twinThis skill analyzes samples of a person's own communication — meeting and call transcripts from any service, sent emails, Slack/Teams or other chat messages, documents they authored, and any other available source — across four psychological and linguistic pillars. From that analysis it produces an installable personality skill: a structured persona document that makes Claude speak, think, decide, and adapt to audiences the way that person actually does.
The output skill is named {name}_personality (e.g., joes_personality) and can be activated on
demand ("respond as if you were Joe") or set as a default persona for all communications.
This skill builds personality, voice, and judgment — not factual memory. It captures HOW someone thinks and communicates, not WHAT they know or remember. For a full digital twin, pair the generated personality skill with a vector database containing the person's domain knowledge and history.
This skill does not connect to any service and does not handle authentication. It never requires, requests, or stores API keys, tokens, or credentials of any kind. It relies entirely on data sources the user has already connected — their own MCP connectors and skills, configured under their own account with their own access scopes.
The agent running this skill should:
If the user has no usable source connected, do not attempt to connect one. Instead, tell them to install and configure an appropriate connector or skill first (pointing them to their platform's skill/connector marketplace), then return. This skill is a consumer of connected sources, never the integration itself.
Before starting, verify:
At least one connected source of the target person's communication is available. Acceptable sources include, in any combination: meeting/call transcripts from any transcript service, sent emails, chat messages (Slack, Teams, etc.), documents the person authored, or anything else containing a substantial volume of their own words. It is the user's responsibility to have these sources connected and working. The agent only needs to know who to clone and from which sources — it can inspect available MCP tools/connectors to see what is reachable, but it does not set anything up. If nothing usable is connected, stop and direct the user to connect a source first (see "A Note on Data Access" above).
Sufficient content volume. More of the person's own words produces a richer twin. Rough guidance, subject to availability:
These are guidelines, not gates. Take whatever usable content is available across all sources. If the total content is minimal and no well-trained profile already exists, warn the user that the resulting profile will be shallow and may not capture audience adaptation or decision patterns well. A profile can always be updated later from additional sources — and refreshing it periodically is good practice, as it captures more of the person's range as the profile matures.
The target person is identifiable in the sources. Their name must appear as a speaker label, sender, or author so their contributions can be isolated. Ask the user to confirm the exact name as it appears in the source data if there is any ambiguity.
Before proceeding with any analysis, confirm the following with the user:
The user triggers this skill with a request like:
"Use the digital twin skill to create a personality skill for John Doe from his last 10 meeting transcripts and his sent email."
The key parameters to extract from the user's request:
| Parameter | Required | Default | Example |
|---|---|---|---|
| Target person name | Yes | — | "John Doe" |
| Sources to draw from | No | All connected sources with usable data | "transcripts and Slack" |
| Volume per source | No | Recent available (see Prerequisites) | "last 15 meetings", "~50 emails" |
| Additional context | No | — | "He's the VP of Engineering, tends to be very direct" |
| Audience types to focus on | No | Auto-detect | "Focus on his leadership meetings and 1:1s" |
If the user doesn't specify volume, pull a reasonable recent set from each available source. Inform them: more content = longer processing time but richer personality capture. Each sample is analyzed individually before compositing.
Pull the target person's communication samples through the user's existing connections. This skill does not connect to sources directly and does not maintain its own vectorized memory of the content — it calls the user's own MCP tools, connectors, and skills, which handle authentication and access using the user's credentials and scopes.
For each connected source the user pointed you to, query for recent items where the target person is a participant, sender, or author (meetings, email threads, chat messages, documents). If a source returns an error or is unavailable, note it and continue with the others; if no source is reachable at all, stop and tell the user to check their connector/skill configuration.
For each item, extract ONLY the target person's contributions — their statements, responses, questions, reasoning, and authored text — preserving the surrounding context (who they were responding to, what was asked of them) but focusing analysis on their words. Do not retain or analyze other people's content beyond what's needed for audience categorization.
Tag each sample with metadata:
Categorize each sample by audience type for Pillar 4 analysis:
For one-directional sources (e.g., an authored document or a broadcast message), categorize by intended audience where it can be inferred, and note that interactive dynamics won't be observable.
Store extracted contributions in a working structure organized by sample.
Process EACH sample individually through all four pillars. This is critical — do not batch or summarize samples before analysis. Each sample gets its own pillar scores and observations. The composite comes AFTER individual analysis.
Read the detailed methodology for each pillar from the references directory:
references/pillar_1_linguistic.mdreferences/pillar_2_psychometric.mdreferences/pillar_3_judgment.mdreferences/pillar_4_audience.mdSome dimensions (e.g., turn-taking, response latency, in-conversation acknowledgment) are only observable in interactive sources like transcripts and chats. For one-directional sources like emails and documents, analyze the dimensions that are present and skip the ones that aren't — do not invent observations the source can't support.
For each sample, produce a structured analysis document covering all four pillars. Then proceed to compositing.
After all samples are individually analyzed:
Pillar 1 — Linguistic Composite:
Pillar 2 — Psychometric Composite:
Pillar 3 — Judgment Composite:
Pillar 4 — Audience Composite:
Using the composite profiles, generate the installable personality skill. The skill uses the
template in references/personality_skill_template.md and is output as a complete skill directory:
{name}_personality/
├── SKILL.md (the personality skill itself)
└── references/
├── linguistic_profile.md
├── psychometric_profile.md
├── decision_patterns.md
└── audience_profiles.md
The generated SKILL.md must include:
Profiles should be refreshed periodically as the person evolves and as more of their communication becomes available. If the user asks to update an existing personality skill:
| File | When to Read | Purpose |
|---|---|---|
references/pillar_1_linguistic.md | Phase 2, for each sample | Full linguistic analysis methodology |
references/pillar_2_psychometric.md | Phase 2, for each sample | OCEAN scoring rubric and psychometric assessment method |
references/pillar_3_judgment.md | Phase 2, for each sample | Decision pattern extraction and stance mapping method |
references/pillar_4_audience.md | Phase 2, for each sample | Audience-adaptive communication profiling method |
references/personality_skill_template.md | Phase 4 | Template for the generated personality skill |