用途:在 PR 描述中放置一个由标记分隔、GitHub 可渲染的系统回顾块,用于概览一次变更触及的系统原语与风险等级。适用于非平凡变更,包括计划、创建或更新 PR,或收到可视化回顾请求时。
主要能力:通过分类器脚本对变更涉及的原语进行分类,并按 composes、extends、adds 的顺序向上归并到最高等级。风险等级对应为:composes 为低风险,仅涉及接线与调用点;extends 为中风险,需要以此次变更种子用户和数据执行 preview-manual-test;adds 为高风险,需要更新 primitives.yaml、运行 npm run primitives:check 并进行同样的 preview。新增、删除或实质性重塑原语时需更新 primitives.yaml,普通功能开发不要编辑 summary。每种风险都需指出该映射中被触及的不变量。
使用方式:计划模式下在 PR 存在前使用 Mode: plan;回顾模式则从 git diff <base>...HEAD 替换该块。命令为:node .agents/skills/visual-recap/scripts/classify-primitives.mjs --base <base> --head HEAD --json 以及 node .agents/skills/visual-recap/scripts/upsert-recap-block.mjs <pr-number> <block-file>。upsert 脚本会先检查 mermaid,然后替换标记块或追加。它不会编辑标记之外的文本。重要推送后需重新运行两条命令。
限制:块文件必须以 <!-- system-recap:start --> 开头、以 <!-- system-recap:end --> 结尾。mermaid 检查失败会返回非零,需修复图表;序列注释或消息中不要使用分号,npm run mermaid:check 使用同一解析器。gh pr edit 可能报 Resource not accessible by integration (updatePullRequest),此时脚本仍会打印合并后的正文,可用 Cursor ManagePullRequest 应用,不要让 Kody 编辑 PR。健康检查或登录冒烟测试不属于中或高风险 preview。不要把会话 cookie 通过 cat 传入 curl 或 Python。