מחקר
בנו ניתוח מתחרים שצוות המכירות יכול להשתמש בו
אספו את עמודי המתחרה, את הסיקור סביבו ומה קונים אומרים ב-X, ואז הרכיבו ניתוח שבו לכל טענה יש מקור, תאריך וסטטוס.
העתיקו את הפרומפט
החליפו את השדות בסוגריים מרובעים והדביקו ב-Claude Code, Codex או AI עם גישה לטרמינל. הוא מתקין את סקיל Felo, שואל לפני שריפת קרדיטים ומריץ את תהליך העבודה.
הכן ניתוח מתחרה של [שם המתחרה] עבור [המוצר שלנו]. היקף: [סגמנט], [אזור], [שפה]. תקופה: [90 הימים האחרונים / 12 החודשים האחרונים]. ההחלטה שהוא תומך בה: [שינוי מחיר / מיצוב השקה / טיפול בהתנגדויות]. מקורות התחלה: [דומיין המתחרה], [URL עמוד המחירים], [URL ה-changelog]. הפק ניתוח ב-Markdown הכולל: 1. איך הם ממצבים את עצמם, במילים שלהם. 2. טבלת ראיות: טענה, שם המקור, URL, תאריך, סטטוס (Verified / Vendor claim / Third-party / Signal / Inference / Not verified). 3. מחירים: מה כתוב בעמוד, עם הקישור ותאריך הבדיקה. לעולם אל תעתיק מחיר לטקסט בלי העמוד והתאריך. 4. נקודות שבהן הקונים מתנגדים, עם חשבונות X ותאריכים, מסומן כאות. 5. מה עלינו לעשות הלאה, מסומן כהמלצה. 6. רשימת מקורות מלאה. כללים: - צטט את המיצוב שלהם; אל תנסח אותו מחדש לטענה חזקה יותר. - הפרד טענות ספק, סיקור צד שלישי והסקות שלך. סמן כל שורה. - לעולם אל תמציא מחיר, מדד, שם לקוח או benchmark. נתון חסר הוא „אין נתונים”. - המר את התקופה והאזור לערכים מפורשים. - לפני שימוש בקרדיטים, הצג את קריאות ה-API המתוכננות והמתן לאישור שלי. - אל תפרסם, תשלח, תזמן או תכתוב ל-CRM. - כתוב את התוצאה ל-./competitor-teardown.md וסכם אותה בצ׳אט.
ההעתקה כוללת גם שלבי התקנה וכללי בטיחות.
מה מקבלים
פלט לדוגמה של ריצה אחת. לא יצירה חיה.
ניתוח מתחרה — [מתחרה], נבדק ב-2026-10-30
איך הם ממצבים את עצמם
כותרת דף הבית: „הפלטפורמה לצוותי תמיכה בצמיחה”. עמוד הקטגוריה: „כל מה שצוות התמיכה שלך צריך”. שניהם טענות ספק, מצוטטים ככתבם.
טבלת ראיות
| טענה | מקור | תאריך | סטטוס |
|---|---|---|---|
| ממצב את עצמו כפלטפורמה, לא ככלי נקודתי | https://example.com/competitor/home | 2026-10-30 | Verified |
| מוציא שינויים מדי שבוע | https://example.com/competitor/changelog | 2026-10-28 | Verified |
| מוזכר בסבבים עצמאיים | https://example.com/roundup | 2026-10-27 | Third-party |
| קונים מזכירים אונבורדינג איטי | פוסט X המצוטט למטה | 2026-10-14 | Signal |
| Enterprise הוא הסגמנט הגדול שלהם | אין נתונים | — | Not verified |
תמחור
עמוד התמחור מציג תוכנית מדורגת ותוכנית לפי שימוש. התעריפים לא חוזרים כאן; בדוק את העמוד החי והתאריך: https://example.com/competitor/pricing (2026-10-30).
היכן הקונים מתנגדים
@example_dev, 2026-10-14: „ההתקנה ארכה יותר ממה שהדמו רמז”. פוסט מתוארך אחד; זו תלונה, לא הערכת שכיחות.
המלצה
להוביל עם זמן עד לתוצאה הראשונה בעמוד ההשוואה. זו הסקה שלנו, לא טענת המתחרה.
מקורות
- https://example.com/competitor/home
- https://example.com/competitor/pricing
- https://example.com/competitor/changelog
הקריאות המדויקות
למפתחים: אותו תהליך עבודה כקוד, לפי סדר ההרצה.
הצג קריאות API אמיתיות
התחילו מבסיס עם מקורות
Chat מחזיר תשובה ואת העמודים שבהם השתמש, מפה של היכן מדברים על המתחרה. התייחסו לתשובה כרמז, לא כמקור: שמרו את הקישורים, הם נותנים את שורות הצד השלישי. העוזר שולח את המפתח פעם אחת וזורק שגיאה מחוץ ל-2xx.
competitor.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 competitor = "Example Competitor"; const segment = "mid-market support teams"; const baseline = await felo<ChatData>("/v2/chat", { query: `How does ${competitor} position itself for ${segment}? Include pricing and recent launches.`, }); const seedSources = baseline.data.resources.slice(0, 5);פלט לדוגמה
{ "answer": "The competitor positions itself as …", "sources": [ { "link": "https://example.com/competitor", "title": "…", "snippet": "…" } ] }הורידו את העמודים שהם שולטים בהם
סיקור צד שלישי מראה מה אנשים חושבים; העמודים שלהם מראים מה הם טוענים. חלצו דף בית, מחירים ו-changelog כ-Markdown עם מצב קריאה ורשמו תאריך הורדה: עמוד מחירים בלי תאריך הוא מלכודת.
competitor.ts type ExtractData = { data: { content: string } }; const ownedPages = [ { url: "https://example.com/competitor/home", title: "Homepage" }, { url: "https://example.com/competitor/pricing", title: "Pricing" }, { url: "https://example.com/competitor/changelog", title: "Changelog" }, ]; const fetched = await Promise.all( ownedPages.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/competitor/pricing", "checkedAt": "2026-10-30", "content": "# Pricing\n\nExtracted page text…" }ראו מה קונים אומרים ב-X
חפשו ב-X התנגדויות ועקיפות סביב המתחרה. שמרו חשבון ותאריך לכל פוסט; ציטוט מתוארך מוכיח תלונה, לא את תדירותה. הניתוח מסמן זאת כאות ולעולם לא הופך כמה פוסטים לאחוז.
competitor.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 buyerSignal = await felo<XData>("/v2/x/tweet/search", { query: `"${competitor}" (pricing OR onboarding OR migration)`, limit: 25, since_time: since, }); const objections = buyerSignal.data.tweets.slice(0, 5);פלט לדוגמה
{ "data": { "tweets": [ { "content": "setup took longer than the demo suggested", "author": { "username": "example_dev" }, "created_at": "2026-10-14T09:20:00Z", "metrics": { "retweet_count": 3, "favorite_count": 24 } } ] } }הרכיבו את הניתוח עם טבלת ראיות
זה שלב עריכתי: הפכו עמודים ופוסטים לטענות ותנו לכל אחת מקור, תאריך וסטטוס. עמודת הסטטוס שומרת על יושר המסמך:
Verifiedלמה שהעמוד אומר,Vendor claimלשיווק,Third-partyלסיקור חיצוני,Signalלפוסט מתוארך,Inferenceלקריאה שלכם ו-Not verifiedבלי ראיות.competitor.ts const today = new Date().toISOString().slice(0, 10); const row = (claim: string, source: string, date: string, status: string) => `| ${claim} | ${source} | ${date} | ${status} |`; const teardown = [ `# Competitor teardown — ${competitor}`, `Scope: ${segment}. Checked ${today}.`, "", "| Claim | Source | Date | Status |", "| --- | --- | --- | --- |", row("Free tier listed on the pricing page", ownedPages[1].url, fetched[1].checkedAt, "Verified"), row("Positions as a platform, not a point tool", ownedPages[0].url, fetched[0].checkedAt, "Vendor claim"), row("Discussed in independent coverage", seedSources[0]?.link ?? "Not available", today, "Third-party"), row("Buyers report onboarding friction", "X post, quoted below", today, "Signal"), row("Most revenue comes from enterprise", "Not available", "—", "Not verified"), "", "## Recommendation", "Lead with time-to-first-result on the comparison page. Inference, not a competitor claim.", ].join("\n"); console.log(teardown);פלט לדוגמה
| Free tier listed on the pricing page | https://example.com/competitor/pricing | 2026-10-30 | Verified |
ארכבו ב-LiveDoc לעדכון הבא
צרו LiveDoc אחד לכל מתחרה, הוסיפו את העמודים שהורדו כמשאבי URL ואת הניתוח כמסמך. הוספת URL שוב מוסרת כפילות, כך שברבעון הבא מורידים רק שינויים והניתוח הקודם נשאר באותו ארכיון.
competitor.ts type LiveDocData = { data: { short_id: string } }; const teardownDoc = await felo<LiveDocData>("/v2/livedocs", { name: `Teardown: ${competitor}`, description: `Sources and teardown checked ${today}`, }); await felo(`/v2/livedocs/${teardownDoc.data.short_id}/resources/urls`, { urls: fetched.map((page) => ({ url: page.url, title: page.title })), }); await felo(`/v2/livedocs/${teardownDoc.data.short_id}/resources/doc`, { title: `Teardown ${today}`, content: teardown, }); console.log(teardownDoc.data.short_id); // the next refresh reuses this LiveDocפלט לדוגמה
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
מה כלול
- בסיס עם מקורות מ-Chat API והעמודים שמאחוריו
- דף הבית, המחירים וה-changelog של המתחרה כ-Markdown
- תגובות קונים מתוארכות מ-X, מסומנות כאות ולא כראיה
- טבלת ראיות שמפרידה עובדות מאומתות, טענות ספק והסקה
- LiveDoc ששומר את המקורות כדי לא להתחיל מאפס
מה זה לא עושה
- מקורות ציבוריים בלבד; בלי ראיונות זכייה/הפסד, הערות CRM או לוחות מחוונים פרטיים
- מחירים מקושרים ומתוארכים, ולעולם לא קפואים בטבלה בלי תאריך בדיקה
- כיסוי X חלקי ואינו מדגם קונים מייצג
- לא בוחר את המיצוב שלכם; ההמלצות מסומנות כהסקה
- לא מפרסם את הניתוח ולא כותב לכלי battlecard
שאלות
מאיפה הראיות?
Chat API מחזיר בסיס עם מקורות והעמודים שבהם השתמש, Web Fetch ממיר את עמודי המתחרה ל-Markdown ו-X Search מוסיף פוסטים מתוארכים. כל שורה שומרת מקור ותאריך, ולהסקה יש סטטוס משלה.
אפשר לכסות כמה מתחרים?
כן. הריצו את אותו פרומפט לכל מתחרה ושמרו LiveDoc אחד לכל חברה. עמוד השוואה מאחד רק שורות „מאומת”, בלי לערבב ראיות משתי ריצות.
אפשר לצטט את המחירים שלהם?
התהליך מתעד מה אומר עמוד המחירים, עם קישור ותאריך בדיקה. הוא לא מקפיא תעריפים בטקסט כי מחירים משתנים ומספר ישן גרוע מאין מספר.
והערות הזכייה/הפסד שלנו?
הוא קורא רק מקורות ציבוריים. הוסיפו הערות פנימיות כמסמך נפרד ב-LiveDoc וסמנו כפנימיות; הן לעולם לא מצוטטות בחומרי לקוחות.
כל כמה זמן לעדכן?
לפי טריגר, לא לפי לוח שנה: שינוי מחיר, השקה או תחילת מחזור מכירות. הריצו שוב באותו LiveDoc כדי שהרבעון הקודם יעמוד לצד החדש.
כמה עולה ניתוח אחד?
כל קריאת צ׳אט, חילוץ וחיפוש X צורכת קרדיטים לפי שימוש; התעריפים העדכניים בעמוד המחירים. הפרומפט מבקש אישור לפני הוצאה.
תהליכי עבודה קשורים
הפכו שאלה אחת לתקציר מחקר עם מקורות
שאלו את האינטרנט, שמרו את העמודים שמאחורי התשובה כ-Markdown, הוסיפו מה שמתרגלים אומרים ב-X ושמרו את הראיות ב-LiveDoc שאפשר לחפש בו שוב.
פתח תהליך עבודהמחקרהפכו שאלת שוק לתקציר go-to-market
שאלו את השוק שאלה מדויקת, קראו את עמודי הקטגוריה והמחירים שמאחורי התשובה, אספו איך קונים מתארים את הבעיה ב-X ושמרו תקציר GTM עם טענות ממקורות ושאלות פתוחות.
פתח תהליך עבודהתוכןפרסמו סיכום חדשות AI יומי שהצוות באמת קורא
קבלו סיכום עם מקורות, הוסיפו דיוני מתרגלים ב-X, קחו תמלול וידאו, הרכיבו מהדורה ב-Markdown וארכבו ב-LiveDoc.
פתח תהליך עבודההתאימו
אותו מתכון, מותאם לאיך שאתם באמת מספקים.
עדכנו לפי טריגר, לא לפי לוח שנה
הריצו שוב כשהמתחרה משנה מחירים, עושה השקה גדולה או לפני מחזור מכירות. שמרו כל ניתוח כמסמך מתוארך באותו LiveDoc.
הפכו את הניתוח ל-battlecards
מאותה טבלה כתבו עמוד לכל תפקיד — קונה כלכלי, champion, סוקר טכני — רק עם שורות `Verified` והקישורים. השאירו `Inference` מחוץ לחומרי לקוחות.
השוו שני מתחרים
הריצו את התהליך לכל מתחרה עם LiveDocs נפרדים ובנו עמוד השוואה רק משורות `Verified` בשתי הריצות. לעולם אל תאחדו שתי ריצות בלי עמודת סטטוס.
המשיכו
עמודי העזר שמאחורי המתכון והשלבים הבאים.