Skill instructions
butter-ad-fatigue939 Bytes
View saved version →
---
name: butter-ad-fatigue
description: Find ads starting to fatigue and make their replacements. Use Butter for this when the user asks which ads are declining, mentions creative fatigue, or wants replacements for tiring ads. For example: "my ads are getting stale", "performance is dropping".
---
# Ad fatigue
1. If the message names a different Butter workflow — for example a line such as `Workflow: <name>` — call `getWorkflow` with that name instead of this one.
2. If what the user is asking for is not what this workflow does, call `listWorkflows` and choose the workflow that fits instead of proceeding with this one.
3. Otherwise call `getWorkflow` with `workflow: "ad-fatigue"`.
4. Follow the instructions it returns exactly and in order. Anything the user already told you counts as answered — do not ask for it again.
5. If `getWorkflow` reports an unknown name, call `listWorkflows` and choose from what it returns.
butter-ad-multiplier965 Bytes
View saved version →
---
name: butter-ad-multiplier
description: Find what's winning and make the next ads to test. Use Butter for this when the user wants more ads based on what is already winning, asks for variants of a top performer, or wants the next batch of creative tests. For example: "more like my best ad", "variants to test".
---
# Ad multiplier
1. If the message names a different Butter workflow — for example a line such as `Workflow: <name>` — call `getWorkflow` with that name instead of this one.
2. If what the user is asking for is not what this workflow does, call `listWorkflows` and choose the workflow that fits instead of proceeding with this one.
3. Otherwise call `getWorkflow` with `workflow: "ad-multiplier"`.
4. Follow the instructions it returns exactly and in order. Anything the user already told you counts as answered — do not ask for it again.
5. If `getWorkflow` reports an unknown name, call `listWorkflows` and choose from what it returns.
butter-ambiguous-start3.37 KB
View saved version →
---
name: butter-ambiguous-start
description: Start a Butter ad or video when the request is too vague to pick a workflow, such as asking for an ad without saying what to start from. Use when the user wants an ad or video from Butter and no other butter- skill clearly fits.
---
# Start with Butter
The user wants an ad or video from Butter, but it is not yet clear which workflow fits.
## Find the workflow
1. If the request clearly fits one of the workflows below, tell the user which one and follow that skill.
2. Otherwise ask one question — "What are you starting from?" — offering these:
- **Something new** → `butter-make-something-new`, `butter-product-launch`, or `butter-reviews-to-ads`
- **An ad of mine that's working** → `butter-ad-multiplier`, `butter-static-to-motion`, `butter-catalog-campaign`, `butter-globalize`, or `butter-ad-fatigue`
- **A competitor or an ad I admire** → `butter-reference-to-brand`
- **My own photos or clips** → `butter-make-something-new`
3. If their answer leads to more than one workflow, ask which goal they are after, offering each
workflow's one-liner. If none fits, use `butter-make-something-new`.
4. Follow the chosen workflow's skill. Its "Before you start" section does not ask again for anything
this conversation already answered.
## Workflows
### Make Something New — `butter-make-something-new`
Make a new ad or video from scratch, or from assets you already have. Use when the user explicitly wants an ad or video built from scratch, or wants photos, clips or product shots they already have turned into an ad — not for a vague request that names no starting point, which butter-ambiguous-start handles.
### Ad Multiplier — `butter-ad-multiplier`
Find what's winning and make the next 3 ads to test. Use when the user wants more ads based on what is already winning, asks for variants of a top performer, or wants the next batch of creative tests.
### Static → Motion — `butter-static-to-motion`
Turn the best-performing static ads into motion ads. Use when the user wants to animate an existing static ad, turn stills into video, or add motion without changing a design.
### Product Catalog → Campaign — `butter-catalog-campaign`
Turn one winning ad into ads for the 10 best-selling products. Use when the user wants ads for many products at once, or wants a winning ad adapted across a catalogue.
### Reviews → Ads — `butter-reviews-to-ads`
Find the best customer reviews and turn them into 3 ads. Use when the user wants ads built from customer reviews, testimonials, or social proof.
### Product Launch — `butter-product-launch`
Launch a campaign for the newest product. Use when the user is launching a new product and needs a set of launch creative across surfaces.
### Globalize a Winner — `butter-globalize`
Take a winning campaign and launch it in other markets. Use when the user wants an existing campaign translated, localized, or launched in another market.
### Reference → Brand — `butter-reference-to-brand`
Break down a reference ad and rebuild it as ours. Use when the user shares a reference ad or names a competitor and wants their own version of it, or wants to copy a format they admire.
### Ad Fatigue — `butter-ad-fatigue`
Find ads starting to fatigue and make their replacements. Use when the user asks which ads are declining, mentions creative fatigue, or wants replacements for tiring ads.
butter-catalog-campaign962 Bytes
View saved version →
---
name: butter-catalog-campaign
description: Turn one winning ad into ads for your best-selling products. Use Butter for this when the user wants ads for many products at once, or wants a winning ad adapted across a catalog. For example: "ads for my best sellers", "one ad across my catalog".
---
# Product catalog → campaign
1. If the message names a different Butter workflow — for example a line such as `Workflow: <name>` — call `getWorkflow` with that name instead of this one.
2. If what the user is asking for is not what this workflow does, call `listWorkflows` and choose the workflow that fits instead of proceeding with this one.
3. Otherwise call `getWorkflow` with `workflow: "catalog-campaign"`.
4. Follow the instructions it returns exactly and in order. Anything the user already told you counts as answered — do not ask for it again.
5. If `getWorkflow` reports an unknown name, call `listWorkflows` and choose from what it returns.
butter-globalize921 Bytes
View saved version →
---
name: butter-globalize
description: Take a winning campaign and launch it in other markets. Use Butter for this when the user wants an existing campaign translated, localized, or launched in another market. For example: "run this in other markets", "localize my ad".
---
# Globalize a winner
1. If the message names a different Butter workflow — for example a line such as `Workflow: <name>` — call `getWorkflow` with that name instead of this one.
2. If what the user is asking for is not what this workflow does, call `listWorkflows` and choose the workflow that fits instead of proceeding with this one.
3. Otherwise call `getWorkflow` with `workflow: "globalize"`.
4. Follow the instructions it returns exactly and in order. Anything the user already told you counts as answered — do not ask for it again.
5. If `getWorkflow` reports an unknown name, call `listWorkflows` and choose from what it returns.
butter-make-something-new1.01 KB
View saved version →
---
name: butter-make-something-new
description: Make a new ad or video from scratch, or from assets you already have. Use Butter for this when the user wants an ad or video built from scratch, wants photos, clips or product shots they already have turned into an ad, or asks for an ad without saying what to start from. For example: "make me an ad", "I have photos and clips".
---
# Make something new
1. If the message names a different Butter workflow — for example a line such as `Workflow: <name>` — call `getWorkflow` with that name instead of this one.
2. If what the user is asking for is not what this workflow does, call `listWorkflows` and choose the workflow that fits instead of proceeding with this one.
3. Otherwise call `getWorkflow` with `workflow: "make-something-new"`.
4. Follow the instructions it returns exactly and in order. Anything the user already told you counts as answered — do not ask for it again.
5. If `getWorkflow` reports an unknown name, call `listWorkflows` and choose from what it returns.
butter-product-launch879 Bytes
View saved version →
---
name: butter-product-launch
description: Launch a campaign for your newest product. Use Butter for this when the user is launching a new product. For example: "launch my new product", "we have a new product launching soon".
---
# Product launch
1. If the message names a different Butter workflow — for example a line such as `Workflow: <name>` — call `getWorkflow` with that name instead of this one.
2. If what the user is asking for is not what this workflow does, call `listWorkflows` and choose the workflow that fits instead of proceeding with this one.
3. Otherwise call `getWorkflow` with `workflow: "product-launch"`.
4. Follow the instructions it returns exactly and in order. Anything the user already told you counts as answered — do not ask for it again.
5. If `getWorkflow` reports an unknown name, call `listWorkflows` and choose from what it returns.
butter-reference-to-brand978 Bytes
View saved version →
---
name: butter-reference-to-brand
description: Break down a reference ad and rebuild it as your own. Use Butter for this when the user shares a reference ad or names a competitor and wants their own version of it, or wants to copy a format they admire. For example: "make this competitor ad ours", "an ad I admire".
---
# Reference → brand
1. If the message names a different Butter workflow — for example a line such as `Workflow: <name>` — call `getWorkflow` with that name instead of this one.
2. If what the user is asking for is not what this workflow does, call `listWorkflows` and choose the workflow that fits instead of proceeding with this one.
3. Otherwise call `getWorkflow` with `workflow: "reference-to-brand"`.
4. Follow the instructions it returns exactly and in order. Anything the user already told you counts as answered — do not ask for it again.
5. If `getWorkflow` reports an unknown name, call `listWorkflows` and choose from what it returns.
butter-reviews-to-ads927 Bytes
View saved version →
---
name: butter-reviews-to-ads
description: Find your best customer reviews and turn them into ads. Use Butter for this when the user wants ads built from customer reviews, testimonials, or social proof. For example: "use my customer reviews", "turn testimonials into ads".
---
# Reviews → ads
1. If the message names a different Butter workflow — for example a line such as `Workflow: <name>` — call `getWorkflow` with that name instead of this one.
2. If what the user is asking for is not what this workflow does, call `listWorkflows` and choose the workflow that fits instead of proceeding with this one.
3. Otherwise call `getWorkflow` with `workflow: "reviews-to-ads"`.
4. Follow the instructions it returns exactly and in order. Anything the user already told you counts as answered — do not ask for it again.
5. If `getWorkflow` reports an unknown name, call `listWorkflows` and choose from what it returns.
butter-static-to-motion979 Bytes
View saved version →
---
name: butter-static-to-motion
description: Turn your best-performing static ads into motion ads. Use Butter for this when the user wants to animate an existing static ad, turn a finished static design into video, or add motion without changing a design. For example: "animate this static ad", "make my static ad move".
---
# Static → motion
1. If the message names a different Butter workflow — for example a line such as `Workflow: <name>` — call `getWorkflow` with that name instead of this one.
2. If what the user is asking for is not what this workflow does, call `listWorkflows` and choose the workflow that fits instead of proceeding with this one.
3. Otherwise call `getWorkflow` with `workflow: "static-to-motion"`.
4. Follow the instructions it returns exactly and in order. Anything the user already told you counts as answered — do not ask for it again.
5. If `getWorkflow` reports an unknown name, call `listWorkflows` and choose from what it returns.
butter-ugc-edit1008 Bytes
View saved version →
---
name: butter-ugc-edit
description: Cut raw UGC and talking-head clips into a captioned ad. Use Butter for this when the user has raw UGC, creator, testimonial or talking-head footage and wants it cut together into an ad, with captions, b-roll, overlays, a hook or an end card. For example: "edit my UGC clips into an ad", "cut these talking-head videos together".
---
# UGC Maker
1. If the message names a different Butter workflow — for example a line such as `Workflow: <name>` — call `getWorkflow` with that name instead of this one.
2. If what the user is asking for is not what this workflow does, call `listWorkflows` and choose the workflow that fits instead of proceeding with this one.
3. Otherwise call `getWorkflow` with `workflow: "ugc-edit"`.
4. Follow the instructions it returns exactly and in order. Anything the user already told you counts as answered — do not ask for it again.
5. If `getWorkflow` reports an unknown name, call `listWorkflows` and choose from what it returns.
butter-workflows1.41 KB
View saved version →
---
name: butter-workflows
description: Make, remix or scale ads and videos with Butter. Use for any request to make video or ad creative with Butter that a more specific Butter skill does not already cover, including vague ones such as "make me a video" or "what can you make for my brand?".
---
# Butter
Butter builds ads and videos that open as editable Butter projects. The server holds the workflows; pick one and follow it.
1. If the user's message names a workflow — for example a line such as `Workflow: <name>` — call `getWorkflow` with that name.
2. If the user wants to change a Butter project that already exists and nothing in this conversation identifies it, say so and point them back to the chat that built it or to opening the project in Butter — never guess a project or session id, and do not start a new build instead.
3. Otherwise call `listWorkflows` and choose the one whose description fits what the user asked for.
4. If two or more fit equally well, ask the user which with ONE `askQuestions` call, offering each candidate's title and one-liner, then call `getWorkflow` with their choice.
5. If none fits, use the one `listWorkflows` marks as the default.
6. If `getWorkflow` reports an unknown name, call `listWorkflows` and choose from what it returns.
7. Follow the instructions `getWorkflow` returns exactly and in order. Anything the user already told you counts as answered — do not ask for it again.