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.

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

Quality

Content

65%

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 concrete commands, config, and schemas, and is well-sequenced into phases, but it is padded with inferable sales coaching, lacks a validation checkpoint for its batch export, and keeps reference-grade material inline rather than splitting it into separate files.

Suggestions

Add an explicit validation/verification step after the tool run (e.g., check the CSV row count and that switching signals are non-empty, with a fix-and-reretry loop if the PH API fallback was used).

Move the signal scoring table, output schema, and cost estimates into a reference file (e.g., references/SIGNALS.md) and link to it from a leaner SKILL.md overview.

Trim the outreach-angle and sales-coaching prose in Phase 4 to the decision-relevant essentials Claude can act on, and fix the Step 8 → Step 10 numbering gap.

DimensionReasoningScore

Conciseness

Mostly efficient with concrete tables (signal scoring, output schema, costs), but sections like 10a–10f and 'Recommend Next Steps' carry sales-coaching prose ('PROVEN BUYERS', 'speed matters', outreach angles) Claude could infer, so it could be tightened.

2 / 3

Actionability

Provides copy-paste-ready bash to write the config and run the script, a concrete JSON config example, exact search queries ('site:producthunt.com [product category]'), and a defined output schema — fully executable guidance.

3 / 3

Workflow Clarity

Steps are clearly sequenced into Phases 1–4 with numbered sub-steps, but this batch scraping/export workflow has no validation or verification checkpoint (and Step 9 is missing in the numbering), capping workflow clarity at 2.

2 / 3

Progressive Disclosure

Well-organized into sections and the heavy logic is correctly externalized to scripts/competitor_signals.py, but the SKILL.md is a ~270-line monolith with the scoring table, output schema, and cost estimates all inline and no one-level-deep reference files to split them out.

2 / 3

Total

9

/

12

Passed

Description

82%

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, third-person, and well-differentiated with strong natural trigger terms, but it omits an explicit 'Use when...' clause, leaving the invocation conditions implied rather than stated.

Suggestions

Add an explicit 'Use when...' clause listing the situations that should trigger this skill (e.g., user wants leads from competitor launches, mentions Product Hunt/HN activity around competitors, or asks who is switching from a competitor).

Tie the listed signal sources more directly to the user phrasings that should activate the skill so the 'when' is as concrete as the 'what'.

DimensionReasoningScore

Specificity

Lists multiple concrete actions and sources — 'Extract leads', 'Product Hunt commenters/upvoters', 'HN posts about competitors, case studies, testimonials, tech press, and switching signals', 'Detects people actively switching' — matching the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

Clearly states what it does, but there is no 'Use when...' clause or equivalent explicit trigger guidance, so per the guidelines completeness is capped at 2 with 'when' only implied.

2 / 3

Trigger Term Quality

Includes natural terms a user would say — 'competitor', 'Product Hunt', 'HN posts', 'case studies', 'testimonials', 'switching signals' — giving good coverage rather than jargon.

3 / 3

Distinctiveness Conflict Risk

Occupies a clear niche (competitor-audience lead mining) with distinctive triggers like Product Hunt, HN, and switching signals, making it unlikely to fire for an unrelated skill.

3 / 3

Total

11

/

12

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.