关于 logic-diff
logic-diff 是用于按共同规格比较两个版本逻辑的技能。它引导审查者并行追踪执行、检查边界情况,并结构化记录差异后给出等价性结论。
主要功能
- 01识别共同规格
- 02分别构建前提
- 03并行追踪常见情况
- 04分析边界情况
- 05分类记录语义差异
- 06给出等价性结论
适用场景
- 01检查重构后的行为
- 02审查两个实现的边界差异
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ hyhmrright/ logic-lens --skill logic-diff安装后在 Claude Code 中输入/logic-diff确认已加载。
附带文件logic-diff-guide.md
详细介绍
Logic-Lens — 语义差异
设置
按照 ../_shared/common.md §13 使用延迟加载:
- 仅为了解语言、Iron Law、Verdict 标题、范围路由、Remedy 规范、配置字段和加载预算,阅读
../_shared/common.md。 - 随着流程推进,仅在需要时阅读
logic-diff-guide.md中的相关步骤。 - 在当前步骤需要时,按需加载
../_shared/logic-risks.md、../_shared/semiformal-guide.md、../_shared/semiformal-checklist.md和../_shared/report-template.md。
流程
步骤 0. 语言与范围路由。 按照 common.md §1 检测语言。确认已提供两个版本。如果只提供一个版本,则切换到 logic-review。
步骤 1. 确定共同规范(指南步骤 1)——两个版本应处理哪些输入;预期有哪些输出/副作用。如果用户说明重构在某个特定方面有意改变了行为(例如,“我将错误路径改为抛出异常,而不是返回 None”),则将其记录为已声明的规范变更,并将该方面的差异视为预期行为。仅将已声明变更范围之外的差异标记为问题。
步骤 2. 分别为两个版本构建独立前提(指南步骤 2)——分别对版本 A 和版本 B 应用前提构建检查清单。
步骤 3. 跟踪两个版本的常见情况(指南步骤 3)——使用相同输入并行跟踪,如有差异,记录首次出现的位置。
步骤 4. 跟踪边界情况(指南步骤 4)——空值/null/零、最大值/最小值、错误输入、集合的第一个/最后一个元素。除非用户要求穷举等价性,或共同规范要求更多,否则先从风险最高的至多三个边界场景开始。
步骤 5. 识别并分类语义差异(指南步骤 5)——每项差异都是一个问题,包含 Premises → Trace → Divergence → Trigger → Remedy,并标注 L-code。
步骤 6. 等价性判定(指南步骤 6)——选择以下其中一项:✅ Semantically Equivalent、⚠️ Conditionally Equivalent(精确说明条件)或 ❌ Semantically Divergent。
步骤 7. 输出(指南步骤 7)——按照 common.md §5,使用带 Verdict 标题的报告模板;如果用户用中文编写请求,则将标题本地化。格式为强制要求,即使代码片段极短也不例外:每项差异都必须包含五个带标签的字段(Premises / Trace / Divergence / Trigger / Remedy);不得用普通段落或表格替代。
报告中的模式行: Semantic Diff(中文:语义对比)。