CtrlK
BlogDocsLog inGet started
Tessl Logo

competitor-profiling

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

50

Quality

55%

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%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 skill provides a comprehensive framework for competitor profiling with good structure and clear tool references, but suffers from significant verbosity — inlining the full profile template while also referencing an external templates file, and explaining many concepts Claude already understands. The workflow lacks validation checkpoints for what is a multi-step process involving external API calls and file operations, and the referenced bundle files are missing.

Suggestions

Remove the inlined profile template from the body since it's already referenced at references/templates.md — this alone would cut ~80 lines and improve conciseness significantly.

Add validation checkpoints after scraping and data saving steps (e.g., verify files exist and are non-empty before proceeding to synthesis, handle API failures gracefully).

Trim 'Core Principles' and 'Handling Multiple Competitors' sections to 1-2 lines each — these describe obvious analyst behaviors Claude already knows.

Provide the referenced bundle files (references/tool-reference.md and references/templates.md) so the progressive disclosure structure actually works.

DimensionReasoningScore

Conciseness

The skill is significantly verbose at ~300+ lines. It over-explains concepts Claude already knows (e.g., what to extract from a homepage, how to parallelize scraping, what a changelog is). The full profile template is inlined when it's referenced as belonging in references/templates.md, and many sections like 'Core Principles' and 'Handling Multiple Competitors' contain obvious guidance that doesn't need spelling out for Claude.

2 / 5

Actionability

The skill provides concrete tool names (Firecrawl Map, Firecrawl Scrape, specific DataForSEO endpoints), clear directory structures, and specific extraction tables. However, it lacks actual executable code examples — the tool calls are shown as pseudocode (`firecrawl_map → competitor URL`) rather than real MCP tool invocations with parameters. The referenced tool-reference.md is not provided in the bundle.

4 / 5

Workflow Clarity

The three-phase process (Site Scraping → SEO Data → Synthesis) is clearly sequenced, and the quick scan vs deep profile distinction is helpful. However, there are no validation checkpoints — no step to verify scraped data quality, no check that raw files were saved correctly before synthesis, and no error recovery guidance if Firecrawl or DataForSEO calls fail. For a multi-step process involving external API calls and file I/O, this absence of validation caps the score.

3 / 5

Progressive Disclosure

The skill references two external files (references/tool-reference.md and references/templates.md) which is good progressive disclosure design, but neither file is provided in the bundle, making the references unverifiable. Meanwhile, the full profile template (~80 lines of markdown) is inlined in the body despite being referenced as belonging in templates.md — this contradicts the disclosure strategy and bloats the main file.

3 / 5

Total

12

/

20

Passed

Description

61%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 communicates a clear domain (competitive intelligence from competitor URLs) and names specific output types (profiles, dossiers, overviews). However, it lacks an explicit 'Use when...' clause which limits its effectiveness for skill selection, and the listed actions could be more varied and concrete to better distinguish the skill's full capabilities.

Suggestions

Add a 'Use when...' clause with trigger phrases like 'Use when the user provides competitor URLs, asks for competitive analysis, wants to compare competitors, or needs a competitor dossier.'

Include additional natural trigger terms and synonyms such as 'competitive analysis', 'market comparison', 'competitor research', 'SWOT', or 'benchmarking' to improve discoverability.

DimensionReasoningScore

Specificity

Names the domain (competitive analysis) and a few concrete actions ('research and analyze competitors', 'build structured competitor profile documents, dossiers, and competitive intelligence overviews'), but the actions are somewhat overlapping and not highly differentiated from each other.

3 / 5

Completeness

The 'what' is reasonably clear (research competitors from URLs to build profiles/dossiers), but there is no explicit 'when' clause or trigger guidance. Per rubric guidelines, a missing 'Use when...' clause caps completeness at 3.

3 / 5

Trigger Term Quality

Includes good natural keywords like 'competitors', 'competitor profile', 'dossiers', 'competitive intelligence', and 'URLs'. Missing some common synonyms users might say like 'competitive analysis', 'market research', 'competitor comparison', or 'SWOT'.

4 / 5

Distinctiveness Conflict Risk

The focus on competitor URLs as input and structured dossier/profile documents as output creates a fairly distinct niche. Minor overlap risk with general research or market analysis skills, but the competitor-specific framing and URL-based approach help differentiate it.

4 / 5

Total

14

/

20

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-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.