Дослідження
Дослідіть продуктоку нішу перед замовленням складу
Зберіть контекст категорії, зафіксуйте сторінки конкурентів на вказану дату, прочитайте скарги покупців на X і тримайте докази та мемо в одному LiveDoc для перегляду перед замовленням.
Скопіювати промпт
Замініть поля в квадратних дужках і вставте в Claude Code, Codex або AI з доступом до термінала. Він встановить скіл Felo, запитає перед витратою кредитів і запустить процес.
Досліди цю товарну нішу перед закупівлею або запуском: [продукт або категорія]. Ринок: [країна або регіон]. Канал: [маркетплейс / DTC / роздріб]. Період дописів покупців: останні [30] днів. Порівнювані продукти або URL конкурентів: [URL]. Обмеження бюджету й маржі: [обмеження]. Аудиторія: [команда]. Створи 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 із режимом читання. Мета — твердження й ціна на сторінці сьогодні, а не переписаний spec sheet. Тримайте 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 і додайте нове мемо, щоб архів показав, що змінилося між дослідженням і покупкою.
Далі
Довідкові сторінки за цим рецептом і наступні кроки.