Token导航 LogoToken导航TokenDH.com
待分类权限需确认github未标认证来源可访问许可证需确认审计通过

intent-based-dedup基于意图的重复数据删除

Agent Skill

intent-based-dedup 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

642

周安装

27

GitHub Stars

75

下载量

225
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:intent-based-dedup(基于意图的重复数据删除)
来源仓库:https://github.com/j5ik2o/okite-ai
仓库路径:skills/intent-based-dedup
安装命令:
npx skills add https://github.com/j5ik2o/okite-ai --skill intent-based-dedup
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/j5ik2o/okite-ai --skill intent-based-dedup

简介

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。

  • 支持从来源仓库获取上下文,结合安装命令和原始 README 核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 适用于需要自动化处理代码协作流程的场景,提升开发效率。
  • 可结合项目实际框架和协作规范使用,避免误操作影响生产环境。

SKILL.md

意図ベースの共通化判定

字面が同じかどうかより、意図(目的)が同じかどうかで共通化する。

核心原則

「字面が同じなら共通化」という単純思考は危険。意図・目的の一致を最優先に判断する。

コード表現が同一でも、ビジネスロジック上の目的が異なれば共通化してはならない。 逆に、表現が異なっていても目的が同じなら統一すべきである。

判断マトリックス

字面意図判定アクション
同じ同じ共通化 ◎DRY原則を適用し共通関数に抽出
異なる同じ統一 ◎どちらかの実装に統一
同じ異なる共通化 ✗絶対に共通化禁止(最重要)
異なる異なる共通化 ✗検討不要

判断フロー

重複コードを発見した
    ↓
2つのコードの「目的」は同じか?
    ├─ YES → 字面は同じか?
    │         ├─ YES → 共通化する(標準的DRY)
    │         └─ NO → 実装方式を統一する
    └─ NO → 字面は同じか?
              ├─ YES → ⚠ 共通化禁止(最も危険なケース)
              └─ NO → 何もしない

アンチパターン検出

以下のパターンを見つけたらDRY誤適用の兆候:

❌ 異なるドメイン概念に同じユーティリティ関数を使い回す
❌ "たまたま同じ計算式" を共通関数に抽出
❌ 共通化した関数に if (type == A) / else if (type == B) の分岐が増える
❌ 共通関数名が汎用的すぎる(calculate, process, transform等)
❌ 一方の仕様変更時に「もう一方も壊れないか」を心配する
❌ 共通関数のパラメータが増殖し続ける

4パターンの詳細

1. 字面が同じ × 意図が同じ → 共通化する

DRY原則が正しく適用されるケース。

// ❌ 同じ目的の処理が2箇所に重複
fn report_even_squares(numbers: &[i32]) -> Vec<i32> {
    numbers.iter()
        .filter(|&&x| x % 2 == 0)
        .map(|&x| x * x)
        .collect()
}

fn display_even_squares(numbers: &[i32]) -> Vec<i32> {
    numbers.iter()
        .filter(|&&x| x % 2 == 0)
        .map(|&x| x * x)
        .collect()
}

// ✅ 共通化: 同じ目的なので1つにまとめる
fn even_squares(numbers: &[i32]) -> Vec<i32> {
    numbers.iter()
        .filter(|&&x| x % 2 == 0)
        .map(|&x| x * x)
        .collect()
}

2. 字面が異なる × 意図が同じ → 統一する

同じ目的だが異なる実装スタイルで書かれているケース。

// パターンA: 関数型アプローチ
fn total_a(values: &[i32]) -> i32 {
    values.iter().fold(0, |acc, &x| acc + x)
}

// パターンB: 命令型アプローチ
fn total_b(values: &[i32]) -> i32 {
    let mut sum = 0;
    for &v in values { sum += v; }
    sum
}

// ✅ どちらか一方に統一(チーム規約に従う)
fn total(values: &[i32]) -> i32 {
    values.iter().sum()
}

3. 字面が同じ × 意図が異なる → 共通化禁止(最重要)

最も危険なケース。 形式上同じコードでも、ビジネス上の目的が異なる。

// ケース1: 攻撃力計算(地形倍率を適用)
fn adjusted_attack_points(weapon_points: &[i32]) -> Vec<i32> {
    weapon_points.iter()
        .map(|&x| x * 2)
        .filter(|&x| x % 2 == 0)
        .map(|x| x * x)
        .collect()
}

// ケース2: 武器加工費用計算
fn weighted_crafting_costs(amounts: &[i32]) -> Vec<i32> {
    amounts.iter()
        .map(|&x| x * 2)
        .filter(|&x| x % 2 == 0)
        .map(|x| x * x)
        .collect()
}

字面は同じだが共通化してはならない。 理由:

  • 攻撃力の仕様変更(地形倍率が3倍に変わる等)が費用計算を壊す
  • 費用計算の変更(税率適用等)が攻撃力計算を壊す
  • 変更理由が異なる = 共通化すると結合度が不正に上がる
// ❌ 危険な共通化
fn apply_formula(values: &[i32]) -> Vec<i32> { /* ... */ }

let attack = apply_formula(&weapon_points);  // 攻撃力?
let cost = apply_formula(&amounts);          // 費用?
// → 一方を変更すると他方が壊れる

4. 字面が異なる × 意図が異なる → 何もしない

検討不要。それぞれ独立したコードとして維持する。

「意図の同一性」の判定基準

目的が同じかどうかを見極めるための質問:

  1. 変更理由テスト: 一方の仕様が変わったとき、もう一方も同じ理由で変わるか?

- YES → 意図が同じ(共通化可) - NO → 意図が異なる(共通化不可)

  1. 命名テスト: 共通化した関数に、両方の文脈で意味の通る名前を付けられるか?

- YES → 意図が同じ - NO(汎用的な名前しか付けられない)→ 意図が異なる

  1. ドメインテスト: 2つのコードは同じドメイン概念を表しているか?

- YES → 意図が同じ - NO → 意図が異なる

適用指針

推奨

  • 「似たコードがある」と報告されたコードレビュー
  • リファクタリングで共通関数を抽出しようとしている場面
  • ユーティリティ関数が複数のドメイン概念に使い回されている場合
  • 共通化した関数のパラメータが増殖し始めた場合

過剰適用を避ける

  • 明らかに同一目的のボイラープレート(設定初期化、ログ出力等)
  • フレームワーク/ライブラリ提供のユーティリティ
  • 数学的に同一の演算(三角関数等、目的に依存しない純粋な計算)

レビュー観点

コードレビュー時の確認ポイント:

  1. 意図の確認: 共通化対象の2つのコードは同じ「目的」を持つか
  2. 変更理由の分離: 一方の仕様変更が他方に波及しないか
  3. 命名の自然さ: 共通化した名前は両方の文脈で意味が通るか
  4. パラメータ増殖: 共通関数に条件分岐やフラグが増えていないか
  5. ドメイン境界: 異なるドメイン概念を1つの関数に混ぜていないか

関連スキル(併読推奨)

このスキルを使用する際は、以下のスキルも併せて参照すること:

  • domain-building-blocks: 異なるドメインの同形コードを共通化しない判断
  • first-class-collection: 同じ構造のコレクションでも意図が異なれば別型とする判断
  • package-design: 同じコードでも変更理由が異なればパッケージを分ける判断

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.33%
按下载量换算82

Claude

28.67%
按下载量换算65

Cursor

19.5%
按下载量换算44

Gemini CLI

9.4%
按下载量换算21

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

权限需确认

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills