Skill Dedup Scanner

v1.0.0

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

0· 147·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for shyjsarah/skill-dedup-scanner.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Skill Dedup Scanner" (shyjsarah/skill-dedup-scanner) from ClawHub.
Skill page: https://clawhub.ai/shyjsarah/skill-dedup-scanner
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install skill-dedup-scanner

ClawHub CLI

Package manager switcher

npx clawhub@latest install skill-dedup-scanner
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (duplicate detection) match the code: the scanner reads SKILL.md frontmatter (name, description) from a skills directory, computes text similarity, and generates a report. Required artifacts (local skill files) and a lightweight YAML dependency are proportionate.
Instruction Scope
Runtime instructions tell the agent to run scripts/main.py against a skills directory; the code only reads SKILL.md files and frontmatter, computes similarities, and writes a report. Note: the scanner reads the entire SKILL.md into memory ('full_content'), so if those files contain sensitive data, that data could appear in memory and potentially in generated reports if you explicitly output them — the provided report generator only includes name/description snippets, not full content.
Install Mechanism
No install spec in registry; project is instruction+code only. The only declared dependency is PyYAML in requirements.txt, which is reasonable and expected.
Credentials
The skill requests no environment variables, no credentials, and no config paths. It does auto-detect system locale (uses Python locale) which is reasonable for its i18n feature.
Persistence & Privilege
No 'always: true' flag, no persistent system-wide changes, and no modification of other skills' configs. The tool may write an output report if given an output path, which is expected behavior.
Assessment
This package appears to do what it says: scan SKILL.md frontmatter and compare names/descriptions using SequenceMatcher. Before running: (1) inspect SKILL.md files for any sensitive data — although the report generator doesn't include full SKILL.md content, the scanner reads it into memory and you may choose to write reports to files; (2) be aware the similarity check is a simple text-based matcher (difflib.SequenceMatcher), not a semantic embedding model — it may miss conceptual similarity or over/under-report similarity; (3) the tool exits with status 1 when conflicts are found, which may cause CI or scripts to treat the run as a failure; (4) if you plan to run this in an environment that aggregates reports or shares outputs, avoid including directories that contain secrets. If you need stronger semantic similarity, consider using an embedding-based approach.

Like a lobster shell, security has layers — review code before you run it.

dedupvk970hw6cq56sbs706j3ar46t49835zscduplicate-detectorvk970hw6cq56sbs706j3ar46t49835zsclatestvk970hw6cq56sbs706j3ar46t49835zscmulti-languagevk970hw6cq56sbs706j3ar46t49835zscskill-scannervk970hw6cq56sbs706j3ar46t49835zsc
147downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

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

OptionShortDescriptionDefault
--lang-lLanguage: en, zh, autoauto
--threshold-tSimilarity threshold (0-1)0.7
--output-oOutput file pathstdout
--json-jOutput in JSON formatfalse
--verbose-vVerbose outputfalse

Output

Generates a detailed report with:

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

Similarity Thresholds

ScoreLevelAction
> 0.85🔴 HighConsider merging or renaming
0.7-0.85🟡 MediumClarify descriptions
< 0.7✅ SafeNo 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

Comments

Loading comments...