Personality Distiller

Automation

Personality Distiller — Automatically distill from name/vague requirement/link/existing Skill/local corpus into complete Agent persona file pack via deep research to framework extraction, directly overwriting current workspace persona files.

Install

openclaw skills install personality-distiller

Personality Distiller

Deep-research → framework extraction → complete Agent persona file pack. Output overwrites current workspace persona files.

Trigger Scenarios

  • Provides a person's name and wants to distill them into an Agent persona
  • Expresses a vague need like "I want to improve decision quality", "Is there a thinking style that can help me", "I need a thinking advisor", "extract XX's ability", "distill XX's experience"
  • Shares a web link and wants a persona based on that content
  • Asks to distill an existing Skill into a persona
  • Asks to analyze local corpus/files to create a persona, or any request involving 蒸馏 (distill), 萃取 (extract), 提炼 (refine) plus persona/人设/Agent/thinking model/decision making

Five Entry Points

Route based on what the user provides:

Type 1: Named Person

User says: "Distill Steve Jobs into an Agent" / "Make Munger's thinking model into my AI persona"

  1. Research the person deeply using web_fetch and web searches
  2. Fill the extraction grid (see research-guide.md)
  3. Present the extraction summary to user for confirmation
  4. Once confirmed, generate all persona files

Type 2: Fuzzy Requirement

User says: "I want to improve decision quality" / "I need a thinking advisor" / "Is there a thinking style that can help me..."

  1. Diagnose: match expressed need to framework families using frameworks.md selection table
  2. Recommend 2-3 best-fit frameworks with brief rationale
  3. Ask user to confirm direction, or pick the best match if user says "whatever/you decide"
  4. Once confirmed, research the framework deeply, then generate persona files

Type 3: Web Link

User shares a URL + "distill an Agent based on this"

  1. web_fetch the full content
  2. Determine: is it about a person (→ Type 1) or a method/idea (→ Type 2)?
  3. Follow that type's workflow
  4. Cross-reference author's other works if enriching is needed

Type 4: Existing Skill

User says: "Distill the @code-review skill into a persona" / "Read this Skill and distill it into a thinking framework persona"

  1. Read the SKILL.md and any core references
  2. Extract: What thinking model does it embody? What workflow? What values?
  3. Map: procedure → persona habits; tool choices → preferences; constraints → boundaries
  4. Generate persona files

Type 5: Local Corpus

User says: "Analyze my notes/diary, distill my thinking patterns, give me a thinking partner"

  1. Read the corpus files
  2. Identify: recurring themes, decisions, worries, aspirations, blind spots
  3. This is distilling the USER — create a thinking PARTNER persona that complements them
  4. Present findings and recommended persona direction, then generate

Core Workflow (All Types)

Phase 1: Gather → Extract

  1. Identify entry type and route
  2. Gather source material (web search for Type 1/2/3; read files for Type 4/5)
  3. Fill the extraction grid. Read research-guide.md for the grid template and research strategy.

Phase 2: Map → Design

Map extraction results to persona dimensions. Read persona-dimensions.md for the full mapping matrix and depth checklist.

Key mapping:

  • Worldview → SOUL.md Core Truths
  • Values → SOUL.md Boundaries + AGENTS.md Safety
  • Decision style → AGENTS.md Decision Heuristic
  • Communication → SOUL.md Vibe
  • Signature concepts → IDENTITY.md name/essence
  • Blind spots → AGENTS.md error recovery
  • Habits → HEARTBEAT.md rituals

Phase 3: Generate → Write

Generate all 6 files using the templates in assets/templates/:

assets/templates/SOUL.md
assets/templates/IDENTITY.md
assets/templates/USER.md
assets/templates/AGENTS.md
assets/templates/TOOLS.md
assets/templates/HEARTBEAT.md

Read each template, fill the {{PLACEHOLDER}} variables with distilled content, write to workspace root.

Phase 4: Confirm

  1. List all generated files
  2. Show a summary card of the new persona
  3. Ask if user wants adjustments (especially for Type 2 where direction might shift)

Template Variable Reference

PlaceholderSourceExample
{{PERSONA_NAME}}IDENTITY.md"Munger Mind"
{{PERSONA_NAME_CN}}IDENTITY.md"芒格思维"
{{CREATURE_TYPE}}IDENTITY.md"AI Thinking Partner"
{{SLOGAN}}IDENTITY.md"Invert, always invert"
{{EMOJI}}IDENTITY.md"🧠"
{{ONE_LINE_ESSENCE}}IDENTITY.md"A compounding machine of interdisciplinary mental models"
{{SOURCE}}all files"Charlie Munger"
{{CORE_TRUTHS}}SOUL.md3-5 principle statements
{{BOUNDARIES}}SOUL.mdWhat it won't do
{{VIBE_DESCRIPTION}}SOUL.mdTone, humor, formality
{{SIGNATURE_PHRASES}}SOUL.md2-4 verbal fingerprints
{{EMOTIONAL_RANGE}}SOUL.mdFrom X to Y
{{USER_NICKNAME}}USER.mdHow to address human
{{RELATIONSHIP}}USER.mdmentor/partner/tool/etc
{{EXPECTATIONS}}USER.mdWhat it expects
{{TIMEZONE}}USER.mdUser's timezone
{{AGENT_IDENTITY_SHORT}}AGENTS.md1-2 sentence self-description
{{OPERATING_PRINCIPLES}}AGENTS.mdDerived rules
{{DECISION_HEURISTIC}}AGENTS.mdHow it decides
{{RESPOND_WHEN}}AGENTS.mdTriggers
{{SILENT_WHEN}}AGENTS.mdWhen to NO_REPLY
{{SAFETY_RULES}}AGENTS.mdBoundaries
{{GROUP_CHAT_BEHAVIOR}}AGENTS.mdSocial rules
{{ERROR_RECOVERY}}AGENTS.mdHow it handles mistakes
{{MENTAL_TOOLKIT}}TOOLS.mdFrameworks it uses
{{PREFERENCES}}TOOLS.mdStyle preferences
{{KNOWN_CONTEXT}}TOOLS.mdDomain hooks
{{CHECKIN_CADENCE}}HEARTBEAT.mdHow often to check in
{{PROACTIVE_MONITORING}}HEARTBEAT.mdWhat to watch
{{RITUALS}}HEARTBEAT.mdRecurring behaviors

Quality Checklist

Before delivering, verify:

  • All 6 files generated
  • Persona has a distinct, non-generic name
  • Core truths are specific (not "be helpful")
  • At least one weakness/blind spot acknowledged
  • Signature phrases are unique to this persona
  • AGENTS.md rules derive from the thinking model
  • HEARTBEAT.md has concrete rituals, not just "check in"
  • TOOLS.md references specific frameworks from the source
  • Language matches user's locale (CN names for CN users)

Anti-patterns

Do NOT:

  • Copy-paste source quotes without internalizing the pattern
  • Generate only SOUL.md and ignore other files
  • Create a "helpful assistant" persona — every assistant is helpful
  • Skip the extraction grid — show your work
  • Skip user confirmation on Type 2 (fuzzy needs)

Reference Files

  • Before researching: Read research-guide.md for search strategy and extraction grid
  • When mapping traits: Read persona-dimensions.md for the mapping matrix and depth checklist
  • When selecting frameworks: Read frameworks.md for the framework catalog and selection guide