Prepare and launch a product
Use this when a new product needs coordinated email, social, and optional tracking.
Paste it into your agent. The prompt walks the agent through everything, setup included.
Claude CodeCodexCursorOpenCode
Agent will
- Asks for product, date, audience, channels, messages, and assets.
- Builds pre-launch, launch-day, and post-launch steps.
- Creates reviewable drafts and approval links when ready.
What you need
- Product details, launch date, audience, channels, messages, and assets.
View the full prompt
I run marketing tasks through Penut. I may not know what Penut is — keep instructions plain and do the setup work for me. Read the Penut agent manual before setup or integration work: https://penut.ai/agent/SKILL.md (If the CLI is installed, `penut skill read` prints the same manual.) Before this task: 1. Run `penut auth status`. 2. If authenticated → continue below. 3. If not → follow "Install and Authenticate" in the manual, then continue this same task. Integrations this job needs: - Not fixed upfront — infer from this task and my answers (channels, inbox, analytics, CMS, etc.). - Common mappings: Instagram → instagram, LinkedIn → linkedin, X → x, TikTok → tiktok, YouTube → youtube, email sends → gmail or outlook, inbox → gmail, outlook, or whatsapp, blog → strapi, analytics → posthog, google_analytics, or google_search_console. - Ask me to confirm channels or tools if the task does not state them clearly yet. - Once confirmed, treat each mapped integration as required: list connections for each one and start OAuth for any that are missing before continuing. Execute this task in Penut (CLI): 1. Use the **Integrations this job needs** section above. For each listed integration — and for every integration you infer after I confirm channels or tools — run `penut integrations connections list --integration <name>`. 2. If more than one connection exists for an integration (e.g. two X accounts), show me the options (account label and connection id) and ask which to use — do not pick one silently. 3. If `connections list` shows no connected account for a required integration, do not continue without it and do not tell me to use the Penut console. Start OAuth immediately: run `penut integrations connections create --integration <name>`, give me the `connectionUrl` as a clickable link, explain in plain language what I am authorizing, and tell me to click it and reply when I'm done (e.g. "connected" or "done"). When I confirm, re-run `penut integrations connections list --integration <name>` and only continue once it shows connected. Repeat for every missing integration before doing any publish, send, or data pull. 4. Use `penut registry list --search "..."` when you need the exact operation for a step. 5. Send every publish, send, spend, delete, or other sensitive external change through Penut approvals. When an approval is created, give me a clickable link and say what I am reviewing. 6. Keep working until this task is finished, waiting on my approval, or blocked by something only I can fix (missing copy, asset, or a decision from me). Posting and scheduling rules: - Adapt tone, length, hashtags, and format to each channel — do not reuse identical copy everywhere. - Ask for my timezone if missing. Propose optimal posting times per channel for my audience and explain briefly why. - Schedule each post for its planned date and time — do not publish immediately when I approve unless I explicitly say "post now". - Discover scheduling with `penut registry list --search "schedule"` and `penut registry op <key>`. Prefer Penut functions plus `schedule:tick` listeners so approved content publishes at the scheduled datetime, not at approval time. Use native scheduled-publish params only if the integration registry op supports them. - For calendars and multi-week plans: store every draft with channel, copy, media, and scheduled datetime in Penut storage or Google Sheets, then create one approval request I can review as a batch. Wire execution so each item goes live at its assigned time — approving the plan must not blast every post live immediately. Assets and media rules (when this task can include visuals): - Before publishing or finalizing drafts, ask whether I want media — or check whether I already sent images or files in this conversation. Text-only is fine; do not assume media is required. - If I want media, it can come from: (a) a file already in Penut storage, (b) an image or file I give you directly in this chat for you to upload into Penut storage, (c) a URL, or (d) image generation through Penut (`penut registry list --search "image"` — e.g. gpt_image or nano_banana). Ask which applies only if it is not already clear from what I sent. - If I attach or paste a file in chat, upload it to Penut storage first, then use that storage path on the draft or publish op. - If I choose text-only, proceed without media. Do not invent placeholder images. - When media is used, record per slot or post whether it came from storage, chat upload, URL, or generation. Help me prepare and launch a product in Penut with real drafts and approvals. Ask me for: product name, launch timeline, audience, channels, key messages, and any media (Penut storage, files I send you in chat, URLs, generate, or text-only). 1. Build a day-by-day or phase checklist (pre-launch, launch day, post-launch) for the timeline. 2. Draft email and social content for each phase. 3. Queue every send and publish for approval with links. 4. Tell me exactly what I must do each day (approve, upload assets, or reply when you need a decision). Nothing goes live without my approval.
More like this
- Build and schedule a marketing planCreate a week-by-week plan with themes, channels, content types, checkpoints, and KPIs.View
- Build a content calendarPlan posts across channels with dates, drafts, asset notes, and approval status.View
- Launch a cross-channel campaignCoordinate one campaign across multiple channels in a single approval batch.View