Event deduplication with canonical selection, reputation scoring, and hash-based grouping for multi-source data aggregation. Handles both ID-based and content-based deduplication.
77
66%
Does it follow best practices?
Impact
98%
1.58xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./data-access/deduplication-dadbodgeoff-drift/SKILL.mdQuality
Discovery
67%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 excels at specificity and distinctiveness, clearly articulating a well-defined technical niche with concrete operations. However, it lacks an explicit 'Use when...' clause which caps completeness, and the trigger terms lean heavily technical, potentially missing more natural user language for when someone needs deduplication help.
Suggestions
Add a 'Use when...' clause such as 'Use when the user needs to remove duplicate events from multiple data sources, merge overlapping records, or deduplicate event streams.'
Include more natural trigger terms like 'remove duplicates', 'dedupe', 'duplicate detection', 'merge duplicate records' alongside the technical terminology.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'canonical selection', 'reputation scoring', 'hash-based grouping', 'ID-based and content-based deduplication'. These are concrete, well-defined operations. | 3 / 3 |
Completeness | Clearly answers 'what does this do' with specific capabilities, but lacks an explicit 'Use when...' clause or equivalent trigger guidance. The 'when' is only implied by the domain description. | 2 / 3 |
Trigger Term Quality | Includes some relevant terms like 'deduplication', 'multi-source data aggregation', 'hash-based grouping', but these are fairly technical. Missing more natural user terms like 'remove duplicates', 'merge events', 'duplicate detection', or 'dedupe'. | 2 / 3 |
Distinctiveness Conflict Risk | Highly specific niche combining event deduplication with canonical selection, reputation scoring, and hash-based grouping. This is unlikely to conflict with other skills due to its very targeted domain. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid, actionable skill with complete executable TypeScript code covering both ID-based and content-based deduplication patterns. Its main weaknesses are verbosity (explanatory sections that Claude doesn't need, plus a large inline code block that could be referenced externally) and lack of validation/verification steps for checking deduplication quality. The code quality is high but the skill could be more token-efficient.
Suggestions
Move the full implementation code to a separate reference file (e.g., DEDUP_REFERENCE.md) and keep only a concise quick-start example in SKILL.md with a link to the full code.
Remove or significantly trim the 'Core Concepts' and 'When to Use This Skill' sections — Claude already understands deduplication concepts and can infer when to apply the skill.
Add validation checkpoints: e.g., verify dedup key distribution before canonical selection, spot-check that groups contain genuinely similar items, and flag groups with unexpectedly high member counts for review.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill includes some unnecessary sections like 'Core Concepts' that explain things Claude already understands (what deduplication is, why URL dedup isn't enough). The 'When to Use This Skill' section is also somewhat redundant. However, the code itself is reasonably lean and the best practices/common mistakes sections are concise bullet points. | 2 / 3 |
Actionability | The skill provides fully executable TypeScript code with complete type definitions, concrete implementations for both ID-based and content-based deduplication, reputation scoring with real domain examples, and clear usage examples showing how to call the functions. Code is copy-paste ready. | 3 / 3 |
Workflow Clarity | The two deduplication modes are clearly presented with implementations, and usage examples show the sequence (fetch → deduplicate → use results). However, there are no validation checkpoints — no guidance on verifying deduplication quality, handling edge cases where grouping fails, or feedback loops for tuning the normalization/reputation scoring. For a data aggregation operation, validation of results would be important. | 2 / 3 |
Progressive Disclosure | The content is structured with clear sections (implementation, usage examples, best practices, common mistakes), and references related patterns at the end. However, the main implementation section is quite long (~120 lines of code inline) and could benefit from being split into a separate reference file, with SKILL.md containing just the quick-start pattern and linking out to the full implementation. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata.version' is missing | Warning |
Total | 10 / 11 Passed | |
3dd3ac0
Table of Contents
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.