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.
40
31%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./competitive-ads-extractor/SKILL.mdQuality
Discovery
50%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 adequately conveys the skill's purpose around competitive ad analysis but lacks the explicit trigger guidance ('Use when...') that would help Claude select it appropriately. It uses second person voice ('your own ad campaigns') which violates the third-person guideline, and the specificity of actions could be improved with more concrete capabilities.
Suggestions
Add an explicit 'Use when...' clause with trigger terms like 'competitor ads', 'ad library', 'ad research', 'creative inspiration', 'spy on competitors'
Replace 'your own ad campaigns' with third-person phrasing like 'the user's ad campaigns' or simply 'ad campaign development'
Expand trigger terms to include common variations: 'Meta Ad Library', 'ad spy', 'swipe file', 'creative research', 'ad inspiration'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (competitor ads, ad libraries) and some actions (extracts, analyzes), but lacks comprehensive specific actions like 'download ad creatives', 'categorize by format', or 'generate comparison reports'. | 2 / 3 |
Completeness | Answers 'what' (extracts and analyzes competitor ads) reasonably well, but lacks an explicit 'Use when...' clause. The 'when' is only implied through the purpose statement about inspiring campaigns. | 2 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Facebook', 'LinkedIn', 'ad libraries', 'competitors' ads', but missing common variations users might say like 'Meta ads', 'spy on competitors', 'ad research', 'creative analysis', or 'swipe file'. | 2 / 3 |
Distinctiveness Conflict Risk | Fairly specific to ad library analysis, but could overlap with general marketing analysis skills or social media research skills. The mention of specific platforms (Facebook, LinkedIn) helps but 'etc.' weakens distinctiveness. | 2 / 3 |
Total | 8 / 12 Passed |
Implementation
12%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 strategy document disguised as a technical skill. It describes what competitive ad analysis should accomplish but provides zero executable implementation—no scraping code, no API usage, no browser automation, no actual tools. The extensive example output is fabricated rather than demonstrating real functionality, making this skill unusable in practice.
Suggestions
Add actual executable code for scraping Facebook Ad Library (e.g., using Playwright or Puppeteer with specific selectors and navigation steps)
Remove generic marketing advice sections ('What You Can Learn', 'Tips for Success', 'Best Practices') that Claude already knows and replace with technical implementation details
Include concrete validation steps: checking if scraping succeeded, handling rate limits, verifying screenshot capture worked
Split into SKILL.md (quick start with working code) and separate reference files for analysis frameworks and output templates
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose with extensive sections that explain obvious concepts Claude already knows (what ad analysis is, why patterns matter, basic marketing concepts). The 'What You Can Learn' and 'Tips for Success' sections are particularly padded with generic marketing advice that adds no unique value. | 1 / 3 |
Actionability | Despite its length, the skill provides no actual executable code or concrete commands for scraping ad libraries. The 'Example' section shows fake output but no real implementation. There's no actual scraping code, API calls, or browser automation instructions—just vague prompts like 'Extract all current ads from [Competitor Name]'. | 1 / 3 |
Workflow Clarity | The 'Common Workflows' section provides numbered steps, but they're abstract (e.g., 'Extract competitor ads' without explaining how). No validation checkpoints exist for what is essentially a multi-step scraping and analysis process. Missing error handling for blocked requests, rate limits, or platform changes. | 2 / 3 |
Progressive Disclosure | Monolithic wall of text with no references to external files. All content is inline despite being over 200 lines. Sections like 'Output Formats', 'Related Use Cases', and 'Tips for Success' could easily be separate reference files. No clear navigation structure for finding specific information quickly. | 1 / 3 |
Total | 5 / 12 Passed |
Validation
75%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 12 / 16 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
description_voice | 'description' should use third person voice; found second person: 'your ' | Warning |
description_trigger_hint | Description may be missing an explicit 'when to use' trigger hint (e.g., 'Use when...') | Warning |
metadata_version | 'metadata' field is not a dictionary | Warning |
license_field | 'license' field is missing | Warning |
Total | 12 / 16 Passed | |
362d354
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.