پژوهش
پرسش بازار را به خلاصه go-to-market تبدیل کنید
پرسش دقیقی از بازار بپرسید، صفحات دسته و قیمت پشت پاسخ را بخوانید، جمع کنید خریداران مشکل را در X چگونه توصیف میکنند و خلاصه GTM با ادعاهای مستند و پرسشهای باز ذخیره کنید.
کپی پرامپت
فیلدهای داخل قلاب را جایگزین کنید و در Claude Code، Codex یا هوش مصنوعی با دسترسی ترمینال بچسبانید. مهارت Felo را نصب میکند، پیش از خرج اعتبار میپرسد و گردشکار را اجرا میکند.
یک خلاصه پژوهش go-to-market برای [محصول] که وارد [بخش یا ICP] در [منطقه] میشود، به زبان [زبان] تهیه کنید. مدل: [self-serve / فروشمحور / شریک]. تصمیمی که پشتیبانی میکند: [عرضه / قیمت / جایگاهیابی دوباره]. بازه زمانی: [۹۰ روز گذشته / ۱۲ ماه گذشته]. خروجی یک خلاصه 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 و همان پرسشها تا خلاصهها قابل مقایسه باشند.
یادداشت مصاحبه اضافه کنید
یادداشت تماس مشتری را بهعنوان سند بچسبانید و داخلی علامت بزنید. خلاصه میتواند آنها را کنار شواهد عمومی نقل کند اما یادداشت خصوصی را شاهد عمومی معرفی نمیکند.
ارائه عرضه را تغذیه کنید
بخش مخالفت و شواهد را به گردشکار ارائه بدهید و فهرست منابع را نگه دارید. خلاصه لایه شواهد میماند؛ ارائه نمایش است نه منبع حقیقت دوم.
ادامه دهید
صفحات مرجع پشت این دستور و گامهای بعدی.