🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Skill Dedup Scanner

by @shyjsarah

Scans installed skills for duplicates and naming conflicts. Detects similar skills that may cause model confusion. Use before publishing new skills or when t...

Versionv1.0.0
Downloads738
TERMINAL
clawhub install skill-dedup-scanner

πŸ“– About This Skill


name: skill-dedup-scanner description: Scans installed skills for duplicates and naming conflicts. Detects similar skills that may cause model confusion. Use before publishing new skills or when troubleshooting trigger conflicts. Supports English and Chinese (auto-detect or --lang flag).

Skill Dedup Scanner πŸ”

Detects duplicate or similar skills that may cause model confusion.

When to Use

  • Before publishing a new skill
  • When skills trigger incorrectly
  • Auditing existing skill collection
  • Resolving naming conflicts
  • Checking for similar skill names/descriptions
  • Usage

    Basic Scan

    # Auto-detect language
    python3 scripts/main.py ~/.openclaw/workspace/skills/

    Specify language

    python3 scripts/main.py ~/.openclaw/workspace/skills/ --lang en python3 scripts/main.py ~/.openclaw/workspace/skills/ --lang zh

    Advanced Options

    # Custom threshold (0-1)
    python3 scripts/main.py ~/.openclaw/workspace/skills/ --threshold 0.8

    Output to file

    python3 scripts/main.py ~/.openclaw/workspace/skills/ -o audit_report.md

    JSON output

    python3 scripts/main.py ~/.openclaw/workspace/skills/ --json

    Verbose mode

    python3 scripts/main.py ~/.openclaw/workspace/skills/ -v

    Options

    | Option | Short | Description | Default | |--------|-------|-------------|---------| | --lang | -l | Language: en, zh, auto | auto | | --threshold | -t | Similarity threshold (0-1) | 0.7 | | --output | -o | Output file path | stdout | | --json | -j | Output in JSON format | false | | --verbose | -v | Verbose output | false |

    Output

    Generates a detailed report with:

  • Similarity scores (name + description)
  • Conflict analysis
  • Actionable recommendations
  • List of safe/unique skills
  • Similarity Thresholds

    | Score | Level | Action | |-------|-------|--------| | > 0.85 | πŸ”΄ High | Consider merging or renaming | | 0.7-0.85 | 🟑 Medium | Clarify descriptions | | < 0.7 | βœ… Safe | No action needed |

    Language Support

  • English (--lang en)
  • Chinese (--lang zh)
  • Auto-detect (--lang auto) - Detects system locale
  • Examples

    Example 1: Quick Scan

    $ python3 scripts/main.py ~/.openclaw/workspace/skills/
    πŸ” Scan Directory: /home/user/.openclaw/workspace/skills
    πŸ“¦ Total Skills: 15

    βœ… No Duplicate Skills Found

    All skills have distinct names and descriptions. No optimization needed.

    Example 2: Find Conflicts

    $ python3 scripts/main.py ~/.openclaw/workspace/skills/ --threshold 0.6
    πŸ” Scan Directory: /home/user/.openclaw/workspace/skills
    πŸ“¦ Total Skills: 15

    ⚠️ Found 2 Groups of Similar Skills

    1. πŸ”΄ High Similarity Warning

    Skill A: tushare-finance Skill B: stock-analyzer

    Similarity Score: 85%

    Analysis:

  • Name Similarity: 60%
  • Description Similarity: 85%
  • Recommendations:

  • Clarify the distinction in descriptions
  • Rename to make purposes more distinct
  • Project Structure

    skill-dedup-scanner/
    β”œβ”€β”€ scripts/
    β”‚   β”œβ”€β”€ main.py                 # Main entry point
    β”‚   β”œβ”€β”€ skill_scanner.py        # Skill scanner
    β”‚   β”œβ”€β”€ similarity_checker.py   # Similarity calculator
    β”‚   β”œβ”€β”€ report_generator.py     # Report generator
    β”‚   └── locale_loader.py        # Multi-language support
    β”œβ”€β”€ locales/
    β”‚   β”œβ”€β”€ en.json                 # English translations
    β”‚   └── zh.json                 # Chinese translations
    β”œβ”€β”€ references/
    β”‚   └── best_practices.md       # Skill naming best practices
    └── output/                     # Generated reports
    

    Requirements

  • Python 3.7+
  • PyYAML (pip install pyyaml)
  • License

    MIT

    ⚑ When to Use

    TriggerAction
    - When skills trigger incorrectly
    - Auditing existing skill collection
    - Resolving naming conflicts
    - Checking for similar skill names/descriptions

    πŸ’‘ Examples

    Example 1: Quick Scan

    $ python3 scripts/main.py ~/.openclaw/workspace/skills/
    πŸ” Scan Directory: /home/user/.openclaw/workspace/skills
    πŸ“¦ Total Skills: 15

    βœ… No Duplicate Skills Found

    All skills have distinct names and descriptions. No optimization needed.

    Example 2: Find Conflicts

    $ python3 scripts/main.py ~/.openclaw/workspace/skills/ --threshold 0.6
    πŸ” Scan Directory: /home/user/.openclaw/workspace/skills
    πŸ“¦ Total Skills: 15

    ⚠️ Found 2 Groups of Similar Skills

    1. πŸ”΄ High Similarity Warning

    Skill A: tushare-finance Skill B: stock-analyzer

    Similarity Score: 85%

    Analysis:

  • Name Similarity: 60%
  • Description Similarity: 85%
  • Recommendations:

  • Clarify the distinction in descriptions
  • Rename to make purposes more distinct
  • βš™οΈ Configuration

    | Option | Short | Description | Default | |--------|-------|-------------|---------| | --lang | -l | Language: en, zh, auto | auto | | --threshold | -t | Similarity threshold (0-1) | 0.7 | | --output | -o | Output file path | stdout | | --json | -j | Output in JSON format | false | | --verbose | -v | Verbose output | false |