CtrlK
BlogDocsLog inGet started
Tessl Logo

meta-ad-scraper

Scrape competitor ads from Meta's Ad Library (Facebook, Instagram, Messenger, Threads, WhatsApp). Search by company name, Facebook Page URL, or keyword. Returns ad creatives, spend estimates, reach, impressions, and campaign details. Use for competitive ad research, messaging analysis, and creative inspiration.

68

Quality

82%

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

65%

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

The body is highly actionable with executable commands and a concrete output schema, and it stays reasonably concise. Its main weaknesses are a missing output-validation checkpoint in the scrape workflow and a broken reference to a non-existent references/apify-config.md file.

Suggestions

Fix or remove the dangling reference: "references/apify-config.md" does not exist in the bundle — either create the file or drop the "Configuration" section pointer.

Add an explicit validation/retry checkpoint in "How It Works" for when the Apify run fails or returns zero ads (e.g., check run status, surface dataset-empty case, suggest raising --timeout).

Tighten the "Resolving Company Name → Ads" and "Important Notes" sections — the advertiser-resolution detail repeats what the CLI table already implies and could be trimmed for token efficiency.

DimensionReasoningScore

Conciseness

The body is mostly efficient with direct CLI examples and no padded concept explanations, but "How It Works", "Resolving Company Name → Ads", and "Important Notes" contain mild redundancy and explanatory prose that could be tightened; not quite the lean level-3 bar.

2 / 3

Actionability

Provides copy-paste-ready executable commands for every flag combination, a concrete CLI reference table, a full output-field JSON schema, and references a real script — fully executable and specific.

3 / 3

Workflow Clarity

"How It Works" lists a clear 5-step sequence, but for a remote API scrape with polling there is no explicit validation checkpoint (e.g., handling empty results, run failures, or partial datasets), leaving checkpoints implicit — capped at level 2.

2 / 3

Progressive Disclosure

Sections are well-organized and not monolithic, but the single signaled reference ("See references/apify-config.md") points to a file that does not exist in the bundle, and content such as the output schema and notes could be split out — structure is present but the broken reference prevents a level-3 score.

2 / 3

Total

9

/

12

Passed

Description

100%

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 concise, specific, and complete: it names concrete actions, includes an explicit "Use for..." trigger clause, and occupies a clear, distinct niche with natural trigger terms. It is among the strongest description examples.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "Scrape competitor ads", "Search by company name, Facebook Page URL, or keyword", and "Returns ad creatives, spend estimates, reach, impressions, and campaign details" — matching the level-3 anchor of multiple specific concrete actions.

3 / 3

Completeness

Clearly answers "what" (scrape/search/return specific ad fields) and "when" via an explicit "Use for competitive ad research, messaging analysis, and creative inspiration" trigger clause, matching the level-3 anchor.

3 / 3

Trigger Term Quality

Natural user-facing terms like "competitor ads", "Meta's Ad Library", "Facebook Page URL", and "competitive ad research" give good coverage of what a user would say; not merely technical jargon. Slightly below only by enumeration of platforms, but still clearly level 3.

3 / 3

Distinctiveness Conflict Risk

A clear niche (Meta Ad Library scraping) with distinct triggers, written in third person ("Scrape", "Returns"); unlikely to trigger for the wrong skill.

3 / 3

Total

12

/

12

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

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

15

/

16

Passed

Repository
gooseworks-ai/goose-skills
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.