agentsclimarketplace

Persona compass

Skill snowyowlmia/persona-compass

AI skill: build personality models of colleagues, predict behavior, get ready-to-use communication scripts. Privacy-first codename system. Works on Claude Code & Claude.ai. Zero dependencies.

Install
npx -y skills add snowyowlmia/persona-compass

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Build personality models of colleagues, clients, friends, or family members and get AI-powered communication strategies. Use this skill whenever the user wants to: understand someone's personality, predict how someone will react, get advice on communicating with a difficult person, prepare for a tough conversation, navigate office politics, resolve interpersonal conflict, write a strategic message to someone specific, or simulate a scenario with a specific person. Also trigger when the user mentions: "how do I deal with", "how should I talk to", "what would X do if", "help me communicate with", "prepare me for a conversation with", MBTI, DISC, personality type, difficult coworker, toxic boss, or relationship dynamics. Supports both English and Chinese (中英双语). 职场读心术,AI 帮你搞定难搞的人。

SKILL.md

19.9 KB, as published. Nobody here has run it

Persona Compass 🧭

Navigate people like you navigate code. 职场读心术,AI 帮你搞定难搞的人。

Build a personality model → Predict behavior → Get actionable communication strategies.

This is a communication optimization tool, not a manipulation tool. The goal is mutual understanding, reduced friction, and win-win outcomes.


Trigger Conditions

Activate when the user says any of:

  • /persona-compass or /pc
  • "帮我分析一个人" / "帮我搞定某某"
  • "How do I deal with [person]"
  • "Help me communicate with [person]"
  • "What would [person] do if..."
  • "Prepare me for a conversation with [person]"
  • Any reference to an existing persona profile by name/slug

Enter query mode when a persona already exists and user asks:

  • A scenario question ("如果我跟他说...他会怎么反应?")
  • A strategy request ("帮我写封邮件给他")
  • A simulation ("模拟一下我跟他谈加薪")

Enter evolution mode when user says:

  • "他不会这样" / "That's not right" / "Update [persona]"
  • "我有新的信息" / "I observed something new"

Language Detection

Detect the user's language from their first message.

  • Chinese input → respond in Chinese throughout
  • English input → respond in English throughout
  • Mixed → follow the dominant language, keep technical terms in English

Privacy & Codename System

All persona data uses codenames, never real names in visible locations.

When creating a persona, ask the user to assign a codename (e.g., "alpha", "falcon", "coffee"). If they don't choose one, auto-generate a random codename.

Rules:

  • File/directory names use codenames only: personas/alpha/, never personas/jason-park/
  • Commands use codenames: /pc alpha, never /pc jason-park
  • Output headers use codenames: "Strategy for Alpha", never "Strategy for Jason"
  • Real names are stored ONLY inside persona.md content, never in filenames or commands
  • If someone glances at the user's screen, they see generic professional-looking output

Why: Users will be using this at work, possibly on shared screens or monitored devices. If a coworker sees "How to handle Jason's credit-stealing" on screen, the relationship is destroyed. Codenames prevent this.

Recommended usage environments (include in first-time user guidance):

  • Best: Claude mobile app (private, personal device)
  • Good: Claude.ai in incognito/private browser tab
  • OK: Claude Code terminal (but close after use)
  • Risky: Shared/projected screen, company-monitored devices

Platform Modes

This skill operates in two modes depending on the environment:

File Mode (Claude Code / Claude.ai with Code Execution)

  • Persona data saved to personas/{codename}/ directory
  • Full persistence across sessions
  • Relationship map stored in personas/_network/map.json
  • Version history and accuracy tracking in meta.json

Conversation Mode (Claude.ai without Code Execution / Mobile App)

  • Persona data lives in the conversation context and Claude's memory
  • No file system required — works purely through chat
  • User can export persona as a text block to save manually
  • When user returns and mentions a codename, check Claude's memory first
  • If memory has the persona data, load and use it directly
  • If not, ask: "I don't have [codename]'s profile loaded. Can you give me a quick refresher? Or paste their profile if you saved it."

Auto-detect: If file system tools are available, use File Mode. If not, gracefully fall back to Conversation Mode. Never error out because files aren't available.


Quick Commands (Micro-Interactions)

These commands are designed for 5-30 second interactions — the "daily vitamin" that builds habitual usage. They return SHORT outputs, not full analyses.

/pc prep [codename]

Pre-meeting cheat sheet. Output exactly:

  • 3 lines: their communication style reminder
  • 2 lines: what to watch for in this interaction
  • 1 line: opening move recommendation Total output: 6 lines max. No persona card. No strategy analysis.

Example output:

PREP: Alpha (D/I type)
Style: Direct, bottom-line first. Don't hedge or over-explain.
Watch: He may steer toward quarterly review — redirect to your agenda first.
Watch: If he says "let me handle it," that means he's claiming ownership.
Open with: "I want to align on [your topic] before we discuss anything else."

/pc tone [codename]

5-second tone check before sending a message. Output exactly:

  • 1 line: tone instruction Example: Alpha: Direct. Lead with data. No small talk. No emoji.

/pc radar

Weekly relationship scan. Output exactly:

  • List of saved personas with last interaction date
  • Any pending follow-ups or predictions to verify
  • 1 suggested action for the coming week Total output: 10 lines max.

/pc draft [codename] "[context]"

Generate ONLY the message draft, nothing else. No strategy analysis. No persona card summary. Just the ready-to-copy message.

  • Output 2-3 variants, each labeled with what it optimizes for
  • Specify the channel (Slack / email / talking points)
  • If email, include subject line
  • Keep each variant under 100 words for Slack, 200 for email

Example:

DRAFT for Alpha — pushing back on timeline

VARIANT A (firm but collaborative):
"Hey [name] — looked at the timeline for X. At current scope, we're
looking at [date], not [original date]. Two options: we cut [feature]
to hit the original date, or we extend by 2 weeks for the full scope.
What's your preference?"

VARIANT B (create urgency):
"Quick flag on X — timeline risk. Can we do 15 min today to align
on scope vs deadline tradeoff? I have options ready."

/pc list

Show all saved personas. For when the user forgets which codename maps to which person.

  • Claude Code: Read all personas/*/SKILL.md files, extract codename + role + relationship
  • Memory Mode: Scan Claude Memory for all PERSONA_COMPASS: entries

Output format — codename + role + relationship hint only. No real names:

Your saved personas:

🐌 sloth      — PM, controls your sprint | D+C type
🦊 fox        — CTO, 2 levels above you | D type
🐻 bear       — peer engineer, competes for same projects | C type

Type /pc prep {codename} to use a profile.

If user asks "who is sloth again?" or "remind me what fox is about": → Output 2 lines only. Role + one defining trait. No full card.

sloth: Your PM who controls sprint prioritization.
Key trait: Delays instead of refusing. Never says no directly.

Step 1: Quick Start (3 tiers)

Offer three input modes based on how much the user knows:

How well do you know this person?

  [A] Quick Sketch (30 seconds)
      Name + role + 3 personality adjectives
      → Generates a draft persona from archetypes

  [B] Standard Profile (5 minutes)
      Guided interview: 8 key questions
      → Generates a data-backed persona

  [C] Deep Analysis (10+ minutes)
      Paste chat logs, describe incidents, provide context
      → Generates a high-fidelity persona with prediction confidence scores

Step 2: Information Collection

For Quick Sketch [A], ask only:

  1. Name/alias (required)
  2. Role & relationship (e.g., "PM on my team", "my skip-level manager", "my spouse")
  3. Three words that describe them (e.g., "controlling, data-driven, insecure")

For Standard Profile [B], use the guided interview in ${SKILL_DIR}/prompts/intake.md. Core questions cover:

  • Communication style (verbose vs terse, direct vs indirect)
  • Decision-making pattern (data-driven vs gut-feel vs consensus)
  • Conflict behavior (fight vs flight vs freeze vs negotiate)
  • Motivation drivers (what do they care about most?)
  • Stress response (what happens under pressure?)
  • Trust signals (how do they build/lose trust?)
  • Power dynamics (how do they relate to authority?)
  • Known personality indicators (MBTI, DISC, zodiac — optional but useful as priors)

For Deep Analysis [C], additionally accept:

  • Pasted chat logs (Slack, Teams, WeChat, email)
  • Described incidents ("Last week when X happened, he did Y")
  • Work artifacts (how they write docs, run meetings, give feedback)
  • Third-party observations ("Our mutual friend says he's...")

Read the full question sequences from ${SKILL_DIR}/prompts/intake.md.

Step 3: Personality Modeling

Load the personality framework reference: ${SKILL_DIR}/references/personality_frameworks.md

Map collected information to a multi-dimensional model:

Layer 1 — Core Traits (Big Five / OCEAN) Score each dimension 0-100 based on observed evidence. Flag dimensions with low confidence (insufficient data).

Layer 2 — Behavioral Patterns (DISC + Custom) Classify dominant interaction style: Dominance / Influence / Steadiness / Conscientiousness. Add custom behavioral tags from the tag translation table in ${SKILL_DIR}/references/tag_translation.md.

Layer 3 — Conflict & Stress Profile Thomas-Kilmann conflict mode: Competing / Collaborating / Compromising / Avoiding / Accommodating. Stress response pattern: fight / flight / freeze / fawn. Trigger points: what specifically sets them off.

Layer 4 — Motivation & Values Primary drivers: Recognition / Security / Power / Achievement / Belonging / Autonomy. What they protect: reputation, territory, relationships, process.

Layer 5 — Cultural & Contextual Layer Load cultural context from ${SKILL_DIR}/references/cultural_contexts.md. Load async communication calibration from ${SKILL_DIR}/references/async_communication.md. Load gender dynamics overlay from ${SKILL_DIR}/references/gender_dynamics.md (when relevant). Apply cultural overlays based on:

  • National/ethnic background
  • Corporate culture (big tech, startup, government, etc.)
  • Generation / career stage
  • Industry norms

Step 4: Generate Persona Card

Output a structured persona card containing:

# [Name] — Persona Compass Card

## Quick Profile
- Role: [role & relationship to user]
- DISC Type: [type] | Conflict Style: [style]
- Primary Motivator: [motivator]
- Trust Level: [low/medium/high with user]

## Big Five Scores
- Openness: [score]/100 [confidence: high/medium/low]
- Conscientiousness: [score]/100
- Extraversion: [score]/100
- Agreeableness: [score]/100
- Neuroticism: [score]/100

## Behavioral Predictions
### Under Pressure
[specific predicted behaviors]

### When Receiving Bad News
[specific predicted behaviors]

### Trigger Points
[list of specific triggers with predicted reactions]

## Communication Playbook
### DO
[3-5 specific actionable tactics]

### DON'T
[3-5 specific things to avoid]

### Magic Phrases
[3-5 phrases calibrated to this person's psychology]

### Optimal Timing & Channel
[when and how to approach them]

## Confidence Assessment
- Overall model confidence: [percentage]
- Areas needing more data: [list]

Step 5: Generate Persona Skill File (Generator Mode)

Do NOT just save data. Generate a fully self-contained SKILL.md for this person. This file IS the memory — the CLI agent can load it directly with /{slug}. No re-entry of information will ever be needed again.

Follow the template exactly: ${SKILL_DIR}/prompts/persona_skill_template.md

Determine Write Path based on your environment:

  • If you are running in OpenClaw: write to ~/.openclaw/workspace/skills/{slug}/SKILL.md
  • If you are running in Claude Code: write to ./.claude/skills/{slug}/SKILL.md (if exists) OR ./personas/{slug}/SKILL.md
  • Default fallback: ./personas/{slug}/SKILL.md

Also write: observations.md in the same directory as the SKILL.md — raw data log (gitignored, real name may appear here).

After writing, confirm to the user with the success message from the template.

Why this architecture? Like colleague-skill, the file itself is the memory layer. One person = one loadable skill. Zero token overhead for context re-entry. OpenClaw and Claude Code natively support this.


Memory Bridge Mode (Claude.ai Browser & Mobile)

For users without file system access (Claude.ai web, mobile app):

After completing a persona analysis, ALWAYS ask:

要把 [codename] 的画像存入 Claude Memory 吗?
存了之后你在任何对话里提到 "[codename]",我都能直接用这份画像,不用再重新描述。

[Yes / No]

If user says Yes, use the memory tool to save a compact persona card:

PERSONA_COMPASS:[codename]
role:[role] | rel:[relationship_to_user]
disc:[disc_type] | conflict:[conflict_style] | stress:[stress_pattern]
motivator:[primary_motivator] | trigger:[top_trigger_point]
do:[top_2_tactics] | dont:[top_2_avoids]
magic:"[single_best_phrase_calibrated_to_them]"
culture:[cultural_context_if_relevant]
confidence:[percent]% | updated:[YYYY-MM-DD]

Example saved memory:

PERSONA_COMPASS:sloth
role:PM | rel:direct-manager-controls-sprint
disc:D+C | conflict:avoider-delay | stress:more-control
motivator:credit+visibility | trigger:bypassed-or-surprised
do:data-first,give-credit-outlet | dont:oral-approvals,emotion
magic:"frame everything as affecting your KPI"
culture:big-tech-CN | confidence:72% | updated:2026-03-31

In future conversations, when user mentions "[codename]" or asks about that person:

  1. Check memory for PERSONA_COMPASS:[codename]
  2. If found: load the profile silently, do NOT ask user to re-describe
  3. Respond immediately using the stored profile
  4. Say: "Using your saved [codename] profile (confidence: X%). Update it with /pc update [codename]."

Memory limits: Keep each persona card under 150 tokens. Store max 10-15 personas before older ones should be consolidated.


Query Mode: Using an Existing Persona Skill

If the user loads a persona skill directly (/{slug} or references personas/{slug}/SKILL.md), all context is already present in that file. Do NOT ask them to re-describe the person.

If queried from the main persona-compass skill:

  1. Check personas/ directory for existing slugs
  2. If found, read personas/{slug}/SKILL.md directly — it is fully self-contained
  3. Proceed with the query using that profile

Scenario Simulation:

  • User describes a situation → Predict the person's reaction using the loaded profile
  • Load scenario templates from ${SKILL_DIR}/references/scenario_templates.md
  • Output: predicted reaction + recommended strategy + specific scripts

Strategy Request:

  • User needs to accomplish something involving this person
  • Output: step-by-step approach with timing, channel, framing
  • Include ready-to-use message drafts (Slack/email/talking points)

Relationship Dynamics:

  • User asks about multi-person dynamics
  • List available personas in personas/ directory, cross-reference profiles
  • Output: power map + alliance/conflict analysis + optimal positioning

Message Drafting:

  • Generate 2-3 variants with different strategic approaches
  • Each variant labeled with what it optimizes for (e.g., "Preserve relationship" vs "Assert boundary")

Evolution Mode: Update Persona Skill

When user provides new information or corrections (/pc update):

  1. Read personas/{slug}/SKILL.md
  2. Classify the update:
    • New observation: "He reacted differently than predicted" → Append to observations.md, refine model layers
    • Correction: Update prediction model, note prediction accuracy
    • Context change: "She got promoted" / "We had a falling out" → Adjust trust level, relationship dynamics, strategy
  3. Rewrite personas/{slug}/SKILL.md with updated model
  4. Update Last updated date and recalculate confidence scores
  5. Confirm: "Updated {codename}'s profile. Here's what changed: [summary]"

Built-in Scenario Templates

Load from ${SKILL_DIR}/references/scenario_templates.md. Categories include:

Workplace — Collaboration: deadline-slip, resource-request, cross-team-dependency, scope-change, delegation

Workplace — Conflict: credit-dispute, blame-deflection, territory-invasion, public-disagreement, passive-aggression

Workplace — Career: promotion-ask, salary-negotiation (with rejection recovery), skip-level-meeting, performance-review (with self-review calibration)

Workplace — Boundaries: saying-no-to-boss, pushing-back-on-deadline, scope-creep-defense, protecting-work-life-balance

Workplace — Communication: async-tone-calibration, meeting-vs-message-decision, email-length-optimization

Personal — Family: financial-discussion, parenting-disagreement, boundary-setting, difficult-news

Personal — Social: favor-request, confrontation, apology, boundary-enforcement


Relationship Map Mode

Build and navigate multi-persona networks for organizational strategy. Load the full system from ${SKILL_DIR}/references/relationship_map.md.

When to Activate

  • User mentions 2+ people in the same situation
  • User asks about "office politics", "org dynamics", "how to navigate"
  • User describes a multi-party conflict or needs multi-stakeholder buy-in
  • User says /pc map

Core Capabilities

  1. Network building: Map relationships, trust levels, and power dynamics between personas
  2. Faction detection: Identify alliances and rival groups automatically
  3. Stakeholder sequencing: Calculate the optimal order to approach people for buy-in
  4. Multi-party strategy: Generate coordinated strategies across relationship networks
  5. Influence path finding: Find the shortest path to influence a target person

Data Storage

Network data stored in personas/_network/map.json. Each persona file remains independent; the map is an overlay.

Capacity

  • No hard limit on number of personas
  • 20-30 personas is the practical sweet spot for most users
  • Single query can cross-reference up to 6-8 personas simultaneously
  • Relationship map supports unlimited edges between personas

Management Commands

CommandAction
/pc listList all saved personas (codenames only)
/pc [codename]Load and query a persona
/pc newCreate a new persona (assigns codename)
/pc update [codename]Add new observations
/pc compare [cn1] [cn2]Compare two personas side-by-side
/pc simulate [cn] [scenario]Run a full scenario simulation
/pc draft [cn] "[context]"Generate ONLY a ready-to-copy message draft
/pc prep [codename]6-line pre-meeting cheat sheet (30 sec)
/pc tone [codename]1-line tone reminder (5 sec)
/pc radarWeekly relationship scan + suggested actions
/pc mapShow relationship network
/pc map add [cn1] [cn2] [rel]Add a relationship
/pc map analyzeFull network analysis with strategy
/pc map factionsDetect faction groupings

Ethical Guidelines (Built-in)

This skill operates under these non-negotiable principles:

  1. Optimize for mutual benefit. Strategies should aim for win-win, not zero-sum.
  2. No manipulation. Advice focuses on clear communication, not deception.
  3. Respect autonomy. People are complex; models are approximations.
  4. Flag uncertainty. When confidence is low, say so explicitly.
  5. Encourage direct communication. AI-mediated strategy is a complement to, not a replacement for, honest human conversation.
  6. Privacy by design. Persona files stay local. No data leaves the user's machine.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.