skills/packs/lead-gen-devtools/competitor-signals/SKILL.md
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.
npx skillsauth add gooseworks-ai/goose-skills competitor-signalsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Find 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": []
}
CONFIGEOF
python3 ${CLAUDE_SKILL_DIR}/scripts/competitor_signals.py \
--config ${CLAUDE_SKILL_DIR}/../.tmp/competitor_signals_config.json \
--output ${CLAUDE_SKILL_DIR}/../.tmp/competitor_signals.csv
The 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.
development
End-to-end skill that turns a single reference image into a fully-installed, example-rendered style preset for the goose-graphics composite. Analyzes the image, writes the slim style spec, registers it in styles/index.json, generates all 7 format examples using the standard brief, renders PNGs via Playwright, and updates examples/manifest.json. Invoke with /goose-graphics-create-style.
development
Evaluate YC batch companies for investment — scrapes the YC directory, researches each company and its founders (work history, LinkedIn, website), assesses founder-company fit, and exports to Google Sheets with priority rankings. Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies.
tools
Take screenshots of any website using Notte browser automation. Use when asked to screenshot, capture, or snap a webpage.
development
Search the web, platforms, and datasets. Use when asked to search, find, look up, research, or discover information from the web, YouTube, Amazon, eBay, news, academic sources, or any online platform.