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.

53

1.22x
Quality

28%

Does it follow best practices?

Impact

97%

1.22x

Average score across 3 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

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

Quality

Discovery

57%

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 identifies a clear and distinctive niche—competitor ad library analysis—with reasonable specificity about the domain. However, it lacks an explicit 'Use when...' clause, uses second person ('your own ad campaigns'), and could benefit from more concrete action verbs and natural trigger terms users would employ.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user wants to analyze competitor ads, research ad libraries, or gather inspiration from Facebook/LinkedIn ad campaigns.'

Replace 'Helps inspire and improve your own ad campaigns' with third-person phrasing and more specific actions, e.g., 'Categorizes messaging themes, identifies pain points targeted, and summarizes creative approaches to inform ad strategy.'

Include additional natural trigger terms users might say, such as 'Meta Ad Library', 'competitor research', 'ad spy', 'swipe file', or 'ad copy analysis'.

DimensionReasoningScore

Specificity

Names the domain (competitor ad analysis from ad libraries) and some actions (extracts, analyzes), but doesn't list multiple concrete specific actions like 'categorize messaging themes, identify CTAs, compare creative formats'.

2 / 3

Completeness

The 'what' is reasonably covered (extracts and analyzes competitor ads from ad libraries), but there is no explicit 'Use when...' clause or equivalent trigger guidance, which per the rubric caps completeness at 2.

2 / 3

Trigger Term Quality

Includes relevant keywords like 'competitors' ads', 'ad libraries', 'Facebook', 'LinkedIn', 'messaging', 'creative', and 'ad campaigns', but misses common variations users might say like 'spy on ads', 'ad swipe file', 'Meta Ad Library', 'competitor research', 'ad copy analysis'.

2 / 3

Distinctiveness Conflict Risk

The niche of extracting competitor ads specifically from ad libraries (Facebook, LinkedIn) is quite distinct and unlikely to conflict with general marketing, copywriting, or other advertising skills.

3 / 3

Total

9

/

12

Passed

Implementation

0%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This skill is essentially a marketing document or wishlist rather than an actionable skill. It describes a desired capability in great detail but provides zero implementation—no scraping code, no API usage, no tool instructions, no library references. The fabricated example output creates the illusion of functionality without any substance behind it.

Suggestions

Provide actual executable code or tool commands for accessing Facebook Ad Library (e.g., using their public API or browser automation with Playwright/Puppeteer), including authentication and rate limiting considerations.

Remove the extensive 'What You Can Learn', 'Tips for Success', 'Related Use Cases', and 'When to Use' sections—these are filler that Claude doesn't need. Replace with concrete implementation details.

Add real validation steps: how to verify scraping succeeded, handle CAPTCHAs or rate limits, validate extracted data completeness, and deal with platform-specific restrictions.

Replace the fabricated example output with a real, minimal working example showing actual code that extracts at least one ad's metadata from a public ad library.

DimensionReasoningScore

Conciseness

Extremely verbose and padded. The skill explains obvious concepts ('When to Use', 'What You Can Learn', 'Tips for Success' are all filler), repeats itself across multiple sections, and includes a massive fabricated example output that teaches Claude nothing actionable. Most of the content describes what the skill does rather than how to do it.

1 / 3

Actionability

There is no executable code, no actual scraping logic, no API calls, no tool usage instructions, and no concrete implementation. The 'example' is entirely fabricated output with no real commands or scripts. The user prompts shown are just natural language requests with no backing implementation. Claude would have no idea how to actually extract ads from any ad library.

1 / 3

Workflow Clarity

The 'Common Workflows' section lists high-level steps like 'Extract competitor ads' and 'Identify successful patterns' without any concrete implementation, validation, or error handling. There are no checkpoints, no feedback loops, and no guidance on what to do when scraping fails or access is restricted. The process shown in the example is fictional.

1 / 3

Progressive Disclosure

The content is a monolithic wall of text with no references to external files and no bundle structure. Multiple sections ('What You Can Learn', 'Best Practices', 'Tips for Success', 'Related Use Cases') could be consolidated or removed. The document is ~200+ lines with no meaningful content hierarchy or external references.

1 / 3

Total

4

/

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.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

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.