← Hermoso: AI Ad GeneratorCONTENT HISTORY

Update to Hermoso: AI Ad Generator

Snapshot Oct 24, 2026 · 13:33 UTC · version 1.1.6

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Hermoso: AI Ad Generator and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Review how the user's marketing is performing and manage their paid campaigns. Use when the user asks which posts, hooks or formats work best on a channel, how their organic social is doing, how their paid campaigns are doing and what to scale, pause, fix or test next, or asks to build, pause, resume or change the budget of a campaign on their own ad account.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 421
    }
  ],
  "name": "review-performance",
  "skill_md_contents": "---\nname: review-performance\ndescription: Review how the user's marketing is performing and manage their paid campaigns. Use when the user asks which posts, hooks or formats work best on a channel, how their organic social is doing, how their paid campaigns are doing and what to scale, pause, fix or test next, or asks to build, pause, resume or change the budget of a campaign on their own ad account.\n---\n\n# Review performance\n\nUse this skill to answer \"what is working?\" with the user's own numbers. It reads and recommends; it changes\nnothing. Explicit instructions from the user always take priority over this skill, including the date range,\nchannels, platforms and goal they name.\n\n## Organic posts\nCall `post_performance` for the brand. By default it groups results by hook; pass a different grouping when the\nuser asks about subjects, formats, channels or posting hours, and pass `days` or `channel` when they name them.\n- Compare posts only within one channel. A LinkedIn impression and a TikTok view are different units; never add\n  them up or rank across channels.\n- Describe a post by what it showed (the creative and its format), not by its caption.\n- If the tool holds back a verdict because a group has too few posts or readings, say so and say what would make\n  it readable. Do not fill the gap with a guess.\n\n## Paid campaigns\nCall `analyze_campaigns`, with `days` (14 is a good default) and the user's `goal` if they gave one (for example\nlowest cost per acquisition). It reads every ad account connected to the workspace and returns one table plus four\nlists: scale, pause, fix and test next, and a list of rows with too little data.\n- Present each recommendation with the row's own numbers as evidence, the reason, and the concrete next move with\n  the number in it (\"raise the daily budget from 25 to 40 and re-read cost per acquisition in 3 days\").\n- Rows with too little delivery are \"not enough data yet\", never \"pause it\".\n- A platform that could not be read is named as unreadable. Its numbers are missing, not zero.\n- A metric a platform does not report is unmeasured. Never show it as 0.\n- Each platform defines a conversion its own way. Say so when you compare cost per acquisition across platforms.\n\n## Applying a recommendation\nThe review itself changes nothing in the ad accounts and moves no ad money. Do not say a budget, bid or status was\nchanged unless a tool you called reports that it was. When the user asks you to apply a recommendation, use the\nplatform's own tool (for example `set_meta_campaign_status`, `set_google_ads_budget` or `set_tiktok_ads_budget`):\n- Pausing is safe; still say exactly what you are pausing.\n- Turning a campaign on, or raising a budget, starts or increases real ad spend. Show the campaign name and the\n  budget, get an explicit yes, then pass `confirm` set to true.\n- Report the change from what the tool read back, not from what you asked for.\n\n## Building a campaign\nWhen the user asks for a new campaign on their own ad account (for example `create_meta_campaign`,\n`create_google_ads_campaign` or `create_tiktok_ads_campaign`), confirm the account, objective and daily budget first.\nNew campaigns are created paused and spend nothing until the user turns them on as above. Use creative the user\nalready has or made in this conversation. Building and managing campaigns uses no Hermoso credits; the ad spend is\nbilled by the ad platform to the user's own account.\n\n## When nothing is connected\nIf `post_performance` or `analyze_campaigns` reports no connected accounts, say which kind of account is needed and\nthat it is connected in the Hermoso workspace under Settings, then Connectors.\n\n## Channel analytics\nFor one channel's own numbers, use its tool: `instagram_insights`, `meta_page_insights`, `tiktok_account_insights`,\n`youtube_channel_report`, `linkedin_page_analytics` or `x_post_metrics`. For a campaign report, use the platform's\nreport tool (for example `meta_insights` or `google_ads_report`).\n\n## Output\nStart with the one or two findings that matter most, then the evidence table or list, then at most three next\nsteps. Check that every number you quote appears in what the tool returned.\n"
}

SHA-256 of public snapshot: 5b73c4e7f940255f81e5d07af1affbb4521b6090bdc8fd9e20d48e481030a77c