CtrlK
BlogDocsLog inGet started
Tessl Logo

competitive-ads-extractor

Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.

65

1.22x
Quality

48%

Does it follow best practices?

Impact

97%

1.22x

Average score across 3 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./plugins/all-skills/skills/competitive-ads-extractor/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

35%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 demonstrates the skill's value through a rich worked example and organized sections, but it is padded with redundant generic advice, never explains the concrete mechanics of ad extraction, and inlines everything rather than splitting it across reference files. It reads as a showcase more than an operational instruction set.

Suggestions

Replace the ~90-line fabricated Notion output with a condensed output template, and move the full example to a references/ file (e.g. references/example-analysis.md).

Add concrete extraction mechanics: the ad library URLs, how to search by competitor, how screenshots are saved, and file-naming/output conventions the agent should follow.

Delete overlapping sections ('Related Use Cases', 'Tips for Success', 'What You Can Learn') that restate 'When to Use' or pad with advice Claude already knows, and add a verification step (confirm all active ads captured, check screenshots saved) to the batch extraction workflow.

DimensionReasoningScore

Conciseness

The ~290-line body is noticeably verbose: 'When to Use This Skill', 'What You Can Learn', 'Tips for Success', and 'Related Use Cases' restate one another and pad with generic advice ('Regular Monitoring: Check monthly for changes', 'Save Everything') and concepts Claude already knows (headline structures, CTA patterns). The ~90-line fabricated Notion example output dominates the file where a condensed template would do.

2 / 5

Actionability

Concrete guidance is minimal: the skill offers example user prompts and a mock transcript but never explains how to actually extract ads — no ad library URLs, no commands, no scraping or screenshot mechanics, no file-naming conventions beyond incidental names like 'ad-001-collaboration.png'. The 'how' steps are missing even though the 'what' is well illustrated.

2 / 5

Workflow Clarity

'Common Workflows' presents coherent 5-step sequences (e.g., 'Extract competitor ads → Identify successful patterns → Note gaps → Brainstorm → Draft'), but the batch operations (scraping dozens of ads, saving screenshots) include no validation or verification steps (confirm ads captured, check files saved), which caps workflow clarity at 3 per the batch-operations guideline.

3 / 5

Progressive Disclosure

The body is a monolithic 290-line file with no bundle files or external references at all; content that clearly belongs in separate files — the full worked example, output-format details, analysis frameworks — is inlined. Section headers provide reasonable navigation, so it sits above 'minimal structure' but below 'appropriately split'.

3 / 5

Total

10

/

20

Passed

Description

61%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 communicates a clear, fairly distinct capability with good natural keywords, but it omits explicit 'when to use' trigger guidance and mixes in second-person phrasing. It lands just above the midpoint: specific domain and actions, but not comprehensive or fully trigger-complete.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user mentions competitor ads, Facebook Ad Library, ad spy research, or wants ad campaign inspiration.'

Remove the second-person 'your own ad campaigns' in favor of third-person phrasing like 'to inspire and improve the user's own ad campaigns'.

Include common synonyms users actually say — 'Facebook Ad Library', 'ad copy', 'creative analysis' — to broaden trigger coverage.

DimensionReasoningScore

Specificity

Names the domain ('competitors' ads from ad libraries (Facebook, LinkedIn, etc.)') and two concrete actions ('Extracts and analyzes') elaborated by specific analysis targets ('messaging, problems, and creative approaches'), but coverage stops at two verbs. The phrase 'your own ad campaigns' is second-person address, incurring the voice penalty on an otherwise 3-4 boundary description.

3 / 5

Completeness

The 'what' is clear (extract and analyze competitor ads for messaging/creative insights), but there is no 'Use when...' clause or equivalent explicit trigger guidance — 'Helps inspire and improve your own ad campaigns' is a benefit statement, not a 'when'. Per the judging guidelines this caps completeness at 3.

3 / 5

Trigger Term Quality

Good natural keyword coverage: 'competitors' ads', 'ad libraries', 'Facebook, LinkedIn', 'messaging', 'ad campaigns'. A few natural terms users would say are missing, e.g. the exact 'Facebook Ad Library' name, 'ad copy', or 'creative'.

4 / 5

Distinctiveness Conflict Risk

'Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.)' carves a distinct niche unlikely to trigger the wrong skill; only minor overlap risk with broader marketing-analysis or social-media skills.

4 / 5

Total

14

/

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.

Validation — 15 / 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
davepoon/buildwithclaude
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.