Penyelidikan
Tukar soalan pasaran kepada brief go-to-market
Tanya pasaran dengan soalan tepat, baca halaman kategori dan harga di sebalik jawapan, kumpulkan cara pembeli menggambarkan masalah di X dan simpan brief GTM dengan dakwaan bersumber serta soalan terbuka.
Salin prompt
Ganti medan dalam kurungan siku lalu tampal ke Claude Code, Codex atau AI dengan akses terminal. Ia memasang skill Felo, bertanya sebelum kredit digunakan dan menjalankan aliran kerja.
Sediakan ringkasan penyelidikan go-to-market untuk [produk] memasuki [segmen atau ICP] di [wilayah], dalam [bahasa]. Gerakan: [self-serve / jualan / rakan kongsi]. Keputusan yang disokong: [pelancaran / harga / kedudukan semula]. Tempoh: [90 hari lepas / 12 bulan lepas]. Hasilkan ringkasan Markdown dengan: 1. Definisi segmen: siapa mereka, apa yang digunakan hari ini dan apa kata sumber tentang saiz — petik sumber atau tulis “Tiada data”. 2. Bahasa pembeli: cara mereka menerangkan masalah, dengan pautan dan tarikh. 3. Alternatif: dari apa mereka beralih, termasuk spreadsheet dan tidak berbuat apa-apa. 4. Bantahan dan bukti yang diminta pembeli. 5. Soalan terbuka yang sumber awam tidak dapat jawab. 6. Senarai sumber penuh. Peraturan: - Setiap dakwaan pasaran perlu pautan dan tarikh. Jangan anggar saiz pasaran, pertumbuhan atau bajet secara rasa. - Pisahkan sumber bebas, halaman vendor dan inferens anda. - Gunakan X untuk bahasa dan bantahan, bukan bukti saiz pasaran. - Tukar tempoh dan wilayah kepada nilai jelas. - Sebelum menggunakan kredit, tunjukkan panggilan API yang dirancang dan tunggu kelulusan saya. - Jangan terbitkan, hantar, jadualkan atau tulis ke CRM. - Tulis hasil ke ./gtm-brief.md dan ringkaskan dalam chat.
Salinan turut menyertakan langkah pemasangan dan peraturan keselamatan.
Apa yang anda dapat
Contoh output daripada satu larian. Bukan penjanaan langsung.
Ringkasan GTM — [segmen] di [wilayah]
Definisi segmen
Pasukan operasi kecil yang mengurus jadual dalam spreadsheet. Saiz: tiada data dalam sumber awam yang disemak — jangan letak nombor tanpa sumber.
Bahasa pembeli
- “kami masih buat ini dalam spreadsheet” — siaran X, 2026-10-18
- “persediaan ialah bahagian yang sukar” — siaran X, 2026-10-02
Dilabel bahasa, bukan bukti kelaziman.
Alternatif yang disebut pembeli
Spreadsheet, suite sedia ada dan tidak berbuat apa-apa. Sumber: https://example.com/thread (2026-10-18).
Bantahan dan bukti diperlukan
Semakan keselamatan dan laluan migrasi. Pembeli meminta rujukan bernama; kami tiada yang awam, jadi ia kekal soalan terbuka.
Soalan terbuka
- Berapa banyak segmen sudah mempunyai baris bajet khusus?
- Adakah bantahan berubah mengikut saiz syarikat?
Sumber
- https://example.com/category-page
- https://example.com/pricing-page
- https://example.com/thread
Panggilan sebenar
Untuk pembangun: aliran kerja sama sebagai kod, mengikut urutan pelaksanaan.
Tunjukkan panggilan API sebenar
Bingkai soalan pasaran
Chat memulangkan jawapan dan halaman yang digunakan, jadi mula dengan soalan cukup sempit: siapa beli, apa mereka guna hari ini, bantahan apa muncul. Simpan sumber sebagai pautan petunjuk; jawapan ialah petunjuk, pautan ialah bukti dan menutup senarai sumber.
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);Contoh output
{ "answer": "Buyers in this segment usually start from spreadsheets and …", "sources": [ { "link": "https://example.com/category-page", "title": "…", "snippet": "…" } ] }Baca halaman kategori sendiri
Muat turun halaman yang membingkai pasaran: gambaran kategori, perbandingan dan harga. Ekstrak sebagai Markdown dengan mod bacaan dan catat tarikh muat turun, kerana kualiti bacaan bergantung pada halaman di sebaliknya.
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 }; }), );Contoh output
{ "url": "https://example.com/category", "checkedAt": "2026-10-30", "content": "# Category overview\n\nExtracted page text…" }Kumpulkan cara pembeli menggambarkan masalah
Cari di X kata yang pembeli guna apabila menemui masalah, bukan nama produk. Simpan akaun dan tarikh; brief guna post untuk bahasa dan bantahan, bukan sebagai saiz pasaran atau kekerapan.
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);Contoh output
{ "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 } } ] } }Tulis brief di sekitar keputusan
Gabungkan definisi segmen, bahasa pembeli, alternatif, bantahan dan soalan terbuka dalam satu Markdown. Setiap dakwaan menyimpan sumber dan tarikh, saiz pasaran hanya muncul dengan sumber dan yang tidak dijawab sumber awam masuk soalan terbuka bukan inferens.
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);Contoh output
# GTM brief — operations teams at 50-200 person companies in DACH
Simpan bukti untuk pasaran seterusnya
Cipta satu LiveDoc setiap segmen dan wilayah, tambah halaman yang dimuat turun sebagai sumber URL dan brief sebagai dokumen. Pasaran seterusnya mula dari sumber sama tanpa memuat turun kategori semula, dan menambah URL semula dinyahduplikasi.
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 regionContoh output
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
Termasuk
- Bacaan pasaran bersumber dari Chat API dan halaman di sebaliknya
- Halaman kategori, perbandingan dan harga sebagai Markdown
- Bahasa dan bantahan pembeli dari X dengan akaun dan tarikh
- Brief berpusatkan keputusan pelancaran, bukan topik
- LiveDoc untuk guna semula bukti di wilayah atau pelancaran seterusnya
Apa yang tidak dilakukan
- Sumber awam sahaja; tiada laporan berbayar, panel atau temu bual pelanggan
- Tidak pernah menganggar saiz atau pertumbuhan pasaran — tanpa data tulis “Tidak tersedia”
- Post X ialah bahasa dan isyarat, bukan sampel pembeli wakil
- Tidak memilih segmen atau harga untuk anda
- Tidak menerbitkan brief atau menulis ke CRM
Soalan
Perlu laporan pasaran berbayar?
Tidak. Aliran membaca sumber awam dan menanda ruang. Jika sudah ada laporan, tambah sebagai dokumen dalam LiveDoc dan petik seperti sumber lain.
Boleh kaji pasaran dalam bahasa lain?
Boleh. Tetapkan wilayah dan bahasa. Petikan kekal dalam bahasa asal dengan terjemahan di sebelah, supaya penyemak tempatan boleh periksa penyusunan.
Adakah saya dapat saiz pasaran?
Hanya apabila sumber menyebut, dengan pautan dan tarikh. Jika tidak, brief tulis “Tidak tersedia” daripada merekakan angka atau mengekstrapolasi dari satu post.
Boleh bercakap dengan pelanggan?
Tidak. Ia membaca sumber awam. Tambah nota temu bual sebagai dokumen dan tanda dalaman; brief tidak pernah membentangkan nota peribadi sebagai bukti awam.
Apa beza dengan brief penyelidikan?
Brief penyelidikan menjawab satu soalan. Aliran ini menyusun bukti di sekitar keputusan go-to-market — segmen, bahasa pembeli, alternatif, bantahan dan bukti yang diminta — untuk masuk ke pelan pelancaran.
Berapa kos satu brief?
Setiap panggilan chat, pengekstrakan dan carian X menggunakan kredit mengikut penggunaan; kadar semasa di halaman harga. Prompt meminta kelulusan sebelum berbelanja.
Aliran kerja berkaitan
Tukar satu soalan kepada brief penyelidikan bersumber
Tanya web, simpan halaman di sebalik jawapan sebagai Markdown, tambah apa yang pengamal katakan di X dan simpan bukti dalam LiveDoc yang boleh dicari semula.
Buka aliran kerjaPenyelidikanBina analisis pesaing yang boleh digunakan pasukan jualan
Kumpulkan halaman pesaing, liputan di sekelilingnya dan apa yang pembeli katakan di X, lalu susun analisis dengan sumber, tarikh dan status pada setiap dakwaan.
Buka aliran kerjaPejabatTukar halaman penyelidikan kepada pembentangan
Ekstrak halaman, simpan sebagai konteks LiveDoc, biar PPT Task API membina deck dan tanya sehingga pautan siap.
Buka aliran kerjaSesuaikan
Resipi sama, disesuaikan dengan cara anda benar-benar menyampaikan.
Jalankan mengikut wilayah
Kekalkan struktur bahagian dan tukar hanya wilayah serta bahasa. Satu LiveDoc setiap wilayah dan soalan sama supaya brief boleh dibandingkan.
Tambah nota temu bual
Tampal nota panggilan pelanggan sebagai dokumen dan tanda dalaman. Brief boleh memetiknya di sebelah bukti awam, tetapi tidak pernah membentangkan nota peribadi sebagai sumber awam.
Masukkan ke deck pelancaran
Serahkan bahagian bantahan dan bukti kepada aliran deck dengan mengekalkan senarai sumber. Brief kekal lapisan bukti; deck ialah pembentangan, bukan sumber kebenaran kedua.
Teruskan
Halaman rujukan di sebalik resipi ini dan langkah seterusnya.