producthunt-launch-kit について
Product Hunt の公開準備を支援するスキルです。掲載文や画像の計画、SNS投稿、メールを作成し、文字数や事実性などの条件を確認します。
主な機能
- 01製品情報の収集
- 02ギャラリー画像の計画
- 035種類のタグライン作成
- 04掲載文とメーカーコメントの作成
- 05SNS投稿とメールの生成
- 06公開前のチェック
活用シーン
- 01Product Hunt の掲載準備
- 02公開用画像の計画
- 03公開日のSNS投稿の下書き
インストール
コマンドをコピーしてターミナルで実行します。
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:製品の詳細を集める
次の情報が必要です。
- 製品名
- 製品の機能(技術的な説明を1文で)
- 主なユースケースと対象ユーザー
- 既存のツールとの主な差別化要因
- 料金体系:無料、フリーミアム、有料(最低価格)
- オープンソースかどうか:はい/いいえ
- ローンチ日(スケジュール調整用)
- 提供する認証情報、ローンチ割引、プロモーションコード
- アップボートする価値がある理由(誠実な理由。マーケティング文句ではありません)を2~3点
不足している情報があれば、先に1つのメッセージで質問してください。
また、プロジェクトのコンテキストファイルも確認してください。
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枚目はヒーロー画像で、フィードやカードに表示されます。
5つのポジションのフレームワーク:
| ポジション | 目的 | 表示する内容 |
|---|---|---|
| 1(ヒーロー) | フィードで第一印象を与える | 使用中の製品、見やすい UI、またはターミナル出力。テキストのオーバーレイはなし |
| 2(機能デモ) | 中核となる操作を見せる | 製品の魅力が伝わる、思わず「なるほど」と感じる瞬間 |
| 3(導入前/導入後) | 解決する問題を見せる | 整理されておらず遅い状態と、すっきりして速い状態を並べて表示 |
| 4(ソーシャルプルーフ) | 信頼性を高める | 実際のユーザーによる引用、統計、または導入前後の指標 |
| 5(技術的な差別化要因) | 懐疑的な人に対応する | アーキテクチャ図、ベンチマーク、または独自の技術的判断 |
製品が CLI ツールやライブラリの場合、ターミナル出力のスクリーンショットが効果的です。矢印を付けて、重要な箇所を示してください。
動画(任意ですが効果大): 60~90秒のデモを用意します。2分未満にしてください。ナレーションは不要です。字幕付きの画面録画でも構いません。
ユーザーには次のように伝えてください。「ローンチ日までにギャラリー画像を[N]枚用意しましょう。最も重要なのはヒーロー画像(ポジション1)です。各ポジションで撮影する内容は次のとおりです:[この製品に合わせて調整した上記のリスト]」
ステップ 3:タグラインのバリエーションを作成する
タグラインは Product Hunt の掲載ページで、製品名のすぐ下に表示されます。掲載内容の中で最もよく読まれる文章です。
厳守する制限:
- 最大60文字(スペースを含む)
- 末尾にピリオドを付けない
- ハッシュタグを付けない
- 製品名から始めない
- 最上級表現を使わない:「最高」「最速」「最も簡単」「最もパワフル」
- 疑問形にしない
タグラインの形式: [動作を表す動詞] + [製品の機能] + [主な差別化要因]
タグラインのバリエーションを5つ作成してください。
- 成果を先に伝える: ユーザーが実現できること(「コードベースを離れずにドキュメントを公開」)
- 問題を先に伝える: 解決する悩みを明示する(「Figma とコード間のコピー&ペーストはもう不要」)
- 技術面を打ち出す: 開発者向けツールでは、技術を先に伝える(「ワンコマンドで SQLite を共有可能なウェブアプリに」)
- 比較対象に触れない代替案: 競合他社の名前を出さずに製品の位置付けを示す(「VS Code 内で使える Git ネイティブのコードレビュー」)
- 平易な英語で伝える: 専門用語を避け、できるだけ幅広い読者に伝える(「あらゆる RSS フィードを毎日のメールダイジェストに変換」)
作成後、それぞれの文字数を数えてください。60文字を超えるものには印を付け、修正してください。
Step 4: 掲載文を書く
掲載文はキャッチコピーの下に表示されます。最大500文字です。検索結果やリンクのプレビューに表示されます。
構成:
- 文1:何をするものか、誰を対象としているか(具体的に)
- 文2:実現の鍵となる主な機能または技術的なアプローチ
- 文3(任意):価格または提供状況
掲載文のルール:
- 280〜500文字(短くてもかまいません。長い場合はプレビューで省略されます)
- 全体を現在形で書く
- 誇張する形容詞は使わない
- 「I」は使わない。三人称または命令形で書く(「あなたの〜を変えます」「〜に接続します」。 「私が開発しました」ではありません)
- リンクは含めない(表示されません)
- オープンソースの場合は、その旨を記載する:「オープンソースで、セルフホスト可能です。」
Step 5: 開発者コメントを書く
開発者コメントは、Product Huntで成功するうえで最も重要な要素です。公開から60秒以内に投稿する、自分の投稿への最初の返信です。
厳守する制限:
- 300〜400語
- 製品公開から60秒以内に投稿する
- 一人称で、会話調にする
- 開発のきっかけを伝える
- 誰もが思いつく代替案に触れ、それでもなぜこれを開発したのか説明する
- コメントを促す具体的な質問で締めくくる
構成:
導入(2〜3文): なぜこれを開発したのか。実際の経緯として、何に不満を感じたか、どんなギャップに気づいたか、どんな問題に繰り返し直面したかを伝えます。「発表できてとてもうれしいです」は使いません。
機能(3〜5文): 中核となる仕組みを説明します。初めて使うと何が起きるのかを説明します。問題について深く考えたことが伝わる、具体的な技術的詳細を1つ含めます。
対象ユーザー(2〜3文): 最も価値を感じる具体的なユーザー像を説明します。「Xを必要とするすべての人」ではなく、具体的な人物像にします。「金曜の午後にデプロイするたびに気が重くなる、一人で開発している方」や、「同じPRの背景を3人のレビュアーに説明するのに20分もかかったことがある方」のようにします。
正直な注意点(1〜2文): できないことや、まだ粗削りな部分を説明します。信頼につながり、適切な初期ユーザーを見極められます。
フィードバックのお願い(1〜2文): 具体的な質問をします。「[具体的なエッジケース]への適切な対応方法はまだ見つかっていません。どのように対処しているか、ぜひ教えてください。」または「最も判断に迷っているのは[X]です。これは重要でしょうか?」のようにします。
Step 6: Geminiですべての素材を生成する
1回の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を、収集したすべての情報(製品名、説明、ユースケース、差別化要因、価格、Step 1で記録した開発者メモ)に置き換えます。
プロンプトで次の素材を依頼します:
- キャッチコピー案を5つ(文字数付き)
- 掲載文(文字数付き)
- 開発者コメント(300〜400語)
- 公開日用のツイートスレッド(280文字のツイートを5〜7件)
- LinkedInの投稿(150〜300語)
- メールシーケンス(4通:既存ユーザー向け、ニュースレター向け、当日リマインダー、フォローアップ)
Step 7: 自己QA
提示する前に、次の項目を確認します。
キャッチコピー:
- すべて60文字未満(それぞれ文字数を数える)
- 製品名で始まるものがない
- 最上級表現が含まれていない
- マーケティング用語が含まれていない
掲載文:
- 500文字未満(文字数を数える)
- 三人称または命令形(「I」は使わない)
- リンクがない
開発者コメント:
- 300〜400語(語数を数える)
- 実際の開発のきっかけから始まっている(「わくわくしています」ではない)
- 正直な注意点を1つ含んでいる
- 具体的な質問で締めくくっている
- マーケティング表現がない
- emダッシュを使っていない
ツイートスレッド:
- 各ツイートが280文字未満(文字数を数える)
- ハッシュタグがない
- 最初のツイートが目を引く内容で、製品の最も魅力的な点を伝えている
項目を満たさない場合は、提示する前に修正します。QAに問題がある下書きは提示しません。
Step 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