CtrlK
BlogDocsLog inGet started
Tessl Logo

programmatic-seo-spy

Reverse-engineer how competitors do programmatic SEO. Detects URL pattern clusters (vs/, integrations/, for-{industry}/), estimates page count per pattern, analyzes template quality, infers which patterns actually drive traffic, and identifies gaps you can exploit. Outputs a competitive pSEO landscape report.

61

Quality

73%

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/composites/programmatic-seo-spy/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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, phase-by-phase workflow that is largely actionable and reasonably token-efficient, with concrete commands, regex heuristics, and an output template. Its main weaknesses are the absence of any bundle files (everything is inlined in one long SKILL.md) and missing error-recovery guidance for crawl failures or empty sitemaps, plus minor duplication between the When to Use and Trigger Phrases sections.

Suggestions

Move the full report template (Phase 6) and the cost tables into references/ files (e.g. references/report-template.md, references/costs.md) and link to them from SKILL.md, keeping the body as an overview.

Add a validation/recovery step after Phase 1 for sitemap crawl failures or competitors with few URLs (e.g., 'If sitemap returns <100 URLs, fall back to internal crawl from the homepage; if a competitor sitemap is unreachable, note it and continue'), which would raise workflow clarity.

Deduplicate 'When to Use' and 'Trigger Phrases' (they list near-identical phrases) and consolidate the env-var configuration into the single Tools Required section.

Replace the Phase 4 placeholder comment with an actual fetch_webpage invocation, and complete the DataForSEO example with a runnable request (auth header, curl command) so the enhanced-mode path is copy-paste ready.

DimensionReasoningScore

Conciseness

The body is dense and operational — regex clustering tables, per-phase commands, and a cost table — with only minor redundancy such as 'When to Use' and 'Trigger Phrases' duplicating the same phrases and env-var lists appearing in both the Tool Enhancement section and Tools Required. Not 5: these duplicated sections could be trimmed; not 3: the padding is minor and most tokens carry operational value.

4 / 5

Actionability

Provides an executable catalog command ('python3 skills/site-content-catalog/scripts/catalog_content.py --url ... --output json'), a concrete regex table, and a full report template, but the DataForSEO call is a bare endpoint fragment rather than a runnable script and Phase 4 shows only a placeholder comment ('# Pick pages from the pattern') instead of a fetch command. Not 5: these gaps keep it from copy-paste ready throughout; not 3: most guidance is concrete and executable.

4 / 5

Workflow Clarity

A clear Phase 0–6 sequence with explicit intake, mode selection, and per-phase outputs, plus check steps in baseline mode ('spot-check 3-5 pages per pattern via web_search', 'Check if pages are indexed'). Not 5: there are no explicit error-recovery or validation feedback loops (e.g., what to do when a sitemap crawl fails or returns few URLs); not 3: the sequence is complete with most checkpoints present, and the read-only analysis means the destructive/batch cap does not apply.

4 / 5

Progressive Disclosure

The skill is a single ~275-line file with no references/, scripts/, or assets/ — the full output report template, the tool-setup script, and the cost tables are inlined where separate reference files would keep SKILL.md an overview. Not 4: substantial content that belongs in separate files is inline and the >50-line simple-skill exception does not apply; not 2: the body is well-sectioned with clear headers, so it is navigable despite being monolithic.

3 / 5

Total

15

/

20

Passed

Description

75%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 specific, third-person, action-dense description that clearly defines the niche and output, but it omits any 'Use when...' trigger clause, leaving the 'when should this be used' half unanswered. Adding natural trigger phrases like 'Use when analyzing competitor SEO, finding programmatic page gaps, or reverse-engineering competitor URL structures' would raise both completeness and trigger term quality.

Suggestions

Append an explicit trigger clause, e.g. 'Use when analyzing competitor SEO strategies, auditing competitor URL structures, or finding programmatic SEO gaps before building your own pages.'

Include common user phrasings as trigger synonyms — 'pSEO', 'comparison pages', 'competitor analysis' — since the body's Trigger Phrases section already contains these natural terms.

Keep the existing action list intact; it already demonstrates the comprehensive coverage the top specificity anchor requires.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Detects URL pattern clusters (vs/, integrations/, for-{industry}/), estimates page count per pattern, analyzes template quality, infers which patterns actually drive traffic, and identifies gaps' — with concrete pattern examples and a defined output ('competitive pSEO landscape report'), matching the comprehensive-coverage anchor. Not 4: there are no meaningful coverage gaps in the action list.

5 / 5

Completeness

The 'what' is explicit and detailed (pattern detection, traffic estimation, template quality, gap identification, report output), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. Not 4: the 'when' is entirely absent rather than merely implicit-but-stated.

3 / 5

Trigger Term Quality

'programmatic SEO', 'competitors', and 'reverse-engineer' are natural phrases users would say, but common synonyms and variations ('pSEO', 'comparison pages', 'competitor analysis', 'SEO gaps') are missing. Not 5: keyword coverage is good but not comprehensive; not 3: the terms present are natural and on-target, not merely generic.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche — competitor-focused programmatic SEO intelligence — with distinct triggers (URL pattern reverse-engineering, pSEO gap analysis) that would not collide with general SEO or content skills. Not 4: the scope is specific enough that even closely related skills are clearly distinguishable.

5 / 5

Total

17

/

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.

Validation15 / 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.