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

Browse all use cases