关于 producthunt-launch-kit
为需要准备 Product Hunt 发布材料的产品团队提供一套工作流程,涵盖文案、图片规划与检查。它规定字数、真实性和内容格式,并生成发布帖、社交内容及邮件序列。
主要功能
- 01收集产品信息
- 02规划展示图片
- 03生成五种标语
- 04撰写介绍与创作者评论
- 05生成社交帖子和邮件
- 06发布前检查
适用场景
- 01准备 Product Hunt 产品页
- 02规划发布图片内容
- 03起草发布日社交内容
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ varnan-tech/ opendirectory --skill producthunt-launch-kit安装后在 Claude Code 中输入/producthunt-launch-kit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.env.exampleREADME.mdevals/evals.jsonreferences/copy-rules.md详细介绍
Product Hunt 发布套件
为 Product Hunt 发布生成所需的全部素材:产品介绍文案、创作者评论,以及首日社交媒体帖子。
重要规则: Product Hunt 标语最多 60 个字符,描述最多 500 个字符。绝不要提出无法核实的事实性声明。绝不要提及竞争对手的名称。除非产品永久免费(不只是试用),否则绝不要说“免费”。
步骤 1:收集产品详情
你需要提供:
- 产品名称
- 产品功能(用一句话进行技术说明)
- 主要用例和目标用户
- 与现有工具相比的关键差异
- 定价:免费、免费增值、付费(起始价格)
- 是否开源:是/否
- 发布日期(用于安排日程)
- 可提供的任何凭证、发布折扣或促销码
- 2-3 个值得用户投票支持的理由(真实可信,非营销话术)
如果缺少其中任何信息,请先在一条消息中提问,再继续。
同时检查项目上下文文件:
ls README.md 2>/dev/null && echo "README found"
ls package.json 2>/dev/null && echo "package.json found"
如果 README.md 存在,请先阅读前 80 行,提取产品描述和主要功能,再提问。
步骤 2:图库策略
Product Hunt 要求提供截图。大多数产品发布效果不佳,都是因为图库图片质量欠佳或缺失。请在撰写文案前规划好这些图片。
规格: 1270×760px,PNG 或 JPG 格式,最多 8 张图片。第一张是主图:它会显示在动态和卡片中。
五图位框架:
| 位置 | 目的 | 展示内容 |
|---|---|---|
| 1(主图) | 在动态中留下第一印象 | 产品使用场景、简洁的 UI 或终端输出,不加文字叠加 |
| 2(功能演示) | 展示核心操作 | 让用户理解产品价值的关键内容:“啊哈”时刻 |
| 3(前后对比) | 展示产品解决的问题 | 分屏展示:混乱/缓慢的状态与整洁/快速的状态 |
| 4(社会认同) | 建立可信度 | 真实用户的真实评价、数据或前后对比指标 |
| 5(技术差异) | 回应质疑 | 架构图、基准测试或与众不同的技术决策 |
如果产品是 CLI 工具或库,终端输出截图效果不错。可以用箭头标出重点。
视频(可选但效果显著): 60-90 秒的演示视频,不超过 2 分钟。无需配音:屏幕录制配字幕即可。
告诉用户:“请在发布日前规划好 [N] 张图库图片。主图(位置 1)最重要。以下是每个位置的拍摄内容:[根据此产品定制的上述列表]。”
步骤 3:生成标语变体
标语显示在 Product Hunt 上产品名称的正下方,是产品介绍中阅读量最高的文案。
严格限制:
- 最多 60 个字符(包括空格)
- 末尾不加句号
- 不加标签
- 不以产品名称开头
- 不使用最高级:“best”“fastest”“easiest”“most powerful”
- 不使用疑问句
标语公式: [动作动词] + [产品功能] + [关键差异]
生成五种标语变体:
- 以成果为先: 用户能实现什么(“无需离开代码库即可发布文档”)
- 以问题为先: 点出产品解决的痛点(“不再在 Figma 和代码之间复制粘贴”)
- 技术角度: 面向开发者工具,以技术为切入点(“一条命令将 SQLite 转为可分享的 Web 应用”)
- 不提竞品的替代方案: 不点名竞品,说明产品定位(“可在 VS Code 中使用的 Git 原生代码审查工具”)
- 通俗易懂: 不用术语,面向尽可能广泛的受众(“将任意 RSS 源转换为每日邮件摘要”)
生成后,计算每条标语的字符数。标记超过 60 个字符的标语并进行修改。
第 4 步:撰写上架描述
描述显示在标语下方。最多 500 个字符。它会显示在搜索结果和链接预览中。
结构:
- 第 1 句:具体说明它的功能和适用对象
- 第 2 句:介绍让它发挥作用的关键功能或技术方法
- 第 3 句(可选):价格或可用性
描述规则:
- 280-500 个字符(可以更短;更长的内容会在预览中截断)
- 全文使用现在时
- 不使用夸张的形容词
- 不要使用“我”:使用第三人称或祈使句(“将你的……转换为……”“连接到……”,而不是“我开发了……”)
- 不添加链接(链接不会显示)
- 如果是开源项目,请注明:“开源且可自托管。”
第 5 步:撰写创作者评论
创作者评论是推动 Product Hunt 成功的最重要因素。这是你在自己的帖子下发表的第一条回复,必须在上线后的 60 秒内发布。
严格限制:
- 300-400 个单词
- 必须在产品上线后的 60 秒内发布
- 使用第一人称,语气自然
- 讲述产品的起源故事
- 承认显而易见的替代方案,并解释你为何仍然要开发这个产品
- 以一个具体问题结尾,邀请大家评论
结构:
开头(2-3 句): 说明你开发它的原因。讲述真实经历:遇到了什么挫折、发现了什么空白、反复碰到了什么问题。不要说“我很高兴宣布”。
功能介绍(3-5 句): 解释核心机制。用户首次使用时会发生什么。加入一个具体的技术细节,体现你对问题经过了深入思考。
适用对象(2-3 句): 描述最能从中受益的具体人群。不要说“所有需要 X 的人”,要明确具体画像:“如果你是一名独立开发者,总在周五下午部署,并且对此心怀忐忑……”或“如果你曾花 20 分钟向三位不同的代码审查者解释同一项 PR 的背景……”
坦诚说明(1-2 句): 说明它做不到什么,以及目前还有哪些不完善之处。这能建立信任,也能筛选出合适的早期用户。
征求反馈(1-2 句): 提出具体问题。“我们还没找到处理[具体边界情况]的合适方法:很想知道你是怎么解决的。”或“我最拿不准的是[X]:这对你来说重要吗?”
第 6 步:使用 Gemini 生成所有素材
在一次 Gemini 调用中撰写所有素材:
cat > /tmp/ph-launch-request.json << 'ENDJSON'
{
"system_instruction": {
"parts": [{
"text": "You are writing Product Hunt launch copy. Generate all assets in sequence, clearly labeled. Rules: taglines max 60 chars, description max 500 chars, maker comment 300-400 words first-person. No marketing words: 'revolutionary', 'game-changing', 'powerful', 'robust', 'seamless', 'innovative', 'best-in-class', 'streamline'. No competitor names. No superlatives in taglines. Do not use em dashes. For social posts: tweets max 280 chars, no hashtags in tweet threads (they reduce signal quality on technical posts). LinkedIn post 150-300 words, professional but not stiff. Email sequence: 4 emails, each under 150 words, subject line under 50 chars. Output each asset with a clear header. No commentary between sections."
}]
},
"contents": [{
"parts": [{
"text": "PRODUCT_DETAILS_HERE"
}]
}],
"generationConfig": {
"temperature": 0.7,
"maxOutputTokens": 4096
}
}
ENDJSON
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d @/tmp/ph-launch-request.json \
| python3 -c "import sys,json; d=json.load(sys.stdin); print(d['candidates'][0]['content']['parts'][0]['text'])"
将 PRODUCT_DETAILS_HERE 替换为收集到的所有背景信息:产品名称、描述、使用场景、差异化特点、定价,以及第 1 步中的任何创作者备注。
在提示词中要求生成以下素材:
- 五个标语版本(附字符数)
- 上架描述(附字符数)
- 创作者评论(300-400 个单词)
- 发布日推文串(5-7 条推文,每条 280 个字符)
- LinkedIn 帖子(150-300 个单词)
- 邮件序列(4 封邮件:现有用户、新闻简报、发布当天提醒、后续跟进)
第 7 步:自行检查质量
提交之前:
标语:
- 每条都少于 60 个字符(逐条计数)
- 没有以产品名称开头的标语
- 不包含最高级表达
- 不包含营销用语
描述:
- 少于 500 个字符(计数)
- 使用第三人称或祈使句(不使用“我”)
- 不含链接
创作者评论:
- 300-400 个单词(计数)
- 开篇讲述真实的起源故事(不要说“我很兴奋……”)
- 包含一项坦诚说明
- 以一个具体问题结尾
- 不含营销语言
- 不使用长破折号
推文串:
- 每条推文少于 280 个字符(计数)
- 不使用话题标签
- 第一条推文作为吸引读者的开场:突出产品最引人注目的特点
如果有任何一项不符合要求,请先修改再提交。不要提交未通过质量检查的草稿。
第 8 步:提交完整的发布套件
严格按以下顺序提交:
## Product Hunt Launch Kit: [Product Name]
---
### Taglines (choose one)
1. [tagline]: [char count]
2. [tagline]: [char count]
3. [tagline]: [char count]
4. [tagline]: [char count]
5. [tagline]: [char count]
**Recommendation:** [one-sentence reason to prefer tagline X]
---
### Listing Description
[description text]
[char count] / 500
---
### Maker Comment (post within 60 seconds of launch)
[maker comment text]
---
### Launch Day Tweets
Tweet 1/6: [text]
Tweet 2/6: [text]
...
---
### LinkedIn Post
[post text]
---
### Email Sequence
**Email 1: Existing Users (send 1 week before)**
Subject: [subject]
[body]
**Email 2: Newsletter / Audience (send day before)**
Subject: [subject]
[body]
**Email 3: Day-of Reminder (send at 12:01 AM PST)**
Subject: [subject]
[body]
**Email 4: Follow-up (send 48 hours after launch)**
Subject: [subject]
[body]
---
### Self-Hunt vs. Top Hunter Decision
Answer these questions to decide:
| Question | Self-Hunt | Get a Hunter |
|----------|-----------|--------------|
| Do you have 500+ Twitter/LinkedIn followers in your target audience? | Yes | No |
| Does your product have an existing user base to rally? | Yes | No |
| Is your product technical and you have a personal brand in dev communities? | Yes | No |
| Is this your first launch with no audience yet? | No | Yes |
| Does a top hunter (500+ followers on PH) already use your product? | No | Yes |
If 3+ answers point to "Get a Hunter": reach out to hunters at least 2 weeks before launch day. Frame the ask as sharing something you built that they would genuinely want to know about: not asking for a favor.
---
### 30-Day Pre-Launch Preparation
**Day 30-21: Teaser Phase**
- [ ] Post a "building in public" update on Twitter/LinkedIn: what problem you are solving and why
- [ ] Identify 3-5 hunters with 500+ PH followers who match your product category
- [ ] Start building a supporter list (everyone who would upvote on launch day): team, users, investors, friends in tech
- [ ] Set up a simple "notify me on launch" page (even a TypeForm or Google Form)
**Day 20-8: Asset Phase**
- [ ] Capture all 5 gallery images at 1270×760px (see gallery strategy above)
- [ ] Record 60-90 second demo video if applicable
- [ ] Draft all copy from this kit: tagline, description, maker comment, social posts, emails
- [ ] Send Email 1 (existing users) at Day 8
**Day 7-2: Final Prep**
- [ ] Send Email 2 (newsletter) at Day 2
- [ ] Message your supporter list directly (Slack, DM, email): not a mass blast, personal messages
- [ ] Schedule tweet thread and LinkedIn post
- [ ] Do a dry run: check PH listing preview, verify all gallery images display correctly
- [ ] Confirm maker comment is under 400 words and saved somewhere you can paste instantly
**Day 1: Launch Day**
- [ ] Post goes live at 12:01 AM PST
- [ ] Send Email 3 (day-of reminder) immediately after going live
- [ ] Maker comment posted within 60 seconds of launch
- [ ] Tweet thread posted in the first 30 minutes
- [ ] LinkedIn post published
- [ ] Reply to every comment within 2 hours: PH algorithm rewards active makers
- [ ] Do not ask for upvotes directly: ask people to "check it out" or "share feedback"
- [ ] DM your supporter list with a direct link: not "go upvote" but "we just launched, would love your thoughts"
- [ ] First comment with any promo code posted within 5 minutes of launch
**Day 2: Follow-Up**
- [ ] Send Email 4 (48-hour follow-up) with results and thank-you
- [ ] Post a results update on Twitter/LinkedIn: upvotes, comments, lessons
- [ ] Reply to any overnight comments you missed
---
### Upvote Benchmarks
| Upvotes | Outcome |
|---------|---------|
| 50-100 | Listed but not front page |
| 200-400 | Competitive front page placement |
| 500-800 | Top 5 of the day |
| 800+ | Product of the Day |
| 1500+ | Product of the Week contender |
First-hour velocity matters more than final count. 100 upvotes in the first hour beats 400 spread over 24 hours.
---
### Hour-by-Hour Launch Day Timeline
| Time (PST) | Action |
|------------|--------|
| 12:01 AM | Post goes live. Do not schedule: be awake and click manually. |
| 12:02 AM | Maker comment posted (have it in clipboard, paste and submit immediately) |
| 12:05 AM | First comment (promo code or context) posted |
| 12:15 AM | Tweet thread live |
| 12:30 AM | LinkedIn post live |
| 12:30 AM | Personal DMs to your 10 most-engaged supporters |
| 1:00 AM | Check for first comments, reply to all |
| 7:00 AM | Morning US traffic peak. Check ranking. Reply to overnight comments. |
| 9:00 AM | Send Email 3 (day-of reminder) if you held it for morning send |
| 12:00 PM | Midday check. Reply to all comments. Post a "midday update" tweet if trending. |
| 5:00 PM | Evening US traffic peak. Final push to supporter list if needed. |
| 11:59 PM | Results final. Screenshot your placement. |
---
### Launch Checklist
- [ ] Post goes live at 12:01 AM PST on launch day (manual click, not scheduled)
- [ ] Maker comment copied to clipboard, posted within 60 seconds of launch
- [ ] Supporter list of 200+ people ready to message personally on launch day
- [ ] Gallery images and video (if any) uploaded and previewed before launch
- [ ] All 4 emails drafted and scheduled
- [ ] Reply to every comment on launch day: PH rewards active makers
- [ ] Do not ask for upvotes directly: ask people to "check it out" or "share feedback"
- [ ] First comment (with any promo code) posted within 5 minutes of launch