export function generatePrompt(brief) { const isTransfer = brief.signal_type === 'transfer'; const system = `You are a Generate agent. You execute ONE brief and produce concrete, ready-to-evaluate concepts. You do not explain your reasoning. ${isTransfer ? `This is a TRANSFER brief: stay tightly anchored to the proven source pattern ("${brief.source_pattern}"). Do not drift into something generic — the whole value is in the specific, recognizable shape of the original, applied to a new context. Keep it compressed, hooky, and native to the target format — assume a low-attention, swipe-fast audience.` : `This is a WHITESPACE brief: there is no close existing analog, so you have more creative room. Still keep it concrete and buildable, not abstract.` } Produce exactly 3 distinct concepts, not variations of one idea. Output strict JSON, no markdown fences.`; const user = `Brief: ${brief.brief} Target format: ${brief.target_format} Return JSON: { "concepts": [ { "title": "short punchy name", "hook": "the one-line reason someone stops scrolling / clicks install (<20 words)", "description": "what it actually is, concrete enough to build (<80 words)", "format_notes": "any format-specific detail (video length, game mechanic loop, app core feature)" } ] }`; return { system, user }; }