logic-diff について
logic-diffは、共通仕様に照らして2つのロジックを比較するスキルです。並行トレースや境界ケースの確認を行い、差異を整理して同等性の判定を示します。
主な機能
- 01共通仕様の特定
- 02個別の前提構築
- 03通常ケースの並行トレース
- 04境界ケースの分析
- 05意味的な差異の分類
- 06同等性の判定
活用シーン
- 01リファクタリング後の動作確認
- 022つの実装の境界差異のレビュー
インストール
コマンドをコピーしてターミナルで実行します。
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 に従って遅延読み込みを使用します。
../_shared/common.mdは、言語、Iron Law、Verdict ヘッダー、スコープの振り分け、Remedy の指針、設定フィールド、読み込み予算についてのみ読みます。- 各ステップに進んだら、
logic-diff-guide.mdの関連するステップのみを読みます。 - 現在のステップで必要になった時点で、
../_shared/logic-risks.md、../_shared/semiformal-guide.md、../_shared/semiformal-checklist.md、../_shared/report-template.mdを読み込みます。
プロセス
ステップ 0. 言語とスコープの振り分け。 common.md §1 に従って言語を判定します。2 つのバージョンが提示されていることを確認します。1 つしか提示されていない場合は、logic-review に切り替えます。
ステップ 1. 共通仕様を特定する(ガイドのステップ 1)— 両方のバージョンで処理すべき入力、および期待される出力や副作用を確認します。ユーザーが特定の領域でリファクタリングにより動作を意図的に変更したと述べている場合(例:「エラーパスを None の返却ではなく例外の送出に変更しました」)、それを宣言された仕様変更として記録し、その領域内の差異は想定どおりとして扱います。宣言された変更の範囲外の差異のみを指摘します。
ステップ 2. 各バージョンの前提を個別に構築する(ガイドのステップ 2)— 前提構築チェックリストをバージョン A とバージョン B に個別に適用します。
ステップ 3. 共通ケースについて両方のバージョンをトレースする(ガイドのステップ 3)— 同じ入力を使って並行してトレースし、差異があれば最初の差異を記録します。
ステップ 4. 境界ケースをトレースする(ガイドのステップ 4)— 空/null/ゼロ、最大/最小、エラー入力、コレクションの最初/最後を確認します。ユーザーが網羅的な等価性の確認を求めている場合、または共通仕様でさらに必要とされる場合を除き、まずリスクの高い境界シナリオを最大 3 つ確認します。
ステップ 5. 意味上の差異を特定して分類する(ガイドのステップ 5)— 各差異を、前提 → トレース → 差異 → 発生条件 → 対処方法と L コードを含む指摘事項として報告します。
ステップ 6. 等価性の判定(ガイドのステップ 6)— 次のいずれかを選びます。✅ Semantically Equivalent、⚠️ Conditionally Equivalent(条件を正確に記述)、❌ Semantically Divergent。
ステップ 7. 出力(ガイドのステップ 7)— common.md §5 に従い、Verdict ヘッダーを含むレポートテンプレートを使用します。ユーザーが中国語で記述している場合は、ヘッダーをローカライズします。この形式は、ごく短いコード片に対しても必須です。差異に関するすべての指摘事項には、必ず 5 つのラベル付きフィールド(前提/トレース/差異/発生条件/対処方法)を使用します。通常の段落や表で代用してはいけません。
レポートのモード行: Semantic Diff(中国語:语义对比)。