CtrlK
BlogDocsLog inGet started
Tessl Logo

competitor-ad-intelligence

Scrape competitor ads from Meta, TikTok, Google, and LinkedIn ad libraries, analyze creative patterns (hooks, formats, CTAs), reverse-engineer landing page funnels, and produce a strategic teardown with vulnerability analysis and counter-play recommendations. Use when you need to understand the competitive ad landscape, find new creative directions, or identify weaknesses in a competitor's paid strategy.

63

Quality

79%

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/composites/competitor-ad-intelligence/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%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 thorough, well-sequenced operational skill with genuinely executable API specs and strong honesty/confirmation guardrails around paid scraping. Its weaknesses are length and monolithic structure: duplicated trigger lists and a full report template inlined in SKILL.md instead of split into reference files, and two platform phases that defer endpoint details to an external doc.

Suggestions

Split the ~150-line Phase 8 report template and the per-platform scraping details into reference files (e.g., references/report-template.md, references/google-ads.md) and link to them from a lean overview, moving progressive disclosure from inline monolith to one-level-deep references.

Merge the 'When to Use' and 'Trigger Phrases' sections, which repeat nearly the same list of prompts, and drop the intro sentence that restates the frontmatter description verbatim.

Give the TikTok and LinkedIn phases the same concrete endpoint call specs (path, query parameters) that the Meta and Google phases have, so all four channels are equally executable without consulting an external reference.

DimensionReasoningScore

Conciseness

The body is mostly efficient, domain-specific process content, but the 'When to Use' and 'Trigger Phrases' sections duplicate nearly the same list, and the ~150-line Phase 8 report template is inlined in full — it could be tightened or externalized. Not anchor 2 because there is little explanation of concepts Claude already knows, and not anchor 4 because the duplication and inline template are noticeable slack.

3 / 5

Actionability

Mostly executable guidance: exact YAML provider call specs with paths and query parameters for Meta and Google, a copy-paste JSON tool invocation with validated limits, concrete per-ad collection checklists, and structured analysis tables. Minor gaps keep it below 5 — Phases 2 and 4 only say to "resolve the current TikTok/LinkedIn Ad Library search and ad-detail operations from the official provider reference" without giving the endpoints, unlike the Meta phase.

4 / 5

Workflow Clarity

A clear Phase 0–8 sequence with most checkpoints present: user confirmation of advertiser identity, explicit spend/request limits, polling a stable source_id with job_get, and honest reporting of queued/running/partial/empty/failed states plus documented fallbacks. Not 5 because validation outside the Google import path is implicit (e.g., no verify step that scraped ad records are complete before analysis).

4 / 5

Progressive Disclosure

Section structure is clear and well-organized, but there are no bundle files at all and roughly 450 lines of content inlined — the full report template and per-platform scraping details clearly belong in separate reference files. This matches the 3-anchor (structure present, but content that should be separate is inline); it is above 2 because navigation via headers is easy and nothing is buried.

3 / 5

Total

14

/

20

Passed

Description

87%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 description: concrete, comprehensive capabilities paired with an explicit 'Use when' clause covering multiple trigger scenarios. The only flaws are the second-person phrasing in the trigger clause and slightly incomplete synonym coverage.

DimensionReasoningScore

Specificity

The description lists multiple concrete, comprehensive actions ("Scrape competitor ads from Meta, TikTok, Google, and LinkedIn ad libraries", "analyze creative patterns (hooks, formats, CTAs)", "reverse-engineer landing page funnels", "produce a strategic teardown with vulnerability analysis and counter-play recommendations"), matching the 5-anchor; however, the 'Use when you need to' clause is second person, which the guidelines penalize by one point.

4 / 5

Completeness

It explicitly answers both 'what' (scrape, analyze creative patterns, reverse-engineer funnels, produce a strategic teardown) and 'when' ("Use when you need to understand the competitive ad landscape, find new creative directions, or identify weaknesses in a competitor's paid strategy") with concrete trigger conditions.

5 / 5

Trigger Term Quality

Good coverage of natural phrases users would say ("competitor ads", "ad libraries", "creative", "landing page funnels", "competitive ad landscape", "weaknesses in a competitor's paid strategy"), but common variations such as "teardown", "ad creative", or platform-specific phrases like "Meta Ad Library" are only partially covered.

4 / 5

Distinctiveness Conflict Risk

Clear niche — competitor ad intelligence across named ad libraries — with distinct triggers (competitor ad scraping, funnel reverse-engineering, ad landscape audits) that would not plausibly fire a generic marketing or analytics skill.

5 / 5

Total

18

/

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

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.