---
name: persona-simulation
description: F2 Persona Simulation — two-mode skill: F2-early validates IA + feature list against personas before mockup (triggered by "discovery done"); F2-late validates visual UX of completed mockup/code (triggered by "persona simulation" or "design done").
---

# Persona Simulation Agent (F2)

> 两种模式，按触发时机自动选择：
> - **F2-early**：design-discovery 完成后，对 IA + feature list 跑 persona（前置结构验证）
> - **F2-late**：mockup / code 完成后，对视觉交付物跑 persona（UX 可读性验证）

---

## 模式选择

| 触发词 | 输入 | 模式 |
|---|---|---|
| `discovery done` / "走查 IA" | IA + feature list + personas | **F2-early** |
| `persona simulation` / "persona 模拟" / `design done` | mockup node-id / code path | **F2-late** |

**Persona 来源**（按优先级）：
1. 同 session design-discovery 产出的 Personas 表
2. `domain-tvu.md` 默认 persona 列表（TVU SaaS 产品：CFO / PM / SRE）
3. PRD 推断 + 用户确认

---

## F2-early — IA + Feature List Persona 验证

**目的**：在 mockup 生成前，验证 IA 结构和 feature list 对每个 persona 是否完整合理。修改成本此时最低。

### 使用方法

```
discovery done
IA: <inline 或 link>
Features: <list>
Personas: <来自 discovery 或默认>
```

### F2-early Report 格式

```markdown
# F2-early Persona Validation — <Product / Feature Name>

**Date**: YYYY-MM-DD
**Input**: IA + feature list（来自 design-discovery）
**Personas**: <list>

---

## Persona 1: <Role Name>

**背景**: <1 句话关注点>

| 维度 | Validation |
|---|---|
| **IA 层级可达性** | 高频任务在几层内可达？<N 层>（推荐 ≤ 2 层）|
| **Feature 覆盖完整性** | 核心需求是否在 feature list 中？ |
| **缺失的关键 feature** | <feature 1> / <feature 2> / 无 |
| **IA 结构符合认知模型** | 信息分组对该 persona 是否直觉？ |
| **改进建议** | <suggestion> |

---

## [每个 persona 同格式]

---

## Cross-persona Synthesis

| 维度 | 分歧点 | 建议 |
|---|---|---|
| <IA 决策 / feature> | Persona A 需要 X，Persona B 需要 Y | <recommendation> |

## 缺口清单（进 Phase 0 前必须解决）

| 缺口 | 影响 persona | Severity | 建议 |
|---|---|---|---|
| <gap> | <list> | 🔴 / 🟡 | <fix> |
```

---

## F2-late — Mockup / Code Persona 验证

**目的**：验证视觉交付物的可读性和 UX 对每个 persona 是否有效。

### 使用方法

```
persona simulation <node-id or file path>
Personas: CFO, SRE, PM   （或来自 design-discovery output / domain-tvu.md 默认）
PRD: <link or inline>
```

### F2-late Report 格式

```markdown
# F2-late Persona Simulation Report — <Deliverable Name>

**Date**: YYYY-MM-DD
**Deliverable**: <node-id / file path>
**Personas simulated**: <list>

---

## Persona 1: <Role Name>

**背景**: <1 句话关注点>

| 维度 | Simulation |
|---|---|
| **第一眼关注什么** | <element / section> |
| **心里问的问题（3-5 条）** | <Q1> / <Q2> / ... |
| **Design 答了几个** | X / Y questions |
| **关心的痛点是否被解** | ✅ / ⚠️ partial / ❌ not addressed |
| **最大疑虑** | <concern> |
| **改进建议** | <suggestion> |

---

## [每个 persona 同格式]

---

## Cross-persona Synthesis

| 维度 | 分歧点 | 建议 |
|---|---|---|
| <element / decision> | Persona A 说 X，Persona B 说 Y | <recommendation> |

## Priority Issues（跨所有 persona）

| Issue | 影响 persona | Severity | Recommended fix |
|---|---|---|---|
| <issue> | <list> | 🔴 / 🟡 / 🟢 | <fix> |
```

---

## Agent 执行协议

### F2-early
1. 加载 IA 层级 + feature list（来自 discovery 输出）
2. 加载 personas（来源优先级见上方）
3. 逐 persona 验证：IA 可达性 + feature 覆盖 + 认知模型符合度
4. Cross-persona 找分歧（不同 persona 对同一 IA 决策意见相反）
5. 输出缺口清单（按 🔴 / 🟡 分级）

### F2-late
1. Read design deliverable（`get_design_context` / Read）
2. 加载 personas（来源同上）
3. 逐 persona 代入：视线路径 → 问题清单 → design 答题率 → 痛点覆盖
4. Cross-persona synthesis：找 persona 间分歧和张力
5. 输出 Priority Issues（按 🔴 / 🟡 / 🟢）

**不做**：不修改 deliverable，不生成新规则——只输出 report。
