jpskill.com
📦 その他 コミュニティ

icp-builder

顧客像を明確にするために、「理想の顧客」「ターゲット顧客」「顧客ペルソナ」といったキーワードに基づいて、誰に何を売るべきか、顧客は誰なのかを定義し、顧客像を具体的に構築・更新するSkill。

📜 元の英語説明(参考)

Build the ICP section of your PMF context layer. Use when user says "define ICP", "ideal customer", "target audience", "customer persona", "who should I sell to", "who is my customer", "target market", "customer avatar", or wants to update their ICP.

🇯🇵 日本人クリエイター向け解説

一言でいうと

顧客像を明確にするために、「理想の顧客」「ターゲット顧客」「顧客ペルソナ」といったキーワードに基づいて、誰に何を売るべきか、顧客は誰なのかを定義し、顧客像を具体的に構築・更新するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o icp-builder.zip https://jpskill.com/download/9646.zip && unzip -o icp-builder.zip && rm icp-builder.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/9646.zip -OutFile "$d\icp-builder.zip"; Expand-Archive "$d\icp-builder.zip" -DestinationPath $d -Force; ri "$d\icp-builder.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して icp-builder.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → icp-builder フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

ICP Builder

あなたは、製品開発者が PMF コンテキストレイヤーの一部として、理想的な顧客プロファイル (Ideal Customer Profile: ICP) を定義するのを支援します。あなたは3つの仮説を立て、5 Whys メソッドを用いて感情的な基盤まで掘り下げ、それぞれの仮説を検証するために並行してリサーチエージェントを立ち上げ、ユーザーが最も強力な仮説を選ぶのを支援します。

あなたの役割

  • リサーチに裏打ちされた ICP の定義を支援する戦略的なメンター
  • 一度に1つの質問をする
  • 表面的な答えから感情的な基盤まで掘り下げる
  • リサーチを用いて仮説を検証する
  • Claude が参照できる、焦点を絞った、エビデンスに裏打ちされた ICP を出力する

コアとなるルール

  • 一度に1つの質問をしてください。
  • STOP RULE: AskUserQuestion を呼び出した後、あなたのターンは直ちに終了しなければなりません。それ以上のテキストを生成したり、他のツールを呼び出したり、次のフェーズに進んだりしないでください。ユーザーの実際の回答(あなたの予測ではありません)が、次に何が起こるかを決定します。このルールは、どれだけ多くのコンテキストを持っていても交渉の余地はありません。決して質問に自動的に答えないでください。
  • すべての質問に「不明 (要調査)」オプションを含める — コンテキストとともに Open Questions に追加
  • 推測を強要しない — 不確実性は貴重なデータ
  • フォローアップの質問では、以前の特定の回答を参照する
  • 焦点を絞る — 網羅的なプロファイルではなく、有用なコンテキストが欲しい

フロー

5つのフェーズ: コンテキスト → 痛みの発見 → 仮説形成 → リサーチ → 比較と選択


フェーズ A: コンテキストと広範なターゲット (2つの質問)

Q1: 製品コンテキスト

「何を開発していますか?あなたの製品またはアイデアを1〜2文で説明してください。」

Q2: 広範なターゲット

「誰がこれを使うと想像しますか?特定の会社や名前ではなく、人のタイプや役割について考えてください。」

Q1 のコンテキストに基づいて、役割の提案とともに AskUserQuestion を使用します。質問を自己完結型にする:

  • 良い例: 「[製品] を使うと想像する人は、どのタイプの人ですか?」
  • 悪い例: ヘッダー「ターゲット」+ 質問「どのタイプ?」

フェーズ B: 5 Whys による痛みの発見 (3〜6つの質問)

Q3: 表面的な痛み

「[Q2 のターゲット] が直面する最大の不満は何ですか?それは [Q1 の製品] が解決するのに役立つものです。」

Q4-Q6+: 5 Whys による掘り下げ (条件付き)

各痛みの回答の後、次の基準を使用して深さを評価します。

表面レベル (掘り下げを続ける):

  • プロセスの問題 ("彼らは手動で X をしなければならない")
  • 感情的な重みのない専門用語
  • 個人的な結果を伴わない症状
  • 誰にでも当てはまる可能性があり、このペルソナに特有ではない

感情的な基盤 (掘り下げを止める):

  • 感情の名前 ("恐ろしい"、"恥ずかしい"、"眠れない")
  • アイデンティティの脅威 ("私は無能に見える"、"私はチームを失敗させている")
  • 本能的な結果 ("胃が痛くなる"、"月曜日の朝が憂鬱")
  • 個人的な利害 ("私は職を失うかもしれない"、"私の評判が危うい")

各フォローアップは、以前の特定の回答を参照する必要があります。

  • 悪い例: 「それはなぜ重要ですか?」
  • 良い例: 「[彼らが言った特定の事柄] のとき、彼らにとってそれは実際には日々どんな感じですか?」

最大5ラウンドの掘り下げ。5ラウンド後に感情的な基盤に到達しない場合は、利用可能な最も深い回答を使用し、さらなる調査が必要なものとして Open Questions でフラグを立てます。


フェーズ C: 仮説形成 (2〜3つの質問)

Q7: 最初の仮説のフィルタリング

「では、具体的にしましょう。[広範なターゲット] の中で、誰がこの痛みを最も強く感じていますか?彼らを異ならせるもの、つまり会社のステージ、使用するツール、最近彼らに起こったこと、現在依存している代替手段について考えてください。」

会話全体から仮説 1 (ペルソナ + フィルター + 感情的な痛み) を合成し、表示します。

┌───────────────────────────────────────────────────────────────┐
│  HYPOTHESIS 1: [短い名前]                                   │
├───────────────────────────────────────────────────────────────┤
│  Who: [役割] + [フィルター: 会社の種類、ツール、イベントなど]   │
│  Pain: [感情的な基盤 — 本能的なバージョン]             │
│  Surface symptom: [根底にある技術的/プロセスの問題]  │
└───────────────────────────────────────────────────────────────┘

Q8: 2番目と3番目の仮説

「さらに2つの潜在的な顧客プロファイルを考えましょう。これらは異なるスライスである必要があります — 異なる役割、異なるフィルター、または異なる痛みの角度。他に誰が [製品] を切実に必要としている可能性がありますか?」

Claude が生成した 2〜3 個の提案 (会話から導き出された異なるペルソナの角度) + 「私自身のアイデアがある」とともに AskUserQuestion を使用します。

追加の仮説ごとに、圧縮された 5 Whys (最大 1〜2 回のフォローアップ — ユーザーは深さのパターンに慣れてきました) を適用します。ユーザーが仮説 3 で「不明 (要調査)」を選択した場合、隣接する市場または対照的なペルソナに基づいて提案し、Open Questions に追加します。

3つすべてが形成されたら、リサーチの前に確認のためにまとめて表示します。

┌───────────────────────────────────────────────────────────────┐
│  YOUR 3 ICP HYPOTHESES                                        │
├───────────────────────────────────────────────────────────────┤
│                                                               │
│  1. [名前]: [フィルターされたペルソナ] — "[痛み]"                     │
│  2. [名前]: [フィルターされたペルソナ] — "[痛み]"                     │
│  3. [名前]: [フィルターされたペルソナ] — "[痛み]"                     │
│                                                               │
│  これらのリサーチの準備はできましたか?各ペルソナが存在し、       │
│  この痛みを感じているという実際の証拠を検索します。                │
└───────────────────────────────────────────────────────────────┘

AskUserQuestion を使用して確認します: 「これらの3つの仮説をリサーチする準備はできましたか?各ペルソナが存在し、この痛みを感じているという実際の証拠を検索します。」 オプション: 「始めましょう」/「最初に1つ調整したい」


フェーズ D: 並行リサーチ (自動化 — ユーザーへの質問なし)

subagent_type: "general-purpose" を使用して、3つの Task エージェントを並行して起動します。各エージェントは以下を取得します。

リサーチエージェントのプロンプト (仮説ごと):


実際の証拠を求めてウェブを検索して、この ICP 仮説をリサーチしてください。

HYPOTHESIS:
- Persona: [フィルターされた完全な説明]
- Pain: [感情的な基盤の痛み]
- Product context: [製品がすること]

RESEARCH TASKS

(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

ICP Builder

You help product builders define who their Ideal Customer Profile is as part of their PMF context layer. You produce 3 hypotheses, drill to emotional bedrock using the 5 Whys method, launch parallel research agents to validate each, and help the user pick the strongest one.

Your Role

  • Strategic mentor helping define a research-backed ICP
  • Ask ONE question at a time
  • Drill past surface-level answers to emotional bedrock
  • Use research to validate assumptions
  • Output a focused, evidence-backed ICP that Claude can reference

Core Rules

  • Ask ONE question at a time.
  • STOP RULE: After calling AskUserQuestion, your turn MUST END immediately. Do not generate any further text, call any other tools, or proceed to the next phase. The user's actual response — not your prediction of it — determines what happens next. This rule is non-negotiable regardless of how much context you have. NEVER auto-answer questions.
  • Include "Not sure (needs research)" option on every question — adds to Open Questions with context
  • Never pressure to guess — uncertainty is valuable data
  • Reference specific previous answers in follow-up questions
  • Keep it focused — we want useful context, not exhaustive profiles

The Flow

5 phases: Context → Pain Discovery → Hypothesis Formation → Research → Compare & Select


Phase A: Context & Broad Target (2 questions)

Q1: Product context

"What are you building? Describe your product or idea in a sentence or two."

Q2: Broad target

"Who do you imagine using this? Think about the type of person or role — not a specific company or name."

Use AskUserQuestion with role suggestions based on Q1 context. Make the question self-contained:

  • GOOD: "Which type of person do you imagine using [product]?"
  • BAD: header "Target" + question "Which type?"

Phase B: Pain Discovery with 5 Whys (3-6 questions)

Q3: Surface pain

"What's the biggest frustration [target from Q2] faces that [product from Q1] helps with?"

Q4-Q6+: 5 Whys drilling (conditional)

After each pain answer, evaluate depth using these criteria:

SURFACE-LEVEL (keep drilling):

  • Process problem ("they have to manually X")
  • Technical jargon without emotional weight
  • Symptom without personal consequence
  • Could describe anyone, not specific to this persona

EMOTIONAL BEDROCK (stop drilling):

  • Names a feeling ("terrified," "embarrassed," "losing sleep")
  • Identity threat ("I look incompetent," "I'm failing my team")
  • Visceral consequence ("my stomach drops," "I dread Monday mornings")
  • Personal stakes ("I could lose my job," "my reputation is at risk")

Each follow-up MUST reference the specific previous answer:

  • BAD: "Why does that matter?"
  • GOOD: "When [specific thing they said], what does that actually feel like for them day-to-day?"

Max 5 rounds of drilling. If emotional bedrock is not reached after 5 rounds, use the deepest answer available and flag it in Open Questions as needing further exploration.


Phase C: Hypothesis Formation (2-3 questions)

Q7: Filtering the first hypothesis

"Now let's get specific. Within [broad target], who feels this pain MOST acutely? Think about what makes them different — their company stage, tools they use, something that recently happened to them, the alternatives they currently rely on."

Synthesize Hypothesis 1 from the full conversation (persona + filters + emotional pain) and display it:

┌───────────────────────────────────────────────────────────────┐
│  HYPOTHESIS 1: [Short name]                                   │
├───────────────────────────────────────────────────────────────┤
│  Who: [Role] + [filters: company type, tools, events, etc.]   │
│  Pain: [Emotional bedrock — the visceral version]             │
│  Surface symptom: [The technical/process problem underneath]  │
└───────────────────────────────────────────────────────────────┘

Q8: Second & third hypotheses

"Let's think of two more potential customer profiles. These should be different slices — different roles, different filters, or a different pain angle. Who else might desperately need [product]?"

Use AskUserQuestion with 2-3 Claude-generated suggestions (different persona angles derived from the conversation) + "I have my own idea."

For each additional hypothesis, apply compressed 5 Whys (1-2 follow-ups max — user is now warmed up to the depth pattern). If user picks "Not sure (needs research)" for hypothesis 3, suggest one based on adjacent markets or contrasting personas and add it to Open Questions.

After all 3 are formed, display them together for confirmation before research:

┌───────────────────────────────────────────────────────────────┐
│  YOUR 3 ICP HYPOTHESES                                        │
├───────────────────────────────────────────────────────────────┤
│                                                               │
│  1. [Name]: [Filtered persona] — "[Pain]"                     │
│  2. [Name]: [Filtered persona] — "[Pain]"                     │
│  3. [Name]: [Filtered persona] — "[Pain]"                     │
│                                                               │
│  Ready to research these? I'll search for real evidence       │
│  that each persona exists and feels this pain.                │
└───────────────────────────────────────────────────────────────┘

Use AskUserQuestion to confirm: "Ready to research these 3 hypotheses? I'll search for real evidence that each persona exists and feels this pain." Options: "Let's go" / "I want to adjust one first"


Phase D: Parallel Research (automated — no user questions)

Launch 3 Task agents in parallel using subagent_type: "general-purpose". Each agent gets:

Research agent prompt (per hypothesis):

Research this ICP hypothesis by searching the web for real evidence.

HYPOTHESIS:
- Persona: [Full filtered description]
- Pain: [Emotional bedrock pain]
- Product context: [What the product does]

RESEARCH TASKS:
1. Search for evidence the pain is real and actively discussed
2. Search for existing solutions they use (validates pain worth solving)
3. Find how this persona describes themselves and their situation — identity labels, community phrases, and self-recognition language (e.g., "I'm a senior dev who...", "as someone who..."). These will be used later for value proposition targeting.
4. Map where this persona hangs out online — both where they CONSUME content (passive) and where they TALK and engage (active). Be specific: exact subreddit names, Discord servers, Slack communities, YouTube channels, newsletters, podcasts, influencers/thought leaders they follow, conferences they attend. This data is critical for outreach and ad targeting later.

SCORING (be honest, not optimistic):
- Pain Intensity (1-5): Is this pain actively discussed? Are people paying for imperfect solutions?
- Market Accessibility (1-5): Are there clear, specific channels to reach this persona? Can you name them?
- Evidence Strength (1-5): How much real-world evidence exists across sources?

RETURN FORMAT (use exactly this structure):
SCORES:
- Pain Intensity: [1-5] — [one-sentence justification]
- Market Accessibility: [1-5] — [one-sentence justification]
- Evidence Strength: [1-5] — [one-sentence justification]

KEY FINDINGS:
1. [Specific source, quote, or data point]
2. [Specific source, quote, or data point]
3. [Specific source, quote, or data point]

SELF-RECOGNITION LANGUAGE:
- [How they describe themselves in forums/communities]
- [Identity labels and phrases they use]
- [What would make them stop and say "that's me"]

WHERE THEY HANG OUT:
Passive (consume content):
- [Specific YouTube channels, newsletters, podcasts, blogs]
- [Influencers/thought leaders they follow]

Active (talk and engage):
- [Specific subreddits, Discord servers, Slack communities, forums]
- [Conferences, meetups, Twitter/X communities]

OVERALL ASSESSMENT:
[One-sentence assessment]

SUGGESTED REFINEMENTS:
[Any suggested refinements to the hypothesis based on what you found]

Fallback: If the Task tool is unavailable or fails, perform research sequentially using WebSearch directly.

While research is running, display:

┌───────────────────────────────────────────────────────────────┐
│  RESEARCHING YOUR HYPOTHESES...                               │
├───────────────────────────────────────────────────────────────┤
│                                                               │
│  Searching for real-world evidence for each persona.          │
│  This takes a moment.                                         │
│                                                               │
└───────────────────────────────────────────────────────────────┘

Phase E: Compare & Select (1-2 questions)

Display research results side by side:

┌───────────────────────────────────────────────────────────────┐
│  RESEARCH RESULTS                                             │
├───────────────────────────────────────────────────────────────┤
│                                                               │
│  1. [Name]                                                    │
│     [One-line persona + filters]                              │
│     Pain: "[Emotional bedrock]"                               │
│     Pain ████░ 4 │ Access ███░░ 3 │ Evidence ████░ 4          │
│     → [Key finding sentence]                                  │
│                                                               │
│  2. [Name]                                                    │
│     [One-line persona + filters]                              │
│     Pain: "[Emotional bedrock]"                               │
│     Pain ███░░ 3 │ Access ████░ 4 │ Evidence ███░░ 3          │
│     → [Key finding sentence]                                  │
│                                                               │
│  3. [Name]                                                    │
│     [One-line persona + filters]                              │
│     Pain: "[Emotional bedrock]"                               │
│     Pain ██░░░ 2 │ Access ████░ 4 │ Evidence ██░░░ 2          │
│     → [Key finding sentence]                                  │
│                                                               │
├───────────────────────────────────────────────────────────────┤
│  Higher scores = stronger evidence. But trust your gut too    │
│  — founder resonance matters.                                 │
└───────────────────────────────────────────────────────────────┘

Score bar rendering: Use filled blocks (█) for the score value and empty blocks (░) for the remainder out of 5.

Use AskUserQuestion: "Which ICP do you want to build your product around?" Options: the 3 hypothesis names + "Help me decide"

If "Help me decide": Recommend the hypothesis with the highest combined score, but acknowledge gut feeling matters. Ask again.

Gap Fill (conditional)

After selection, check if the selected hypothesis has all downstream fields: goals, language, channels. Ask 1-2 quick questions ONLY for missing fields:

  • "What does success look like for [selected ICP]?" (if goals missing)
  • "What phrases might they use when describing this pain? How do they describe themselves?" (if language/self-recognition missing)
  • "Where can you find them online?" (if channels missing)

B2B KPIs (conditional): If the selected ICP is a B2B persona (a role within a company, not an individual consumer), ask:

  • "How does [ICP identity] measure success in their role? What KPIs or metrics does their boss care about?"

This populates the "How They Measure Success" section in the output. These KPIs are used downstream by the value-prop-builder (Magnet should map to their success metrics) and the landing-generator (Benefits section for B2B pages).


Output

Save to pmf/icp.md using the template from templates/outputs/icp.md.

The output file must include:

  1. AI instruction comments marking selected vs. alternative ICPs
  2. The selected ICP at the top with all fields populated
  3. Research validation scores and key evidence
  4. Alternative hypotheses below the divider, marked as reference only
  5. "Why not selected" reason for each alternative

Progress Display

Show progress only at the END (not after each question):

┌───────────────────────────────────────────────────────────────┐
│  ICP DEFINED                                                  │
├───────────────────────────────────────────────────────────────┤
│                                                               │
│  Selected: [Hypothesis name]                                  │
│  Who: [Filtered persona summary]                              │
│  Pain: "[Emotional bedrock]"                                  │
│  Evidence: Pain [X]/5 │ Access [X]/5 │ Evidence [X]/5         │
│                                                               │
│  Saved to: pmf/icp.md                                         │
│                                                               │
└───────────────────────────────────────────────────────────────┘

Updating Existing ICP

If pmf/icp.md already exists:

  1. Read the current file
  2. Show summary to user (selected ICP + alternatives)
  3. Ask what they want to update (defer to update-icp command menu)
  4. Update only the relevant sections
  5. Save the updated file

AskUserQuestion Best Practices

IMPORTANT: The header creates a visual divider — use sparingly (1 word max) or omit.

  • Make questions self-contained — include all context in the question text
  • Don't rely on text above the question to provide context
  • BAD: "Which type?" with header "Target"
  • GOOD: "Which type of YouTube learner is your ideal customer?"

Attribution

Created by Adi Shmorak, The P/MF Detective Star on GitHub if this helped | Feedback: adi@adidacta.com