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
73%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
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.mdFind leads by monitoring competitor product activity. Instead of looking for your prospects directly, watch your competitors' audience — every person engaging with a competitor launch is self-identifying as in-market for your category.
requests and optionally python-dotenvapi.producthunt.com/v2/oauth/applications).env (fallback for PH if API names are redacted, optional)Ask the user:
"To find leads from competitor activity, I need:
- Who are your competitors? (product names and company names)
- Do you know their Product Hunt slugs? (the URL path on producthunt.com/posts/SLUG)
- Any specific competitor launches or announcements you've seen recently?
- Are there competitors or signals you specifically want to track? (e.g., a competitor just raised funding, launched a new feature, or got press coverage)"
If the user doesn't have a complete competitor list, help them discover competitors:
2a. Product Hunt search:
2b. G2/Capterra category pages:
2c. "Alternatives to" sites:
2d. Ask the user:
"Based on my research, here are competitors I've found in your space: [list]. Are there any I'm missing? Any you'd like to exclude (e.g., not really competitors, too different in market segment)?"
For each competitor, find their PH launches:
producthunt.com/products/[competitor-name]producthunt.com/posts/SLUGFor each competitor, identify pages the agent should scrape:
Case studies page: [competitor].com/customers or [competitor].com/case-studies
Testimonials page: Often on the homepage or a dedicated page
Blog: [competitor].com/blog
Present all discovered pages to the user for review.
Before running the tool, the agent should manually scrape competitor case studies and testimonials. This is agent-driven because every competitor website has a different format.
For each competitor's case study page:
For each competitor's testimonials page:
Save all scraped data to ${CLAUDE_SKILL_DIR}/../.tmp/competitor_manual_signals.json:
[
{
"person_name": "Sarah Chen",
"company": "TechCorp",
"signal_type": "case_study_company",
"signal_label": "Competitor Case Study",
"competitor": "Twilio",
"context": "How TechCorp scaled video calls to 100K users with Twilio",
"url": "https://twilio.com/case-studies/techcorp",
"profile_url": "",
"date": "",
"source": "Manual",
"engagement": 0
}
]Search for recent articles about competitors:
For articles found:
cat > ${CLAUDE_SKILL_DIR}/../.tmp/competitor_signals_config.json << 'CONFIGEOF'
{
"competitors": ["Twilio", "Agora", "Vonage", "Daily.co"],
"product_hunt_slugs": ["twilio-video", "agora-2", "daily-co"],
"days": 90,
"manual_signals_file": "${CLAUDE_SKILL_DIR}/../.tmp/competitor_manual_signals.json",
"skip": []
}
CONFIGEOFpython3 ${CLAUDE_SKILL_DIR}/scripts/competitor_signals.py \
--config ${CLAUDE_SKILL_DIR}/../.tmp/competitor_signals_config.json \
--output ${CLAUDE_SKILL_DIR}/../.tmp/competitor_signals.csvThe tool will:
PRODUCTHUNT_TOKEN is set)10a. Switching Signals (HIGHEST PRIORITY)
10b. Case Study Companies
10c. Testimonial Authors
10d. Product Hunt Activity
10e. HN Discussion
10f. Competitor-Level Analysis
Switching signals (immediate outreach):
Case study companies (account-based approach):
/enrich-company to understand themPH commenters asking questions:
Cross-reference with other signals:
"Would you like me to:
- Enrich the switching signal leads immediately (highest priority)
- Enrich the case study companies and find decision-makers
- Cross-reference with data from other signal skills
- Scrape additional competitor pages for more signals
- Export for manual review first"
| Signal Type | Score | Priority |
|---|---|---|
| Switching From/To Competitor | 9 | IMMEDIATE — active evaluation |
| Competitor Case Study Company | 9 | HIGH — proven buyer |
| Competitor Testimonial Author | 8 | HIGH — current/past user |
| PH Launch Commenter | 8 | HIGH — actively evaluating |
| HN Post Commenter | 7 | MEDIUM — interested in space |
| HN Post Author | 6 | MEDIUM — sharing competitor news |
| PH Launch Upvoter | 6 | MEDIUM — interested but passive |
| Tech Press Mention | 6 | MEDIUM — following the space |
| PH Product Maker | 5 | LOW — competitor team member |
| Changelog Engager | 5 | LOW — power user or evaluator |
| Column | Description |
|---|---|
| person_name | Name or username of the person |
| company | Company/headline from their profile |
| signal_type | Internal signal type code |
| signal_label | Human-readable label |
| competitor | Which competitor this signal is about |
| context | Comment text, case study excerpt, or description |
| url | Link to the source (PH comment, HN post, case study page) |
| profile_url | Link to the person's profile (PH, HN) |
| date | Date of the signal |
| signal_score | Weighted score |
| source | Product Hunt API, Hacker News, Manual |
| engagement | Upvotes/points on the post or comment |
| Source | Cost | Notes |
|---|---|---|
| Product Hunt API | Free | Developer token (may have name redaction) |
| Product Hunt Apify | ~$5-10/run | Fallback if API names redacted |
| Hacker News | Free | Algolia API |
| Manual scraping | Free | Agent scrapes competitor websites |
| Typical run | $0-10 | Free if PH API works; $5-10 if using Apify |
Default: 90 days. Competitor launches and case studies have a longer shelf life than Reddit posts. Someone who commented on a competitor's PH launch 60 days ago is still a viable lead.
8866b2a
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.