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.

63

Quality

75%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/ads/capabilities/meta-ad-scraper/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

72%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.

A highly actionable, well-structured skill body with copy-paste commands and a clear schema, but it lacks validation checkpoints for a batch scraping workflow and points to a `references/apify-config.md` file that does not exist in the bundle.

Suggestions

Add a validation/verification step to the workflow (e.g. check the actor run status, confirm ads were returned, and handle empty results before reporting) to lift workflow_clarity above the batch-operation cap of 3.

Create the referenced `references/apify-config.md` file or remove the dangling reference so progressive disclosure points to real bundle content.

Trim the 'How It Works' prose and the restated 'Compare Multiple Competitors' workflow, since the Quick Start examples already convey the same usage.

DimensionReasoningScore

Conciseness

The body is well-organized and mostly lean, with copy-paste-ready commands and a tight CLI reference table; minor padding like the 'How It Works' prose and the 'Compare Multiple Competitors' workflow restating usage keep it just below a 5.

4 / 5

Actionability

Provides fully executable, copy-paste-ready commands covering the common cases (company, country, keyword, page URL, ad-status, output formats), a complete CLI reference table, and a concrete output-field schema — all directly runnable.

5 / 5

Workflow Clarity

The 'How It Works' steps give a clear sequence, but this batch scraping operation has no validation or verification checkpoint (e.g. checking the run succeeded before trusting data, handling empty/partial results), and the rubric caps batch operations without validation at 3.

3 / 5

Progressive Disclosure

The body is well-sectioned, but it references `references/apify-config.md` for API configuration while no `references/` directory exists in the bundle, so the signaled one-level-deep reference is broken; the inline content that should live in that file (cost, rate limits) is partially inlined instead.

3 / 5

Total

15

/

20

Passed

Description

78%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.

A specific, distinct description that clearly conveys both what the skill does and its use cases, with strong concrete outputs. It could be tightened into a more explicit 'Use when...' trigger clause and add common synonyms like 'Facebook ads' for stronger trigger matching.

Suggestions

Reword the closing as an explicit trigger clause, e.g. 'Use when the user asks to research competitor ads on Facebook/Instagram or mentions Facebook ads, ad creatives, or ad spend.'

Add natural synonyms users actually say ('Facebook ads', 'Instagram ads', 'ad spend') alongside the product term 'Meta Ad Library'.

Replace the single generic verb 'Returns' with two or three concrete actions ('Scrapes ..., extracts ..., and returns ...') to lift specificity.

DimensionReasoningScore

Specificity

Names the domain (Meta Ad Library, Facebook/Instagram/etc.) and multiple concrete outputs ('ad creatives, spend estimates, reach, impressions, and campaign details'), but the actions themselves are one generic verb ('Returns') rather than a list of distinct operations.

4 / 5

Completeness

The 'what' is clearly stated and a 'Use for ...' clause covers the 'when', but the trigger guidance is benefit-oriented rather than tied to concrete user phrases, so it is not a fully explicit 'Use when...' trigger.

4 / 5

Trigger Term Quality

Includes natural terms users would say ('competitive ad research', 'messaging analysis', 'creative inspiration', 'competitor ads') plus the platform names, though it leans on product jargon ('Meta's Ad Library') and omits common synonyms like 'Facebook ads'.

4 / 5

Distinctiveness Conflict Risk

It targets a narrow, clearly-defined niche (scraping Meta's Ad Library via Apify) with distinct triggers unlikely to collide with other skills.

5 / 5

Total

17

/

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

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.