本文へ移動
cccskills
無料GitHub で公開

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.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md11.6 KB
  • scripts/competitor_signals.py25.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Competitor Signals

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.

When to Use

  • User wants to find people engaging with competitor products
  • User mentions Product Hunt launches, competitor press coverage, or competitor case studies
  • User wants to find people switching from or evaluating competitor products
  • User asks "who is using [competitor]" or "who is looking at alternatives to [competitor]"
  • User wants to monitor competitor activity for lead generation
  • User has a clear list of competitors and wants to mine their audience

Prerequisites

  • Python 3.9+ with requests and optionally python-dotenv
  • Product Hunt developer token (free, optional — get at api.producthunt.com/v2/oauth/applications)
  • Apify API token in .env (fallback for PH if API names are redacted, optional)
  • Working directory: the project root containing this skill

Phase 1: Collect Context

Step 1: Gather Competitor Information

Ask the user:

"To find leads from competitor activity, I need:

  1. Who are your competitors? (product names and company names)
  2. Do you know their Product Hunt slugs? (the URL path on producthunt.com/posts/SLUG)
  3. Any specific competitor launches or announcements you've seen recently?
  4. 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)"

Step 2: Discover Competitors (if user needs help)

If the user doesn't have a complete competitor list, help them discover competitors:

2a. Product Hunt search:

  • Search producthunt.com for the user's product category
  • Note: PH doesn't have a great search API — use web search: "site:producthunt.com [product category]"

2b. G2/Capterra category pages:

  • Search: "[product category] G2" or "[product category] Capterra"
  • These pages list all competitors in a category with rankings

2c. "Alternatives to" sites:

  • Search: "[known competitor] alternatives"
  • Sites like alternativeto.net, slant.co, stackshare.io list competitors

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)?"

Step 3: Find Product Hunt Slugs

For each competitor, find their PH launches:

  • Search: "site:producthunt.com [competitor name]"
  • Or browse: producthunt.com/products/[competitor-name]
  • Note the slug from the URL: producthunt.com/posts/SLUG
  • A competitor may have multiple launches (initial launch + feature launches)

Step 4: Identify Competitor Web Pages to Scrape

For each competitor, identify pages the agent should scrape:

Case studies page: [competitor].com/customers or [competitor].com/case-studies

  • Extract: company names, logos, quotes, person names, titles
  • These are PROVEN BUYERS in the category

Testimonials page: Often on the homepage or a dedicated page

  • Extract: person name, title, company, quote
  • These are current users who publicly endorsed the competitor

Blog: [competitor].com/blog

  • Guest posts by customers are case studies in disguise
  • "How [Company X] uses [Competitor]" = case study

Present all discovered pages to the user for review.

Phase 2: Agent-Driven Scraping

Step 5: Scrape Competitor Websites

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:

  1. Navigate to the page using web fetch or Chrome DevTools
  2. Extract all customer company names and any associated person names/quotes
  3. Note the case study URL for reference

For each competitor's testimonials page:

  1. Extract: person name, title, company, quote text
  2. These are high-value signals — these people actively chose to endorse the competitor

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
    }
]

Step 6: Check Tech Press

Search for recent articles about competitors:

  • "[competitor] TechCrunch"
  • "[competitor] The New Stack"
  • "[competitor] InfoQ"
  • "[competitor] DevOps.com"
  • "[competitor] launch announcement"
  • "[competitor] raises funding"

For articles found:

  • Note the article URL and key companies/people mentioned
  • If the article has comments, check for people expressing opinions
  • Add notable findings to the manual signals JSON

Phase 3: Execute Tool

Step 7: Save Config

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

Step 8: Run the Tool

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:

  1. Try Product Hunt API first (if PRODUCTHUNT_TOKEN is set)
  2. Fall back to Apify PH scraper if API names are redacted
  3. Search HN for all competitor names (stories + comments, last 90 days)
  4. Load manual signals (case studies, testimonials, press)
  5. Detect "switching signals" (highest priority — people saying they're moving to/from a competitor)
  6. Deduplicate and score
  7. Export CSV with switching signals highlighted

Phase 4: Analyze & Recommend

Step 10: Analyze Results

10a. Switching Signals (HIGHEST PRIORITY)

  • These are people who publicly said they're switching from or evaluating alternatives to a competitor
  • List every switching signal with full context
  • These leads should be contacted IMMEDIATELY — they're in active evaluation
  • Outreach angle: "I noticed you mentioned looking for alternatives to [competitor] — here's how we compare"

10b. Case Study Companies

  • These are PROVEN BUYERS in the category
  • They've already committed budget to the problem space
  • The decision-maker already said yes once — they'll consider alternatives if you offer something better
  • Recommend enriching these companies via SixtyFour to find the current decision-maker

10c. Testimonial Authors

  • Current users of the competitor who are vocal about it
  • They may be satisfied (hard sell) OR they may have moved on since the testimonial
  • Good for understanding what the competitor does well (competitive intel)
  • If the testimonial mentions specific pain points or limitations, that's an opening

10d. Product Hunt Activity

  • Commenters asking questions = evaluating the category
  • Commenters with negative feedback = potentially dissatisfied
  • Upvoters = interested in the space (weaker signal, higher volume)

10e. HN Discussion

  • Commenters engaging with competitor stories = following the space
  • People sharing experiences (positive or negative) = active users or evaluators

10f. Competitor-Level Analysis

  • Which competitor generates the most signals? (largest audience = most opportunity)
  • Which competitor has the most negative signals? (weakest competitor = easiest to displace)
  • Are there any surprises? (unknown competitor getting a lot of attention?)

Step 11: Recommend Next Steps

  1. Switching signals (immediate outreach):

    • Enrich these people via SixtyFour NOW
    • They're in active evaluation — speed matters
    • Personalize based on what they said ("You mentioned [specific pain]...")
  2. Case study companies (account-based approach):

    • These companies have budget for this category
    • Use SixtyFour /enrich-company to understand them
    • Find the decision-maker (not the person in the case study, who may have left)
    • Outreach angle: "Companies like yours in [industry] are switching to us because..."
  3. PH commenters asking questions:

    • They're early in evaluation
    • Can reply directly on Product Hunt (public, non-intrusive)
    • Or enrich and reach out privately
  4. Cross-reference with other signals:

    • If a company appears in competitor case studies AND in job signals (hiring for the role) -> they're invested but possibly scaling beyond the competitor
    • If a person appears in competitor PH comments AND in community signals -> they're deeply researching the space

Step 12: Ask for Go-Ahead

"Would you like me to:

  1. Enrich the switching signal leads immediately (highest priority)
  2. Enrich the case study companies and find decision-makers
  3. Cross-reference with data from other signal skills
  4. Scrape additional competitor pages for more signals
  5. Export for manual review first"

Signal Scoring

Signal TypeScorePriority
Switching From/To Competitor9IMMEDIATE — active evaluation
Competitor Case Study Company9HIGH — proven buyer
Competitor Testimonial Author8HIGH — current/past user
PH Launch Commenter8HIGH — actively evaluating
HN Post Commenter7MEDIUM — interested in space
HN Post Author6MEDIUM — sharing competitor news
PH Launch Upvoter6MEDIUM — interested but passive
Tech Press Mention6MEDIUM — following the space
PH Product Maker5LOW — competitor team member
Changelog Engager5LOW — power user or evaluator

Output Schema (Single Sheet)

ColumnDescription
person_nameName or username of the person
companyCompany/headline from their profile
signal_typeInternal signal type code
signal_labelHuman-readable label
competitorWhich competitor this signal is about
contextComment text, case study excerpt, or description
urlLink to the source (PH comment, HN post, case study page)
profile_urlLink to the person's profile (PH, HN)
dateDate of the signal
signal_scoreWeighted score
sourceProduct Hunt API, Hacker News, Manual
engagementUpvotes/points on the post or comment

Cost Estimates

SourceCostNotes
Product Hunt APIFreeDeveloper token (may have name redaction)
Product Hunt Apify~$5-10/runFallback if API names redacted
Hacker NewsFreeAlgolia API
Manual scrapingFreeAgent scrapes competitor websites
Typical run$0-10Free if PH API works; $5-10 if using Apify

Lookback Period

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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Research supported advertising promises from a specific buyer's context, current product facts, customer language and observed ads. Turn them into static, video or copy ideas; match video ideas to actual recipes and save a product-scoped angle bank for write-video-ad-script. Product-led discovery can use verified facts without reviews. Reference persistence and reach are observations, not proof of performance.

日本語の概要は準備中です。原文の説明を表示しています。

gooseworks-ai/goose-skills1,2452026年10月13日 更新

Analyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.

日本語の概要は準備中です。原文の説明を表示しています。

gooseworks-ai/goose-skills1,2452026年10月13日 更新

For paid lead-gen and participant-recruitment ads, replaces vanity CPA with true CAC per qualified lead by joining ad-platform data with downstream funnel events, surfaces tracking gaps, and classifies every creative into Scale / Keep / Investigate / Cut.

日本語の概要は準備中です。原文の説明を表示しています。

gooseworks-ai/goose-skills1,2452026年10月13日 更新

The intake stage of a Meta ad harness. Researches the brand first, states what it assumes, and asks only what it cannot infer and what would change money, claims or legal exposure if guessed wrong — at most four questions a turn, in plain business language. Writes the brand's stable facts (ads/brand.md), the campaign brief, and a log of what was asked vs assumed. Use it when someone wants to run Meta ads and the brand's ad facts are not yet recorded.

日本語の概要は準備中です。原文の説明を表示しています。

gooseworks-ai/goose-skills1,2452026年10月13日 更新

Analyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.

日本語の概要は準備中です。原文の説明を表示しています。

gooseworks-ai/goose-skills1,2452026年10月13日 更新

Turn a brand's facts, a campaign brief and the product into a one-minute Meta ad strategy with its reasoning — goal, audience, objective and placements, budget split, how many ads and how different they must be (generate 3x so the user can choose), the test frame, the success metric, and safety rules for the user to accept. Decides what launch-meta-ad-campaign then executes, and re-reads the strategy after a deep check to show which assumption changed. Use it after intake and before any creative is generated or any campaign is built.

日本語の概要は準備中です。原文の説明を表示しています。

gooseworks-ai/goose-skills1,2452026年10月13日 更新

gooseworks-ai のスキルをすべて見る

このスキルの問題を報告する