Konten
Ubah brief produk menjadi landing page
Riset audiens, simpan brief di LiveDoc, buat tugas Landing Page dari konteks itu, dan tanyakan sampai halaman yang dihosting siap.
Salin prompt
Ganti kolom dalam kurung siku lalu tempel ke Claude Code, Codex, atau AI dengan akses terminal. Ia memasang skill Felo, bertanya sebelum memakai kredit, dan menjalankan alur kerja.
Buat landing page untuk [produk] yang ditujukan kepada [audiens]. Tujuan: [pendaftaran / demo / daftar tunggu]. Nada: [nada]. Bahasa: [bahasa]. Materi sumber: [URL ringkasan produk atau tempel ringkasannya]. Wajib memuat: [poin bukti, harga, CTA]. Gunakan Chat dan Web Fetch untuk meriset audiens dan dua atau tiga halaman pesaing. Simpan ringkasan dan riset di LiveDoc, lalu buat tugas Landing Page dengan LiveDoc itu sebagai konteks. Polling sampai selesai dan kembalikan tautan halaman yang dihosting. Hasilkan: 1. Outline halaman: bagian utama, bukti, fitur, keberatan, CTA. 2. Tautan halaman yang dihosting. 3. Tautan LiveDoc yang dipakai sebagai konteks. 4. Daftar periksa klaim yang perlu diverifikasi. Aturan: - Jangan mengarang metrik, pelanggan, testimoni, harga, atau klaim kepatuhan. - Jaga setiap klaim bisa dilacak ke ringkasan atau halaman yang diambil. - Tanya dulu sebelum memakai kredit untuk riset atau pembuatan halaman. - Jangan menerbitkan atau menghubungkan domain; kembalikan tautan hosting untuk ditinjau. - Tulis outline ke ./landing-page-outline.md dan ringkas di chat.
Salinan juga menyertakan langkah pemasangan dan aturan keamanan.
Yang Anda dapatkan
Contoh keluaran dari satu eksekusi. Bukan pembuatan langsung.
Kerangka landing page
Bagian utama: “Riset pasar tanpa membuka tiga puluh tab.” Subhead: Sumber dan draf ringkasan dalam satu kali jalan. Bukti: Waktu hemat per ringkasan; setiap klaim tertaut ke sumber. Fitur: Pencarian, ekstraksi halaman, sinyal X, bukti LiveDoc. Keberatan: “Apakah akan mengarang angka?” Tidak: data hilang adalah “Tidak tersedia”. CTA: Mulai dari satu pertanyaan.
Halaman: https://felo.ai/ai-page/... Konteks: https://felo.ai/livedoc/...
Panggilan persisnya
Untuk developer: alur kerja yang sama sebagai kode, sesuai urutan eksekusi.
Tampilkan panggilan API asli
Riset audiens dan alternatif
Tanya Chat siapa audiens dan apa yang mereka butuhkan, lalu baca dua atau tiga halaman pesaing dengan Web Fetch.
landing.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 }[] }; }; type ExtractData = { data: { content: string } }; const research = await felo<ChatData>("/v2/chat", { query: "Who is [audience] and what do they need from [product]?", }); const pages = await Promise.all( research.data.resources.slice(0, 2).map((source) => felo<ExtractData>("/v2/web/extract", { url: source.link, output_format: "markdown", with_readability: true, }).then((page) => ({ ...source, content: page.data.content })), ), );Contoh keluaran
{ "answer": "…", "resources": [{ "link": "https://example.com", "title": "…" }] }Simpan brief di LiveDoc
Buat LiveDoc, tambahkan brief sebagai dokumen dan lampirkan halaman yang ditangkap.
landing.ts type LiveDocData = { data: { short_id: string } }; const doc = await felo<LiveDocData>("/v2/livedocs", { name: "Landing page: [product]", description: "Product brief, audience research and competitor notes", }); await felo(`/v2/livedocs/${doc.data.short_id}/resources/doc`, { title: "Product brief", content: "[paste the brief: audience, problem, proof, pricing, CTA]", }); await felo(`/v2/livedocs/${doc.data.short_id}/resources/urls`, { urls: pages.map((page) => ({ url: page.link, title: page.title })), }); console.log(doc.data.short_id); // page contextBuat tugas landing page
Kirim ke
/v2/landing_pageprompt halaman dan LiveDoc short_id, lalu terima task_id.landing.ts type LandingTaskData = { data: { task_id: string } }; const task = await felo<LandingTaskData>("/v2/landing_page", { query: "Create a landing page for [product] for [audience]. Goal: [signup]. " + "Use the product brief and research in the LiveDoc. Return a hero, proof, " + "features, objections and one CTA. Do not invent claims.", livedoc_short_id: doc.data.short_id, }); console.log(task.data.task_id);Contoh keluaran
{ "data": { "task_id": "019cad6d-e874-55ef-d577-686344b5a7e9" } }Tanya sampai selesai
Periksa riwayat sampai COMPLETED dan baca
ai_page_html.landing.ts type TaskState = { data: { task_status: string; ai_page_html?: string; ppt_url?: string }; }; async function waitForPage(taskId: string) { for (let attempt = 0; attempt < 40; attempt++) { const state = await felo<TaskState>(`/v2/tasks/${taskId}/historical`); if (state.data.task_status === "COMPLETED") { return state.data.ai_page_html ?? state.data.ppt_url; } if (["FAILED", "EXPIRED", "CANCELED"].includes(state.data.task_status)) { throw new Error(`Landing page task ${state.data.task_status}`); } await new Promise((resolve) => setTimeout(resolve, 3000)); } throw new Error("Landing page task timed out"); } const pageUrl = await waitForPage(task.data.task_id); console.log(pageUrl);Contoh keluaran
{ "task_status": "COMPLETED", "ai_page_html": "https://felo.ai/ai-page/9qiLTmT77fA3aVurrMHvRJ", "ppt_url": "https://felo.ai/slides/9qiLTmT77fA3aVurrMHvRJ" }Tinjau sebelum dibagikan
Periksa klaim, harga, teks hukum, dan tautan CTA, lalu bagikan.
Termasuk
- Riset audiens dan pesaing dari halaman publik
- Brief dan riset di LiveDoc
- Halaman yang dihosting dari konteks itu
- Daftar periksa klaim, tautan, dan CTA sebelum dibagikan
Yang tidak dilakukan
- Membuat halaman hosted, tidak menerbitkan situs dan tidak menghubungkan domain
- Teks yang dihasilkan perlu tinjauan manusia sebelum dibagikan
- Tanpa A/B test dan tanpa koneksi analytics
- Tidak memverifikasi klaim di luar brief dan halaman
- Tidak membuat logo, sistem merek, atau ilustrasi khusus
Pertanyaan
Apa yang dihasilkan?
Landing page yang dihosting di Felo dari brief dan riset. Anda menerima tautan, bukan situs terbit.
Bisa memakai domain sendiri?
Alur ini tidak menghubungkan domain. Ia mengembalikan halaman hosted untuk ditinjau; domain dan publikasi langkah lain.
Apakah mengarang testimoni atau angka?
Tidak. Prompt melarang karangan dan mewajibkan setiap klaim berasal dari brief atau halaman yang ditangkap.
Bisa iterasi?
Bisa. Ubah brief di LiveDoc dan buat tugas Landing Page baru.
Apakah membuat gambar khusus?
Ia mengurus struktur dan teks; ilustrasi dan materi merek di luar alur.
Berapa biaya satu halaman?
Riset dan pembuatan halaman ditagih sesuai pemakaian; tarif saat ini di halaman harga dan prompt meminta persetujuan sebelum mengeluarkan biaya.
Alur kerja terkait
Ubah pertanyaan pasar menjadi brief go-to-market
Ajukan pertanyaan pasar yang tepat, baca halaman kategori dan harga di balik jawaban, kumpulkan cara pembeli menggambarkan masalah di X, dan simpan brief GTM dengan klaim bersumber serta pertanyaan terbuka.
Buka alur kerjaKontenIsi satu bulan konten dengan pertanyaan audiens Anda
Petakan tema dengan Chat, temukan pertanyaan audiens di X, ambil sudut nyata dari transkrip video, dan susun kalender empat minggu di mana setiap baris menyebut buktinya.
Buka alur kerjaKantorUbah halaman riset menjadi presentasi
Ekstrak halaman, simpan sebagai konteks LiveDoc, biarkan PPT Task API membangun deck, dan tanyakan sampai tautan selesai.
Buka alur kerjaSesuaikan
Resep yang sama, disesuaikan dengan cara Anda benar-benar mengirim.
Mulai dari PDF
Kirim PDF lewat multipart; platform menyimpannya sebagai resource LiveDoc dan meneruskannya ke tugas.
Dua versi positioning
Buat dua tugas dengan sudut berbeda di LiveDoc yang sama dan bandingkan sebelum memilih.
Pakai ulang untuk presentasi
LiveDoc yang sama bisa memberi tugas PPT agar halaman dan deck bercerita sama.
Lanjut
Halaman referensi di balik resep ini dan langkah berikutnya.