CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

competitor-analysis

Analyzes competitor advertising strategies using Facebook Ads Library. Use for competitive research, creative inspiration, and market positioning.

Quality

67%

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

Quality

Content

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

The body provides a clear, actionable structure for querying competitor ads via two named tools, but is undermined by a referenced analysis script that does not exist in the bundle, duplicated workflow sections, a batch-comparison workflow lacking any validation steps, and a promotional footer that spends tokens on marketing rather than instruction.

Suggestions

Fix the broken bundle reference: either include `scripts/analyze-competitor.py` in the bundle or remove the "Automated Analysis" section, since Claude will currently attempt to run a script that does not exist.

Add a validation checkpoint to the workflows — e.g., confirm the platform ID returned by `get_meta_platform_id` matches the intended brand before fetching ads, and verify each result when batch-comparing multiple competitors.

Merge the duplicative "Find a Competitor's Ads" and "Analyze Competitor Strategy" sections into one workflow, and move the Synter promotional footer out of SKILL.md to save context-window tokens.

DimensionReasoningScore

Conciseness

The instructional core is lean (tool list, numbered steps, example prompts with no over-explanation of known concepts), but "### Analyze Competitor Strategy" substantially duplicates the "Find a Competitor's Ads" workflow, and the ~10-line "About this skill" footer with Synter promotional links and UTM-tagged URLs is pure advertising padding that earns no tokens. This is more than 'minor instances' (so not 4) but the core guidance itself is not verbose or padded with explanations (so not 2).

3 / 5

Actionability

There is concrete guidance — named MCP tools (`get_meta_platform_id`, `get_meta_ads`), a sequenced call pattern, and a bash command `python scripts/analyze-competitor.py "BrandName"` — but key details are missing: the referenced script does not exist in the bundle (no `scripts/` directory), so the command is not executable as written, and the batch claim ("Pass an array of brand names") is stated without syntax or constraints. Concrete but incomplete matches anchor 3; not 2 because specific tool names and a runnable invocation pattern are given.

3 / 5

Workflow Clarity

"Find a Competitor's Ads" lists a clear 3-step sequence (get platform ID → fetch ads → analyze patterns), but no validation checkpoints exist anywhere — no step confirms the platform ID matches the intended brand before fetching ads, and none verifies batch results. The "Compare Multiple Competitors" workflow is a batch operation without validation or feedback loops, which per the rubric caps workflow clarity at 3; anchor 3 ('steps listed but validation gaps') is the best fit.

3 / 5

Progressive Disclosure

Sections are clearly organized and the body is short (~75 lines), but the only external reference — `scripts/analyze-competitor.py` under "Automated Analysis" — is missing from the bundle entirely (no scripts/ directory exists), so navigating to the detailed material fails. A broken primary reference is a substantive organization gap beyond the 'minor organization gaps' of anchor 4, while the good sectioning and absence of inlined overflow content keeps it above anchor 2.

3 / 5

Total

12

/

20

Passed

Description

70%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 concise, third-person description that clearly states what the skill does and when to use it, with a distinct Facebook Ads Library niche. Its main weaknesses are limited enumeration of specific capabilities and 'when' guidance framed as abstract use cases rather than concrete user trigger phrases.

Suggestions

Add concrete trigger phrases to the 'Use when' clause, e.g., 'Use when the user asks what ads a competitor is running, wants to compare ad strategies between brands, or mentions the Facebook/Meta Ads Library.'

Enumerate 1-2 more specific capabilities (e.g., 'retrieve active ad creatives, compare multiple brands, summarize messaging and offers') to lift specificity.

Include common synonym terms users say, such as 'ad research', 'competitor analysis', or 'ad library', to broaden natural keyword coverage.

DimensionReasoningScore

Specificity

"Analyze competitor advertising strategies using Facebook Ads Library" names the domain and one concrete action (analyze ad strategies), but offers no additional specific actions like extracting creatives, comparing brands, or summarizing offers — matching the '1-2 concrete actions, not comprehensive' anchor. It stays at 3 rather than 4 because it does not list several specific actions, and above 2 because the action is more than minimal/generic.

3 / 5

Completeness

It explicitly answers both: what ("Analyze competitor advertising strategies using Facebook Ads Library") and when ("Use for competitive research, creative inspiration, and market positioning"), with the 'Use for' clause present and in third person. Not 5 because the 'when' lists abstract use cases rather than concrete user-utterance triggers (e.g., 'when the user asks what ads a competitor is running'); not 3 because the 'when' is explicit, not merely implied.

4 / 5

Trigger Term Quality

Terms like "competitive research", "creative inspiration", "market positioning", and "Facebook Ads Library" are natural phrases marketers would say, giving good keyword coverage. Not 5 because common variations such as "competitor analysis", "ad research", "ad library", or "ad spy" are missing; not 3 because coverage goes beyond just a few relevant keywords with several natural phrases present.

4 / 5

Distinctiveness Conflict Risk

"Facebook Ads Library" anchors a clear niche (competitor ad research) with distinct triggers, though "creative inspiration" and "market positioning" are broad use cases that could overlap with general marketing or ads-management skills. Not 5 due to that minor overlap risk with closely related marketing skills; not 3 because the Meta/Facebook Ads Library framing is genuinely specific rather than broadly overlapping.

4 / 5

Total

15

/

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

referenced_paths_exist

Referenced path issues: 2 missing

Warning

Total

15

/

16

Passed

Repository

Synter-Media-AI/free-skills

Path

skills/competitor-analysis/SKILL.md

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.