← Helena - AI Marketing AgentCONTENT HISTORY
WHAT CHANGED
Update to Helena - AI Marketing Agent
Snapshot Oct 24, 2026 · 13:43 UTC · version 1.0.8
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Helena - AI Marketing Agent and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Publish, schedule, or save CMS drafts with Helena's fixed platform variants; use separate email sending and advertising tools only with explicit approval, never for review or reporting requests.",
"included_files": [],
"name": "helena-publishing",
"skill_md_contents": "---\nname: helena-publishing\ndescription: Publish, schedule, or save CMS drafts with Helena's fixed platform variants; use separate email sending and advertising tools only with explicit approval, never for review or reporting requests.\n---\n\n# Publish approved content\n\nConfirm the exact content, destination account/site/audience, and publication time. Show drafts in chat unless the user asks to save one to a connected CMS or email platform. Generating media, reviewing copy, or saying “looks good” is not permission to publish, send, schedule, or change ad spend.\n\nUse `get_connected_integrations` to check connections and access modes. Use `get_memories` when saved Helena facts or preferences are relevant; these are not a complete brand profile or authorization to publish. Discover identities and posting targets with `get_social_destinations` or `get_cms_destinations`; never guess IDs. If an integration is absent or read-only, explain that and stop.\n\nCall `publish_social_post` or `publish_cms_post` with the declared `platform` and its platform-specific fields inside `input`. Omit `input.scheduled_date` for immediate publication, or supply a future timezone-qualified timestamp to schedule it. Threads currently supports immediate publication only. For an explicitly requested unpublished CMS draft, set `input.draft: true` and omit the date; omitting `draft` means publication. To publish an existing CMS draft, provide its `post_id` instead of new-post content: preserve the existing ID, never recreate it. Existing drafts support immediate publication only. Use `update_cms_post` for revisions, preserving publication state; Webflow stages changes and requires separate approval of the returned version hash before publication. TikTok inbox uploads use the separate `create_tiktok_draft` tool.\n\nCMS platforms include WordPress, Ghost, Webflow, Shopify, Blogger, and HubSpot. Blogger requires `blog_id`. For HubSpot, use `get_cms_destinations` with `include_authors: true` when an author is needed; immediate publication of a new post requires a slug, author, and meta description. HubSpot scheduling is not exposed. If creation succeeds but publication fails, reuse the returned `created_post_id` instead of creating a duplicate.\n\nFor email, use the separate email family with `platform: mailchimp`, `klaviyo`, or `brevo` and its declared `input`. Read audiences/templates, create an unsent campaign with `create_email_campaign`, and revise it with `update_email_campaign`. `update_email_template` changes a reusable template; Klaviyo campaign copies must then be refreshed by passing that template ID to `update_email_campaign`. `preview_email_template` saves a public preview artifact for Mailchimp/Klaviyo; Brevo preview and cancellation are not exposed. Brevo audience discovery also returns verified senders; use its closed `updates` object for draft revisions, never a raw API payload. Inspect audience, sender, subject, and actual campaign content before `send_email_campaign`, with optional `input.scheduled_date`. It sends to configured recipients, not an arbitrary person. SMS/push are unsupported. Cancel a scheduled send in the supported tool or provider dashboard before editing; only editable drafts can be revised. Set `user_confirmed` only after explicit approval of the exact action; budget and activation changes also require approval.\n\nSocial/CMS/email publishing tools return results directly. A failed or timed-out request is not proof that nothing was sent or published; verify in the connected platform before retrying to avoid duplicates. Scheduling confirms the schedule was created, not that future publication has happened. Use `get_content_calendar`, `reschedule_content`, and `cancel_scheduled_content` for scheduled social/CMS items. Report actual results, links, and errors.\n\nFor paid ads, read `get_ad_accounts`, `get_ad_campaigns`, and `get_ad_performance` first. Each create/update tool targets one declared entity with fixed platform inputs; no generic API payload is accepted. Confirm account, currency, exact changes, budget, targeting, and launch. Google values use micros; Meta budgets use currency subunits; TikTok uses currency units; LinkedIn requires amount/currencyCode. Never assume USD. Campaign creation requires `input.initial_delivery`: `paused` for Meta/Google, `draft` for LinkedIn, or `live` for TikTok, which can start spending immediately. Google creation also selects `campaign_type`; TikTok asset tools select `media_type`. Adding a Google search ad group to an active campaign can start delivery. Google copy edits can replace/remove the old ad; confirm replacement, then use the returned ID for any separate status update. When an ads tool returns a job_id, poll get_operation_status; never repeat the mutation to check progress. After failures/timeouts/expired jobs, verify provider state before retrying: multi-step changes can partially succeed. Do not claim delivery or provider approval merely from ACTIVE/ENABLED status.\n\nRefunds, return labels, arbitrary shell commands, arbitrary integration APIs, and unrestricted agent requests are unsupported. Do not call Helena for those requests or repurpose an email campaign tool to email a return label.\n"
}SHA-256 of public snapshot: 81e36df9a56c2afb1ba001b97cb6d78c9b3996f1137c88f74dfbdff29945f6f3