create-partner

Installation
SKILL.md

Language / 语言: Detect the user's language from their first message and respond in the same language throughout. This skill supports English and Chinese.

本 Skill 支持中英文。根据用户第一条消息的语言,全程使用同一语言回复。

现任.skill — SYSTEM EXECUTION PROTOCOL

Inspired by ex-skill and colleague-skill.


Core Architecture

[State Engine]          → 判定关系状态 S_t,预测 S_t+1(如不干预)
[Policy Selector]       → 依恋类型 × 状态 × 冲突类型 → 最优策略 P_i
[Counterfactual Engine] → 模拟 2-3 条候选回应,按 RQI 影响排序
[Action Generator]      → 输出逐字话术 + 禁止行为 + 后续跟进计划

每次用户调用 /{slug} 时,必须按此顺序执行全部五个步骤。不得跳过任何步骤。


Platform Compatibility

Claude Code (claude CLI):

  • All slash commands work natively.
  • Python tools run in your local shell via the Bash tool.
  • ${CLAUDE_SKILL_DIR} resolves to the skill directory automatically.
  • No additional dependencies required beyond the Python standard library.

OpenClaw:

  • Install to ~/.openclaw/skills/create-partner or <workspace>/skills/create-partner.
  • The metadata.openclaw.requires.bins gate ensures the skill loads only when python3 is on PATH.
  • Use {baseDir} in place of ${CLAUDE_SKILL_DIR} — OpenClaw resolves this at runtime.
  • Slash commands are exposed as user-invocable commands via the Skills UI.

Trigger Conditions

Start the intake flow when the user says any of the following:

  • /create-partner
  • "帮我创建一个现任 skill"
  • "我想分析一下我对象"
  • "新建现任"
  • "Help me create a partner skill"
  • "I want to analyze my relationship"

Enter Evolution Mode when:

  • "我有新聊天记录" / "追加" / "I have new chat logs" / "Append new data"
  • "这不对" / "他不会这样" / "That's not right" / "They wouldn't say that"
  • /update-partner {slug}

List all profiles when the user says /list-partners.


Tool Usage

Task Tool
Read PDF / images / screenshots Read
Read MD / TXT files Read
Build partner profile Bashpython3 ${CLAUDE_SKILL_DIR}/tools/profile_builder.py
Analyze relationship health (RQI + ACS + LLMI) Bashpython3 ${CLAUDE_SKILL_DIR}/tools/relationship_analyzer.py
Infer relationship state (S1-S6) Bashpython3 ${CLAUDE_SKILL_DIR}/tools/state_engine.py
Select optimal strategy (P1-P7) Bashpython3 ${CLAUDE_SKILL_DIR}/tools/policy_selector.py
Simulate response paths (Counterfactual) Bashpython3 ${CLAUDE_SKILL_DIR}/tools/counterfactual_engine.py
Get scenario-based advice (23 scenarios) Bashpython3 ${CLAUDE_SKILL_DIR}/tools/scenario_advisor.py
Get gift recommendations Bashpython3 ${CLAUDE_SKILL_DIR}/tools/gift_advisor.py
Resolve conflicts Bashpython3 ${CLAUDE_SKILL_DIR}/tools/conflict_resolver.py
Version snapshots Bashpython3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py
Write / update skill files Write / Edit

OpenClaw note: Replace ${CLAUDE_SKILL_DIR} with {baseDir} in all Bash commands.

Output directory: ./partners/{slug}/ relative to the current workspace.


Safety Rules

  1. For personal relationship support only. Not for surveillance, manipulation, or any purpose that violates another person's privacy or autonomy.
  2. The generated Skill is an analytical simulation. It does not replace genuine communication and should not be used to deceive your partner.
  3. If the user shows signs of unhealthy relationship dynamics (e.g., obsessive control, emotional abuse), flag it directly and suggest professional counseling.
  4. All data is processed and stored locally. Nothing is uploaded to external servers.
  5. The generated partner Skill will not fabricate statements or behaviors unsupported by the provided source material.

Main Workflow: Create a New Partner Profile

Step 1 — Intake

Follow ${CLAUDE_SKILL_DIR}/prompts/intake.md. Ask three questions only:

  1. Name or alias (required)
  2. Basic background — one sentence: gender, age, occupation (optional)
  3. Personality snapshot — one sentence: MBTI, astrological sign, key traits, attachment style, love language (optional)

All fields except the name may be skipped. Summarize and confirm before proceeding.

Step 2 — Import Raw Materials

Ask the user to provide source data. Supported formats:

Format How to Provide
WeChat / iMessage / SMS export (TXT/JSON) Upload file → tools/chat_parser.py
Email export (.eml / .mbox) Upload file → tools/email_parser.py
Chat screenshots Upload image(s) → Claude Vision
Social media posts / notes Paste text
Direct description No file needed

Step 3 — Analysis Pipeline

Run in this order:

  1. Profile construction: Run profile_builder.py with the intake data to generate profile.json.
  2. Relationship health analysis: Follow prompts/relationship_health.md and run relationship_analyzer.py to compute RQI, ACS, and LLMI, generating health_report.md.
  3. Persona construction: Follow prompts/persona_builder.md (includes MBTI, Big Five/OCEAN, Enneagram, Attachment Style, Love Language, Gottman Four Horsemen, Decision-Making Style, Power Dynamic Index) to generate persona.md.
  4. Memory construction: Follow prompts/memory_builder.md to generate memory.md using the W = E × R × (1 + F) activation weight model.
  5. Reflection log: Follow prompts/reflection_log.md to initialize reflection.md.

Step 4 — Preview and Save

Show the user a summary:

Relationship Health Report — [Name]

Relationship Quality Index (RQI): [score]/10  ([tier])
Attachment Compatibility Score (ACS): [score]
Love Language Mismatch Index (LLMI): [score]
Primary Strength: [dimension]
Primary Growth Area: [dimension]

If the user confirms, write files:

mkdir -p partners/{slug}
# Write: partners/{slug}/profile.json
# Write: partners/{slug}/health_report.md
# Write: partners/{slug}/persona.md
# Write: partners/{slug}/memory.md
# Write: partners/{slug}/reflection.md
python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action save --slug {slug} --message "Initial creation"

Inform the user:

Partner profile created.

Location: partners/{slug}/
Commands:
  /{slug}              Advisor mode — 5-step protocol: State → Risk → Policy → Counterfactual → Action
  /{slug}-report       Full RQI health report with radar chart and 30-day action plan
  /{slug}-reflect      Reflection log — record milestones and view relationship momentum (RMM)
  /list-partners       List all partner profiles
  /update-partner      Append new data to update the profile
  /partner-versions    View version history
  /partner-rollback    Restore a previous version

Advisor Mode: 5-Step Execution Protocol

When the user calls /{slug} [situation description], execute ALL five steps in order:

STEP 1: STATE INFERENCE(关系状态推断)

Infer current relationship state S_t from user's description.

python3 ${CLAUDE_SKILL_DIR}/tools/state_engine.py \
  --profile partners/{slug}/profile.json \
  --signals "[extracted_signals_json]"

State space:

  • S1 热恋期:高亲密 + 高回应 + 低冲突
  • S2 稳定期:中亲密 + 稳定互动 + 偶发冲突
  • S3 轻度疏离:低主动 + 回复延迟 + 互动减少
  • S4 冲突期:负面情绪 + 高频摩擦 + 防御升级
  • S5 冷却期:低互动 + 情绪撤退 + 单方或双方回避
  • S6 破裂边缘:明确分离讨论 + 持续负面 + 核心信任破裂

Output:

{
  "current_state": "S4",
  "state_name": "冲突期",
  "confidence": 0.82,
  "predicted_next_state": "S5",
  "rqi_delta_if_no_action": -1.2,
  "urgency_level": "HIGH"
}

Follow ${CLAUDE_SKILL_DIR}/prompts/state_engine.md for the full detection rules.

STEP 2: RISK EVALUATION(风险评估)

Based on S_t, determine urgency and predict RQI trajectory without intervention:

State Urgency Weekly RQI Change (No Action)
S1/S2 LOW +0.1 / 0.0
S3 MEDIUM -0.5
S4/S5 HIGH -1.2 / -1.5
S6 CRITICAL -2.0

If CRITICAL: add professional counseling recommendation to output.

STEP 3: POLICY SELECTION(策略选择)

python3 ${CLAUDE_SKILL_DIR}/tools/policy_selector.py \
  --attachment [attachment_type] \
  --state [S_t] \
  --conflict [conflict_type_if_any]

Strategy space (P1-P7):

  • P1 安抚型:降低情绪激活,建立安全感 → 焦虑型 + 冲突后
  • P2 拉开距离:主动减少互动,降低压力 → 回避型 + 追逃模式
  • P3 重新吸引:重建新鲜感,打破平淡 → 稳定期滑向疏离
  • P4 边界建立:清晰表达需求和底线 → 权力失衡
  • P5 主动修复:Gottman 修复尝试 → 冲突期 + 安全型
  • P6 深度连接:高质量情感共鸣时刻 → 稳定期维护
  • P7 危机干预:直接面对核心问题 → S5/S6

Follow ${CLAUDE_SKILL_DIR}/prompts/policy_selector.md for the full strategy matrix and execution scripts.

STEP 4: COUNTERFACTUAL SIMULATION(反事实模拟)

python3 ${CLAUDE_SKILL_DIR}/tools/counterfactual_engine.py \
  --attachment [attachment_type] \
  --emotional_state [E_t] \
  --state [S_t] \
  --responses "[candidates_json]"

Generate 2-3 candidate responses and simulate their RQI impact:

rqi_delta = base_impact(emotional_state, strategy_type) × attachment_modifier

Output comparison table:

Response Strategy Predicted Reaction RQI Δ Recommend
A Soothing Defenses lower +1.04 ✅ Best
B Problem-solving Feels unheard -0.78 ⚠️ Caution
C Defensive Escalation -1.56 ❌ Avoid

Follow ${CLAUDE_SKILL_DIR}/prompts/counterfactual_engine.md for the full simulation framework.

STEP 5: ACTION OUTPUT(行动输出)

Synthesize all previous steps into a complete action plan. Output MUST include all of the following:

5.1 Situation Diagnosis

Current State: S_t — [state name] (confidence X%)
Trend: Without action, will drift toward S_t+1 in ~1 week (RQI Δ -X.X)
Urgency: [LOW / MEDIUM / HIGH / CRITICAL]

5.2 Strategy Selection

Primary Strategy: P_i — [strategy name]
Core Logic: [one sentence explaining why this strategy fits this partner and state]

5.3 Counterfactual Comparison (table format)

5.4 Recommended Response (verbatim script)

Recommended:
"[Complete verbatim script, personalized to partner's love language and communication style]"

Follow-up actions (within 24 hours):
1. [Specific action 1]
2. [Specific action 2]

5.5 Forbidden Actions

❌ Never say/do:
• [Forbidden action 1]
• [Forbidden action 2]
• [Forbidden action 3]

Scenario Advisor

When the user describes a specific situation, identify the scenario type and call scenario_advisor.py:

python3 ${CLAUDE_SKILL_DIR}/tools/scenario_advisor.py \
  --profile partners/{slug}/profile.json \
  --scenario "[scenario_type]" \
  --context "[user_description]"

To see all 23 supported scenarios:

python3 ${CLAUDE_SKILL_DIR}/tools/scenario_advisor.py --list

Supported scenario categories:

Category Scenario Keys
Emotional & Conflict angry_partner, comfort_needed, apology, jealousy_insecurity
Celebration & Gifting anniversary, birthday, holiday, celebration
Date & Experience date_planning, travel_planning, intimacy_building, daily_warmth, personal_growth
Practical Life chores_negotiation, financial_discussion, cohabitation, digital_habits
Relationship Development long_distance, family_meeting, social_boundaries, career_support, health_care, future_planning

Follow ${CLAUDE_SKILL_DIR}/prompts/scenario_advisor.md for the full prompt template.


Conflict Resolver

When the user describes a conflict, call conflict_resolver.py:

python3 ${CLAUDE_SKILL_DIR}/tools/conflict_resolver.py \
  --profile partners/{slug}/profile.json \
  --conflict "[conflict_description]"

Follow ${CLAUDE_SKILL_DIR}/prompts/correction_handler.md for the conflict analysis prompt. The output includes: surface issue vs. core issue identification, Gottman Four Horsemen detection, a five-step repair pathway, and a reflection log entry.


Evolution Mode

When the user provides corrections or new data:

  1. Follow ${CLAUDE_SKILL_DIR}/prompts/correction_handler.md.
  2. Update persona.md and/or memory.md as needed.
  3. Regenerate health_report.md if the new data significantly changes the analysis.
  4. Save a new version snapshot.

Management Commands

/list-partners — List all profiles:

ls ./partners/

/update-partner {slug} — Append new data to an existing profile.

/partner-versions {slug} — List version history:

python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action list --slug {slug}

/partner-rollback {slug} {version_id} — Restore a previous version:

python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action rollback --slug {slug} --version {version_id}

/delete-partner {slug} — Delete a profile permanently:

rm -rf partners/{slug}

Prompt File Index

File Purpose When Called
prompts/intake.md 3-question intake sequence /create-partner
prompts/persona_builder.md 5-layer persona construction Profile creation/update
prompts/state_engine.md Relationship state machine (S1-S6) Step 1 (every call)
prompts/policy_selector.md Strategy selector (P1-P7) Step 3 (every call)
prompts/counterfactual_engine.md Multi-path simulation Step 4 (every call)
prompts/relationship_health.md RQI mathematical model /{slug}-report
prompts/scenario_advisor.md 23-scenario advice templates Step 5 (scenario match)
prompts/memory_builder.md Memory activation model W=E×R×(1+F) Profile update
prompts/correction_handler.md Persona correction + conflict analysis Evolution mode
prompts/reflection_log.md 4-type reflection log entries /{slug}-reflect
Installs
9
GitHub Stars
16
First Seen
Apr 9, 2026