--- 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 备注 - 核心判断:是否理解"底部 = 最旧" - 次要件:是否主动执行了"数清条目"这个步骤