CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

competitor-profiling

Research and analyze competitors from their URLs to build structured competitor profile documents, dossiers, and competitive intelligence overviews.

Quality

63%

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-profiling/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 is highly actionable, with named tools, exact file paths, extraction tables, and a clearly sequenced research process, but it is noticeably padded: the full profile template is duplicated inline despite a templates reference, the question checklists are repeated, and general principles restate known behavior. Validation checkpoints for batch scraping and SEO pulls are missing.

Suggestions

Move the full profile template out of SKILL.md into references/templates.md and keep only a section outline plus the reference link inline.

Merge 'Task-Specific Questions' into 'Initial Assessment' (they ask nearly the same things) and trim 'Core Principles' to only non-obvious guidance such as the snapshot/dating rules.

Add validation checkpoints to the workflow: verify each scrape succeeded before extracting fields, and check DataForSEO responses are non-empty before synthesizing, with a retry/skip path for failures.

DimensionReasoningScore

Conciseness

The ~420-line body has several padded or duplicated sections: a ~140-line full profile template is inlined even though the body itself points to references/templates.md for 'full profile and summary templates'; 'Task-Specific Questions' repeats the 'Initial Assessment' checklist almost verbatim; and 'Core Principles' explains behavior Claude already knows (e.g., 'Don't exaggerate competitor weaknesses... Accurate profiles are useful profiles'). This matches anchor 2 (noticeably verbose, several unnecessary sections) rather than anchor 3, though most operational content (extraction tables, save paths, tool names) does earn its place, keeping it above anchor 1.

2 / 5

Actionability

The guidance is consistently concrete: named MCP tools (firecrawl_map, backlinks_summary, dataforseo_labs_google_ranked_keywords), exact save paths (competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/scrapes/<page-name>.md), per-page extraction tables, slug/date conventions, and an explicit quick-scan vs deep-profile scope. It falls just short of anchor 5 because example call payloads are deferred to references/tool-reference.md rather than shown inline.

4 / 5

Workflow Clarity

The phased sequence (initial assessment, persist raw data, scrape, SEO, synthesis, output, summary) is explicit and well ordered, but this is a batch operation ('Parallelize scraping — scrape all competitors' homepages simultaneously') with no validation or feedback loops — nothing on verifying a scrape succeeded before extracting fields or handling empty/failed DataForSEO responses. Per the rubric's cap for batch operations without validation, workflow clarity cannot exceed 3.

3 / 5

Progressive Disclosure

Both references (references/templates.md, references/tool-reference.md) exist, are one level deep, and are clearly signaled in the body. However, ~140 lines of the full profile template are inlined in SKILL.md where a templates reference already exists — content that clearly should be separate is inline — which matches anchor 3 rather than anchor 4.

3 / 5

Total

12

/

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.

The description is specific about inputs and outputs and uses natural, distinct trigger language, but it lacks any 'Use when' trigger clause and underplays the skill's concrete mechanics (scraping, SEO data). It is a solid, non-conflicting description with a clear completeness gap.

Suggestions

Add a 'Use when...' clause with concrete trigger phrases, e.g., 'Use when the user provides competitor URLs or asks to research, profile, compare, or analyze specific competitors.'

Name one or two concrete mechanics in the 'what' portion, such as scraping key site pages and pulling SEO/backlink metrics, to raise specificity.

Include common user synonyms like 'competitor analysis' or 'competitive landscape' to broaden natural trigger coverage.

DimensionReasoningScore

Specificity

The description names the domain (competitor research from URLs) and a couple of concrete actions ('Research and analyze competitors', 'build structured competitor profile documents, dossiers, and competitive intelligence overviews'), but omits the actual mechanics (scraping pages, SEO/backlink data, review mining), so coverage gaps are more than minor. It is below anchor 4 ('minor gaps in coverage') but above anchor 2 because the actions are specific rather than generic.

3 / 5

Completeness

It clearly answers 'what' (research and analyze competitors from URLs to build structured profile documents) but contains no 'Use when...' clause or equivalent explicit trigger guidance, which per the judging guidelines caps completeness at 3. Anchor 3 fits exactly: clear 'what', 'when' absent or only weakly implied.

3 / 5

Trigger Term Quality

Good keyword coverage of natural terms users would say: 'competitors', 'competitor URLs', 'profile', 'dossiers', 'competitive intelligence'. A few natural variations are missing (e.g., 'competitor analysis', 'compare competitors', 'battle cards'), which keeps it below anchor 5's comprehensive synonym coverage but clearly above anchor 3's partial coverage.

4 / 5

Distinctiveness Conflict Risk

The URL-to-profile/dossier pipeline is a distinct niche with clear triggers and is unlikely to fire for unrelated skills. Minor overlap risk remains with closely related marketing skills (customer-research, seo-audit, prospecting), keeping it at anchor 4 rather than anchor 5's minimal conflict risk.

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/competitor-profiling/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.