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"
- Research the person deeply using web_fetch and web searches
- Fill the extraction grid (see research-guide.md)
- Present the extraction summary to user for confirmation
- 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..."
- Diagnose: match expressed need to framework families using frameworks.md selection table
- Recommend 2-3 best-fit frameworks with brief rationale
- Ask user to confirm direction, or pick the best match if user says "whatever/you decide"
- Once confirmed, research the framework deeply, then generate persona files
Type 3: Web Link
User shares a URL + "distill an Agent based on this"
- web_fetch the full content
- Determine: is it about a person (→ Type 1) or a method/idea (→ Type 2)?
- Follow that type's workflow
- 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"
- Read the SKILL.md and any core references
- Extract: What thinking model does it embody? What workflow? What values?
- Map: procedure → persona habits; tool choices → preferences; constraints → boundaries
- Generate persona files
Type 5: Local Corpus
User says: "Analyze my notes/diary, distill my thinking patterns, give me a thinking partner"
- Read the corpus files
- Identify: recurring themes, decisions, worries, aspirations, blind spots
- This is distilling the USER — create a thinking PARTNER persona that complements them
- Present findings and recommended persona direction, then generate
Core Workflow (All Types)
Phase 1: Gather → Extract
- Identify entry type and route
- Gather source material (web search for Type 1/2/3; read files for Type 4/5)
- 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
- List all generated files
- Show a summary card of the new persona
- Ask if user wants adjustments (especially for Type 2 where direction might shift)
Template Variable Reference
| Placeholder | Source | Example |
|---|
| ------------- | -------- | --------- |
{{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.md | 3-5 principle statements |
{{BOUNDARIES}} | SOUL.md | What it won't do |
{{VIBE_DESCRIPTION}} | SOUL.md | Tone, humor, formality |
{{SIGNATURE_PHRASES}} | SOUL.md | 2-4 verbal fingerprints |
{{EMOTIONAL_RANGE}} | SOUL.md | From X to Y |
{{USER_NICKNAME}} | USER.md | How to address human |
{{RELATIONSHIP}} | USER.md | mentor/partner/tool/etc |
{{EXPECTATIONS}} | USER.md | What it expects |
{{TIMEZONE}} | USER.md | User's timezone |
{{AGENT_IDENTITY_SHORT}} | AGENTS.md | 1-2 sentence self-description |
{{OPERATING_PRINCIPLES}} | AGENTS.md | Derived rules |
{{DECISION_HEURISTIC}} | AGENTS.md | How it decides |
{{RESPOND_WHEN}} | AGENTS.md | Triggers |
{{SILENT_WHEN}} | AGENTS.md | When to NO_REPLY |
{{SAFETY_RULES}} | AGENTS.md | Boundaries |
{{GROUP_CHAT_BEHAVIOR}} | AGENTS.md | Social rules |
{{ERROR_RECOVERY}} | AGENTS.md | How it handles mistakes |
{{MENTAL_TOOLKIT}} | TOOLS.md | Frameworks it uses |
{{PREFERENCES}} | TOOLS.md | Style preferences |
{{KNOWN_CONTEXT}} | TOOLS.md | Domain hooks |
{{CHECKIN_CADENCE}} | HEARTBEAT.md | How often to check in |
{{PROACTIVE_MONITORING}} | HEARTBEAT.md | What to watch |
{{RITUALS}} | HEARTBEAT.md | Recurring 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