This repository has been archived on 2026-07-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
OpenCodeInit/.opencode/skills/skill-tester/test-cases/dev-changelog.md
2026-05-03 22:18:56 +08:00

103 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 备注
- 核心判断:是否理解"底部 = 最旧"
- 次要件:是否主动执行了"数清条目"这个步骤