create-partner
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
Bashtool. ${CLAUDE_SKILL_DIR}resolves to the skill directory automatically.- No additional dependencies required beyond the Python standard library.
OpenClaw:
- Install to
~/.openclaw/skills/create-partneror<workspace>/skills/create-partner. - The
metadata.openclaw.requires.binsgate ensures the skill loads only whenpython3is 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 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/profile_builder.py |
| Analyze relationship health (RQI + ACS + LLMI) | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/relationship_analyzer.py |
| Infer relationship state (S1-S6) | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/state_engine.py |
| Select optimal strategy (P1-P7) | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/policy_selector.py |
| Simulate response paths (Counterfactual) | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/counterfactual_engine.py |
| Get scenario-based advice (23 scenarios) | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/scenario_advisor.py |
| Get gift recommendations | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/gift_advisor.py |
| Resolve conflicts | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/conflict_resolver.py |
| Version snapshots | Bash → python3 ${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
- For personal relationship support only. Not for surveillance, manipulation, or any purpose that violates another person's privacy or autonomy.
- The generated Skill is an analytical simulation. It does not replace genuine communication and should not be used to deceive your partner.
- If the user shows signs of unhealthy relationship dynamics (e.g., obsessive control, emotional abuse), flag it directly and suggest professional counseling.
- All data is processed and stored locally. Nothing is uploaded to external servers.
- 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:
- Name or alias (required)
- Basic background — one sentence: gender, age, occupation (optional)
- 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:
- Profile construction: Run
profile_builder.pywith the intake data to generateprofile.json. - Relationship health analysis: Follow
prompts/relationship_health.mdand runrelationship_analyzer.pyto compute RQI, ACS, and LLMI, generatinghealth_report.md. - 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 generatepersona.md. - Memory construction: Follow
prompts/memory_builder.mdto generatememory.mdusing the W = E × R × (1 + F) activation weight model. - Reflection log: Follow
prompts/reflection_log.mdto initializereflection.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:
- Follow
${CLAUDE_SKILL_DIR}/prompts/correction_handler.md. - Update
persona.mdand/ormemory.mdas needed. - Regenerate
health_report.mdif the new data significantly changes the analysis. - 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 |