Competitor Signals
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.
Scrape Product Hunt daily/weekly/monthly/yearly leaderboard launches with full product details, maker profiles, and website contact info.
$ npx skills add browser-act/skills --skill producthunt-launches -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install browser-act/skills producthunt-launches --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/browser-act/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/solutions/lead-generation/producthunt-launches .claude/skills/producthunt-launches && 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 "producthunt-launches" agent skill from https://github.com/browser-act/skills/tree/main/solutions/lead-generation/producthunt-launches into .claude/skills/producthunt-launches/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "producthunt-launches", 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/browser-act/skills/tree/main/solutions/lead-generation/producthunt-launchesType 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 browser-act/skills --skill producthunt-launches -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install browser-act/skills producthunt-launches --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/browser-act/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/solutions/lead-generation/producthunt-launches .agents/skills/producthunt-launches && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "producthunt-launches" agent skill from https://github.com/browser-act/skills/tree/main/solutions/lead-generation/producthunt-launches into .agents/skills/producthunt-launches/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "producthunt-launches", 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 browser-act/skills --skill producthunt-launches -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install browser-act/skills producthunt-launches --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/browser-act/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/solutions/lead-generation/producthunt-launches .cursor/skills/producthunt-launches && 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 "producthunt-launches" agent skill from https://github.com/browser-act/skills/tree/main/solutions/lead-generation/producthunt-launches into .cursor/skills/producthunt-launches/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "producthunt-launches", 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/browser-act/skills.git --path solutions/lead-generation/producthunt-launches--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 browser-act/skills --skill producthunt-launches -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install browser-act/skills producthunt-launches --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/browser-act/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/solutions/lead-generation/producthunt-launches .gemini/skills/producthunt-launches && 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 "producthunt-launches" agent skill from https://github.com/browser-act/skills/tree/main/solutions/lead-generation/producthunt-launches into .gemini/skills/producthunt-launches/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "producthunt-launches", 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 browser-act/skills producthunt-launchesInstalls 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 browser-act/skills --skill producthunt-launches -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/browser-act/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/solutions/lead-generation/producthunt-launches .github/skills/producthunt-launches && 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 "producthunt-launches" agent skill from https://github.com/browser-act/skills/tree/main/solutions/lead-generation/producthunt-launches into .github/skills/producthunt-launches/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "producthunt-launches", 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 browser-act/skills --skill producthunt-launches -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install browser-act/skills producthunt-launches --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/browser-act/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/solutions/lead-generation/producthunt-launches .opencode/skills/producthunt-launches && 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 "producthunt-launches" agent skill from https://github.com/browser-act/skills/tree/main/solutions/lead-generation/producthunt-launches into .opencode/skills/producthunt-launches/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "producthunt-launches", 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.
producthunt-launchesScrape Product Hunt daily/weekly/monthly/yearly leaderboard launches with full product details, maker profiles, and website contact info.
Producthunt Launches is an agent skill from browser-act/skills. Scrape Product Hunt daily/weekly/monthly/yearly leaderboard launches with full product details, maker profiles, and website contact info. Use when user mentions Product Hunt, producthunt, PH scraper, product hunt launches, product hunt leaderboard, scrape product hunt, product hunt data, PH daily launches, product hunt upvotes, product hunt maker info, extract product hunt, product hunt today, top products product hunt, product hunt archive, PH products, product hunt email extraction, product hunt contact info…
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `scripts/extract-launch-detail.py`, `scripts/extract-leaderboard.py` and `scripts/extract-maker-profile.py`).
It sits in Marketing & SEO, covering Web scraping, Product launch strategy and Lead generation. It works with Cloudflare and Python. The repository describes itself as: Browser automation CLI built for AI agents. Break through anti-bot walls, hand off to humans across platforms when stuck. Parallel multi-task execution, independent multi-session… The licence is MIT.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 11c057b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 4 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom 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:
producthunt.comph-files.imgix.netproduct-website.comtwitter.comlinkedin.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Producthunt Launches loads about 2.6k tokens when it runs. Until then it costs about 202 tokens; SKILL.md has 904 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 found no risky patterns in SKILL.md.
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.
The full file from browser-act/skills at commit 11c057b, republished under its MIT licence (© browser-act). 904 words, ~2,610 tokens.
.claude/skills/producthunt-launches/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Input: date/period parameters → Output: structured product launch data with maker profiles and website contact info
All process output to user (progress updates, process notifications) follows the user's language.
Extract complete product launch data from Product Hunt leaderboard pages, enriched with maker profile information and product website contact details.
solve-captcha or wait for auto-passIf browser-act has been confirmed available in the current session → skip this step.
Invoke browser-act via Skill tool to load usage. If installation or configuration issues arise, follow its guidance to resolve then retry.
Product Hunt uses Cloudflare protection. On first navigation:
wait stable --timeout 15000 then check title againsolve-captchaThis Skill's operational boundary = what the user can manually do in their browser. It only reads data already displayed to the user on the page, never bypassing authentication or access controls. JS code is encapsulated in Python files under the
scripts/directory, invoked viaeval "$(python scripts/xxx.py)".$(...)is bash syntax; use the bash tool for execution.
Navigate to the target leaderboard URL first, then extract:
eval "$(python scripts/extract-leaderboard.py)"
URL patterns (navigate to the appropriate one before extraction):
https://www.producthunt.com/leaderboard/daily/{YYYY}/{M}/{DD}/allhttps://www.producthunt.com/leaderboard/weekly/{YYYY}/{week-number}/allhttps://www.producthunt.com/leaderboard/monthly/{YYYY}/{M}/allhttps://www.producthunt.com/leaderboard/yearly/{YYYY}/allReplace all with featured for featured-only products.
Output example:
[
{
"rank": 1,
"name": "Product Name",
"tagline": "Short product description",
"categories": ["Productivity", "AI"],
"thumbnail": "https://ph-files.imgix.net/...",
"upvotes": 135,
"comments": 42,
"url": "https://www.producthunt.com/products/product-slug",
"slug": "product-slug"
}
]Navigate to the launch page URL first (https://www.producthunt.com/products/{slug}/launches/{launch-slug}), then extract:
eval "$(python scripts/extract-launch-detail.py)"
To find the launch URL from a product page: navigate to https://www.producthunt.com/products/{slug} and look for links matching /products/{slug}/launches/{launch-slug}.
Output example:
{
"name": "Product Name",
"tagline": "Short product tagline",
"description": "Full product description from OG meta",
"categories": ["Productivity", "Social Media"],
"images": ["https://ph-files.imgix.net/gallery1.png", "https://ph-files.imgix.net/gallery2.png"],
"websiteUrl": "https://product-website.com/?ref=producthunt",
"upvotes": 135,
"launchDate": "2025-05-27T07:26:33-07:00",
"makers": [{"href": "/@username", "name": "Maker Name"}],
"ogImage": "https://ph-files.imgix.net/og-image.png"
}Navigate to maker profile URL (https://www.producthunt.com/@{username}), then extract:
eval "$(python scripts/extract-maker-profile.py)"
Output example:
{
"name": "Maker Name",
"slug": "@username",
"headline": "Creating SaaS Products",
"aboutText": "Bio text about the maker",
"links": ["https://twitter.com/username", "https://linkedin.com/in/username"],
"followers": 22,
"url": "https://www.producthunt.com/@username"
}Navigate to the product website URL, wait for load, then extract:
eval "$(python scripts/extract-website-content.py)"
Alternatively, use stealth-extract for faster extraction without a browser session:
stealth-extract {website-url} --content-type markdown then parse the markdown for email patterns.
Output example:
{
"title": "Product Website Title",
"url": "https://product-website.com",
"email": "contact@product-website.com",
"allEmails": ["contact@product-website.com", "support@product-website.com"],
"websiteRawText": "Full visible text content of the website..."
}Complete pipeline replicating the full Product Hunt scraper workflow:
wait stable → eval "$(python scripts/extract-leaderboard.py)"https://www.producthunt.com/products/{slug} → find launch link → navigate to launch page
b. wait stable → eval "$(python scripts/extract-launch-detail.py)" → get full details + maker links + website URLscrapeMakers is enabled) For each unique maker from step 2:
a. Navigate to https://www.producthunt.com/{maker.href} → wait stable → eval "$(python scripts/extract-maker-profile.py)"scrapeWebsite is enabled) For each product website URL from step 2:
a. Navigate to website URL → wait stable → eval "$(python scripts/extract-website-content.py)"Final output example per product:
{
"date": "2026-06-10T00:00:00Z",
"launchDate": "2026-06-10T07:01:04Z",
"url": "https://www.producthunt.com/products/product-slug",
"name": "Product Name",
"shortDescription": "Short tagline",
"description": "Full description text",
"categories": ["Productivity", "AI"],
"maker": {
"makerHref": "https://www.producthunt.com/@username",
"name": "Maker Name",
"slug": "@username",
"url": "https://www.producthunt.com/@username",
"links": ["https://twitter.com/maker", "https://linkedin.com/in/maker"],
"aboutText": "Maker bio text"
},
"websiteUrl": "https://product-website.com",
"images": ["https://ph-files.imgix.net/image1.png"],
"upvotes": 135,
"website": {
"title": "Product Website",
"url": "https://product-website.com",
"email": "hello@product-website.com",
"websiteRawText": "Full page text content..."
}
}No pagination required for daily/weekly leaderboard: All products for a given day load on a single page (typically 15-50 products per day). No infinite scroll or "load more" button exists.
Yearly leaderboard: May contain many products. Apply topNProducts filter to limit. All visible products are rendered on the single page.
result count >= 1 (at least one product extracted from leaderboard)name, tagline, upvotes, url present for every productwebsiteUrl or maker present for enriched itemssolve-captcha on first visit/all URL path (used by older scrapers) now returns 404; use /leaderboard/daily/ path insteadPath: browser-act-skill-forge-memories/producthunt-scraper-producthunt-launches.memory.md (working directory is determined by the Agent running the Skill)
Before execution: If the file exists, read it first — it records unexpected situations encountered during past executions (e.g., a strategy has become ineffective); adjust strategy order accordingly.
After execution: If an unexpected situation is encountered (strategy became ineffective, page redesigned, anti-scraping upgraded, better path discovered), append a line:
{YYYY-MM-DD}: {what happened} → {conclusion}
Normal execution does not write to the file.
© browser-act, 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 4 other files (scripts) in solutions/lead-generation/producthunt-launches of browser-act/skills.
Open the folder on GitHubat commit 11c057b
Producthunt Launches 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 |
|---|---|---|---|---|---|---|
| Producthunt Launches this skillbrowser-act/skills | 6.1k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Competitor Signalsgooseworks-ai/goose-skills | 1.2k | 1 repos | ~3k | Automated safety check: Notes | MIT | |
| ScraplingCedriccmh/claude-code-skill-scrapling | 446 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Geo Measureyaojingang/GEOHub | 165 | — | ~348 | Automated safety check: Pass | AGPL-3.0 | |
| ScraplingTommy-yw/RunbookHermes | 546 | 3 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Scraplingarchibate/dotfiles-opencode | 108 | 1 repos | ~4.9k | Automated safety check: Warn | BSD-3-Clause |
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.
Cedriccmh/claude-code-skill-scrapling
使用 scrapling 进行网页抓取和数据提取。根据目标网站特征自动选择最佳 Fetcher, 生成并执行 Python 脚本完成任务。Use when: (1) 抓取/爬取网页内容或数据(scrape, crawl, fetch page, extract data) (2) 需要绕过 Cloudflare/WAF 等反爬保护 (3) 登录后抓取受保护页面 (4) 解析已有 HTML…
yaojingang/GEOHub
Measure GEO visibility from an approved, file-backed engine observation bundle.
Tommy-yw/RunbookHermes
Web scraping with Scrapling - HTTP fetching, stealth browser automation, Cloudflare bypass, and spider crawling via CLI and Python.
archibate/dotfiles-opencode
Scrape web pages using Scrapling with anti-bot bypass (like Cloudflare Turnstile), stealth headless browsing, spiders framework, adaptive scraping, and JavaScript rendering.
sickn33/agentic-awesome-skills
Scrape leads from multiple platforms using Apify Actors. An agent skill from sickn33/agentic-awesome-skills.
browser-act/skills
Fetches structured Amazon product details such as title, price, ratings and availability for a given ASIN through BrowserAct's lookup API template.
browser-act/skills
Extracts structured Amazon product data for a keyword and marketplace through the BrowserAct API, including titles, prices, ratings, reviews, sales volume and promotions.
browser-act/skills
Pulls Amazon product details, competing seller prices and seller ratings for a given ASIN through the BrowserAct API, without browser automation.
browser-act/skills
Analyzes a competitor's Amazon listing by ASIN with BrowserAct data extraction, then reports what it does well, where the market has gaps and opportunity points for your own listing.
browser-act/skills
Pulls structured Amazon search results (titles, ASINs, prices, ratings, specifications) for a keyword and brand through BrowserAct's Amazon Product API template.
browser-act/skills
Collects structured product data from Amazon search results for a keyword and optional brand, using a BrowserAct script, for market and competitor research.
Works with
Categories
Scrape Product Hunt daily/weekly/monthly/yearly leaderboard launches with full product details, maker profiles, and website contact info. Producthunt Launches is an agent skill from browser-act/skills. Scrape Product Hunt daily/weekly/monthly/yearly leaderboard launches with full product details, maker profiles, and website contact info.
Producthunt Launches fits situations like: user mentions Product Hunt; product hunt launches; product hunt leaderboard; scrape product hunt.
Run `npx skills add browser-act/skills --skill producthunt-launches -a claude-code`. Or copy the skill folder (solutions/lead-generation/producthunt-launches in browser-act/skills) into .claude/skills/producthunt-launches in your project. Claude Code loads it when a task matches its description.
Run `npx skills add browser-act/skills --skill producthunt-launches -a codex`. Or copy the skill folder (solutions/lead-generation/producthunt-launches in browser-act/skills) into .agents/skills/producthunt-launches 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 browser-act/skills --skill producthunt-launches -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/producthunt-launches, .gemini/skills/producthunt-launches, .github/skills/producthunt-launches and .opencode/skills/producthunt-launches in your project.
Going by SKILL.md and its folder, Producthunt Launches needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.
SKILL.md names 5 domains. In commands or code: producthunt.com, ph-files.imgix.net, product-website.com, twitter.com and linkedin.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. 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.
Producthunt Launches is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k 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 Producthunt Launches: Competitor Signals (gooseworks-ai/goose-skills, 1.2k stars), Scrapling (Cedriccmh/claude-code-skill-scrapling, 446 stars), Geo Measure (yaojingang/GEOHub, 165 stars) and Scrapling (Tommy-yw/RunbookHermes, 546 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
browser-act (a GitHub organization) maintains it in browser-act/skills, which has 6,126 GitHub stars. The repository holds 87 skills in this directory. The repository was last updated on August 24, 2026.
Source: browser-act/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.