CtrlK
BlogDocsLog inGet started
Tessl Logo

google-ad-scraper

Scrape competitor ads from Google Ads by domain. Returns ad creatives, formats, and campaign details. Use for competitive ad research and messaging analysis.

66

Quality

83%

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

76%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, verifiable skill body whose documented CLI exactly matches the bundled script. The main weaknesses are the unvalidated batch multi-competitor workflow, some duplication between Quick Start and Common Workflows, and an inline output-fields reference that could live in a separate file.

Suggestions

Add error handling and validation to the multi-competitor batch loop (e.g. per-domain failure behavior — continue vs. abort — and a check that each run returned ads before proceeding), which would lift workflow_clarity above the batch-validation cap of 3.

De-duplicate the Quick Start and Common Workflows sections: the "Competitor Ad Research" example repeats the quick-start command almost verbatim and could be consolidated.

Move the output-fields JSON example and field table into a reference file (e.g. references/output-fields.md) and keep a two-line sample inline, tightening the SKILL.md body.

DimensionReasoningScore

Conciseness

The body is mostly efficient — tables carry the CLI and output-field reference material and "How It Works" is compact — but the Quick Start commands are near-duplicated in "Common Workflows" and the "Input contract" paragraph carries cross-skill policy padding that could be trimmed. This matches the level-4 anchor (efficient with minor instances that could be trimmed).

4 / 5

Actionability

Every command is copy-paste ready and verified against the actual script (flags, defaults of 50/300, and choices json|summary all match scripts/search_google_ads.py), with concrete examples, documented output fields, costs, and failure modes covering the common cases — the level-5 anchor.

5 / 5

Workflow Clarity

The 4-step "How It Works" sequence is clear and the primary invocation is unambiguous, but the batch multi-competitor loop ("for domain in competitor1.com competitor2.com...") has no validation or error-handling checkpoint (e.g. what to do when one domain fails), and the rubric caps batch workflows without validation at 3.

3 / 5

Progressive Disclosure

Sections are well-organized with one-level-deep structure and the referenced script path (scripts/search_google_ads.py) exists in the bundle. However, the cross-reference to the "competitor-ad-intelligence" skill is not a resolvable bundle path, and the output-fields documentation (~40 lines of tables) could be split into a reference file — fitting the level-4 anchor rather than 5.

4 / 5

Total

16

/

20

Passed

Description

83%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 strong, third-person description that pairs concrete capabilities with an explicit "Use for..." trigger clause. Trigger keywords are good but miss common synonyms like "ad copy" or "AdWords", and the research-oriented "when" clause creates minor overlap risk with sibling ad-intelligence skills.

DimensionReasoningScore

Specificity

"Scrape competitor ads from Google Ads by domain. Returns ad creatives, formats, and campaign details" lists several concrete actions (scraping, returning creatives/formats/campaign details) with only minor gaps such as output format options. It falls short of the level-5 anchor because the action coverage is not fully comprehensive, but exceeds level 3 by naming more than 1-2 specific actions.

4 / 5

Completeness

The description clearly answers "what" (scrape competitor ads, returns ad creatives, formats, and campaign details) and "when" ("Use for competitive ad research and messaging analysis") in third person, matching the level-5 anchor of explicit what and when with concrete trigger phrases.

5 / 5

Trigger Term Quality

"competitor ads", "Google Ads", "ad creatives", "campaign details", "competitive ad research", "messaging analysis" give good natural keyword coverage. A few natural terms users might say are missing (e.g. "ad copy", "AdWords", "ad library"), so it does not reach the level-5 comprehensiveness anchor.

4 / 5

Distinctiveness Conflict Risk

The niche is clear ("competitor ads from Google Ads by domain") with distinct triggers, but "competitive ad research and messaging analysis" broadens it slightly into territory shared with closely related ad/marketing-research skills, so it fits the level-4 anchor (mostly distinct, minor overlap risk) better than level 5.

4 / 5

Total

17

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

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.