Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问clear审计通过

code-dedup代码 dedup

Agent Skill

code-dedup 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

196

周安装

8

GitHub Stars

1

下载量

63
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:code-dedup(代码 dedup)
来源仓库:https://github.com/xiaodong-wu/code-dedup-skills
仓库路径:skills/code-dedup
安装命令:
npx skills add https://github.com/xiaodong-wu/code-dedup-skills --skill code-dedup
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/xiaodong-wu/code-dedup-skills --skill code-dedup

简介

code-dedup 用于检测重复代码、识别死代码并提出结构优化建议,适合在代码审查或重构阶段使用。

  • 它支持自动发现代码模式、集成 CI/CD 质量门禁,并跟踪技术债务以改善可维护性。
  • 使用时可通过命令行分析项目目录,生成分析报告并标记待清理项,提升代码库健康度。
  • 安装前需确认 npm 环境及项目路径权限,避免在非标准目录执行可能导致的分析失败。
  • code-dedup 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Code Dedup

An AI-friendly code analysis platform that detects duplicate code, identifies dead code, and suggests structural improvements.

Use Cases

  • Code Review: Automatically find duplicate code patterns during PR reviews
  • Refactoring: Identify unused functions and variables before cleanup
  • Quality Gates: Integrate into CI/CD to enforce code quality standards
  • Technical Debt: Track and prioritize code quality improvements
  • Code Audit: Analyze large codebases for maintainability issues

Installation

npm install

Usage

Analyze a Project

# Run all analyses
node src/cli.js analyze ./src

# Run specific analysis
node src/cli.js analyze ./src --analyses dedup,deadCode

# Generate JSON report for AI processing
node src/cli.js analyze ./src --format json --output report.json

Programmatic API

import { analyzeCode, checkDuplicates, checkDeadCode, checkStructure } from './index.js';

// Comprehensive analysis
const result = await analyzeCode('./src', {
  analyses: ['dedup', 'deadCode', 'structure'],
  format: 'json'
});

console.log(result.summary);
// { status: 'success', filesAnalyzed: 42, issuesFound: 15, durationMs: 234 }

// Individual checks
const duplicates = await checkDuplicates('./src', {
  minSimilarity: 0.85
});

const deadCode = await checkDeadCode('./src', {
  ignoreExports: true,
  ignoreTestFiles: true
});

const structure = await checkStructure('./src', {
  maxComplexity: 10,
  maxFunctionLength: 50
});

Output Format

JSON Output

{
  "summary": {
    "status": "success",
    "filesAnalyzed": 42,
    "issuesFound": 15,
    "durationMs": 234
  },
  "results": {
    "duplicates": [
      {
        "file1": "src/auth.js",
        "file2": "src/user.js",
        "similarity": 0.92,
        "type": "approximate",
        "lines": 45
      }
    ],
    "deadCode": [
      {
        "symbol": "unusedFunction",
        "file": "src/utils.js",
        "line": 23,
        "type": "function"
      }
    ],
    "structure": {
      "complexFunctions": [
        {
          "name": "processData",
          "file": "src/api.js",
          "complexity": 15,
          "line": 45
        }
      ]
    }
  },
  "recommendations": [
    {
      "type": "refactor",
      "priority": "high",
      "description": "Extract duplicate validation logic",
      "files": ["src/auth.js", "src/user.js"]
    }
  ]
}

Configuration

Duplicate Detection

  • minLines: Minimum lines for duplicate detection (default: 5)
  • minSimilarity: Similarity threshold 0-1 (default: 0.85)
  • ignoreWhitespace: Ignore whitespace differences (default: true)
  • ignoreComments: Ignore comments (default: true)

Dead Code Detection

  • ignoreExports: Ignore exported symbols (default: true)
  • ignoreTestFiles: Ignore test files (default: true)
  • testPatterns: Custom test file patterns (default: ['**/*.test.js', '**/*.spec.js'])
  • whitelistPatterns: Symbol patterns to ignore (default: [])

Structure Analysis

  • maxComplexity: Max cyclomatic complexity (default: 10)
  • maxFunctionLength: Max function lines (default: 50)
  • maxParameters: Max function parameters (default: 5)
  • maxNestingDepth: Max nesting depth (default: 4)

CLI Commands

# Analyze with custom options
node src/cli.js analyze ./src \
  --min-similarity 0.9 \
  --max-complexity 8 \
  --format json \
  --output report.json

# Quick duplicate check
node src/cli.js check-dup ./src

# Quick dead code check
node src/cli.js check-dead ./src

# Quick structure check
node src/cli.js check-struct ./src

# Format code
node src/cli.js format ./src --output formatted.md

Features

O(n) Duplicate Detection

Uses MinHash LSH algorithm for fast approximate duplicate detection:

  • Exact matching: MD5 hashing for identical code blocks
  • Approximate matching: MinHash + LSH for similar code (Type-2 clones)
  • Scalable: Analyzes 1000+ files in seconds, not minutes

AST-Based Dead Code Detection

Static analysis to find unused code:

  • Detects unused functions, variables, and imports
  • Builds reference graph to track symbol usage
  • Configurable whitelist patterns
  • Smart export/test file filtering

Structure Metrics

Code complexity and maintainability analysis:

  • Cyclomatic complexity: Decision points per function
  • Function length: Lines of code per function
  • Nesting depth: Maximum indentation levels
  • Parameter count: Number of function parameters

Performance

Project SizeFilesDuration
Small<100<2s
Medium100-1K<10s
Large>1K<30s

Supported Languages

  • JavaScript (ES6+)
  • TypeScript
  • JSX/TSX
  • Python (experimental)

Examples

Find High-Similarity Duplicates

const duplicates = await checkDuplicates('./src', {
  minSimilarity: 0.95  // Only near-duplicates
});

duplicates.forEach(dup => {
  console.log(`${dup.file1} ↔ ${dup.file2}: ${dup.similarity * 100}%`);
});

Find Unused Exports

const deadCode = await checkDeadCode('./src', {
  ignoreExports: false  // Include exports in analysis
});

const unusedExports = deadCode.filter(item => item.exported);
console.log(`Found ${unusedExports.length} unused exports`);

Enforce Complexity Limits

const structure = await checkStructure('./src', {
  maxComplexity: 8,
  maxFunctionLength: 30
});

const violations = structure.complexFunctions.filter(
  fn => fn.complexity > 8 || fn.length > 30
);

if (violations.length > 0) {
  console.error('Complexity violations found:', violations);
  process.exit(1);
}

Integration

CI/CD Pipeline

# .github/workflows/code-quality.yml
- name: Check code quality
  run: |
    node src/cli.js analyze ./src --format json --output report.json
    if [ $(jq '.issuesFound' report.json) -gt 0 ]; then
      echo "Code quality issues found"
      exit 1
    fi

Pre-commit Hook

// package.json
{
  "husky": {
    "hooks": {
      "pre-commit": "node src/cli.js analyze ./src --format json"
    }
  }
}

Tips

  1. Start with defaults: The default settings work well for most projects
  2. Adjust thresholds: Tighten similarity thresholds to reduce false positives
  3. Use whitelist: Add framework patterns to avoid false positives
  4. Regular analysis: Run weekly to track technical debt
  5. Combine with formatters: Use with Prettier/ESLint for best results

Limitations

  • Static analysis: May miss dynamically accessed code
  • Best effort: Dead code detection has ~90% accuracy
  • Language support: Currently optimized for JavaScript/TypeScript
  • Large files: Files >10MB are skipped for performance

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

补充不同宿主或平台的使用分布数据

能力 5

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

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

平台分布

Claude Code

30.57%
按下载量换算19

windsurf

24.73%
按下载量换算16

trae

18.02%
按下载量换算11

OpenCode

14.19%
按下载量换算9

Cursor

8.34%
按下载量换算5

Codex

3.14%
按下载量换算2

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills