CtrlK
BlogDocsLog inGet started
Tessl Logo

seo-analyzer

Analyze website SEO - keywords, content, competitors, and improvement opportunities

52

Quality

65%

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/seo/capabilities/seo-analyzer/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 skill has a lean, command-driven structure and a sensible three-step workflow, but nearly every curl example contains malformed JSON payloads or shell quoting that would fail if executed verbatim. Fixing the code blocks and adding basic response/error validation would make it genuinely copy-paste ready.

Suggestions

Fix the broken JSON payloads: wrap parameters in a "body" object inside a single quoted -d argument, e.g. -d '{"api":"scrapegraph","path":"/v1/smartscraper","body":{"website_url":"https://example.com","user_prompt":"..."}}', and repair the unbalanced quote in the 'Discover More' olostep example.

Add validation checkpoints after each API call, such as checking for auth errors and non-200 responses before proceeding to the next step.

Add a final workflow step describing how to synthesize crawl, content, and backlink results into an SEO findings/recommendations report, since the current flow ends without a deliverable.

DimensionReasoningScore

Conciseness

The body is command-focused with no explanation of concepts Claude already knows, though the 'Example Usage' section largely repeats the Step 2 pattern and 'Tips' is generic. It is not a 5 because of that redundancy and the muddled 'Discover More' section.

4 / 5

Actionability

Concrete curl commands and credential setup are provided, but the payloads are broken: in Steps 2, 3, and 'Example Usage' the -d argument closes before the JSON body ('-d '{"api":"scrapegraph","path":"/v1/smartscraper"}' followed by unquoted "website_url" lines'), and 'Discover More' has trailing garbage, a missing -d, and an unbalanced quote ('/v1/scrapes`"'). This matches 'concrete guidance but incomplete; missing key details' rather than 4's 'minor gaps'.

3 / 5

Workflow Clarity

Three steps are sequenced (crawl structure, extract content, get backlink ideas) but there are no validation checkpoints (e.g., checking API responses or auth errors) and no step showing how results synthesize into an SEO report, matching 'sequence present but checkpoints missing or implicit'.

3 / 5

Progressive Disclosure

The ~100-line body is organized into clear sections (Setup, Workflow, Example Usage, Tips, Discover More) with no external bundle files needed, and content is appropriately placed inline. It falls short of 5 because 'Discover More' mixes multiple endpoints sloppily in one block and could be better organized.

4 / 5

Total

14

/

20

Passed

Description

53%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 clearly communicates the SEO-analysis domain with a few natural keywords, but it relies on one generic verb and omits any 'when to use' trigger guidance, capping completeness. Adding concrete actions (crawl, audit, backlink research) and an explicit 'Use when...' clause would lift all dimensions.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user asks about SEO, search rankings, keyword research, site audits, or competitor analysis for a website.'

Replace the single generic verb with concrete actions: 'Crawl site structure, audit on-page SEO, research keywords and backlink opportunities, and benchmark competitors.'

Include natural synonyms users would say, such as 'search rankings', 'backlinks', 'site audit', and 'on-page optimization', to improve trigger-term coverage.

DimensionReasoningScore

Specificity

Names the SEO domain and several facets ('keywords, content, competitors, and improvement opportunities') but offers only the single generic action 'Analyze' with no concrete actions like crawling site structure or finding backlinks, matching anchor 3 rather than 4's 'several specific actions'.

3 / 5

Completeness

The 'what' is clear ('Analyze website SEO - keywords, content, competitors, and improvement opportunities') but there is no 'Use when...' clause or equivalent trigger guidance, so completeness is capped at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

'SEO', 'keywords', and 'competitors' are natural user terms, but common variations like 'search rankings', 'backlinks', 'site audit', or 'on-page optimization' are missing, matching 'some relevant keywords but missing common variations or synonyms'. It is not a 4 because the coverage of natural phrasings is thin, and not a 2 because 'SEO' is a strong domain keyword rather than generic language.

3 / 5

Distinctiveness Conflict Risk

Website SEO analysis is a distinct niche with clear triggers ('SEO', 'keywords', 'competitors'), posing only minor overlap risk with closely related content-analysis or web-scraping skills. It falls short of 5 because 'analyze website content' could loosely overlap generic content-analysis skills.

4 / 5

Total

13

/

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
gooseworks-ai/goose-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.