CtrlK
BlogDocsLog inGet started
Tessl Logo

competitive-ads-extractor

Extract and analyze competitors' ads from ad libraries to understand messaging and creative approaches that resonate.

44

Quality

44%

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 ./skills/competitive-ads-extractor/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

36%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 a redirect to an upstream GitHub bundle rather than a usable skill body: it carries no executable instructions, no real workflow, and no local reference files. It is concise but only because it omits the substance a skill body should provide.

Suggestions

Inline the core extraction workflow from the upstream bundle (concrete steps or code for pulling ads from an ad library) so the skill is actionable without a network round-trip.

Add validation/checkpoint steps for the batch ad-extraction process (e.g., confirm the ad library returned results before summarizing) to lift workflow_clarity above 2.

Replace the off-site pointer with local reference files under references/ or scripts/ so progressive disclosure is one level deep and navigable.

DimensionReasoningScore

Conciseness

The body is short but padded with catalogue meta-chatter ('This catalogue entry advertises the skill in Open Design...') that does not help Claude perform the task, fitting 'mostly efficient but includes some unnecessary explanation'; not 4 because that chatter does not earn its place.

3 / 5

Actionability

The only guidance is to open an upstream URL and 'ask the agent to invoke this skill' — minimal, high-level hints with no concrete steps or code for the actual extraction task, matching the 2 anchor; not 3 because no executable detail is present.

2 / 5

Workflow Clarity

There is only a rough two-step pointer (open URL, invoke skill) with no defined sequence or validation for what is inherently a batch extraction task, matching the 'rough sequence, validation absent' anchor; not 3 because the steps are not sufficiently defined to count as a real workflow.

2 / 5

Progressive Disclosure

Section headers give some structure, but there are no local bundle files (references/scripts/assets all absent) and navigation points off-site to an upstream URL rather than one-level-deep local references; this is borderline between 2 and 3 and the clear headers pull it to 3.

3 / 5

Total

10

/

20

Passed

Description

53%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 clearly states a specific, distinct purpose but is a single sentence with no 'when to use' guidance, capping its completeness and trigger usefulness at a middling level. Adding an explicit 'Use when...' clause with natural trigger phrases would lift the completeness and trigger_term_quality dimensions.

Suggestions

Add a 'Use when...' clause listing concrete trigger scenarios (e.g., 'Use when analyzing competitors' ad creative, pulling ads from the Meta/Google ad libraries, or doing an ad teardown').

Expand the action list beyond extract/analyze (e.g., 'capture ad creative, log spend and impressions, summarize messaging angles') to lift specificity.

Include natural synonyms a user would actually say (e.g., 'ad teardown', 'competitor creatives', 'ad library scrape') to improve trigger-term coverage.

DimensionReasoningScore

Specificity

The description names the domain and two concrete actions ("Extract and analyze competitors' ads") but offers no broader list of actions, matching the 1-2-concrete-actions anchor rather than the several-actions anchor at 4.

3 / 5

Completeness

There is a clear 'what' but no 'Use when...' clause; per the guidelines a missing explicit trigger clause caps completeness at 3, and it does not reach 4 which requires both what and when.

3 / 5

Trigger Term Quality

Relevant keywords appear ("competitors' ads", "ad libraries", "messaging", "creative approaches") but common natural variations a user would say are missing, so it lands at the 'some relevant keywords' anchor rather than 4's good coverage.

3 / 5

Distinctiveness Conflict Risk

"Competitors' ads" and "ad libraries" describe a clear niche with low overlap risk, fitting mostly-distinct; it stops short of 5 because the description lacks explicit distinct trigger phrases.

4 / 5

Total

13

/

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
nexu-io/open-design
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.