Skip to main content
← Back to list
01Issue
BugClosedSwamp CLI
AssigneesNone

Relationships

#935 duplication criterion scores same-content skills as 100% duplicate when skill appears in multiple plugins

Opened by mellens · 7/3/2026

Description

The duplication criterion computes Jaccard similarity across all scanned SKILL.md files. In repositories that use a meta-plugin layout (where the same SKILL.md is physically included under multiple plugin directories), the same file appears twice in the inventory under different paths. The criterion then flags it as 100% similar to itself, producing a false positive on every shared skill.

Steps to reproduce

  1. Create a target repo where plugins/standalone-plugin/skills/my-skill/SKILL.md and plugins/meta-plugin/skills/my-skill/SKILL.md contain identical content (or are the same file symlinked/copied)
  2. Run discovery + assessment
  3. Both entries fail duplication with 100% similarity

Expected behaviour

Skills with identical content (same content hash) should be deduplicated before the Jaccard comparison step. Only pairs with different content should be compared.

Actual behaviour

In a review of 90 skills across 47 plugins, 24 duplication failures were reported. On inspection, the majority were same-content skills appearing under a standalone plugin and again under a meta-plugin (skill-pipeline, ee-skills-contribute). These are not genuine duplicates.

Proposed fix

Before running pairwise Jaccard comparison, group skills by content hash and keep only one representative per group. If desired, surface a separate informational note for skills that appear under multiple paths with identical content — but do not count them as failing duplication.

Environment

  • Crave skill-analyser extension: current main
  • Target: EE skills library (90 skills, plugin layout with meta-plugins)
02Bog Flow
OPENTRIAGEDIN PROGRESSCLOSED

Closed

7/3/2026, 10:22:26 AM

No activity in this phase yet.

03Sludge Pulse
Editable. Press Enter to edit.

mellens commented 7/3/2026, 10:22:26 AM

Closing — re-raising as a GitHub issue on the Crave repo (mesgme/crave) where this belongs.

Sign in to post a ripple.