מחקר
הפכו שאלת שוק לתקציר go-to-market
שאלו את השוק שאלה מדויקת, קראו את עמודי הקטגוריה והמחירים שמאחורי התשובה, אספו איך קונים מתארים את הבעיה ב-X ושמרו תקציר GTM עם טענות ממקורות ושאלות פתוחות.
העתיקו את הפרומפט
החליפו את השדות בסוגריים מרובעים והדביקו ב-Claude Code, Codex או AI עם גישה לטרמינל. הוא מתקין את סקיל Felo, שואל לפני שריפת קרדיטים ומריץ את תהליך העבודה.
הכן תקציר מחקר go-to-market עבור [מוצר] שנכנס ל[סגמנט או ICP] ב[אזור], ב[שפה]. מודל: [self-serve / מכירות / שותפים]. ההחלטה שהוא תומך בה: [השקה / מחיר / מיצוב מחדש]. תקופה: [90 הימים האחרונים / 12 החודשים האחרונים]. הפק תקציר ב-Markdown הכולל: 1. הגדרת סגמנט: מי הם, מה הם משתמשים בו היום ומה המקורות אומרים על גודל — צטט מקור או כתוב „אין נתונים”. 2. שפת הקונים: איך הם מתארים את הבעיה, עם קישורים ותאריכים. 3. חלופות: ממה הם עוברים, כולל גיליונות אלקטרוניים ולא לעשות דבר. 4. התנגדויות וההוכחות שהקונים דורשים. 5. שאלות פתוחות שמקורות ציבוריים אינם יכולים לענות עליהן. 6. רשימת מקורות מלאה. כללים: - כל טענת שוק צריכה קישור ותאריך. לעולם אל תאמוד גודל שוק, צמיחה או תקציב לפי תחושה. - הפרד מקורות עצמאיים, עמודי ספקים והסקות שלך. - השתמש ב-X לשפה והתנגדויות, לא כהוכחה לגודל שוק. - המר את התקופה והאזור לערכים מפורשים. - לפני שימוש בקרדיטים, הצג את קריאות ה-API המתוכננות והמתן לאישור שלי. - אל תפרסם, תשלח, תזמן או תכתוב ל-CRM. - כתוב את התוצאה ל-./gtm-brief.md וסכם אותה בצ׳אט.
ההעתקה כוללת גם שלבי התקנה וכללי בטיחות.
מה מקבלים
פלט לדוגמה של ריצה אחת. לא יצירה חיה.
תקציר GTM — [סגמנט] ב[אזור]
הגדרת הסגמנט
צוותי תפעול קטנים שמנהלים לוחות זמנים בגיליונות אלקטרוניים. גודל: אין נתונים במקורות הציבוריים שנבדקו — בלי מקור אל תכניס מספר לתקציר.
שפת הקונים
- „אנחנו עדיין עושים את זה בגיליון אלקטרוני” — פוסט X, 2026-10-18
- „ההגדרה היא החלק הקשה” — פוסט X, 2026-10-02
מסומן כשפה, לא כהוכחה לשכיחות.
חלופות שהקונים מזכירים
גיליונות אלקטרוניים, חבילה קיימת ולא לעשות דבר. מקור: https://example.com/thread (2026-10-18).
התנגדויות וההוכחה הנדרשת
סקירת אבטחה ונתיב מיגרציה. קונים מבקשים המלצה בשם; אין לנו כזו פומבית, ולכן זו נשארת שאלה פתוחה.
שאלות פתוחות
- כמה מהסגמנט כבר יש לו שורת תקציב ייעודית?
- האם ההתנגדות משתנה לפי גודל החברה?
מקורות
- https://example.com/category-page
- https://example.com/pricing-page
- https://example.com/thread
הקריאות המדויקות
למפתחים: אותו תהליך עבודה כקוד, לפי סדר ההרצה.
הצג קריאות API אמיתיות
מסגרו את שאלת השוק
Chat מחזיר תשובה ואת העמודים שבהם השתמש, אז התחילו בשאלה צרה מספיק: מי קונה, מה משתמשים היום ואילו התנגדויות עולות. שמרו את המשאבים כקישורי רמז; התשובה היא רמז, הקישורים הם ראיה והם סוגרים את רשימת המקורות.
gtm.ts const BASE = "https://openapi.felo.ai"; const headers = { Authorization: `Bearer ${process.env.FELO_API_KEY}`, "Content-Type": "application/json", }; async function felo<T>(path: string, body?: unknown): Promise<T> { const res = await fetch(`${BASE}${path}`, { method: body ? "POST" : "GET", headers, body: body ? JSON.stringify(body) : undefined, }); if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`); return res.json() as Promise<T>; } type ChatData = { data: { answer: string; resources: { link: string; title: string; snippet: string }[]; }; }; const product = "scheduling tool"; // replace with your product const segment = "operations teams at 50-200 person companies"; const region = "DACH"; const market = await felo<ChatData>("/v2/chat", { query: `Who buys ${product} for ${segment} in ${region}, what do they use today, and what objections come up?`, }); const seedSources = market.data.resources.slice(0, 5);פלט לדוגמה
{ "answer": "Buyers in this segment usually start from spreadsheets and …", "sources": [ { "link": "https://example.com/category-page", "title": "…", "snippet": "…" } ] }קראו את עמודי הקטגוריה
הורידו את העמודים שממסגרים את השוק: סקירת קטגוריה, השוואה ומחירים. חלצו אותם כ-Markdown עם מצב קריאה ורשמו תאריך הורדה, כי איכות קריאת השוק תלויה בעמודים שמאחוריה.
gtm.ts type ExtractData = { data: { content: string } }; const marketPages = [ { url: "https://example.com/category", title: "Category overview" }, { url: "https://example.com/comparison", title: "Comparison page" }, { url: "https://example.com/pricing", title: "Pricing page" }, ]; const pages = await Promise.all( marketPages.map(async (page) => { const res = await felo<ExtractData>("/v2/web/extract", { url: page.url, output_format: "markdown", with_readability: true, with_cache: true, }); const checkedAt = new Date().toISOString().slice(0, 10); return { ...page, checkedAt, content: res.data.content }; }), );פלט לדוגמה
{ "url": "https://example.com/category", "checkedAt": "2026-10-30", "content": "# Category overview\n\nExtracted page text…" }אספו איך קונים מתארים את הבעיה
חפשו ב-X את המילים שקונים משתמשים בהן כשהם נתקלים בבעיה, לא את שם המוצר. שמרו חשבונות ותאריכים; התקציר משתמש בפוסטים לשפה והתנגדויות, ולעולם לא כמדד לגודל שוק או לתדירות.
gtm.ts type XData = { data: { tweets: { content: string; author: { username: string }; created_at: string; metrics: { retweet_count: number; favorite_count: number }; }[]; }; }; const since = Math.floor((Date.now() - 90 * 24 * 60 * 60 * 1000) / 1000); const language = await felo<XData>("/v2/x/tweet/search", { query: `(spreadsheet OR "scheduling tool") (alternative OR "looking for")`, limit: 25, since_time: since, }); const quotes = language.data.tweets.slice(0, 5);פלט לדוגמה
{ "data": { "tweets": [ { "content": "we are still doing this in a spreadsheet", "author": { "username": "example_ops" }, "created_at": "2026-10-18T11:05:00Z", "metrics": { "retweet_count": 1, "favorite_count": 18 } } ] } }כתבו את התקציר סביב ההחלטה
אחדו הגדרת פלח, שפת קונים, חלופות, התנגדויות ושאלות פתוחות ל-Markdown אחד. כל טענה שומרת מקור ותאריך, גודל שוק מופיע רק עם מקור, ומה שהמקורות הציבוריים לא עונים עליו עובר לשאלות פתוחות במקום להסקה.
gtm.ts const today = new Date().toISOString().slice(0, 10); const sourceLine = (title: string, url: string, date: string) => `- ${title}: ${url} (checked ${date})`; const brief = [ `# GTM brief — ${segment} in ${region}`, "", "## Segment definition", "See the category page for how the segment is described. Market size: Not available from public sources reviewed.", "", "## Buyer language", ...quotes.map((post) => `- @${post.author.username}, ${post.created_at.slice(0, 10)}: ${post.content}`), "", "## Alternatives buyers mention", "Spreadsheets, an incumbent suite, and doing nothing. Treated as language until a source ranks them.", "", "## Objections and proof required", "Migration path and a named reference. Marked open: whether the objection changes by company size.", "", "## Open questions", "- How much of the segment already has a dedicated budget line?", "- Which objection blocks a pilot most often?", "", "## Sources", ...pages.map((page) => sourceLine(page.title, page.url, page.checkedAt)), ...seedSources.map((source) => `- ${source.title}: ${source.link}`), ].join("\n"); console.log(brief);פלט לדוגמה
# GTM brief — operations teams at 50-200 person companies in DACH
שמרו את הראיות לשוק הבא
צרו LiveDoc אחד לפלח ולאזור, הוסיפו את העמודים שהורדו כמשאבי URL ואת התקציר כמסמך. השוק הבא מתחיל מאותם מקורות בלי להוריד שוב קטגוריות, והוספת URL שוב מוסרת כפילות.
gtm.ts type LiveDocData = { data: { short_id: string } }; const briefDoc = await felo<LiveDocData>("/v2/livedocs", { name: `GTM: ${segment} — ${region}`, description: `Market evidence checked ${today}`, }); await felo(`/v2/livedocs/${briefDoc.data.short_id}/resources/urls`, { urls: pages.map((page) => ({ url: page.url, title: page.title })), }); await felo(`/v2/livedocs/${briefDoc.data.short_id}/resources/doc`, { title: `GTM brief ${today}`, content: brief, }); console.log(briefDoc.data.short_id); // reuse for the next regionפלט לדוגמה
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
מה כלול
- קריאת שוק עם מקורות מ-Chat API והעמודים שמאחוריה
- עמודי קטגוריה, השוואה ומחירים כ-Markdown
- שפה והתנגדויות קונים מ-X עם חשבונות ותאריכים
- תקציר סביב החלטת השקה, לא סביב נושא
- LiveDoc כדי שהאזור או ההשקה הבאים ישתמשו שוב בראיות
מה זה לא עושה
- מקורות ציבוריים בלבד; בלי דוחות בתשלום, פאנלים או ראיונות לקוחות
- לעולם לא מעריך גודל או צמיחת שוק — בלי נתונים כותב „לא זמין”
- פוסטים ב-X הם שפה ואות, לא מדגם קונים מייצג
- לא בוחר עבורכם פלח או מחיר
- לא מפרסם את התקציר ולא כותב ל-CRM
שאלות
צריך דוח שוק בתשלום?
לא. התהליך קורא מקורות ציבוריים ומסמן פערים. אם יש לכם דוח, הוסיפו אותו כמסמך ב-LiveDoc וצטטו כמו כל מקור אחר.
אפשר לחקור שוק בשפה אחרת?
כן. הגדירו אזור ושפה. הציטוטים נשארים בשפת המקור עם תרגום לצדם, כדי שמבקר מקומי יבדוק את הניסוח.
האם אקבל גודל שוק?
רק כשמקור מציין אותו, עם קישור ותאריך. אחרת התקציר כותב „לא זמין” במקום להמציא מספר או להסיק מפוסט אחד.
האם הוא מדבר עם לקוחות?
לא. הוא קורא מקורות ציבוריים. הוסיפו הערות ראיונות כמסמך וסמנו כפנימיות; התקציר לעולם לא מציג הערה פרטית כראיה ציבורית.
מה ההבדל מתקציר מחקר?
תקציר מחקר עונה על שאלה אחת. התהליך הזה מסדר ראיות סביב החלטת go-to-market — פלח, שפת קונים, חלופות, התנגדויות וראיות שהקונים מבקשים — כדי להזין תוכנית השקה.
כמה עולה תקציר אחד?
כל קריאת צ׳אט, חילוץ וחיפוש X צורכת קרדיטים לפי שימוש; התעריפים העדכניים בעמוד המחירים. הפרומפט מבקש אישור לפני הוצאה.
תהליכי עבודה קשורים
הפכו שאלה אחת לתקציר מחקר עם מקורות
שאלו את האינטרנט, שמרו את העמודים שמאחורי התשובה כ-Markdown, הוסיפו מה שמתרגלים אומרים ב-X ושמרו את הראיות ב-LiveDoc שאפשר לחפש בו שוב.
פתח תהליך עבודהמחקרבנו ניתוח מתחרים שצוות המכירות יכול להשתמש בו
אספו את עמודי המתחרה, את הסיקור סביבו ומה קונים אומרים ב-X, ואז הרכיבו ניתוח שבו לכל טענה יש מקור, תאריך וסטטוס.
פתח תהליך עבודהמשרדהפכו עמוד מחקר למצגת
חלצו את העמוד, שמרו כהקשר LiveDoc, תנו ל-PPT Task API לבנות את המצגת ושאלו עד שהקישור מוכן.
פתח תהליך עבודההתאימו
אותו מתכון, מותאם לאיך שאתם באמת מספקים.
הריצו לפי אזור
שמרו על מבנה הסעיפים והחליפו רק אזור ושפה. LiveDoc אחד לאזור ואותן שאלות, כדי שהתקצירים יהיו ברי השוואה.
הוסיפו הערות ראיונות
הדביקו הערות שיחות לקוח כמסמך וסמנו כפנימיות. התקציר יכול לצטט אותן לצד ראיות ציבוריות, אבל לא מציג הערה פרטית כמקור ציבורי.
הזינו את מצגת ההשקה
העבירו את סעיף ההתנגדויות והראיות לתהליך המצגת עם רשימת המקורות. התקציר נשאר שכבת הראיות; המצגת היא הצגה, לא מקור אמת שני.
המשיכו
עמודי העזר שמאחורי המתכון והשלבים הבאים.