skill-e2e-testlisted
Install: claude install-skill juemin4-source/writing-pro-max
# Skill E2E Test — 技能端到端测试
# 让 AI 自己跑一遍 skill 的全流程,然后看问题
> **中文唤起**:直接说「跑一遍 XX 技能的 E2E」「技能端到端测试」「验收一下 XX skill」即触发本 skill。
## Core Thesis
> 验收标准写在纸面上不算数——**让 AI 按 Procedure 真跑一遍**,跑到哪里断、哪里检查没过、哪里协议自相矛盾,问题自然显形。
E2E 不是代码测试(那是 e2e-summary/02 tests 的 validate-screenplay 干的事),是**协议级测试**:AI 扮演测试执行者 + 模拟导演,完整走一遍 target skill 的流程,每阶段对照该阶段的可判定检查与质量门验收,最后输出阶段矩阵与问题清单。
与 skill-evolution 的接口:**E2E 报告 = 测试信号**——发现的问题(协议缺口/检查失效/引用断链)作为信号输入 skill-evolution 的优化提案,修复后再跑一轮 E2E 验证(测试闭环)。
## 输入与模式
| 模式 | 范围 | 耗时 |
|------|------|------|
| smoke(快速) | 只跑关键阶段(种子期完整 + 后续每阶段抽样验收) | 短 |
| full(完整) | Procedure 全流程逐阶段跑 | 长 |
```
输入:target skill(novel-original-writing / novel-review / novel-to-screen-adaptation / video-prompt-adapter)+ 模式(smoke/full)
```
## 流程
```
① 测试准备 → ② 流程执行(逐阶段)→ ③ 机械扫描 → ④ E2E 报告 → ⑤(可选)修复后重跑
```
### ① 测试准备
- 加载 target skill 的 SKILL.md + frameworks(读全,掌握 Procedure/质量门/检查表)
- 加载测试夹具(`frameworks/01-test-cases.md` 定义的用例,fixtures/ 提供素材)
- 建测试工作目录(输出位置协议:默认 `State/Foundry/tasks/e2e-<skill名>-<YYYYMMDD>/`——**测试产出不落 skill 目录**)
- 声明测试范围(smoke/full + 本次要验收的阶段列表)
### ② 流程执行(详见 frameworks/02-execution.md)
AI 双角色:**测试执行者**(跑 target skill 的 Procedure)+ **模拟导演**(按测试脚本回答,覆盖:正常通过路径 + 一次 `[改:]` 返修路径 + 一次选择框交互)。逐阶段执行、逐阶段验收:
```
阶段产物 → 对照该阶段可判定检查(target frameworks 末尾清单)→ 对照质量门 → 记录:通过/失败/警告 + 证据
```
模拟导演的默认回答在 01-test-cases.md 的用例脚本中预设——画像为**刻薄、挑剔、高要求**(拒绝第一稿、连环 `[改:]`、质疑判断依据、抓自相矛盾)。E2E 是压力测试:协议扛得住难缠导演,才算真过。
### ③ 机械扫描(详见 frameworks/03-checks.md)
流程跑完后,对 target skill 做静态扫描(可命令化):