CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

apify-competitor-intelligence

Analyze competitor strategies, content, pricing, ads, and market positioning across Google Maps, Booking.com, Facebook, Instagram, YouTube, and TikTok.

56

Quality

71%

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/apify-competitor-intelligence/SKILL.md

The canonical home for this skill is apify-competitor-intelligence in sickn33/agentic-awesome-skills

SKILL.md
Quality
Evals
Security

Quality

Content

68%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 well-structured, largely executable skill with a clear five-step workflow and useful error-recovery guidance. The main gaps are the missing output-validation checkpoint for batch scraping runs and the undefined JSON_INPUT placeholder, plus an oversized inline Actor catalog that belongs in a separate reference file.

Suggestions

Add an explicit verification step after running the script (e.g. check the output file exists and is non-empty, and confirm the row count matches the requested number of results) before summarizing findings.

Provide one concrete example of a JSON_INPUT value (e.g. '{"searchStrings": ["Competitor Name"], "location": "New York", "maxCrawledPlaces": 10}') so the run commands are copy-paste ready.

Move the 27-row Actor selection table into a references file (e.g. references/actors.md) and keep a short decision guide inline, trimming filler like '(No need to check it upfront)'.

DimensionReasoningScore

Conciseness

The body is mostly lean: a dense actor-selection table, copy-shaped bash commands, and a compact error-handling list with no explanations of concepts Claude already knows. Minor padding keeps it from a 5 — the odd parenthetical "(No need to check it upfront)" and the vague "Number of results: Based on character of use case" could be trimmed or made concrete.

4 / 5

Actionability

Guidance is mostly executable: exact bash for fetching the Actor schema via mcpc, and per-format node invocations with real flags (--actor, --input, --output, --format). It falls short of anchor 5 because JSON_INPUT is never exemplified — no sample input object is shown — and the referenced run_actor.js arguments are undocumented in the bundle; it stays above anchor 3 because the commands are concrete, not pseudocode.

4 / 5

Workflow Clarity

The five-step sequence is clearly ordered with a copyable progress checklist and an error-handling section mapping failures to fixes. However, the workflow drives batch scraping operations that consume paid API runs and produce data files, yet includes no validation/verification checkpoint on outputs (e.g. confirm the CSV is non-empty or row counts match expectations) — per the rubric's batch-operation rule this caps workflow clarity at 3 even though the error-recovery guidance is otherwise good.

3 / 5

Progressive Disclosure

Section structure is good: prerequisites, a checklist-driven workflow, and error handling, with a single clearly-signaled external script reference (${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js) that is one level deep. It is not a 5 because the 27-row Actor catalog is reference-like data inlined in SKILL.md that could be split into a references file, and no bundle reference/script files exist to organize that material.

4 / 5

Total

15

/

20

Passed

Description

61%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 solid, third-person description with a clear "what" and good natural trigger terms anchored by specific platform names. Its main weaknesses are the absence of a "when to use" clause and reliance on a single generic action verb, which limit completeness and specificity.

Suggestions

Add a 'Use when...' clause, e.g. 'Use when the user asks for competitor analysis, benchmarking rivals, or scraping competitor data from these platforms.'

Replace the single verb 'Analyze' with several concrete actions (e.g. 'Scrape competitor reviews, compare pricing, and monitor ad campaigns') and add synonyms like 'scrape', 'reviews', and 'benchmark' to broaden trigger coverage.

DimensionReasoningScore

Specificity

The description names a concrete domain ("competitor strategies, content, pricing, ads, and market positioning") and enumerates six platforms, but uses a single generic action verb ("Analyze") rather than listing several specific concrete actions like "extract reviews" or "scrape pricing". It fits anchor 3 (domain and 1-2 concrete actions) better than anchor 4, which requires several specific actions.

3 / 5

Completeness

The "what" is clear (analyze competitor strategies, content, pricing, ads, positioning across listed platforms), but there is no "Use when..." clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is not a 2 because the "what" is concrete and specific, not vague.

3 / 5

Trigger Term Quality

It includes natural keywords users would actually say — "competitor", "pricing", "ads", "market positioning", and platform names ("Google Maps", "Booking.com", "Facebook", "Instagram", "YouTube", "TikTok"). It falls short of anchor 5 because common synonyms like "scrape", "reviews", "benchmark", or "rival" are missing, but it is well above anchor 3's bare-minimum keyword coverage.

4 / 5

Distinctiveness Conflict Risk

The competitor-intelligence framing plus an explicit platform list gives it a fairly distinct niche with minimal conflict risk against unrelated skills. It is not a 5 because terms like "content" and "ads" analysis could still overlap with generic social-media-analytics or web-scraping skills.

4 / 5

Total

14

/

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

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/apify-competitor-intelligence/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.