CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

competitor-analysis

Use when the user asks to "analyze competitors" or "竞品分析"; benchmarks competitor keywords, content, backlinks, AI citations, and traffic share into strengths, weaknesses, and an action plan. Not for a pairwise topic-coverage gap map — use content-gap-analysis. 竞品分析/竞争对手

Quality

84%

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

75%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 overview skill: lean body, executable keyless commands, explicit decision gates and a done-when checklist, and a clean one-level-deep reference set that all exists. Weaknesses are mild — some redundancy across example blocks, instruction steps that inventory fields rather than procedures, no final verification loop, and cross-bundle links that don't resolve within this skill's directory.

Suggestions

Collapse the five scattered example-prompt code blocks (Quick Start plus the four under Advanced Analysis Types) into one 'Example prompts' section to remove redundancy and cut tokens.

Add a final verification step to the workflow (e.g. before writing the deliverable, confirm every table cell is labeled Measured/User-provided/Estimated/N/A and every strength/weakness cites a named competitor) to close the feedback loop.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence — no concept explanations, no library tutorials — e.g. "Label every metric Measured (tool/export), User-provided, or Estimated (model inference)". It is not a 5 because of mild redundancy: five standalone prompt-style code blocks under Quick Start / Advanced Analysis Types overlap with the instructions, and content-gap-analysis is linked three separate times.

4 / 5

Actionability

Concrete, executable guidance is present: exact keyless commands ("python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/connectors/firecrawl.py\" scrape <competitor-url>", "map <competitor-domain> --limit 500", "search <brand> --tbs qdr:m"), an exact save path, and a per-step data checklist. It stays below 5 because several instruction steps are field inventories to 'review'/'evaluate' (e.g. "Audit Content Strategy — review content volume, top performers, publishing patterns") rather than executable procedures, deferring specifics to the references.

4 / 5

Workflow Clarity

A clear 8-step sequence is framed by explicit checkpoints: "Stop and ask — when the competitor set cannot be established", a "Done when" completion checklist (3-5 competitors in one table, every claim citing evidence, closing plan), and a labeling/quality-bar rule ("never present an estimate as measured"). Not a 5 because there is no verify-before-deliver feedback loop — nothing instructs re-checking tool data or table completeness if a metric turns out missing mid-analysis.

4 / 5

Progressive Disclosure

The body is a genuine overview: all four bundle files (references/analysis-templates.md, battlecard-template.md, positioning-frameworks.md, example-report.md) are real, one level deep, and clearly signaled both inline and in a Reference Materials index. It misses 5 because several referenced paths — ../../../references/skill-contract.md, ../../../CONNECTORS.md, ../../../SECURITY.md, ../../../scripts/connectors/README.md, ../../../references/platforms/youtube.md, ../content-gap-analysis/SKILL.md — do not exist inside the evaluated bundle, leaving minor navigation gaps relative to the actual file structure.

4 / 5

Total

16

/

20

Passed

Description

92%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 model description: concrete capabilities, explicit bilingual trigger phrases, and an explicit boundary against the nearest competing skill. The only weakness is modest coverage of natural English trigger variations beyond the one quoted phrase.

DimensionReasoningScore

Specificity

"benchmarks competitor keywords, content, backlinks, AI citations, and traffic share into strengths, weaknesses, and an action plan" lists multiple concrete actions with comprehensive coverage of the analysis outputs. It names the exact inputs benchmarked and the deliverable shape, with no vague padding — a clear match to the score-5 anchor rather than the 4 anchor's 'minor gaps in coverage'.

5 / 5

Completeness

Both halves are explicit: the 'when' is a concrete quoted trigger ("Use when the user asks to 'analyze competitors' or '竞品分析'") and the 'what' is a specific capability statement ending in concrete outputs. It also adds an explicit negative boundary ("Not for a pairwise topic-coverage gap map"), matching the score-5 example's structure of what + when with concrete trigger phrases.

5 / 5

Trigger Term Quality

Explicit quoted triggers "analyze competitors" and "竞品分析", plus the synonym "竞争对手", give good natural-phrase coverage in both languages. It falls short of the 5 anchor because common English variations a user would naturally say — e.g. "competitive analysis", "competitor research", "compare my site against" — are absent; better than the 3 anchor, whose keyword coverage is merely 'some'.

4 / 5

Distinctiveness Conflict Risk

"Not for a pairwise topic-coverage gap map — use content-gap-analysis" explicitly disambiguates from the closest neighboring skill, and the trigger set (competitor benchmarking with named metrics) is a clear niche. It sits at the 5 anchor (clear niche, distinct triggers, minimal conflict risk) rather than 4, where overlap with a closely related skill would remain unaddressed.

5 / 5

Total

19

/

20

Passed

Validation

75%

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

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 14 suspicious

Warning

referenced_paths_exist

Referenced path issues: 1 missing, 1 deeper-than-1-level

Warning

Total

12

/

16

Passed

Repository

aaron-he-zhu/aaron-marketing-skills

Path

seo-geo/survey/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.