מחקר
חקרו נישת מוצר לפני הזמנת מלאי
אספו הקשר קטגוריה, תפסו עמודי מתחרים בתאריך מוצהר, קראו תלונות קונים ב-X ושמרו ראיות ותקציר ב-LiveDoc אחד לבדיקה לפני ההזמנה.
העתיקו את הפרומפט
החליפו את השדות בסוגריים מרובעים והדביקו ב-Claude Code, Codex או AI עם גישה לטרמינל. הוא מתקין את סקיל Felo, שואל לפני שריפת קרדיטים ומריץ את תהליך העבודה.
חקור את נישת המוצר הזו לפני הזמנת מלאי או השקה: [מוצר או קטגוריה]. שוק: [מדינה או אזור]. ערוץ: [מרקטפלייס / DTC / קמעונאות]. תקופת פוסטים של קונים: [30] הימים האחרונים. מוצרים דומים או URLs של מתחרים: [URLs]. מגבלות תקציב וריווח: [מגבלות]. קהל: [צוות]. הפק מזכר ב-Markdown הכולל: 1. פסק דין בפסקה אחת: האם שווה לחקור עוד, ומה ישנה את דעתך. 2. אותות ביקוש: מה המקורות אומרים על עניין, עונתיות ותחליפים. 3. מוצרים מתחרים: מה כל אחד טוען, המחיר שנלכד בעמוד והיכן הקונים אומרים שהוא מחסיר. 4. מיצוב מחיר: נקודות המחיר שנמצאו בפועל בעמודים, כל אחת עם תאריך הלכידה. 5. תלונות וצרכים לא מסופקים, עם ציטוטים, חשבונות ותאריכים. 6. סיכונים ושאלות פתוחות לפתור לפני רכישת מלאי. 7. מקורות: כל עמוד ופוסט ששימשו, עם URL ותאריך. כללים: - השתמש רק במה שה-API מחזיר. לעולם אל תמציא גודל שוק, אומדני מכירות, מספר ביקורות או מחירי מתחרים. - דווח מחירים בדיוק כפי שנלכדו, עם URL העמוד ותאריך הלכידה. לעולם אל תמצע או תנרמל. - התייחס לפוסטים ב-X כאנקדוטה, לא כנתוני שוק, ואמור זאת כשהמדגם דק. - הפרד בין טענת הספק לדיווח הקונה. - לפני שימוש בקרדיטים, הצג את החילוצים והחיפושים המתוכננים והמתן לאישור שלי. - אל תצור קשר עם ספקים, אל תבצע הזמנות ואל תשלח הודעות לאף אחד ב-X. - כתוב את התוצאה ל-./product-research.md וסכם אותה בצ׳אט.
ההעתקה כוללת גם שלבי התקנה וכללי בטיחות.
מה מקבלים
פלט לדוגמה של ריצה אחת. לא יצירה חיה.
מחקר מוצר — קטגוריית דוגמה
הכרעה
שווה מבט קרוב יותר, אבל הראיות הפומביות לא מספיקות להחלטת מלאי. השאלות הפתוחות למטה הן הצעד הבא.
הקשר הקטגוריה
קונים משווים שטח משטח וניקיון יותר מאשר לחץ. אין מקור פומבי שתומך בהערכת גודל שוק.
עמודי מתחרים
- Example A — עמוד מוצר (נלכד ב-2026-10-30)
- Example B — עמוד מוצר (נלכד ב-2026-10-30)
מה הקונים מדווחים
- @example_buyer: „החלפה שלישית בשנה; האטם נכשל.” — 2026-10-19
- @example_home: „הניקוי לוקח דקות, ואף אחד לא מזכיר.” — 2026-10-24
מיצוב מחיר
המחירים נלכדו ב-2026-10-30 מהעמודים המקושרים. הם בשתי מדרגות; כל עמוד מצוטט ישירות, בלי ממוצע.
סיכונים ושאלות פתוחות
- עמידות האטם היא התלונה החוזרת ביותר.
- אין מקור שמכסה שיעורי החזרה.
- לבדוק זמני ספק ועלות נחיתה לפני הזמנה.
מקורות
- https://example.com/product-a — 2026-10-30
- https://x.com/example_buyer/status/... — 2026-10-19
הקריאות המדויקות
למפתחים: אותו תהליך עבודה כקוד, לפי סדר ההרצה.
הצג קריאות API אמיתיות
בקשו מ-Chat תמונת קטגוריה
התחילו בתשובה עם מקורות, לא בדף ריק: Chat מחפש באינטרנט הציבורי, מדרג עמודים ומחזיר משאבים שבהם השתמש. שאלו בשאילתה אחת על הקשר ביקוש, תחליפים ותלונות נפוצות, ואז שמרו את המשאבים המובילים כרשימת ראיות.
product-research.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 niche = "portable espresso maker"; // replace with the category you are judging const context = await felo<ChatData>("/v2/chat", { query: `Demand, price bands, and buyer complaints for ${niche} in the US`, }); const sources = context.data.resources.slice(0, 5);פלט לדוגמה
{ "answer": "Buyers compare on counter space and cleanup …", "sources": [ { "link": "https://example.com/category-guide", "title": "…", "snippet": "…" } ] }תפסו עמודי מתחרים
חלצו שניים או שלושה עמודי מוצר של מתחרים כ-Markdown עם מצב קריאה. המטרה היא הטענה והמחיר בעמוד היום, לא גיליון מפרט שנכתב מחדש. שמרו URL עם התוכן ורשמו תאריך תפיסה: מחיר בלי תאריך הוא שמועה.
product-research.ts const PRODUCT_PAGES = [ { url: "https://example.com/product-a", title: "Example A — product page" }, { url: "https://example.com/product-b", title: "Example B — product page" }, ]; type ExtractData = { data: { content: string } }; const listings = await Promise.all( PRODUCT_PAGES.map((page) => felo<ExtractData>("/v2/web/extract", { url: page.url, output_format: "markdown", with_readability: true, }).then((extracted) => ({ ...page, content: extracted.data.content })), ), );פלט לדוגמה
[ { "url": "https://example.com/product-a", "title": "Example A — product page", "content": "# Example A\n\nSpecs and price as displayed…" } ]קראו מה קונים מדווחים ב-X
עמודי ספקים מפרטים תכונות; קונים מתארים כשלים. חפשו את הנישה עם מילות חיכוך — משלוח, איכות, החזר — ב-30 יום ושמרו חשבון, תאריך וקישור. אלה אנקדוטות, לא נתוני ביקוש, והתקציר חייב לומר זאת.
product-research.ts type XData = { data: { tweets: { content: string; author: { username: string }; created_at: string; metrics: { retweet_count: number; favorite_count: number; reply_count: number }; url: string; }[]; }; }; const since = Math.floor((Date.now() - 30 * 24 * 60 * 60 * 1000) / 1000); const search = await felo<XData>("/v2/x/tweet/search", { query: `"${niche}" (shipping OR quality OR refund)`, limit: 50, since_time: since, }); const complaints = search.data.tweets;פלט לדוגמה
{ "data": { "tweets": [ { "content": "Third replacement in a year; the seal fails.", "author": { "username": "example_buyer" }, "created_at": "2026-10-19T15:02:00Z", "metrics": { "retweet_count": 1, "favorite_count": 12, "reply_count": 3 }, "url": "https://x.com/example_buyer/status/..." } ] } }כתבו את התקציר
השלב הזה הוא קוד פשוט: אחדו את תשובת הקטגוריה, תאריכי התפיסה, ציטוטי קונים ורשימת המקורות ל-Markdown אחד. היו כנים לגבי שאלות פתוחות — התקציר שימושי כי הוא מפריד בין מה שהעמודים מוכיחים לבין מה שצריך לאשר מול ספק.
product-research.ts const capturedOn = new Date().toISOString().slice(0, 10); const memo = [ `# Product research — ${niche}`, "", "## Category context", context.data.answer, "", "## Competitor pages", ...listings.map( (page) => `- [${page.title}](${page.url}) — captured ${capturedOn}`, ), "", "## What buyers report", ...complaints.slice(0, 10).map( (post) => `- @${post.author.username} (${post.created_at.slice(0, 10)}): ${post.content}`, ), "", "## Sources", ...sources.map((source) => `- [${source.title}](${source.link})`), ].join("\n"); console.log(memo);ארכבו ראיות ב-LiveDoc
הריצו פעם אחת לנישה: צרו LiveDoc ושמרו
short_idבהגדרות. הוסיפו עמודי מתחרים ומקורות Chat כמשאבי URL כדי שהארכיון יסיר כפילות, ואז את התקציר כמסמך. לפני קנייה חפשו בתפיסות וראו אילו מחירים זזו.product-research.ts type LiveDocData = { data: { short_id: string } }; const research = await felo<LiveDocData>("/v2/livedocs", { name: `Product research: ${niche}`, description: "Competitor pages, buyer posts, and the memo", }); await felo(`/v2/livedocs/${research.data.short_id}/resources/urls`, { urls: [ ...listings.map((page) => ({ url: page.url, title: page.title })), ...sources.map((source) => ({ url: source.link, title: source.title })), ].slice(0, 10), }); await felo(`/v2/livedocs/${research.data.short_id}/resources/doc`, { title: `Product memo — ${capturedOn}`, content: memo, });פלט לדוגמה
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
מה כלול
- תמונת קטגוריה עם מקורות מ-Chat והעמודים שמאחוריה
- עמודי מתחרים כ-Markdown עם תאריך תפיסה
- תלונות קונים ב-X עם חשבונות, תאריכים וקישורים
- תקציר Markdown מהקלטים האלה
- LiveDoc אחד עם הראיות והתקציר
מה זה לא עושה
- מקורות ציבוריים בלבד; דוחות בתשלום, הצעות ספקים ומכירות פנימיות מחוץ לתחום
- לא מעריך גודל שוק, נפח או מרווח
- מחירים נרשמים כפי שנתפסו, בלי נרמול או ממוצע
- פוסטים ב-X הם אנקדוטות, לא נתוני ביקוש
- לא יוצר קשר עם ספקים, לא מזמין ולא משנה רשימות
שאלות
מאיפה הקשר השוק?
Chat API מחזיר תשובה עם מקורות ואת העמודים הציבוריים שבהם השתמש. עמודי מתחרים מגיעים מה-URL שלכם ו-Web Fetch מחלץ אותם; פוסטי קונים מ-X Search. בלי נתוני מכירה פרטיים.
האם הוא אומר אם המוצר יימכר?
לא. הוא מסדר ראיות ציבוריות — הקשר, מחירים שנתפסו ותלונות — וכותב מה לא ידוע. אימות ביקוש דורש את הנתונים שלכם: פרסום, הזמנות מראש או שיחות עם ספקים.
אם המרקטפלייס חוסם חילוץ?
Web Fetch מושך עמודים ציבוריים URL אחד בכל פעם וחלק מהאתרים חוסמים. השתמשו בעמוד מוצר או ספק נגיש ותנו לתקציר לסמן את התפיסה החסרה במקום לנחש מחיר.
איך נמנעים ממחירי מתחרים מיושנים?
כל מחיר בתקציר קשור ל-URL ולתאריך התפיסה. הריצו שוב את החילוץ סמוך להחלטת הקנייה; הארכיון שומר תפיסות קודמות כדי לראות תנועות.
האם הוא יוצר קשר עם ספקים או מוכרים?
לא. התהליך רק קורא: מחלץ עמודים, מחפש פוסטים ציבוריים וכותב תקציר מקומי. לא שולח הודעות, לא מזמין ולא משנה רשימות.
כמה עולה מחקר אחד?
כל קריאת Chat, חילוץ וחיפוש X צורכת קרדיטים לפי שימוש; התעריפים העדכניים בעמוד המחירים. הפרומפט מבקש אישור לפני הוצאה.
תהליכי עבודה קשורים
הפכו שאלה אחת לתקציר מחקר עם מקורות
שאלו את האינטרנט, שמרו את העמודים שמאחורי התשובה כ-Markdown, הוסיפו מה שמתרגלים אומרים ב-X ושמרו את הראיות ב-LiveDoc שאפשר לחפש בו שוב.
פתח תהליך עבודהתוכןהפכו שיחות חברתיות לתקציר האזנה שבועי
חפשו פוסטים ב-X מהשבוע על המותג והמתחרים, הוסיפו הקשר אינטרנט עם מקורות, קראו את העמודים שמאחוריו וארכבו כל מהדורה כדי שהשבוע הבא יתחיל ממה שידוע.
פתח תהליך עבודהמשרדהפכו עמוד מחקר למצגת
חלצו את העמוד, שמרו כהקשר LiveDoc, תנו ל-PPT Task API לבנות את המצגת ושאלו עד שהקישור מוכן.
פתח תהליך עבודההתאימו
אותו מתכון, מותאם לאיך שאתם באמת מספקים.
הוסיפו תמלולי ביקורות וידאו
כשיש ביקורות וידאו בקטגוריה, קחו תמלול עם YouTube Subtitling והוסיפו שניים או שלושה ציטוטים עם חותמות זמן לסעיף הקונים. ביקורת וידאו היא חוויה של אדם אחד: שמרו את תווית האנקדוטה.
השוו שני מועמדים
הריצו את אותם שלבים לכל מועמד והעמידו את התקצירים זה לצד זה: תכונות מוצהרות, מחיר שנתפס, תלונה חוזרת ושאלה פתוחה. ההשוואה נשארת איכותית עד שיש נתוני מכירות או החזרות.
עדכנו לפני קנייה
הריצו שוב את החילוץ יום לפני ההזמנה. שמרו את אותו LiveDoc והוסיפו תקציר חדש כדי שהארכיון יראה מה השתנה בין המחקר לקנייה.
המשיכו
עמודי העזר שמאחורי המתכון והשלבים הבאים.