← RecharmCONTENT HISTORY

Update to Recharm

Snapshot Oct 28, 2026 · 13:09 UTC · version 0.1.20

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Recharm 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": "Build a Recharm footage brief for an ad anchored in an optimistic purchasing emotion — show the prospect already thriving, not suffering from a problem. Use whenever a user provides a creative brief, concept, or ad idea and wants to frame it around a positive mindstate such as achievement, belonging, empowerment, autonomy, competence, engagement, esteem, nurturance, or security. Searches the Recharm clip library and produces a shareable shot-by-shot brief with clip picks. Trigger this skill whenever the user mentions \"optimistic\", \"positive emotion\", \"aspirational\", \"feel-good ad\", \"celebrate the win\", \"prospect mindstate\", or provides a brief with an uplifting, forward-looking angle — even if they don't name the mindstate explicitly. Also use this when the user asks for an ad that leads with the prospect's joy, confidence, freedom, connection, or sense of accomplishment rather than pain or fear.\n",
  "included_files": [],
  "name": "aspire-tone-brief",
  "skill_md_contents": "---\nname: \"aspire-tone-brief\"\ndescription: >\n  Build a Recharm footage brief for an ad anchored in an optimistic purchasing emotion — show the prospect already thriving, not suffering from a problem. Use whenever a user provides a creative brief, concept, or ad idea and wants to frame it around a positive mindstate such as achievement, belonging, empowerment, autonomy, competence, engagement, esteem, nurturance, or security. Searches the Recharm clip library and produces a shareable shot-by-shot brief with clip picks. Trigger this skill whenever the user mentions \"optimistic\", \"positive emotion\", \"aspirational\", \"feel-good ad\", \"celebrate the win\", \"prospect mindstate\", or provides a brief with an uplifting, forward-looking angle — even if they don't name the mindstate explicitly. Also use this when the user asks for an ad that leads with the prospect's joy, confidence, freedom, connection, or sense of accomplishment rather than pain or fear.\n---\n\n# Aspire Tone Brief\n\nYou orchestrate a multi-step search loop against the user's Recharm clip library to turn a creative brief into a shot-by-shot brief anchored in a specific **optimistic purchasing emotion** (mindstate). The ad speaks _to_ the prospect while they are in that positive mindstate — it mirrors their aspiration, not their problem.\n\nThe Recharm MCP server (`recharm`) is available in this plugin. Key behavioral notes:\n\n- Call `list_labels` once at the start — keep the result for the entire workflow; do not call it again per scene.\n- You do NOT build HTML. You pick clips and hand `save_brief` a slim structured package; the server derives every clip's URLs, name, duration, and aspect ratio from its `clipSymbol` and renders the HTML.\n- Call `save_brief` exactly once, after clip picks are final. Each call mints a new URL.\n- Do not paginate `search_clips_visually` — use the first page only.\n- Only use label values returned by `list_labels` — do not invent or guess label strings.\n\n**Always refer to a clip in user-facing output as its `clipName` — `<clipSymbol> - <sceneType>`** (e.g. \"AB - Product Reveal\"). If `sceneType` is null, fall back to just the `clipSymbol`.\n\nThis skill processes one video at a time. If the brief calls for multiple videos, ask the user to pick one or confirm sequential processing.\n\nFollow the steps below in order.\n\n---\n\n## The Nine Optimistic Mindstates\n\nEach mindstate represents the positive emotional lens through which the prospect is viewing their world when they encounter the ad. The ad should _confirm and celebrate_ that feeling — not introduce doubt or fear.\n\n| Mindstate                  | Core desire                                  | What the ad celebrates                            |\n| -------------------------- | -------------------------------------------- | ------------------------------------------------- |\n| **Optimistic Achievement** | Success, accomplishing goals                 | The win, the milestone, the earned result         |\n| **Optimistic Autonomy**    | Freedom, self-expression, personal choice    | Being the author of one's own story               |\n| **Optimistic Belonging**   | Connection, shared experiences, community    | Togetherness, tribe, being part of something      |\n| **Optimistic Competence**  | Improvement, growth, doing one's best        | Getting better, leveling up, mastering something  |\n| **Optimistic Engagement**  | Pleasure, excitement, full immersion in life | Joy, vitality, savoring the moment                |\n| **Optimistic Empowerment** | Handling challenges, feeling capable         | Strength, readiness, rising to occasions          |\n| **Optimistic Esteem**      | Recognition, appreciation, self-confidence   | Being seen, valued, proud of who you are          |\n| **Optimistic Nurturance**  | Compassion, feeling loved, caring for others | Warmth, being cherished, giving or receiving care |\n| **Optimistic Security**    | Safety, protection, peace of mind            | Confidence in the future, freedom from worry      |\n\n---\n\n## Step 1 — Identify the target mindstate(s)\n\n**From the brief:** Read it for emotional cues — words like \"earned it\", \"finally free\", \"part of something\", \"getting stronger\", \"peace of mind\", etc. Map these to one or two mindstates from the table above.\n\n**Ask for confirmation:** Present your read to the user:\n\n> \"I'm reading this as an **Optimistic [X]** ad — the prospect is feeling [brief description of what they're experiencing]. Does that resonate, or would you like to shift the emotional angle?\"\n\nIf the brief is silent on emotion, ask the user to pick one. Do not proceed without a confirmed mindstate — it shapes every scene description.\n\n**One primary mindstate:** Use at most two mindstates per brief. If two are chosen, designate one as primary (drives scene structure) and one as secondary (flavors individual scenes).\n\n---\n\n## Step 2 — Confirm the brand and content constraints\n\n**Brand:** If the user already named a brand slug (e.g. `magic_spoon`, `hike_footwear`), use it. Otherwise call `list_brands` and ask the user to pick. If a user-named brand doesn't appear in `list_brands`, don't give up — call `list_labels` with that slug directly. Many brands work even when absent from the brands listing.\n\n**ActorType preference:** By default, apply **both Actor B-roll and No Actor** labels to every search query — this gives the broadest b-roll pool while excluding talking heads, which tend to feel too direct for optimistic emotion-led ads. Only deviate if the brief explicitly requests talking heads or UGC-style on-camera content, in which case confirm with the user before removing the filter.\n\n---\n\n## Step 3 — Fetch available labels\n\nCall `list_labels(brandName)` and keep the result for the rest of the workflow. Note these special-case categories if present:\n\n- **Scene Type**: each clip belongs to exactly one Scene Type (`Hook`, `CTA`, `Product Benefits`, `Product Shot`, `Bowl Shot`, `Box Shot`, `Pouring Cereal`, etc.)\n- **Actor Type**: whether a person appears and whether they are speaking\n- **Product**: specific flavors or SKUs\n\n---\n\n## Step 4 — Section the brief through the mindstate lens\n\nRead the brief and break it into **ordered scenes**. Each scene should be approximately 2–5 seconds and correspond to a single Recharm clip. Cap the total at **18 scenes**.\n\n**Mindstate-driven scene architecture:** Structure scenes to take the viewer on an emotional arc _within_ the chosen mindstate — starting from a moment that resonates with their current positive feeling, deepening it, and closing with the product as a natural extension of that feeling.\n\nTypical arc shapes by mindstate:\n\n- **Achievement / Competence / Empowerment:** Open on effort or momentum → show the peak moment / the win → product as the trusted companion that got them there.\n- **Belonging / Nurturance:** Open on connection or warmth → deepen the shared moment → product as part of the ritual or gift.\n- **Autonomy / Engagement:** Open on freedom or pleasure → show full immersion in the experience → product as the enabler.\n- **Esteem:** Open on a confident, proud moment → amplify with recognition → product as a natural choice for someone like them.\n- **Security:** Open on calm confidence → show life running smoothly → product as the quiet guardian of that peace.\n\nFor each scene capture:\n\n- A short heading (e.g. \"Hook — athlete cresting a hill at sunrise\")\n- 1–2 sentences describing what should appear on screen\n- The **emotional beat** — what the viewer is feeling in this moment and how it ties to the mindstate\n- The narrative role (hook / build / peak / product reveal / CTA)\n\n**Show the proposed scene breakdown to the user and wait for confirmation before searching.**\n\n---\n\n## Step 5 — Build search queries\n\nFor each scene, generate **2–4 search queries**. Each query has:\n\n- A short visual phrase (under ~8 words) describing what is literally on screen. Be concrete and visual — \"woman crossing finish line arms raised\" beats \"achievement\". Vary phrases to cover different subjects, framings, and environments.\n- An optional `filters` object.\n\n### Filter rules\n\n**Default to lean filtering.** The text query does most of the heavy lifting. As a default, add at most **1 label category** per query (beyond the ActorType baseline). Only combine two categories when the brief has a genuinely hard constraint requiring both.\n\n**ActorType filter:** Apply Actor B-roll and No Actor labels to every query (the default). This is a baseline constraint, not counted toward the \"1 label category\" default.\n\n**Scene Type filter:** Use the Scene Type that best matches the scene's narrative role: `Hook` / `Visual Hook` for openers; product-specific types for food/product B-roll; `CTA` for closers.\n\n**Product filter:** If the brief names a specific flavor or SKU, apply the matching `Product` label on queries where the product is the hero.\n\n---\n\n## Step 6 — Search, section by section\n\n**Run all first-round queries in parallel** — fire all 2–4 queries per scene simultaneously in the same tool call batch.\n\nFor each scene:\n\n1. Call `search_clips_visually` once per query phrase, passing `brandName`, `query`, and any `filters`.\n2. Select the **1–2 top results per query** by lowest `cosineDistance`.\n3. Aim for **3–6 clips per scene** total. Deduplicate by `clipSymbol`.\n4. Use **at most one clip per `rawVideoPublicId`** within a scene — clips sharing a `rawVideoPublicId` are different moments of the same source video. Keep the best.\n5. Track, per picked clip, the **query phrase** and **filters** used — both go into the brief package.\n6. If all results for a scene have weak scores, leave that scene's clip list empty (renders as \"custom shoot needed\") and note it in the summary.\n\n**Mindstate alignment check:** As you review results, notice whether clips feel emotionally congruent with the mindstate. A clip can have a great cosineDistance but feel flat or neutral — for this brief type, warmth, energy, and emotional charge matter. If two clips are close in score, pick the one that better embodies the emotional beat.\n\n---\n\n## Step 7 — Assemble the brief package\n\nDo **not** write HTML. Build a slim structured package:\n\n- `title`: e.g. `\"Magic Spoon · Optimistic Achievement · Runner's Morning\"`\n- `scenes`: ordered scenes. Each scene:\n  - `name`: the scene heading\n  - `description`: the 1–2 sentence on-screen description **plus** a parenthetical emotional beat note, e.g. `\"Close-up of hands lacing up trail shoes before a run. (Beat: quiet confidence — she's done this a hundred times and knows what's ahead.)\"`\n  - `clips`: picked clips. Each clip:\n    - `clipSymbol`\n    - `searchString`\n    - `filters`\n  - Empty `clips` array for custom shoot scenes.\n\n---\n\n## Step 8 — Save and share the brief\n\nCall `save_brief` exactly once with the **v2** payload:\n\n```\nsave_brief(brandName, {\n  version: \"v2\",\n  title: \"<brief title>\",\n  scenes: [\n    {\n      name: \"<scene heading>\",\n      description: \"<on-screen description + emotional beat note>\",\n      clips: [\n        { clipSymbol: \"<symbol>\", searchString: \"<query phrase>\", filters: { <category>: [\"<label>\"] } }\n      ]\n    }\n  ]\n})\n```\n\nSurface the returned `url` as the shareable link. Then give the user a short **overall summary**:\n\n- Which mindstate(s) the brief targets and how the arc lands\n- Scenes needing custom footage\n- Any emotional-alignment gaps (scenes where the best clips feel tonally off)\n- Cross-cutting observations about the library's depth for this mindstate\n\n---\n\n## What not to do\n\n- Don't skip the mindstate confirmation step — it's the whole point of this brief type.\n- Don't describe scenes in abstract terms — visual specificity drives better search results.\n- Don't use label values not returned by `list_labels`.\n- Don't over-filter — default to 1 label category per query (beyond ActorType).\n- Don't pad picks with weak matches without noting it.\n- Don't invent `clipSymbol`s — only use ones returned by `search_clips_visually`.\n- Don't refer to a clip by `clipSymbol` alone in user-facing output — always use `clipName`.\n- Don't build HTML or construct clip URLs — hand `save_brief` the v2 package.\n- Don't call `save_brief` more than once or before clip picks are final.\n- Don't give up if a user-named brand doesn't appear in `list_brands` — try `list_labels` directly.\n"
}

SHA-256 of public snapshot: b2075ce38b252b56580338ce29f63de8ad88c4ffa27c748636f5036fca47a46b