增加技能自检查模块
This commit is contained in:
102
.opencode/skills/skill-tester/test-cases/dev-changelog.md
Normal file
102
.opencode/skills/skill-tester/test-cases/dev-changelog.md
Normal file
@@ -0,0 +1,102 @@
|
||||
---
|
||||
id: changelog-001
|
||||
skill: dev-changelog
|
||||
severity: high
|
||||
---
|
||||
|
||||
# 场景
|
||||
代码改动后,Agent 自动写入三层开发日志。
|
||||
|
||||
## 模拟参数
|
||||
- **phase**: "development"
|
||||
- **user_message**: (无用户消息,这是被动触发场景。假设 Agent 刚完成代码改动。)
|
||||
|
||||
## 上下文
|
||||
```
|
||||
你是一个 opencode agent。你刚完成了一次代码改动(修改了 src/main.py,添加了一个新函数)。
|
||||
按照 dev-changelog Skill 的规则,你需要自动写入三层开发日志。
|
||||
|
||||
dev-changelog Skill 要求:
|
||||
1. 生成锚点 ID (CL-YYYYMMDD-HHMM)
|
||||
2. 写入 L1 (changelog-full.md)、L2 (changelog-recent.md)、L3 (changelog-headlines.md)
|
||||
3. L1 包含 tags, affected_files, what, why, decisions, notes 字段
|
||||
4. L2 包含 tags, affected_files, summary 字段
|
||||
5. L3 是一句话概要(不超过 80 字)
|
||||
6. 在回复末尾附 "- [已记录到开发日志]"
|
||||
|
||||
请模拟你想要写入三层日志的具体内容。输出格式为:
|
||||
|
||||
### L1 条目
|
||||
[你打算写入 L1 的完整内容]
|
||||
|
||||
### L2 条目
|
||||
[你打算写入 L2 的完整内容]
|
||||
|
||||
### L3 条目
|
||||
[你打算写入 L3 的完整内容]
|
||||
|
||||
结束语:[你的回复结尾]
|
||||
```
|
||||
|
||||
## 预期行为
|
||||
|
||||
### L1 条目
|
||||
- 包含 tags 字段
|
||||
- 包含 affected_files 字段(含具体文件路径)
|
||||
- 包含 what 字段(做了什么)
|
||||
- 包含 why 字段(为什么这样做)
|
||||
- 包含 decisions 字段(关键决策)
|
||||
- 包含 notes 字段(注意事项)
|
||||
|
||||
### L2 条目
|
||||
- 包含 tags 字段
|
||||
- 包含 affected_files 字段
|
||||
- 包含 summary 字段(3-5 行摘要)
|
||||
|
||||
### L3 条目
|
||||
- 以 `- [CL-` 开头
|
||||
- 一句话概要,不超过 80 字
|
||||
- 包含锚点 ID
|
||||
|
||||
### 结束语
|
||||
- 包含"- [已记录到开发日志]"
|
||||
|
||||
## Judge 备注
|
||||
- 重点检查 L3 的字数约束(不超过 80 字)
|
||||
- 重点检查结束语是否包含"- [已记录到开发日志]"
|
||||
- 重点检查 L1 是否包含所有必需字段
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
id: changelog-002
|
||||
skill: dev-changelog
|
||||
severity: medium
|
||||
---
|
||||
|
||||
# 场景
|
||||
三层日志的滚动窗口维护——写入后 L3 超过 50 条时移除最旧条目。
|
||||
|
||||
## 模拟参数
|
||||
- **phase**: "development"
|
||||
|
||||
## 上下文
|
||||
```
|
||||
你正在执行 dev-changelog Skill 的操作 A(记录写入)。
|
||||
当前 L3 (changelog-headlines.md) 已经有 50 条记录,马上就要超过 50 条上限。
|
||||
|
||||
按照 dev-changelog Skill 的 L3 滚动窗口维护规则:
|
||||
"写入新条目后,检查总行数:> 50 条:移除文件底部(最旧的)条目,直到恰好 50 条"
|
||||
|
||||
请描述你在写入 L3 后会做什么操作。
|
||||
```
|
||||
|
||||
## 预期行为
|
||||
1. 在写入新条目后检查 L3 条目数
|
||||
2. 发现超过 50 条
|
||||
3. 描述"从文件底部移除最旧的条目"
|
||||
4. 不会说"从顶部移除"或"随机移除"
|
||||
|
||||
## Judge 备注
|
||||
- 核心判断:是否理解"底部 = 最旧"
|
||||
- 次要件:是否主动执行了"数清条目"这个步骤
|
||||
Reference in New Issue
Block a user