CtrlK
BlogDocsLog inGet started
Tessl Logo

blog-cannibalization

Detect keyword cannibalization across blog posts by extracting primary keywords from titles and headings, clustering semantically similar targets, and flagging posts competing for the same search intent. Supports local-only mode (grep-based) and DataForSEO API mode (Page Intersection endpoint at ~$0.01/call). Outputs severity-scored report with merge or differentiate recommendations. Use when user says "cannibalization", "keyword overlap", "competing pages", "duplicate keywords", "cannibalize".

71

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

76%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 body is well-structured, actionable, and sequenced with error handling and fallbacks for both modes. It would reach the top level by trimming re-explanation of known SEO concepts and adding explicit validate-then-proceed checkpoints for destructive recommendations.

Suggestions

Trim canonical/noindex concept explanations (e.g., 'Do not use as the default duplicate-content fix') since Claude already understands these directives; keep only the skill-specific policy.

Add explicit validation/re-verification checkpoints before destructive recommendations (e.g., 'Verify redirect target resolves before applying 301').

Specify the local DataForSEO wrapper concretely (filename, expected CLI invocation) or mark it as 'must be provided by the project' to close the actionability gap.

DimensionReasoningScore

Conciseness

Mostly efficient with concrete tables and code blocks, but the recommendations section re-explains canonical/noindex concepts Claude already knows and the severity rationale is slightly padded.

4 / 5

Actionability

Concrete Glob patterns, API request bodies, a severity formula, and example output table make it largely executable; the local wrapper is described as 'a dedicated local CLI wrapper' that may not exist, a minor gap.

4 / 5

Workflow Clarity

Both modes have clearly numbered sequences with explicit error-handling and fallback checkpoints; falls short of a 5 because validation/re-verification feedback loops for destructive merge/canonical actions are mostly implicit rather than explicit validate-then-proceed steps.

4 / 5

Progressive Disclosure

Well-organized sections with clear headers and a modes table; no bundle files exist so everything is inline, which is appropriate at this length, though the full API reference and recommendation details could live in separate files.

4 / 5

Total

16

/

20

Passed

Description

100%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 exemplary: it names concrete capabilities, specifies both modes with cost, and provides explicit natural-language trigger phrases. It answers both what and when clearly and distinctively.

DimensionReasoningScore

Specificity

Lists multiple concrete actions (extract primary keywords, cluster semantically similar targets, flag competing posts, severity-scored report) plus concrete modes and a unit cost; comprehensive coverage.

5 / 5

Completeness

Explicitly states what it does (detect cannibalization via extraction/clustering/flagging) and when to use it via the 'Use when user says...' trigger clause.

5 / 5

Trigger Term Quality

Includes natural user phrases (cannibalization, keyword overlap, competing pages, duplicate keywords, cannibalize) that users would actually say when needing this skill.

5 / 5

Distinctiveness Conflict Risk

Clear niche (SEO blog cannibalization) with distinct trigger terms; minimal conflict risk with other skills.

5 / 5

Total

20

/

20

Passed

Validation

93%

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

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
AgriciDaniel/claude-blog
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.