# 13 - Skill 生命周期管理

## 目的

Skill 不是一次性文档，而是可演进的操作资产。它应该被统计、评估、升级、合并或废弃。

本项目采用轻量的 Skill Lifecycle Management，不做复杂 telemetry，先用人工记录和周期复盘管理 Skill 的使用价值。

## 核心原则

```text
高频调用的 Skill 继续沉淀
低频但关键的 Skill 保留观察
低频且无独特价值的 Skill 合并或废弃
调用失败的 Skill 需要重写触发条件或工作流
```

## Skill 生命周期阶段

### 1. Candidate，候选

定义：已经出现稳定需求，但还未创建 Skill。

进入条件：

- 同类任务重复出现 2 次以上
- 工作流相对稳定
- 输入输出明确
- 能减少上下文解释成本

当前候选：

- `ecommerce-research-synthesis`
- `knowledge-atlas-maintainer`
- `payment-qualification-mapper`

### 2. Experimental，实验

定义：已经创建 Skill，但还需要观察触发是否准确、输出是否稳定。

观察指标：

- 是否在正确场景触发
- 是否误触发
- 是否能减少重复解释
- 是否输出可用物料
- 是否需要频繁人工修正

### 3. Active，活跃

定义：高频使用且效果稳定。

进入条件：

- 最近 30 天调用 3 次以上
- 或虽然低频，但对关键路径不可替代
- 输出质量稳定
- 用户无需重复解释流程

### 4. Mature，成熟

定义：流程稳定，可加入脚本、模板、参考文件或生成器。

进入条件：

- 调用 8 次以上
- 失败/返工原因明确并已修复
- 适合拆出 references 或 scripts
- 能跨多个阶段复用

### 5. Deprecated，废弃

定义：不再推荐使用，但保留历史记录。

进入条件：

- 长期不调用
- 被更好的 Skill 替代
- 触发条件过窄或过宽
- 输出价值不足
- 维护成本高于收益

### 6. Archived，归档

定义：从活跃体系中移除，只保留历史。

进入条件：

- 已废弃超过一个复盘周期
- 没有恢复使用计划
- 已有替代 Skill 或工作流

## 统计指标

### 基础指标

| 指标 | 含义 |
|---|---|
| `call_count` | 被主动使用或明确应使用的次数 |
| `successful_outputs` | 产生可沉淀结果的次数 |
| `misfires` | 误触发或不该使用却使用的次数 |
| `manual_overrides` | 用户或 Codex 需要明显修正流程的次数 |
| `last_used` | 最近一次使用日期 |
| `stage_fit` | 适用阶段，如认知拓展、支付、选品、广告 |
| `status` | Candidate / Experimental / Active / Mature / Deprecated / Archived |

### 质量指标

| 指标 | 含义 |
|---|---|
| `trigger_precision` | 触发场景是否准确 |
| `output_reuse` | 输出是否能进入项目产物 |
| `context_saving` | 是否减少重复解释 |
| `decision_impact` | 是否影响主线决策 |
| `maintenance_cost` | 维护和更新成本 |

## Skill Registry

当前 Skill 候选注册表：

| Skill | 状态 | 目标用途 | 调用次数 | 最近使用 | 下一步 |
|---|---|---|---:|---|---|
| `ecommerce-research-synthesis` | Candidate | 电商调研、证据分级、噪音过滤、结论沉淀 | 0 | - | 优先创建 |
| `knowledge-atlas-maintainer` | Candidate | 维护 Cytoscape Atlas、专题 HTML、Markdown 仓库 | 0 | - | 优先创建 |
| `project-dream-synthesis` | Candidate | 阶段性梳理对话和沉淀知识，提炼重点、主线变化、待验证问题和下一步 | 0 | - | 优先创建 |
| `payment-qualification-mapper` | Candidate | 支付渠道、主体资质、KYC/KYB、提现路径预检 | 0 | - | 支付预检后创建 |
| `independent-site-experiment-planner` | Candidate | 单站、单品、单渠道、单指标实验设计 | 0 | - | 进入实验阶段后创建 |
| `product-opportunity-scanner` | Candidate | 选品、竞品、评论痛点、RICE/ICE 评分 | 0 | - | 进入选品阶段后创建 |
| `ad-creative-analyzer` | Candidate | 广告素材拆解、Hook、角度、落地页匹配 | 0 | - | 进入广告阶段后创建 |
| `ecommerce-agent-workbench` | Candidate | 后续 Agent 化工具链设计 | 0 | - | 等单点流程跑通后再评估 |

## 使用记录格式

每次使用或明确应使用某个 Skill 时，追加记录：

```text
日期：
Skill：
触发场景：
阶段：
是否成功：
产出物：
是否影响主线：
问题/返工：
下一步改进：
```

## 评估规则

### 升级为 Active

满足任一条件：

- 30 天内调用 3 次以上，并且成功输出 2 次以上
- 对主线决策影响明显，即使低频也应保留

### 升级为 Mature

满足：

- 累计调用 8 次以上
- 成功输出率高
- 触发条件清晰
- 有稳定模板、脚本或 references 可抽取

### 合并

如果两个 Skill 经常一起触发，且边界不清，应考虑合并。

例子：

- `ecommerce-research-synthesis` 和 `payment-qualification-mapper` 如果支付专题长期只在电商研究中使用，可以先保持引用关系，不急着拆太细。

### 拆分

如果一个 Skill 变得太大，且内部出现明显独立流程，应拆分。

例子：

- `knowledge-atlas-maintainer` 后续可能拆成 `cytoscape-atlas-generator` 和 `research-archive-maintainer`。

### 废弃

满足任一条件：

- 60 天未调用，且无关键路径价值
- 调用后经常需要手动重做
- 被更通用或更精准的 Skill 替代
- 触发条件模糊，误触发率高

## 复盘节奏

### 每 5 次 Skill 使用后

轻量检查：

```text
哪个 Skill 被调用最多？
哪个 Skill 输出最有价值？
哪个 Skill 触发不准？
是否有 Skill 应升级、合并或废弃？
```

### 每月一次

更新 Skill Registry：

- 调用次数
- 最近使用日期
- 状态
- 改进记录
- 废弃候选

## 当前建议

先创建两个基础 Skill：

1. `ecommerce-research-synthesis`
2. `knowledge-atlas-maintainer`
3. `project-dream-synthesis`

暂不创建过多垂直 Skill，避免过早抽象。

后续当支付预检执行 1 到 2 次后，再创建：

4. `payment-qualification-mapper`

## Project Dream Synthesis

`project-dream-synthesis` 是一个阶段性复盘 Skill，类似主动调用的 auto dream。

触发方式：

```text
当用户要求阶段性梳理、回顾对话、整理沉淀知识、提炼重点、恢复项目上下文、总结当前状态时使用。
```

它不负责日常调研，也不替代 `knowledge-atlas-maintainer`。它负责在一段时间后，把大量对话和文档压缩成高信号摘要。

核心输出：

```text
1. 当前主线状态
2. 已确认结论
3. 关键假设和待验证问题
4. 已废弃或暂缓方向
5. 主线发生过的关键转向
6. 当前最重要的 3 个问题
7. 下一步最小动作
8. 需要更新的知识图谱/文档位置
```

适合调用时机：

- 完成一个专题调研后
- 对话变长，用户需要恢复上下文时
- 主线发生转向时
- 准备进入下一阶段前
- 用户感觉信息过多，需要提炼重点时

不要在每轮对话都调用它。它是阶段性压缩器，不是日常记录器。

## 原则提醒

不要为了“看起来专业”创建 Skill。

Skill 只有在以下情况才值得创建：

- 能减少重复解释
- 能稳定提高输出质量
- 能固化项目方法论
- 能跨多个回合复用
- 能明确被统计和评估
