Check for duplicate or similar cases. Use before deep analysis to avoid investigating the same incident twice. Takes a CASE_ID and returns list of similar cases.
78
73%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/check-duplicates/SKILL.mdQuality
Discovery
75%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a solid, functional description that clearly communicates both what the skill does and when to use it. Its main weakness is moderate trigger term coverage — it could benefit from additional natural language variations users might employ. The explicit 'Use before deep analysis' clause is a strong contextual trigger.
Suggestions
Add more natural trigger term variations such as 'dedup', 'already seen', 'existing case', 'related incidents', or 'matching cases' to improve discoverability.
Consider specifying what 'similar' means (e.g., matching titles, descriptions, indicators) to increase specificity of capabilities.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (case deduplication) and describes the core action (check for duplicate/similar cases, takes a CASE_ID, returns list of similar cases), but doesn't elaborate on what 'similar' means or what additional capabilities exist beyond the single action. | 2 / 3 |
Completeness | Clearly answers both 'what' (checks for duplicate or similar cases, takes a CASE_ID, returns list of similar cases) and 'when' (use before deep analysis to avoid investigating the same incident twice), with an explicit trigger condition. | 3 / 3 |
Trigger Term Quality | Includes relevant terms like 'duplicate', 'similar cases', 'CASE_ID', and 'incident', but misses common variations users might say such as 'dedup', 'already investigated', 'existing case', 'matching cases', or 'related incidents'. | 2 / 3 |
Distinctiveness Conflict Risk | The description carves out a clear niche — case deduplication before deep analysis — with distinct triggers (CASE_ID, duplicate cases, same incident). This is unlikely to conflict with other skills like case analysis or incident investigation. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
72%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-structured, concise skill that clearly communicates its purpose and workflow. Its main weaknesses are the lack of concrete response-parsing code in Step 2 and missing error handling/validation before the destructive action of closing a case as duplicate. The usage pattern section is a nice touch that provides decision-tree guidance.
Suggestions
Add concrete code showing how to parse the API response to extract SIMILAR_CASE_IDS (e.g., response field names, expected data structure).
Add error handling for the API call (e.g., what to do if the similarity check fails or returns an unexpected format).
In the 'When Duplicates Are Found' section, add an explicit verification step before closing—e.g., compare alert details or entities to confirm it's truly a duplicate rather than just similar.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is lean and efficient. Every section serves a purpose—inputs, workflow, outputs, and usage pattern are all necessary. No unnecessary explanations of what duplicate detection is or how SOAR platforms work. | 3 / 3 |
Actionability | The API call in Step 1 is concrete and specific with clear parameter mapping, but it's pseudocode rather than a fully executable invocation. Step 2 ('Extract the list of similar case IDs from the response') is vague and lacks concrete code showing how to parse the response. | 2 / 3 |
Workflow Clarity | The workflow has a clear sequence and the usage pattern provides good decision logic. However, there's no validation/error handling for the API call (what if it fails or times out?), and the 'When Duplicates Are Found' section prescribes closing as NOT_MALICIOUS without verifying the duplicate is actually confirmed—missing a validation checkpoint before a destructive action (closing a case). | 2 / 3 |
Progressive Disclosure | For a simple, single-purpose skill under 50 lines, the content is well-organized with clear sections (Inputs, Workflow, Outputs, Usage Pattern, When Duplicates Are Found). No need for external file references given the scope. | 3 / 3 |
Total | 10 / 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 |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
086cbf6
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.