[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71MYC89X9XJ8VBNR8E4GDD7":3,"skill-same:01M71MYC89X9XJ8VBNR8E4GDD7":72},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":15,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":36,"install":37,"resources":49},"01M71MYC89X9XJ8VBNR8E4GDD7","blast-radius",null,"调查变更在 diff 之外会破坏什么, 用真实代码证明关键安全事实.","BoloBoloMe\u002Fskills","BoloBoloMe","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F47206302?v=4","01M71MWSD25CE8SH8BMHTT7628","01M71MWSDN3116AJBK3HBD3E88",3,"MIT","https:\u002F\u002Fgithub.com\u002FBoloBoloMe\u002Fskills\u002Fblob\u002Fmain\u002Fworkflow\u002Fblast-radius\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FBoloBoloMe\u002Fskills\u002Fblob\u002Fmain\u002Fworkflow\u002Fblast-radius\u002FSKILL.md",[],[19,20,21,22,23],"blast radius","radius","true","安全","diff","2026-11-10 10:56:23",false,"---\nname: blast-radius\ndescription: 调查变更在 diff 之外会破坏什么, 用真实代码证明关键安全事实.\ndisable-model-invocation: true\n---\n\n# 变更影响调查\n\n你调查变更在 diff 外的破坏, 合入前找出风险. 触发说法: \"这个变更的影响范围\", \"这改动可能弄坏什么\". 没把握的小 diff 也可调查.\n\n你负责调查并运行证明. 若调用方另安排独立产品验证, 本技能的调查不替代成品验证, 应派未参与实现的验证者按已确认标准实跑. 是否接受交付仍由我决定. 大变更的多模型同题调查可以委派.\n\n只列调用者不算完成. 你要找出 grep 看不见的破坏.\n\n## 1. 读变更并定位历史\n\n读 diff 中新增, 修改与删除的符号, 以及行为差异. 同样检查 diff 外的注册时机, 导入顺序与运行环境.\n\n需要解释某行来源时, 运行历史定位:\n\n```bash\ngit log --oneline -20                  # 近期提交, 找到本次变更的邻居\ngit show \u003C变更提交>                     # diff 与提交消息\ngit blame -L \u003C起始行>,\u003C结束行> -- \u003C文件>  # 这行由哪个提交引入\ngit log --follow -p -- \u003C文件>           # 跨重命名的文件历史\ngit log --all --oneline -S\"\u003C符号>\"      # 找到增删该符号的提交\n```\n\n从提交消息取分支或 PR 编号. 用可用托管入口读正文与讨论, 如 `gh pr view \u003C编号> --comments`. 取不到材料就写来源限制, 不编造 PR 或历史.\n\n完成标准: 每个变更符号与行为差异都有提交或材料位置. 历史来源可复核, 缺失材料已说明限制.\n\n## 2. 找出关键安全事实\n\n找出变更安全所依赖的一两个关键事实. 例如 \"这个调用只丢失效缓存项, 不做别的\". 验证它能排除大部分风险, 比罗列可能情况更有效.\n\n读取以下事实, 不停在 grep 命中:\n\n- 库源码, 固定版本与本地补丁.\n- 运行时机: 注册, 异步, 卸载与生命周期.\n- JSON 返回, 数据库列与线格式.\n- 跨语言读同一批字节的路径.\n- feature flag 与三跳之后的下游.\n\n给出真实 file:line 或库源码位置.\n\n完成标准: 已指名一两个关键安全事实, 逐条说明其安全作用. 不罗列所有看似相关的位置.\n\n## 3. 给每个事实标证据级别\n\n每个关键事实都尽量取得下一级证据, 说明停在哪一级:\n\n1. 你直接断言事实成立. 单独没有价值.\n2. 指到真实 file:line, 或库自己的源码.\n3. 逐步走查失败路径, 证明坏情况到不了.\n4. 实际跑过: 调用真实代码, 判断错就失败的脚本或测试.\n5. 在运行中的应用里复现.\n\n级别 4 与 5 属当前观察; 级别 1 到 3 属推断, 结论记未验证; 没跑过的按未运行记, 不抬高级别.\n\n完成标准: 每个关键事实都标了级别并说明停下的理由. 不把低级别材料说成应用实跑.\n\n## 4. 写可失败的证明脚本\n\n第 4 级通常用小脚本证明. 导入应用实际使用的同款库与固定版本, 调用目标函数. 判断错时以非零退出码失败. 运行后贴原始输出, 不只转述结论.\n\n- 先断言库版本与运行环境, 确保测的是应用实际代码.\n- 用 assert 或显式非零退出判断, 不只打印结果.\n- 临时脚本放仓库外的临时目录, 或在报告附全文. 产品源码与测试保持原样. 只读调查不需额外授权. 写仓库或运行有副作用的应用前, 按第 5 节开头的 SAFETY 指针获批.\n- 交接保留脚本全文与输出, 让别人能重跑.\n\n无法证明就标未证实, 写明所缺数据, 入口, 环境或权限. 不猜测或静默略过.\n\n完成标准: 每条要取第 4 级的关键事实都有实跑脚本与原始输出, 判断错会失败; 停在第 4 级以下的事实按第 3 节标级别与理由, 并记未证实.\n\n## 5. 一次性实验的边界\n\n关键事实没有正式测试时, 可做本地一次性实验. 动工前的获批与结束后的清理依据 [verification-contract\u002FSAFETY.md](..\u002Fverification-contract\u002FSAFETY.md) 的 **写入与授权** 与 **原始数据** 两节; 本节只补实验特有范围. 实验是调查手段, 不是新正式用例.\n\n- 记录标明 \"非正式 TC\", 写授权范围与实验覆盖.\n- 只在批准的独立脚本与临时目录操作. 不改产品源码, 既有测试或项目配置. 配置包括构建与运行配置.\n- 临时数据放仓库外临时目录, 或在记录附全文.\n- 按批准范围清理临时文件与后台进程, 清理结果写进交接.\n- 实验只证明内部函数在给定输入下的行为. 成品真实入口未跑, 对应产品场景仍记未运行. 不用内部结果顶替成品通过.\n- 只能改冻结目标才能得出可信结论时, 停下报缺口. 例如加计数代码. 冻结目标不改, 计数代码不进产品.\n- 需要新正式测试才能观察时, 停下. 交回既有用例确认流程. 不自行新增未经确认的用例.\n- 接缝怎么设计由实现者决定; 调查本身不得改动冻结目标与产品源码.\n\n完成标准: 交接有非正式 TC 标记与批准范围. 清理结果与未运行场景齐全. 需改冻结目标或加正式接缝时已报告交回, 未改产品.\n\n## 6. 风险与已排除项\n\n风险与已排除项分开写. 让读者分清可能出错与已查无事的位置.\n\n- 风险: 写破坏方式, 真实 file:line, 概率与代价, 再给运行与观察方法. 概率和代价须有依据. 如数据分布, 调用频率, 能否重试或失败是否静默.\n- 已排除项: 写查了什么, 以及排除证据或证据级别. 不靠看起来没事下结论.\n- 检索无结果也是答案. 报实际命令, 路径, 符号与排除目录. 说明未找到调用者, 以及结论覆盖不到的范围. 不编造调用者, API 或文件填报告.\n\n完成标准: 每条风险都能按写下的方法独立检查. 已排除项里没有混入未检查的猜测. 检索空结果写明了范围与边界.\n\n## 7. 大或宽变更用多模型同题调查\n\n按实际影响判断, 不按 diff 行数. 以下任一成立就算大或宽, 即使只改几十行:\n\n- 跨多个模块或仓库.\n- 改了下游会读的共享线格式, 数据库列或公共接口.\n\n大或宽变更须做不同模型同题调查并合并. 多模型调查, 单路选择或能力缺口, 都须读 [reference\u002Fmultimodel.md](reference\u002Fmultimodel.md) 并按其执行. 合并与单路规则只在该文件维护.\n完成标准: 大或宽的判断有依据. 多路有会话与合并记录. 单路或能力缺口已按参考文件写入交接.\n\n## 8. 交接\n\n按五部分交付. 哪部分缺就写明缺, 不用别的部分顶替:\n\n1. 做了什么: 读到的变更与历史, 查过的位置, 跑过的命令. 还要写没有覆盖到的范围.\n2. 关键安全事实与证据级别. 每条一句话陈述, 加级别与停下的理由. 再加证明脚本与原始输出, 或未证实的缺口.\n3. 风险: 位置, 概率, 代价, 检查方法.\n4. 已排除项: 查过并确认没事的地方.\n5. 合并前最便宜的复现: 一条能真跑的命令或最小脚本. 它抓住最要紧的问题, 脚本全文一起给.\n\n只交接材料, 不自动提交或合并, 不创建 PR. 对外发出前脱敏. 成文前必须按 [reference\u002Freport-style-zh.md](reference\u002Freport-style-zh.md) 整理中文.\n完成标准: 五部分均已列出, 缺失内容已明示. 关键事实已有证明或标未证实. 中文整理保留了证据与风险边界.\n\n**回复**: 这份交接.\n","# 变更影响调查\n\n你调查变更在 diff 外的破坏, 合入前找出风险. 触发说法: \"这个变更的影响范围\", \"这改动可能弄坏什么\". 没把握的小 diff 也可调查.\n\n你负责调查并运行证明. 若调用方另安排独立产品验证, 本技能的调查不替代成品验证, 应派未参与实现的验证者按已确认标准实跑. 是否接受交付仍由我决定. 大变更的多模型同题调查可以委派.\n\n只列调用者不算完成. 你要找出 grep 看不见的破坏.\n\n## 1. 读变更并定位历史\n\n读 diff 中新增, 修改与删除的符号, 以及行为差异. 同样检查 diff 外的注册时机, 导入顺序与运行环境.\n\n需要解释某行来源时, 运行历史定位:\n\n```bash\ngit log --oneline -20                  # 近期提交, 找到本次变更的邻居\ngit show \u003C变更提交>                     # diff 与提交消息\ngit blame -L \u003C起始行>,\u003C结束行> -- \u003C文件>  # 这行由哪个提交引入\ngit log --follow -p -- \u003C文件>           # 跨重命名的文件历史\ngit log --all --oneline -S\"\u003C符号>\"      # 找到增删该符号的提交\n```\n\n从提交消息取分支或 PR 编号. 用可用托管入口读正文与讨论, 如 `gh pr view \u003C编号> --comments`. 取不到材料就写来源限制, 不编造 PR 或历史.\n\n完成标准: 每个变更符号与行为差异都有提交或材料位置. 历史来源可复核, 缺失材料已说明限制.\n\n## 2. 找出关键安全事实\n\n找出变更安全所依赖的一两个关键事实. 例如 \"这个调用只丢失效缓存项, 不做别的\". 验证它能排除大部分风险, 比罗列可能情况更有效.\n\n读取以下事实, 不停在 grep 命中:\n\n- 库源码, 固定版本与本地补丁.\n- 运行时机: 注册, 异步, 卸载与生命周期.\n- JSON 返回, 数据库列与线格式.\n- 跨语言读同一批字节的路径.\n- feature flag 与三跳之后的下游.\n\n给出真实 file:line 或库源码位置.\n\n完成标准: 已指名一两个关键安全事实, 逐条说明其安全作用. 不罗列所有看似相关的位置.\n\n## 3. 给每个事实标证据级别\n\n每个关键事实都尽量取得下一级证据, 说明停在哪一级:\n\n1. 你直接断言事实成立. 单独没有价值.\n2. 指到真实 file:line, 或库自己的源码.\n3. 逐步走查失败路径, 证明坏情况到不了.\n4. 实际跑过: 调用真实代码, 判断错就失败的脚本或测试.\n5. 在运行中的应用里复现.\n\n级别 4 与 5 属当前观察; 级别 1 到 3 属推断, 结论记未验证; 没跑过的按未运行记, 不抬高级别.\n\n完成标准: 每个关键事实都标了级别并说明停下的理由. 不把低级别材料说成应用实跑.\n\n## 4. 写可失败的证明脚本\n\n第 4 级通常用小脚本证明. 导入应用实际使用的同款库与固定版本, 调用目标函数. 判断错时以非零退出码失败. 运行后贴原始输出, 不只转述结论.\n\n- 先断言库版本与运行环境, 确保测的是应用实际代码.\n- 用 assert 或显式非零退出判断, 不只打印结果.\n- 临时脚本放仓库外的临时目录, 或在报告附全文. 产品源码与测试保持原样. 只读调查不需额外授权. 写仓库或运行有副作用的应用前, 按第 5 节开头的 SAFETY 指针获批.\n- 交接保留脚本全文与输出, 让别人能重跑.\n\n无法证明就标未证实, 写明所缺数据, 入口, 环境或权限. 不猜测或静默略过.\n\n完成标准: 每条要取第 4 级的关键事实都有实跑脚本与原始输出, 判断错会失败; 停在第 4 级以下的事实按第 3 节标级别与理由, 并记未证实.\n\n## 5. 一次性实验的边界\n\n关键事实没有正式测试时, 可做本地一次性实验. 动工前的获批与结束后的清理依据 [verification-contract\u002FSAFETY.md](..\u002Fverification-contract\u002FSAFETY.md) 的 **写入与授权** 与 **原始数据** 两节; 本节只补实验特有范围. 实验是调查手段, 不是新正式用例.\n\n- 记录标明 \"非正式 TC\", 写授权范围与实验覆盖.\n- 只在批准的独立脚本与临时目录操作. 不改产品源码, 既有测试或项目配置. 配置包括构建与运行配置.\n- 临时数据放仓库外临时目录, 或在记录附全文.\n- 按批准范围清理临时文件与后台进程, 清理结果写进交接.\n- 实验只证明内部函数在给定输入下的行为. 成品真实入口未跑, 对应产品场景仍记未运行. 不用内部结果顶替成品通过.\n- 只能改冻结目标才能得出可信结论时, 停下报缺口. 例如加计数代码. 冻结目标不改, 计数代码不进产品.\n- 需要新正式测试才能观察时, 停下. 交回既有用例确认流程. 不自行新增未经确认的用例.\n- 接缝怎么设计由实现者决定; 调查本身不得改动冻结目标与产品源码.\n\n完成标准: 交接有非正式 TC 标记与批准范围. 清理结果与未运行场景齐全. 需改冻结目标或加正式接缝时已报告交回, 未改产品.\n\n## 6. 风险与已排除项\n\n风险与已排除项分开写. 让读者分清可能出错与已查无事的位置.\n\n- 风险: 写破坏方式, 真实 file:line, 概率与代价, 再给运行与观察方法. 概率和代价须有依据. 如数据分布, 调用频率, 能否重试或失败是否静默.\n- 已排除项: 写查了什么, 以及排除证据或证据级别. 不靠看起来没事下结论.\n- 检索无结果也是答案. 报实际命令, 路径, 符号与排除目录. 说明未找到调用者, 以及结论覆盖不到的范围. 不编造调用者, API 或文件填报告.\n\n完成标准: 每条风险都能按写下的方法独立检查. 已排除项里没有混入未检查的猜测. 检索空结果写明了范围与边界.\n\n## 7. 大或宽变更用多模型同题调查\n\n按实际影响判断, 不按 diff 行数. 以下任一成立就算大或宽, 即使只改几十行:\n\n- 跨多个模块或仓库.\n- 改了下游会读的共享线格式, 数据库列或公共接口.\n\n大或宽变更须做不同模型同题调查并合并. 多模型调查, 单路选择或能力缺口, 都须读 [reference\u002Fmultimodel.md](reference\u002Fmultimodel.md) 并按其执行. 合并与单路规则只在该文件维护.\n完成标准: 大或宽的判断有依据. 多路有会话与合并记录. 单路或能力缺口已按参考文件写入交接.\n\n## 8. 交接\n\n按五部分交付. 哪部分缺就写明缺, 不用别的部分顶替:\n\n1. 做了什么: 读到的变更与历史, 查过的位置, 跑过的命令. 还要写没有覆盖到的范围.\n2. 关键安全事实与证据级别. 每条一句话陈述, 加级别与停下的理由. 再加证明脚本与原始输出, 或未证实的缺口.\n3. 风险: 位置, 概率, 代价, 检查方法.\n4. 已排除项: 查过并确认没事的地方.\n5. 合并前最便宜的复现: 一条能真跑的命令或最小脚本. 它抓住最要紧的问题, 脚本全文一起给.\n\n只交接材料, 不自动提交或合并, 不创建 PR. 对外发出前脱敏. 成文前必须按 [reference\u002Freport-style-zh.md](reference\u002Freport-style-zh.md) 整理中文.\n完成标准: 五部分均已列出, 缺失内容已明示. 关键事实已有证明或标未证实. 中文整理保留了证据与风险边界.\n\n**回复**: 这份交接.\n",{"name":5,"description":7,"disable-model-invocation":29},true,"main","2d4fa1149cce206cc2841e4ebced9616681b82a3","workflow\u002Fblast-radius",0,"https:\u002F\u002Fgithub.com\u002FBoloBoloMe\u002Fskills","https:\u002F\u002Fgithub.com\u002FBoloBoloMe","2026-11-15 00:48:52",{"source":8,"skillName":5,"commands":38,"prompt":48,"zipAvailable":29},[39,42,45],{"tool":40,"command":41},"npx","npx skills add BoloBoloMe\u002Fskills --skill blast-radius",{"tool":43,"command":44},"bunx","bunx skills add BoloBoloMe\u002Fskills --skill blast-radius",{"tool":46,"command":47},"pnpm","pnpm dlx skills add BoloBoloMe\u002Fskills --skill blast-radius","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FBoloBoloMe\u002Fskills\u002Fblob\u002Fmain\u002Fworkflow\u002Fblast-radius\u002FSKILL.md",[50,56,60,64,68],{"path":51,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":54,"sourceHtmlUrl":55},"agents\u002Fopenai.yaml","REFERENCE","参考文档",43,"https:\u002F\u002Fgithub.com\u002FBoloBoloMe\u002Fskills\u002Fblob\u002Fmain\u002Fworkflow\u002Fblast-radius\u002Fagents\u002Fopenai.yaml",{"path":57,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":59,"sourceHtmlUrl":15},"LICENSE","许可证",1067,{"path":61,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":62,"sourceHtmlUrl":63},"reference\u002Fmultimodel.md",2263,"https:\u002F\u002Fgithub.com\u002FBoloBoloMe\u002Fskills\u002Fblob\u002Fmain\u002Fworkflow\u002Fblast-radius\u002Freference\u002Fmultimodel.md",{"path":65,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":66,"sourceHtmlUrl":67},"reference\u002FPROVENANCE.md",10488,"https:\u002F\u002Fgithub.com\u002FBoloBoloMe\u002Fskills\u002Fblob\u002Fmain\u002Fworkflow\u002Fblast-radius\u002Freference\u002FPROVENANCE.md",{"path":69,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":70,"sourceHtmlUrl":71},"reference\u002Freport-style-zh.md",1173,"https:\u002F\u002Fgithub.com\u002FBoloBoloMe\u002Fskills\u002Fblob\u002Fmain\u002Fworkflow\u002Fblast-radius\u002Freference\u002Freport-style-zh.md",[73],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":77,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":24},"01M71MYAMWVJQPZBXC64545A9X","benchmark-checklist","性能数字的测量核查, 对照是否公平, 波动, 收益上限与结论边界.","https:\u002F\u002Fgithub.com\u002FBoloBoloMe\u002Fskills\u002Fblob\u002Fmain\u002Fworkflow\u002Fbenchmark-checklist\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FBoloBoloMe\u002Fskills\u002Fblob\u002Fmain\u002Fworkflow\u002Fbenchmark-checklist\u002FSKILL.md",[],[81,82,83,84,21],"checklist","benchmark checklist","benchmark","报告"]