Producthunt Launches
browser-act/skills
Scrape Product Hunt daily/weekly/monthly/yearly leaderboard launches with full product details, maker profiles, and website contact info.
Extract leads from competitor product activity — Product Hunt commenters/upvoters, HN posts about competitors, case studies, testimonials, tech press, and switching signals.
$ npx skills add gooseworks-ai/goose-skills --skill competitor-signals -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gooseworks-ai/goose-skills competitor-signals --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "competitor-signals" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/packs/lead-gen-devtools/competitor-signals into .claude/skills/competitor-signals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "competitor-signals", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/packs/lead-gen-devtools/competitor-signalsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add gooseworks-ai/goose-skills --skill competitor-signals -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gooseworks-ai/goose-skills competitor-signals --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/lead-generation/packs/lead-gen-devtools/competitor-signals .agents/skills/competitor-signals && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "competitor-signals" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/packs/lead-gen-devtools/competitor-signals into .agents/skills/competitor-signals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "competitor-signals", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gooseworks-ai/goose-skills --skill competitor-signals -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gooseworks-ai/goose-skills competitor-signals --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/lead-generation/packs/lead-gen-devtools/competitor-signals .cursor/skills/competitor-signals && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "competitor-signals" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/packs/lead-gen-devtools/competitor-signals into .cursor/skills/competitor-signals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "competitor-signals", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/gooseworks-ai/goose-skills.git --path skills/lead-generation/packs/lead-gen-devtools/competitor-signals--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add gooseworks-ai/goose-skills --skill competitor-signals -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gooseworks-ai/goose-skills competitor-signals --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/lead-generation/packs/lead-gen-devtools/competitor-signals .gemini/skills/competitor-signals && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "competitor-signals" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/packs/lead-gen-devtools/competitor-signals into .gemini/skills/competitor-signals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "competitor-signals", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install gooseworks-ai/goose-skills competitor-signalsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add gooseworks-ai/goose-skills --skill competitor-signals -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/lead-generation/packs/lead-gen-devtools/competitor-signals .github/skills/competitor-signals && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "competitor-signals" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/packs/lead-gen-devtools/competitor-signals into .github/skills/competitor-signals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "competitor-signals", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gooseworks-ai/goose-skills --skill competitor-signals -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gooseworks-ai/goose-skills competitor-signals --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/lead-generation/packs/lead-gen-devtools/competitor-signals .opencode/skills/competitor-signals && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "competitor-signals" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/packs/lead-gen-devtools/competitor-signals into .opencode/skills/competitor-signals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "competitor-signals", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
competitor-signalsExtract 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. 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.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c650c6d. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadWriteEditGrepGlobWebFetchWebSearchFrom allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
twilio.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
PRODUCTHUNT_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
- Apify API token in `.env` (fallback for PH if API names are redacted, optional)allowed-tools: Bash, Read, Write, Edit, Grep, Glob, WebFetch, WebSearchAutomated 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.
The full file from gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 1,388 words, ~2,952 tokens.
.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.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": []
}
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.
© 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
SKILL.md and 1 other file (scripts) in skills/lead-generation/packs/lead-gen-devtools/competitor-signals of gooseworks-ai/goose-skills.
Open the folder on GitHubat commit c650c6d
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.
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Competitor Signals this skillgooseworks-ai/goose-skills | 1.2k | 1 repos | ~3k | Automated safety check: Notes | MIT | |
| Producthunt Launchesbrowser-act/skills | 6.1k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Business Contact and Social Links Finderbrowser-act/skills | 6.1k | 1 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Google Maps API Skillbrowser-act/skills | 6.1k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Google Maps Contact Extractbrowser-act/skills | 6.1k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Apify Lead Generationsickn33/agentic-awesome-skills | 47k | 2 repos | ~1.2k | Automated safety check: Notes | MIT |
browser-act/skills
Scrape Product Hunt daily/weekly/monthly/yearly leaderboard launches with full product details, maker profiles, and website contact info.
browser-act/skills
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.
browser-act/skills
This skill helps users automatically scrape business data from Google Maps using the BrowserAct Google Maps API.
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…
sickn33/agentic-awesome-skills
Scrape leads from multiple platforms using Apify Actors. An agent skill from sickn33/agentic-awesome-skills.
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…
gooseworks-ai/goose-skills
Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.
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.
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.
gooseworks-ai/goose-skills
Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.
gooseworks-ai/goose-skills
Find leads by scraping engagers from a competitor's top LinkedIn posts.
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…
Categories
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.
Competitor Signals fits situations like: tasks that involve Product launch strategy; tasks that involve Lead generation; tasks that involve Web scraping.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.