Build and schedule a marketing plan
Use this before publishing when you need goals, cadence, and execution order.
Paste it into your agent. The prompt walks the agent through everything, setup included.
Claude CodeCodexCursorOpenCode
Agent will
- Asks for business, audience, offer, channels, and constraints.
- Builds a week-by-week plan with themes and metrics.
- Organizes the plan in Penut and queues first-week actions when ready.
What you need
- Business context, audience, offer, channels, and constraints.
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 build and schedule a marketing plan in Penut. Ask me for: planning window (this week or number of weeks), business, audience, offer, channels, goals, constraints, tone, timezone, posting frequency, and whether I want plan-only or full drafts with scheduling. Then do this in Penut: 1. Confirm the planning window and overall goal. 2. For multi-week plans: outline a theme, key messages, and success metrics per week. For a simple content calendar, skip themes and go straight to dated slots. 3. Draft posts for every slot on my chosen channels — adapt tone and length per channel and assign an optimal datetime in my timezone. 4. Store the full calendar in Penut storage or Google Sheets (channel, copy, media notes, scheduled datetime for every post). 5. Create one batched approval request covering the plan and scheduled publishing setup. Approving must not publish everything immediately — wire Penut functions and schedule listeners so each post goes live at its scheduled time. If I asked for plan-only, stop after step 2. Otherwise complete all steps. Finish with: the calendar, scheduled times per channel, approval links, and what I still need to provide.
More like this
- Prepare and launch a productPrepare launch timing, channel content, assets, approvals, and analytics setup.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