dedupe について
dedupeは、範囲を定めたコレクションの重複レポートを根拠付きで作成し、重複を解決するスキルです。識別、代表項目の選定、承認済みの変更、検証を分離し、固有情報の見落としを防ぎます。
主な機能
- 01完全一致・正規化・類似度の判定
- 026種類のデータアダプター
- 03代表項目の対応付けと競合報告
- 04承認を条件とする変更計画
- 05変更後の件数照合と検証
活用シーン
- 01重複するテキストやリスト項目の検出
- 02重複ファイルやレコードの確認
- 03承認済み計画によるURLやスキルの重複解消
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ srinitude/ skills --skill dedupeインストール後、Claude Code で/dedupeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
mise.toml.github/workflows/ci.ymlassets/decision-records.jsoneval-case-template.jsonimprovement-contract.jsoninvocation-receipt-template.jsonmise-primitives-catalog.jsonmise-primitives.jsonprimitive-lifecycle.jsonrequest-template.jsonuse-case-contract.jsonevals/cases.jsoncontract.mdevals.jsonmanifest.jsonnative-case-mapping.jsonrubric.mdsource-lineage.jsonspeed-budgets.jsontrigger-cases.jsontrigger-queries.jsonexamples/apply.mdexample-first-run.mdfailure.mdhelp.mdinspect.mdinvalid-request.jsonlist-request.jsonreferences/core-contract.mddecisions.md詳細
重複排除
範囲を限定したコレクションについて、十分な根拠を伴う重複レポートを作成します。固有の情報が気付かれないまま失われないよう、検出、グループ化、正準項目の選定、変更、検証を分けて行います。
実行時の構成
すべての重複排除タスクに、以下の担当スキルを適用します。ここに手順をコピーするのではなく、各スキルの最新の指示を読み込んでください。
- ユーザー向けの応答を返す前に、
always-current-datetimeを読み込み、基準となる時刻を取得してください。鮮度、経過時間、リダイレクト、ファイルのタイムスタンプ、または最新項目によるタイブレークが判断に影響する場合に限り、実行時の時刻を再度照会してください。 starting-pointを読み込んでください。求められている結果、範囲を限定した入力、権限の根拠、必要な証拠、不明点、禁止されている結果を明確にしてください。outcome-bounded-workを読み込んでください。アダプターの手順は、識別、安全性、認可、再現性、または証明を保護する場合を除き、候補となる実行経路として扱ってください。logic-auditを読み込んでください。変更と完了の前に、識別ルール、正規化、類似度のしきい値、非推移的なペア、競合、正準項目のタイブレーク、不明値、欠損値、リンク、境界ケースを監査してください。
必須の担当スキルを読み込めない場合は、contract-unavailable: <skill-name> を返して停止してください。読み込めなかったスキルの代わりに、記憶した内容を使ってはいけません。
コマンド
| コマンド | 結果 |
|---|---|
help | アダプター、識別クラス、既定値、必要な入力を表示します。 |
inspect | 変更を行わないレポートと、提案する正準マップを作成します。 |
apply | 明示的に承認された変更計画を1つ実行し、その後に検証します。 |
apply はレビュー済みのワークフローフェーズを指し、スクリプトコマンドではありません。同梱スクリプトには、実行可能な apply サブコマンドはありません。承認済みの計画は、正確なソース、正準ターゲット、アクション、競合の処理、移行先が認可された場合に限り、利用可能なホスト機能を通じて実行してください。
破壊的なリクエストは、現行のレビュー済みレポートと正確な変更権限がすでにある場合を除き、まず inspect による確認に切り替えてください。
必須の入力
確認の前に、次の項目を明確にしてください。
- 範囲を限定したソース項目と重複排除の単位
- アダプターを1つ:
text、file、record、url、list、またはskill - 識別クラス:exact、normalized、または similarity candidate
- 正規化と比較のポリシー
- 正準項目の選定ルール
- 競合とマージのポリシー
- 変更権限と移行先
- 証明のしきい値と、ロールバックまたは再構築の手段
識別方法、正規化、しきい値、またはタイブレーカーが指定されていない場合、独自に決めてはいけません。不足する事実を取得できず、その有無で結果が変わる場合に限り、質問してください。
識別クラス
すべてのレポートで、以下のクラスを分けて扱ってください。
- 完全一致: 決定的な表現に基づくバイト列、値、またはパケットの一致です。
- 正規化後の一致: 開示された正規化ポリシーを適用した後に限り一致します。
- 類似候補: 明示されたアルゴリズムとしきい値に基づきスコア付けされたペアです。これは同一性を示すものではなく、レビューせずに正準項目の数を減らしてはいけません。
類似性は一般に推移的ではありません。選択したアルゴリズムが同値関係を保証しない限り、A≈B と B≈C を A=B=C として扱ってはいけません。
手順
- 要求された範囲のみを、安定したソースインデックスと来歴情報を付けて列挙します。
- キーや正規化方法を選ぶ前に、該当するアダプターのリファレンスを読み込みます。
- 正規化比較や類似度比較の前に、完全一致比較を実行します。
- 比較キーが等しいものをグループ化します。未解決の項目はグループの外に保持します。
- 宣言されたルールに従って、正規項目を1つ選択します。ソースの順序に意味があり、ユーザーが承認した場合に限り、デフォルトで最初に出現した項目を選びます。
- 矛盾と固有フィールドを記録します。矛盾がある項目は削除可能な重複ではありません。
- 書き込み、削除、置換、移動、マージ、リダイレクトの参照、または永続的な変更を行う前に、レポートを作成します。
- レビュー済みのグループから変更計画を作成します。影響を受けるすべての項目を正規項目に対応付け、保持される情報を明示します。
- 承認済みの計画のみを適用します。範囲を広げたり、関連するコレクションを再帰的に整理したりしないでください。
- ソースを再列挙し、件数を照合し、ハッシュまたは値を検証して、再度検査を実行します。2回目の実行では、承認された同一性クラスについて変更が発生しない必要があります。
決定論的インスペクター
JSON リクエストを作成し、スキルのルートから次を実行します。
mise run dedupe inspect --request /absolute/path/request.json
インスペクターは入力を変更しません。正規インデックス、重複グループ、ハッシュ化された比較キー、類似候補、矛盾、未解決の項目、来歴情報、開示されたポリシー、照合済み件数を出力します。実際のリクエストと出力については、examples/inspect.md を参照してください。
変更ゲート
ユーザーデータの削除、置換、マージ、移動、リンクの参照、リダイレクトの解決、または永続化には、正確な計画に対する明示的な権限が必要です。承認には、ソース、正規の対象、操作、矛盾の処理方法、保存先を明記する必要があります。
権限がない場合、検査後にソースが変更された場合、計画のハッシュが変わった場合、矛盾が残っている場合、来歴情報の保存先間で不一致がある場合、または破壊的な作業のロールバックと再構築が不可能な場合は、フェイルクローズします。
検証
以下のすべてを満たす必要があります。
source_count = canonical_count + duplicate_count + unresolved_count- 削除またはマージされたすべての項目が、保持される項目のいずれか1つに対応付けられている
- すべての固有フィールドまたは文章が保持されているか、権限により明示的に破棄されている
- 機密性の高い生データを公開することなく、比較キーとポリシーが記録されている
- 類似候補は、レビューが完了するまで分離されている
- 適用後の検査で、承認済みの重複が残っていないと報告される
- パッケージの変更後に
mise run ciが終了コード 0 で終了する
Mise を利用できない場合は、mise.toml の各タスクコマンドを直接実行し、Mise 自体は実行されなかったことを明記してください。mise run test のテスト、evals/ のネイティブケース、assets/ のテンプレートはパッケージの根拠資料であり、ユーザーデータを変更する権限ではありません。
段階的開示マップ
リソースゲート:ここに記載されたパッケージファイルを使用する前に、mise run validate を実行してください。
PD-001:references/core-contract.mdは、レポート、正規項目の選択、権限、検証に関する契約全体を管理します。すべての検査または適用リクエストで読み込んでください。このセクションはそのバックリンクです。PD-002:references/text-list.mdはテキストとリストのポリシーを管理します。いずれかのアダプターが選択された場合に読み込んでください。このセクションはそのバックリンクです。PD-003:references/file-record.mdはファイルとレコードのポリシーを管理します。いずれかのアダプターが選択された場合に読み込んでください。このセクションはそのバックリンクです。PD-004:references/url-skill.mdは URL とスキルのポリシーを管理します。いずれかのアダプターが選択された場合に読み込んでください。このセクションはそのバックリンクです。PD-005:references/report-mutation.mdはリクエストとレポートのフィールド、承認形式、適用チェック、縮退した検証を管理します。レポートまたは変更計画を作成する前に読み込んでください。このセクションはそのバックリンクです。references/decisions.mdには、これらの境界を設けた理由が記録されています。このスキルを変更する前に読んでください。examples/には、各コマンドの実例と共通の失敗ケースが含まれています。出力形式が不明な場合は、該当する例を読み込んでください。
完了
依頼された範囲内の成果が基準を満たし、保持するすべてのタスクとアダプターに関する判断が証拠で裏付けられ、承認されたすべての変更が検証され、未解決の項目が明示され、最終的なロジック監査で根拠のない識別情報、しきい値、同順位の判定基準、完了の主張が見つからない場合にのみ、タスクは完了です。
ファクトリー実行契約
受け入れられる成果は、個別の識別情報を示す証拠を失うことなく、範囲を限定した重複クラスターを正規レコードに解決することです。現在の重複クラスターの動作を維持したまま、その最小の担当箇所を変更します。
mise run ciで現在のパッケージを凍結し、そのダイジェストを記録します。mise run domain-research-policyを実行し、現在の重複クラスターの情報源と反証を判断します。- 名前が指定された重複クラスター操作に対して
mise run agentic-requestを実行します。意味上の選択はモデルに委ねます。 mise run decision-policy、mise run ci、および動作評価を実行します。失敗した最小の担当箇所に戻ります。mise run invocation-policy -- <receipt>を実行し、すべてのタスクに対応するか、そのドメイン固有の不使用を説明します。- 任意で
mise run improvement-policyを実行します。保護対象の次元に後退がなければ、変更する次元は1つだけにします。
契約上必要な場合に限り、mise run use-case-policy で assets/use-case-contract.json を、mise run evals で evals/evals.json を読み込みます。
Mise は、再現可能な処理、順序、レシート、チェックを担います。モデルは、解釈、因果関係の判断、創造的な作業、およびコードでは提供できない直接的な認識を担います。権限の欠如、証拠の陳腐化、またはゲートの失敗があれば停止します。