CtrlK
BlogDocsLog inGet started
Tessl Logo

deduplicate

Detect duplicate entities, duplicate groups, and relationship duplicates in Semantica using fuzzy matching, schema heuristics, and graph similarity.

55

Quality

61%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/skills/deduplicate/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill body is concise and well-structured for a small, single-purpose skill, but its code examples are not fully executable because inputs like `entities`, `threshold`, and `relation_list` are never bound to `$ARGUMENTS`, and there are no validation checkpoints before applying merge/normalize results. Binding variables to parsed arguments and adding a review-before-merge step would raise both actionability and workflow clarity.

Suggestions

Show how `$ARGUMENTS` maps to the code variables (e.g. parsing the strategy, `--threshold`, and `--field`) so the code blocks are copy-paste runnable.

Add a validation/review checkpoint before applying merge recommendations or edge normalization (e.g. 'Review candidate groups; only merge after confirmation') to satisfy the batch-operation feedback-loop expectation.

De-duplicate the shared `DuplicateDetector` import/setup so each section only shows the call that differs.

DimensionReasoningScore

Conciseness

The body is lean: short headers, one tight code block per strategy, and no padding or explanation of concepts Claude already knows. It is efficient with only minor trims possible (e.g. the near-duplicate import line across both sections). Not a 5 because the repeated `from semantica.deduplication import DuplicateDetector` / `finder = DuplicateDetector()` setup in both code blocks is a small redundancy.

4 / 5

Actionability

Concrete code is provided for both strategies, but key execution details are missing: `entities`, `threshold`, `relation_list`, and `similarity` are used without being defined or sourced from `$ARGUMENTS`, so the code is not copy-paste runnable as written. Not a 4 because the gaps are more than minor (no argument parsing, no variable binding), and not a 2 because real method calls and outputs are specified.

3 / 5

Workflow Clarity

The body defines two strategies with code and expected outputs, giving a recognizable sequence, but it performs batch/deduplication operations with no validation or verification checkpoints (e.g. reviewing candidate groups before merging, confirming a representative). Per the rubric's destructive/batch cap, workflow clarity cannot exceed 3. Not a 4 because explicit validation steps are absent.

3 / 5

Progressive Disclosure

Structure is clean: a usage header, two clearly delimited strategy sections, and code kept inline at an appropriate length for a sub-50-line skill with no bundle files present. Not a 5 because there is no navigation/signaling to deeper material (none exists), though for a skill this small that is only a minor gap.

4 / 5

Total

14

/

20

Passed

Description

62%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is specific and clearly scoped to a distinct niche (Semantica deduplication), but it lacks an explicit 'when to use' trigger clause, which limits completeness and leaves natural user phrasings under-covered. Adding a 'Use when...' clause with common synonyms would lift the weaker dimensions.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user asks to find or remove duplicates in a Semantica knowledge graph, or mentions entity/relationship deduplication.'

Include natural user phrasings and synonyms ("find duplicates", "deduplicate", "merge duplicate entities") alongside the technical terms to improve trigger-term coverage.

Reflect the downstream actions (grouping and merge/normalize recommendations) in the description so the capability list is comprehensive.

DimensionReasoningScore

Specificity

The description names three concrete detection targets ("duplicate entities, duplicate groups, and relationship duplicates") plus three methods ("fuzzy matching, schema heuristics, and graph similarity"), giving several specific actions with only minor coverage gaps. Not a 5 because the actions are detection-only and do not surface the merge/normalize outcomes the body advertises.

4 / 5

Completeness

The 'what' is clear (detect duplicates in Semantica via fuzzy matching, schema heuristics, graph similarity), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the rubric guidelines. Not a 2 because the 'what' is concrete and specific rather than vague.

3 / 5

Trigger Term Quality

Natural terms like "duplicate entities", "duplicate groups", and "relationship duplicates" are present and relevant, but common synonyms and phrasings a user would actually say (e.g. "find duplicates", "deduplicate", "merge duplicates", "knowledge graph cleanup") are missing. Not a 4 because the natural-phrase coverage is thin rather than just a few synonyms short.

3 / 5

Distinctiveness Conflict Risk

The phrase "in Semantica" scopes it to a specific graph/deduplication niche, and the three-pronged detection framing is distinctive, giving minimal conflict risk. Not below 5 because no neighboring skill would plausibly trigger on this exact phrasing.

5 / 5

Total

15

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
semantica-agi/semantica
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.