增加技能自检查模块
This commit is contained in:
119
.opencode/skills/skill-tester/test-cases/phase-guard.md
Normal file
119
.opencode/skills/skill-tester/test-cases/phase-guard.md
Normal file
@@ -0,0 +1,119 @@
|
||||
---
|
||||
id: phase-guard-001
|
||||
skill: game-design
|
||||
severity: critical
|
||||
|
||||
test_id: phase-guard-001
|
||||
skill: game-design
|
||||
scenario: 用户在 development 阶段尝试触发 game-design Skill
|
||||
---
|
||||
|
||||
# 场景
|
||||
用户在 development 阶段说"帮我设计一个卡牌游戏",此时应该触发 game-design 的相位守卫,
|
||||
Agent 应拒绝加载该 Skill。
|
||||
|
||||
## 模拟参数
|
||||
- **phase**: "development"
|
||||
- **user_message**: "帮我设计一个卡牌游戏"
|
||||
|
||||
## 预期行为
|
||||
1. Agent 应检查 current.json 的 phase 值
|
||||
2. 发现 phase = "development",而 game-design 的 phases = ["design"]
|
||||
3. 立即中止,不执行 game-design 的任何后续流程
|
||||
4. 输出应包含以下关键信息:
|
||||
- 当前阶段为 development
|
||||
- game-design Skill 不可用
|
||||
- 建议切换到设计阶段
|
||||
|
||||
## 预期输出关键词
|
||||
- "当前阶段" 或 "development"
|
||||
- "不可用" 或 "不支持" 或 "无法加载"
|
||||
- "切换到" 或 "设计阶段"
|
||||
|
||||
## 不应出现的行为
|
||||
- 开始进行游戏设计问答
|
||||
- 询问参考游戏
|
||||
- 加载任何设计相关模板
|
||||
- 创建 state.json 或设计阶段数据文件
|
||||
|
||||
## Judge 备注
|
||||
- 这是相位守卫的否定场景测试(应拒绝加载)
|
||||
- 行为匹配的核心:Agent 是否拒绝执行游戏设计工作流
|
||||
- 关键决策点:Agent 输出中是否包含了中止信号
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
id: phase-guard-002
|
||||
skill: game-design
|
||||
severity: critical
|
||||
|
||||
test_id: phase-guard-002
|
||||
skill: game-design
|
||||
scenario: 用户在 design 阶段正常触发 game-design Skill
|
||||
---
|
||||
|
||||
# 场景
|
||||
用户在 design 阶段说"我想做一个 roguelike 卡牌游戏",此时应该正常加载 game-design Skill
|
||||
并开始工作流。
|
||||
|
||||
## 模拟参数
|
||||
- **phase**: "design"
|
||||
- **user_message**: "我想做一个融合了杀戮尖塔和炉石传说的 roguelike 卡牌游戏"
|
||||
|
||||
## 预期行为
|
||||
1. Agent 应检查 current.json 的 phase 值
|
||||
2. 发现 phase = "design",game-design 的 phases = ["design"],匹配通过
|
||||
3. 开始执行 game-design 工作流:
|
||||
- 读取 state.json
|
||||
- 进入 SEEKING_REFERENCE 或直接进入 ANALYZING_REFERENCE(因为提到了明确参考游戏)
|
||||
4. 输出应包含游戏设计相关的引导
|
||||
|
||||
## 预期输出特征
|
||||
- 不应出现"不可用"、"不支持"等拒绝信息
|
||||
- 应出现游戏设计相关引导:
|
||||
- 询问更多细节 或
|
||||
- 确认参考游戏并开始分析 或
|
||||
- 开始游戏设计工作流
|
||||
|
||||
## 不应出现的行为
|
||||
- 拒绝加载
|
||||
- 提示切换阶段
|
||||
- 完全忽略用户的游戏设计请求
|
||||
|
||||
## Judge 备注
|
||||
- 这是相位守卫的肯定场景测试(应允许加载)
|
||||
- 核心判断:Agent 是否开始执行游戏设计工作流而非拒绝
|
||||
- 不需要验证完整工作流,只需确认"准入"环节通过
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
id: phase-guard-003
|
||||
skill: dev-changelog
|
||||
severity: high
|
||||
|
||||
test_id: phase-guard-003
|
||||
skill: dev-changelog
|
||||
scenario: dev-changelog 在 design 阶段也应可用(phases: ["all"])
|
||||
---
|
||||
|
||||
# 场景
|
||||
dev-changelog 的 phases 是 ["all"],在 design 阶段应正常可用。
|
||||
|
||||
## 模拟参数
|
||||
- **phase**: "design"
|
||||
- **user_message**: "帮我记录一下最近改了什么"
|
||||
|
||||
## 预期行为
|
||||
1. Agent 应检查 phases,发现 ["all"] 匹配任何阶段
|
||||
2. 正常加载 dev-changelog Skill
|
||||
3. 执行开发日志相关操作
|
||||
|
||||
## 预期输出特征
|
||||
- 不出现阶段不匹配的拒绝信息
|
||||
- 出现开发日志相关的操作(读取 changelog 文件 或 提示写入日志)
|
||||
|
||||
## Judge 备注
|
||||
- 验证 phases: ["all"] 的正确性
|
||||
- 核心判断:基础设施 Skill 在所有阶段都应可用
|
||||
Reference in New Issue
Block a user