Agent skill

Competitor Signals

by gooseworks-ai in gooseworks-ai/goose-skills

Extract leads from competitor product activity — Product Hunt commenters/upvoters, HN posts about competitors, case studies, testimonials, tech press, and switching signals.

MITAuto-check: notesMarketing & SEO

Install Competitor Signals

skills CLI
$ npx skills add gooseworks-ai/goose-skills --skill competitor-signals -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gooseworks-ai/goose-skills competitor-signals --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/lead-generation/packs/lead-gen-devtools/competitor-signals .claude/skills/competitor-signals && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
competitor-signals
GitHub stars
1.2k
Used in
1 other repo
Token cost
~3k tokens
SKILL.md length
1,388 words
Files
2 (incl. scripts)
Skills in repo
273
Repo updated
First seen
Licence
MIT

At a glance

Extract leads from competitor product activity — Product Hunt commenters/upvoters, HN posts about competitors, case studies, testimonials, tech press, and switching signals.

  • Works in 4 steps: Collect Context → Agent-Driven Scraping → Execute Tool → …
  • Tasks that involve Product launch strategy
  • SKILL.md covers When to Use, Prerequisites, Phase 1: Collect Context and Phase 2: Agent-Driven Scraping, plus 6 more sections
  • Runs Python scripts from its folder; calls python3; reaches twilio.com; needs PRODUCTHUNT_TOKEN

What it does

Competitor Signals is an agent skill from gooseworks-ai/goose-skills. 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.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/competitor_signals.py`).

It sits in Marketing & SEO, covering Product launch strategy, Lead generation and Web scraping. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.

When your agent uses it

  • Tasks that involve Product launch strategy
  • Tasks that involve Lead generation
  • Tasks that involve Web scraping

Example prompts

  • “/competitor-signals”

Requirements

  • Python 3
  • A credential in PRODUCTHUNT_TOKEN
  • Pre-approved tools (allowed-tools): Bash, Read, Write, Edit, Grep, Glob, WebFetch, WebSearch

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Collect Context
  2. Agent-Driven Scraping
  3. Execute Tool
  4. Analyze & Recommend

What it can do on your machine

Read from SKILL.md and the folder at commit c650c6d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • Edit
    • Grep
    • Glob
    • WebFetch
    • WebSearch

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • twilio.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • PRODUCTHUNT_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Competitor Signals loads about 3k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 1,388 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~68
When it runs · the whole SKILL.md, loaded when a task matches
~3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:26
    - Apify API token in `.env` (fallback for PH if API names are redacted, optional)
  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, Edit, Grep, Glob, WebFetch, WebSearch

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 1,388 words, ~2,952 tokens.

Download SKILL.mdSave it as .claude/skills/competitor-signals/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
competitor-signals
description
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.
allowed-tools
Bash, Read, Write, Edit, Grep, Glob, WebFetch, WebSearch
user-invocable
true
argument-hint
config-json-path

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:

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
bash
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
bash
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?)
Show full SKILL.md (444 more words)Show less
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.

© gooseworks-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in skills/lead-generation/packs/lead-gen-devtools/competitor-signals of gooseworks-ai/goose-skills.

  • SKILL.md
  • scripts/competitor_signals.py

Open the folder on GitHubat commit c650c6d

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in gooseworks-ai/goose-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Competitor Signals next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Competitor Signals compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Competitor Signals this skillgooseworks-ai/goose-skills1.2k1 repos~3kAutomated safety check: NotesMIT
Producthunt Launchesbrowser-act/skills6.1k—~2.6kAutomated safety check: PassMIT
Business Contact and Social Links Finderbrowser-act/skills6.1k1 repos~1.6kAutomated safety check: PassMIT
Google Maps API Skillbrowser-act/skills6.1k1 repos~1.4kAutomated safety check: PassMIT
Google Maps Contact Extractbrowser-act/skills6.1k—~2.9kAutomated safety check: PassMIT
Apify Lead Generationsickn33/agentic-awesome-skills47k2 repos~1.2kAutomated safety check: NotesMIT

Similar skills

  • Producthunt Launches

    browser-act/skills

    Scrape Product Hunt daily/weekly/monthly/yearly leaderboard launches with full product details, maker profiles, and website contact info.

    6.1k GitHub stars~2.6k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Finds a company's official website and social profiles from its name, or collects social links from a website URL, using BrowserAct templates run by a Python script.

    6.1k GitHub starsUsed in 1 repo~1.6k tokens
    Marketing & SEOAuto-check passed
  • Google Maps API Skill

    browser-act/skills

    This skill helps users automatically scrape business data from Google Maps using the BrowserAct Google Maps API.

    6.1k GitHub starsUsed in 1 repo~1.4k tokens
    Marketing & SEOAuto-check passed
  • Google Maps Contact Extract

    browser-act/skills

    Extracts business contact details from Google Maps search results and place detail pages, then visits each business website to collect emails, phone numbers, and social media profiles (Facebook…

    6.1k GitHub stars~2.9k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Apify Lead Generation

    sickn33/agentic-awesome-skills

    Scrape leads from multiple platforms using Apify Actors. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~1.2k tokens
    Marketing & SEOAuto-check: notes
  • Early Access Designer

    aaron-he-zhu/aaron-marketing-skills

    A skill your agent uses when the user asks to "design an early access program", "set up a waitlist and beta stages", or "define beta graduation criteria"; produces a waitlist→concept→alpha→beta→GA…

    2.9k GitHub stars~3.4k tokensUpdated yesterday
    Marketing & SEOAuto-check passed

More from gooseworks-ai/goose-skills

All 273 skills in this repo
  • Reddit Post Finder

    gooseworks-ai/goose-skills

    Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.

    1.2k GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed
  • Create Image Fal

    gooseworks-ai/goose-skills

    Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent.

    1.2k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Render Hook Replacement

    gooseworks-ai/goose-skills

    Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.

    1.2k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Blog Feed Monitor

    gooseworks-ai/goose-skills

    Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.

    1.2k GitHub starsUsed in 1 repo~578 tokens
    Auto-check passed
  • Competitor Post Engagers

    gooseworks-ai/goose-skills

    Find leads by scraping engagers from a competitor's top LinkedIn posts.

    1.2k GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check: notes
  • Render Chatgpt Chat

    gooseworks-ai/goose-skills

    Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…

    1.2k GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Categories

Questions about Competitor Signals

What does Competitor Signals do?

Extract leads from competitor product activity — Product Hunt commenters/upvoters, HN posts about competitors, case studies, testimonials, tech press, and switching signals. Competitor Signals is an agent skill from gooseworks-ai/goose-skills. Extract leads from competitor product activity — Product Hunt commenters/upvoters, HN posts about competitors, case studies, testimonials, tech press, and switching signals.

When should I use Competitor Signals?

Competitor Signals fits situations like: tasks that involve Product launch strategy; tasks that involve Lead generation; tasks that involve Web scraping.

How do I install Competitor Signals in Claude Code?

Run `npx skills add gooseworks-ai/goose-skills --skill competitor-signals -a claude-code`. Or copy the skill folder (skills/lead-generation/packs/lead-gen-devtools/competitor-signals in gooseworks-ai/goose-skills) into .claude/skills/competitor-signals in your project. Claude Code loads it when a task matches its description.

How do I install Competitor Signals in Codex?

Run `npx skills add gooseworks-ai/goose-skills --skill competitor-signals -a codex`. Or copy the skill folder (skills/lead-generation/packs/lead-gen-devtools/competitor-signals in gooseworks-ai/goose-skills) into .agents/skills/competitor-signals in your project. Codex loads it when a task matches its description.

Can I use Competitor Signals in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gooseworks-ai/goose-skills --skill competitor-signals -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/competitor-signals, .gemini/skills/competitor-signals, .github/skills/competitor-signals and .opencode/skills/competitor-signals in your project.

What does Competitor Signals need to run?

Going by SKILL.md and its folder, Competitor Signals needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named PRODUCTHUNT_TOKEN. Our summary lists: Python 3; A credential in PRODUCTHUNT_TOKEN. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Grep, Glob, WebFetch, WebSearch.

Does Competitor Signals access the network?

SKILL.md names 1 domain. In commands or code: twilio.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Competitor Signals safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file; pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Competitor Signals use?

Competitor Signals is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Competitor Signals use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Competitor Signals?

Skills that share tags, products or a category with Competitor Signals: Producthunt Launches (browser-act/skills, 6.1k stars), Business Contact and Social Links Finder (browser-act/skills, 6.1k stars), Google Maps API Skill (browser-act/skills, 6.1k stars) and Google Maps Contact Extract (browser-act/skills, 6.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Competitor Signals?

gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,240 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 8, 2026.

Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.