CtrlK
BlogDocsLog inGet started
Tessl Logo

competitor-signals

Extract leads from competitor product activity — Product Hunt commenters/upvoters, HN posts about competitors, case studies, testimonials, tech press, and switching signals. Detects people actively switching from competitors as highest-priority leads.

63

Quality

75%

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/lead-generation/packs/lead-gen-devtools/competitor-signals/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

76%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 actionable and well-structured with executable config/commands and clear scoring/output schemas, but its batch workflow lacks validation checkpoints and error-recovery feedback loops, capping workflow clarity at 3.

Suggestions

Add explicit validation checkpoints after scraping and after running the tool (e.g. verify competitor_manual_signals.json is non-empty, confirm the CSV row count and that switching signals were detected, with a fix-and-retry loop on failure).

Fix the step numbering gap (Step 8 jumps to Step 10) so the sequence is coherent.

Trim over-explanatory asides like 'This is agent-driven because every competitor website has a different format' to tighten conciseness toward 5.

DimensionReasoningScore

Conciseness

Mostly efficient with phases, a scoring table, output schema, and cost estimates, but includes minor over-explanation such as 'This is agent-driven because every competitor website has a different format' that could be trimmed.

4 / 5

Actionability

Provides copy-paste-ready config JSON, an executable bash invocation of scripts/competitor_signals.py, a concrete manual-signals JSON example, and full scoring/output schema tables — fully executable guidance.

5 / 5

Workflow Clarity

Phases and numbered steps are sequenced, but this batch scraping/CSV-export skill lacks validation/verification checkpoints and error-recovery loops (Step 9 is missing entirely, jumping 8 to 10), which caps workflow clarity at 3.

3 / 5

Progressive Disclosure

The body is a well-organized overview that references the real one-level-deep bundle file scripts/competitor_signals.py via ${CLAUDE_SKILL_DIR}; minor gaps since there are no references/ or assets/ directories to further separate detail.

4 / 5

Total

16

/

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.

The description is specific, distinctive, and names concrete signal sources and actions, but it omits an explicit 'Use when...' trigger clause, leaving the 'when' only weakly implied and capping completeness at 3.

Suggestions

Add an explicit trigger clause such as 'Use when the user wants to find leads from competitor activity — e.g. Product Hunt launches, HN discussions, or competitor case studies/testimonials.'

Include a couple of natural user phrasings (e.g. 'who is using [competitor]', 'alternatives to [competitor]') directly in the description to raise trigger-term coverage.

Keep the switching-signal callout but tighten 'Detects people actively switching from competitors as highest-priority leads' so the 'when' is stated rather than implied.

DimensionReasoningScore

Specificity

Lists multiple concrete actions and named sources — 'Product Hunt commenters/upvoters, HN posts about competitors, case studies, testimonials, tech press, and switching signals' plus 'Detects people actively switching' — comprehensive coverage.

5 / 5

Completeness

The 'what' is clear and concrete but there is no explicit 'Use when...' trigger clause — only a weakly implied 'when' via 'highest-priority leads', which per the guidelines caps completeness at 3.

3 / 5

Trigger Term Quality

Good natural keyword coverage including 'Product Hunt', 'HN posts', 'case studies', 'testimonials', 'tech press', and 'switching signals'; a few synonyms/variations are missing, so it is not a full 5.

4 / 5

Distinctiveness Conflict Risk

Clear niche (lead extraction from competitor product activity) with distinct, specific triggers and minimal overlap risk with other skills.

5 / 5

Total

17

/

20

Passed

Validation

87%

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

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

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.