Nghiên cứu
Nghiên cứu ngách sản phẩm trước khi nhập hàng
Thu thập bối cảnh danh mục, chụp trang đối thủ vào ngày đã nêu, đọc điều người mua phàn nàn trên X và giữ bằng chứng cùng bản ghi nhớ trong một LiveDoc để xem lại trước khi đặt hàng.
Sao chép prompt
Thay các trường trong ngoặc vuông rồi dán vào Claude Code, Codex hoặc AI có quyền truy cập terminal. Nó cài skill Felo, hỏi trước khi dùng credit và chạy quy trình.
Nghiên cứu ngách sản phẩm này trước khi nhập hàng hoặc ra mắt: [sản phẩm hoặc danh mục]. Thị trường: [quốc gia hoặc khu vực]. Kênh: [sàn TMĐT / DTC / bán lẻ]. Khung thời gian cho bài đăng người mua: [30] ngày qua. Sản phẩm tương đương hoặc URL đối thủ: [URL]. Ràng buộc ngân sách và biên lợi nhuận: [ràng buộc]. Độc giả: [nhóm]. Tạo bản ghi nhớ Markdown gồm: 1. Kết luận một đoạn: có đáng nghiên cứu tiếp không và điều gì sẽ thay đổi ý kiến của bạn. 2. Tín hiệu nhu cầu: nguồn nói gì về mức quan tâm, tính mùa vụ và sản phẩm thay thế. 3. Sản phẩm cạnh tranh: từng sản phẩm tuyên bố gì, giá ghi nhận trên trang và người mua nói nó thiếu gì. 4. Định vị giá: các mức giá thực sự tìm thấy trên trang, mỗi mức kèm ngày ghi nhận. 5. Phàn nàn và nhu cầu chưa đáp ứng, kèm trích dẫn, tài khoản và ngày. 6. Rủi ro và câu hỏi mở cần giải quyết trước khi mua hàng. 7. Nguồn: mọi trang và bài đăng đã dùng, kèm URL và ngày. Quy tắc: - Chỉ dùng những gì API trả về. Không bịa quy mô thị trường, ước tính bán hàng, số đánh giá hay giá đối thủ. - Báo giá đúng như đã ghi nhận, kèm URL trang và ngày ghi nhận. Không bao giờ lấy trung bình hay chuẩn hóa. - Coi bài đăng X là giai thoại, không phải dữ liệu thị trường, và nói rõ khi mẫu quá mỏng. - Tách điều nhà cung cấp tuyên bố khỏi điều người mua báo lại. - Trước khi tiêu tín dụng, hiển thị các lần trích xuất và tìm kiếm dự định và chờ tôi phê duyệt. - Không liên hệ nhà cung cấp, không đặt hàng và không nhắn ai trên X. - Ghi kết quả vào ./product-research.md và tóm tắt trong chat.
Bản sao cũng gồm các bước cài đặt và quy tắc an toàn.
Bạn nhận được gì
Kết quả mẫu của một lần chạy. Không phải tạo trực tiếp.
Nghiên cứu sản phẩm — danh mục ví dụ
Kết luận
Đáng xem kỹ hơn, nhưng bằng chứng công khai chưa đủ để quyết định tồn kho. Các câu hỏi mở bên dưới là bước tiếp theo.
Bối cảnh danh mục
Người mua so sánh không gian mặt bàn và vệ sinh hơn là áp lực. Không nguồn công khai nào hỗ trợ ước lượng quy mô thị trường.
Trang đối thủ
- Example A — trang sản phẩm (ghi ngày 2026-10-30)
- Example B — trang sản phẩm (ghi ngày 2026-10-30)
Người mua báo gì
- @example_buyer: “Thay lần thứ ba trong một năm; gioăng hỏng.” — 2026-10-19
- @example_home: “Vệ sinh mất vài phút, không ai nhắc.” — 2026-10-24
Định vị giá
Giá được ghi ngày 2026-10-30 từ các trang liên kết. Chia hai mức; mỗi trang được trích trực tiếp, không lấy trung bình.
Rủi ro và câu hỏi mở
- Độ bền gioăng là phàn nàn lặp lại nhất.
- Không nguồn nào đề cập tỷ lệ trả hàng.
- Kiểm tra thời gian giao và chi phí đến trước khi đặt.
Nguồn
- https://example.com/product-a — 2026-10-30
- https://x.com/example_buyer/status/... — 2026-10-19
Các lệnh gọi chính xác
Dành cho lập trình viên: cùng quy trình dưới dạng mã, theo thứ tự chạy.
Hiện lệnh gọi API thật
Hỏi Chat ảnh danh mục
Bắt đầu từ câu trả lời có nguồn, không phải trang trắng: Chat tìm web công khai, xếp hạng trang và trả tài nguyên đã dùng. Hỏi một lần về bối cảnh nhu cầu, lựa chọn thay thế và phàn nàn phổ biến, rồi giữ tài nguyên đầu làm danh sách bằng chứng.
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);Kết quả mẫu
{ "answer": "Buyers compare on counter space and cleanup …", "sources": [ { "link": "https://example.com/category-guide", "title": "…", "snippet": "…" } ] }Chụp trang đối thủ
Trích hai hoặc ba trang sản phẩm đối thủ thành Markdown với chế độ đọc. Mục tiêu là tuyên bố và giá trên trang hôm nay, không phải bảng thông số viết lại. Giữ URL cạnh nội dung và ghi ngày chụp: giá không ngày là tin đồn.
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 })), ), );Kết quả mẫu
[ { "url": "https://example.com/product-a", "title": "Example A — product page", "content": "# Example A\n\nSpecs and price as displayed…" } ]Đọc điều người mua báo trên X
Trang nhà cung cấp liệt kê tính năng; người mua mô tả lỗi. Tìm ngách cùng từ ma sát — vận chuyển, chất lượng, hoàn tiền — trong 30 ngày và giữ tài khoản, ngày, liên kết. Đây là giai thoại, không phải dữ liệu nhu cầu, và bản ghi phải nói rõ.
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;Kết quả mẫu
{ "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/..." } ] } }Viết bản ghi nhớ
Bước này là mã thường: ghép câu trả lời danh mục, ngày chụp, trích dẫn người mua và danh sách nguồn thành một Markdown. Ghi trung thực câu hỏi mở — bản ghi hữu ích vì tách điều trang chứng minh khỏi điều cần xác nhận với nhà cung cấp.
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);Lưu bằng chứng vào LiveDoc
Chạy một lần mỗi ngách: tạo LiveDoc và lưu
short_idvào cấu hình. Thêm trang đối thủ và nguồn Chat làm tài nguyên URL để kho loại trùng, rồi bản ghi làm tài liệu. Trước khi mua, tra các lần chụp để xem giá nào đã đổi.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, });Kết quả mẫu
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
Bao gồm
- Ảnh danh mục có nguồn từ Chat và các trang đằng sau
- Trang đối thủ ở dạng Markdown kèm ngày chụp
- Phàn nàn người mua trên X kèm tài khoản, ngày và liên kết
- Bản ghi nhớ Markdown từ các đầu vào này
- Một LiveDoc giữ bằng chứng và bản ghi nhớ
Không làm gì
- Chỉ nguồn công khai; báo cáo trả phí, báo giá nhà cung cấp và dữ liệu bán nội bộ không thuộc phạm vi
- Không ước lượng quy mô, sản lượng hay biên lợi nhuận
- Giá ghi đúng như lúc chụp, không chuẩn hóa hay lấy trung bình
- Bài X là giai thoại, không phải dữ liệu nhu cầu
- Không liên hệ nhà cung cấp, không đặt hàng, không sửa listing
Câu hỏi
Bối cảnh thị trường đến từ đâu?
Chat API trả câu trả lời có nguồn và các trang công khai đã dùng. Trang đối thủ lấy từ URL bạn cung cấp bằng Web Fetch; bài người mua lấy từ X Search. Không dùng dữ liệu bán riêng.
Nó có nói sản phẩm bán chạy không?
Không. Nó sắp xếp bằng chứng công khai — bối cảnh, giá đã chụp và phàn nàn — rồi ghi điều chưa biết. Xác thực nhu cầu cần dữ liệu của bạn như quảng cáo, đặt trước hoặc trao đổi nhà cung cấp.
Nếu sàn chặn trích xuất?
Web Fetch tải từng trang công khai và một số site chặn. Dùng trang sản phẩm hoặc nhà cung cấp truy cập được và để bản ghi chú đánh dấu lần chụp thiếu thay vì đoán giá.
Làm sao tránh giá đối thủ lỗi thời?
Mỗi giá trong bản ghi gắn với URL và ngày chụp. Chạy lại trích xuất sát lúc quyết định mua; kho lưu giữ lần chụp cũ để thấy giá đã đổi.
Nó có liên hệ nhà cung cấp hay người bán?
Không. Quy trình chỉ đọc: trích trang, tìm bài công khai và viết ghi chú cục bộ. Không gửi tin, không đặt hàng, không sửa listing.
Một lần nghiên cứu tốn bao nhiêu?
Mỗi lệnh Chat, trích xuất và tìm X dùng credit theo mức dùng; giá hiện tại ở trang giá. Prompt hỏi duyệt trước khi chạy.
Quy trình liên quan
Biến một câu hỏi thành báo cáo nghiên cứu có nguồn
Hỏi web, lưu các trang đằng sau câu trả lời thành Markdown, thêm điều người thực hành nói trên X và giữ bằng chứng trong LiveDoc có thể tìm lại sau.
Mở quy trìnhNội dungBiến thảo luận xã hội thành báo cáo lắng nghe hằng tuần
Tìm bài X tuần qua về thương hiệu và đối thủ, thêm bối cảnh web có nguồn, đọc các trang đằng sau và lưu mọi bản tin để tuần sau bắt đầu từ điều đã biết.
Mở quy trìnhVăn phòngBiến trang nghiên cứu thành bài thuyết trình
Trích xuất trang, lưu làm bối cảnh LiveDoc, để PPT Task API dựng deck và hỏi cho đến khi có liên kết hoàn chỉnh.
Mở quy trìnhTùy biến
Cùng công thức, điều chỉnh theo cách bạn thực sự triển khai.
Thêm bản ghi video review
Khi danh mục có video review, lấy bản ghi bằng YouTube Subtitling và thêm hai hoặc ba trích dẫn có timestamp vào phần người mua. Video review vẫn là trải nghiệm một người, nên giữ nhãn giai thoại như bài X.
So sánh hai ứng viên
Chạy cùng bước cho mỗi ứng viên và đặt bản ghi cạnh nhau: tính năng tuyên bố, giá đã chụp, phàn nàn lặp lại và câu hỏi mở. So sánh vẫn định tính cho đến khi có dữ liệu bán hoặc trả hàng.
Cập nhật trước khi mua
Chạy lại trích xuất một ngày trước khi đặt. Giữ cùng LiveDoc và thêm bản ghi mới để kho cho thấy điều gì đổi giữa nghiên cứu và mua, kể cả giá vượt ngân sách.
Đi tiếp
Các trang tham chiếu đằng sau công thức và nơi đi tiếp.