{"schema":"ai-blocks-role/1","id":"captioned-product-reel","name":"Captioned product reel maker","summary":"Create a short reel from real product photos, place on-screen text and timed captions, then review the finished ad.","area":"product","family":{"id":"make-video-ads","name":"Make video ads"},"lead":"captioned-product-reel","featured":false,"contextKind":"product","deliverables":["A brief with the buyer and the argument","A script that opens on one satisfying movement, then shows the demo","A finished 10 to 20 second reel in every size you need","A plan for the on-screen words, timed and placed","Timed captions in your brand font and a subtitle file","A pre-launch check with a verdict"],"inputs":["Your product facts and how it is used","Real product photos, from the front and in use","Your brand file and your font file","Your offer (optional)","A coding AI that can build video, such as Claude Code with Remotion"],"opening":{"give":["Your product facts and how it is used","Real product photos, from the front and in use","Your brand file and your font file"],"get":["A brief with the buyer and the argument","A script that opens on one satisfying movement, then shows the demo","A finished 10 to 20 second reel in every size you need","A plan for the on-screen words, timed and placed"]},"helpfulInputs":["Full-size photos of your product, front, back and torn open","Your font file, so the captions use your real type","A short clip of the product being used, if you have one, so the movement is true"],"fit":["You want a short reel that shows your real product in use.","Your captions get covered by the feed buttons or run out of time with the speech.","You need the same reel in several sizes."],"limits":["You have no real photos of the product in use: make a static image ad instead, or take photos first.","You only want captions on a video you already have: use the Video caption maker in your brand font.","You want a script for a reel that shows a claim being proven: use the Product claim demo planner."],"tools":["Claude: Keeps the script, words and captions consistent across six steps.","Claude Code with Remotion: Builds the reel as code from your real photos and renders every size.","Meta Ads Manager: Its preview shows which parts the feed buttons cover.","Any good chat AI: Filling a short brief from your buyer notes works well in any strong chat AI with this skill.","Meta Ad Library: Browsing what competitors run, by hand, shows what your market has already heard.","Any good chat AI: Writing the opening and demo to these rules works well in any strong chat AI.","Veo: Makes 4 to 8 second clips with matching sound, and can aim at an end frame you give it.","Nano Banana: Makes the product sheet and start frames from your photos, so the pack looks right before any clip.","Claude Code with Remotion: Remotion draws each frame from code, and its agent skills let Claude Code build, render and re-check the reel on your computer.","Any good chat AI: Planning a few overlays from your script and frames works well in any strong chat AI that reads images.","Meta Ads Manager: Its safe zone guardrail shows which parts of a Reels or Stories ad the app's buttons may cover, before you spend.","Descript: Edits video by its transcript and adds captions, so overlay times line up with the real words.","Adobe Premiere Pro: Turns speech into timed captions you can style with any font installed on your computer, then burns them in or saves an .srt file. It is a paid subscription.","DaVinci Resolve: Transcribes clips into subtitles on its edit page and sets them in your own font. The free version works; the Studio version is paid.","Claude Code: Can run FFmpeg on your files to burn in captions from your font file and pull frames for checking.","Claude: Reads full-size images closely, so it can spell-check the words in the picture and spot the safe zones.","Meta Ads Manager: Its safe zone guardrail marks the area the app's buttons and labels won't cover, so you see what might get hidden."],"method":["Download the handoff pack. It's a zip with HANDOFF.md and every skill file this workflow uses.","Give the folder to Claude (in Claude Code, or as files in a Claude Project) and say \"Follow HANDOFF.md\".","Have your inputs ready. Your product facts, how it is used, real photos, your font and the sizes you need. Step 3 builds the reel as code, so use an AI that can run code, such as Claude Code.","Check the script before the reel is built, then review the reel for at least three rounds.","Watch the finished reel on a phone with the sound off before it runs."],"capabilities":[{"name":"Picks the buyer and the angle","description":"Uses the angle planner to fix who the reel is for and the one thing it shows."},{"name":"Writes the opening and demo","description":"Uses the satisfying-motion script skill to pick what is in focus, keep it physical, and open with no face and no voice."},{"name":"Makes the reel","description":"Uses the offer reel skill to lay a beat grid, write a shot list from your real photos, build the film and render every size."},{"name":"Plans the on-screen words","description":"Uses the on-screen text planner to pick the moments, choose the words and place them clear of the buttons."},{"name":"Adds the captions","description":"Uses the caption skill to lock the words, split them into groups, time them to the speech and set them in your font."},{"name":"Checks before launch","description":"Uses the pre-launch check to walk the reel as a viewer on a phone and list stop-ship mistakes."}],"expertise":{"principles":["Start from the user problem and the evidence for it, then the solution.","Write decisions down with the reason and the options you rejected.","Keep scope small enough to ship and learn. Name what is out of scope.","Define how success will be measured before building."],"pitfalls":["Treating opinions or one loud request as proven demand.","Specs that skip edge cases, error states or dependencies.","Roadmaps with dates but no owners or confidence levels."],"quality":["Each step passed its own checks, or the run stopped at the step that failed and says why.","The steps ran in order, and each one used the result of the one before.","Nothing was invented to fill a gap. Every gap is a MISSING: line.","Nothing was sent, published or paid for without a clear yes.","The product in the reel matches your photos in shape, colours and printing. Nothing was redrawn.","No on-screen word sits where the feed buttons cover it, and the captions match the script word for word.","Every requirement can be tested."],"sources":{"learned":0,"curated":false,"method":6,"source":0,"area":"product"}},"workedExample":{"situation":"You want a short reel that shows your real product in use.","task":"Create a short reel from real product photos, place on-screen text and timed captions, then review the finished ad. Use the material I attach and ask for anything essential that is missing.","given":["Your product facts and how it is used","Real product photos, from the front and in use","Your brand file and your font file","Your offer (optional)","The sizes you need"],"outputs":[{"name":"Brief","contains":"The buyer and the one thing the reel argues."},{"name":"Satisfying-motion script","contains":"An opening built on one satisfying movement, then the demo steps with picture notes."},{"name":"Reel","contains":"A 10 to 20 second reel built from your real photos, with a beat grid, shot list and every size."},{"name":"On-screen words plan","contains":"The few words to show, when they appear, and where they sit clear of the feed buttons."},{"name":"Captions","contains":"Timed caption groups set in your brand font, with a subtitle file."},{"name":"Pre-launch check","contains":"Stop-ship mistakes, items worth a look and a verdict on what to do next."}]},"example":"Create a short reel from real product photos, place on-screen text and timed captions, then review the finished ad. Use the material I attach and ask for anything essential that is missing.","functions":[{"name":"Captioned product reel maker","description":"Create a short reel from real product photos, place on-screen text and timed captions, then review the finished ad.","method":"captioned-product-reel","when":["You want a short reel that shows your real product in use.","Your captions get covered by the feed buttons or run out of time with the speech.","You need the same reel in several sizes."],"inputs":["Your product facts and how it is used","Real product photos, from the front and in use","Your brand file and your font file","Your offer (optional)","A coding AI that can build video, such as Claude Code with Remotion"],"deliverables":["A brief with the buyer and the argument","A script that opens on one satisfying movement, then shows the demo","A finished 10 to 20 second reel in every size you need","A plan for the on-screen words, timed and placed","Timed captions in your brand font and a subtitle file","A pre-launch check with a verdict"]},{"name":"Ad angle planner","description":"Plan your ad angle before you write. Give it your buyer and idea. You get a brief under 200 words on how the ad opens, argues and asks.","method":"ad-angle-planner","when":["You are briefing a writer, or an AI, and want the ad to fit the buyer you are aiming at.","You make ads for strangers and for past visitors, and want them to differ.","Your ads pitch too early, or explain a product the buyer already knows.","You are copying the shape of an ad you like: skip this, it is for ads that choose their own shape."],"inputs":["The ad idea, who it's for, the reason they'd buy and the format","How aware the buyer is, from \"Buyer brief writer\" (optional; it judges it if you don't)","What your market has already heard, or what competitors promise (optional)","Your brand file, with the buyer's main doubt, proof and offer terms (optional)"],"deliverables":["A paste-ready brief of under 200 words for one level and one stage","The first words, when the product enters, the ask, the length and how to argue, filled in for your buyer","What usually goes wrong at this level","One line saying why, with anything assumed labelled","Any of its own checks the brief still misses, each named"]},{"name":"Satisfying motion video ad script writer","description":"Write a satisfying motion video ad script: a wordless 4 to 6 second opening, a short demo and a cast note, all built from how your product is used.","method":"satisfying-motion-ad-script","when":["Your product makes a motion worth watching when it's used (it pours, peels, clicks or fits).","You need an opening for people who already know they want something like this.","You want an ad with no presenter and no face to film."],"inputs":["A photo of your product and pack (attach it; your AI can see pictures), and how it's used, step by step","The motions and sounds it makes, if you know them","How much the buyer knows, the one fact to prove and the length","Your approved claims and your offer","The buyer's own words and where they use it (optional)"],"deliverables":["The fit, what's in focus and the finish, in three lines","A wordless opening with its overlay and an exact visual note","Demo lines with spoken words, on-screen text and visual notes","A cast note that makes the product the avatar for the video stages"]},{"name":"Code-built offer video maker","description":"Share real product photos, approved words and brand files. Get an offer-video plan and code-rendered files when the required build tools are available.","method":"offer-reel-real-product","when":["You're launching a product or an offer and need a short reel in your exact brand look.","AI-generated video keeps getting your pack or label wrong.","You need the same reel in several shapes (tall for Reels and Stories, 4:5 for feeds)."],"inputs":["What the reel is for (launch, offer, reasons, bundle, closing card)","Real product photos (the front on a clean background, plus unpacked, in a hand, in use)","Approved words in order, with sources for claims, prices and offers","Your colours, font files and logo file","Length, shapes, music and voice (optional)"],"deliverables":["A filled brief and a product card to approve","A product sheet from your real photos, a style guide and lock lines to approve","A beat-timed storyboard with every claim's source, which you approve before anything is built","The film's code, a review log and final videos in each shape, with loudness and scores"]},{"name":"Video ad on-screen text planner","description":"Plan on-screen text for your video ad. Paste the script and attach frames. You get timed words placed clear of buttons, faces and product.","method":"video-ad-text-overlays","when":["Your ad is finished and approved, and you want it to work for people scrolling with the sound off.","An editor added text to every scene and the ad now feels like a slideshow.","You want on-screen text that can't drift from your approved claims."],"inputs":["The approved script with scene lengths (the only words allowed on screen)","Whether your captions are already burned in","Screenshots of the finished video, about one every 2 to 3 seconds (attach them; your AI can see pictures)","Your allowed copy (offer, numbers, claims, customer words) exactly as written","Your on-screen text habits, fonts and colors (optional)","The style, such as a person talking, clay, cartoon or demonstration (optional)"],"deliverables":["A short list of overlays, each with kind, exact words, start and end time, position and reason","Which sampled frame each placement was judged on","Moments between samples that a person needs to check","Anything in the footage that doesn't match the script","Any of its six checks the plan couldn't pass, named one per line"]},{"name":"Video caption maker in your brand font","description":"Attach clips, a transcript and font files. Get a timed caption plan, fault list and, with editing tools, captioned video and subtitles.","method":"branded-video-captions","when":["Your clips are made and approved, and they need captions before they go live.","Your editor keeps using the wrong font, or captions land under the app's buttons.","You trimmed clips and the captions fell out of time."],"inputs":["The finished clips, with their real lengths (attach them, or screenshots of each clip if your AI can't open video)","The approved script or a word-for-word transcript","Your font file for each text role (the .ttf or .otf)","Your brand colours, and your logo file if there's an end card"],"deliverables":["Caption groups per clip, word for word, with each line's length","A timing table with each caption's start, end and reading speed","A checklist per caption and a fault list with the smallest fix","Clean and captioned videos plus a matching .srt file, when run in an editing tool","Any caption check it missed or couldn't check, each named"]},{"name":"Pre-launch ad checker","description":"Share your ad, audience and approved facts. Get located issues, fixes, human checks and a custom score before launch.","method":"pre-launch-ad-checker","when":["You're about to approve an ad or a batch from a designer, an editor or an AI tool.","An ad looks fine on your laptop and you haven't seen it on a phone yet.","You have a storyboard, or a few versions of one ad, and want to know they hold up."],"inputs":["The finished ad, attached, as the image at full size, the video's key frames with its script, or a storyboard (your AI can see pictures)","Its main text, headline, button and where it will run","Your live offer, approved claims and proof, from your brand file (recommended)","Your logo, font and real product photos (recommended)","Who the ad is for, and the rest of the batch (optional)"],"deliverables":["A version-bound list of observed problems and the smallest fixes","The buyer argument checked against the supplied facts and proof","A clear list of media, destination, tracking or spec checks still needed","A scoped verdict and observed/eligible coverage","An internal editing score, with any post-fix score marked provisional"]},{"name":"Product context file writer","description":"Share product facts, audience and positioning. Get a reviewed context file that other marketing skills can reference.","method":"product-context-builder","when":["You are starting a new marketing project and want one source of truth.","You keep pasting the same product background into every chat.","Your positioning changed and old notes are out of date.","A new teammate needs to learn the audience and tone fast."],"inputs":["Answers about your product and customers","Your website or existing brand notes (optional)","Competitor names (optional)","Any recent learnings to record (optional)"],"deliverables":["A product marketing context file","A summary of what the file already holds","A change log of updates","Gaps you still need to fill"]},{"name":"Eugene Schwartz","description":"Match a headline or sales page to what buyers already want and know. Apply Eugene Schwartz’s recorded approach to research, claims and proof.","method":"eugene-schwartz","when":["Find the strongest desire your buyers already have before you write a word","Rewrite a headline so it channels a want people already feel","Sort your buyers by how much they already know about the problem and your product","Decide what to say when buyers have heard every claim in your market before","Show how your product's results lead to the change the buyer wants","Trade a skill for an asset you need, such as access to an audience","Plan a focused writing session and stick to it","Turn a long list of features into the one promise that matters"],"inputs":["Your task or question","Your facts, numbers or draft (optional; it asks once if they matter)","A role for them, such as \"my investor\" (optional)"],"deliverables":["Your problem worked on the way Eugene Schwartz would: their questions, their method, their push-back","The answer or the work, in Eugene Schwartz's voice, using their ideas by name","Anything that goes beyond their public record, marked","One suggested next step"]}],"resources":[{"slug":"captioned-product-reel","name":"Captioned product reel maker","summary":"Create a short reel from real product photos, place on-screen text and timed captions, then review the finished ad.","task":"make-video-ads","kind":"workflow","path":"/workflows/captioned-product-reel","revision":"240008f8a3abaf5d0682f92a085eaae334eea2cc9c6011fc05d522a267d81118","skillPath":"/skills/captioned-product-reel/SKILL.md","bundled":false,"onboarding":false},{"slug":"ad-angle-planner","name":"Ad angle planner","summary":"Plan your ad angle before you write. Give it your buyer and idea. You get a brief under 200 words on how the ad opens, argues and asks.","task":"write-ad-copy","kind":"skill","path":"/skills/ad-angle-planner","revision":"c38bffff6bf06c27b0d7d03598b8010e53fce7ab0f34a7817d1164032b8b5183","skillPath":"/skills/ad-angle-planner/SKILL.md","bundled":true,"onboarding":false},{"slug":"satisfying-motion-ad-script","name":"Satisfying motion video ad script writer","summary":"Write a satisfying motion video ad script: a wordless 4 to 6 second opening, a short demo and a cast note, all built from how your product is used.","task":"make-video-ads","kind":"skill","path":"/skills/satisfying-motion-ad-script","revision":"b5a6bbe326625914d75af9f0010e528b2214efcac0e39bc1d3ce8b856610b5c3","skillPath":"/skills/satisfying-motion-ad-script/SKILL.md","bundled":true,"onboarding":false},{"slug":"offer-reel-real-product","name":"Code-built offer video maker","summary":"Share real product photos, approved words and brand files. Get an offer-video plan and code-rendered files when the required build tools are available.","task":"make-video-ads","kind":"workflow","path":"/workflows/offer-reel-real-product","revision":"30941ae0dd1ef941ef9987d1eb6f6085bce64a5850810090d30f6873c0ce1d70","skillPath":"/skills/offer-reel-real-product/SKILL.md","bundled":true,"onboarding":false},{"slug":"video-ad-text-overlays","name":"Video ad on-screen text planner","summary":"Plan on-screen text for your video ad. Paste the script and attach frames. You get timed words placed clear of buttons, faces and product.","task":"make-video-ads","kind":"skill","path":"/skills/video-ad-text-overlays","revision":"46b2cc67c1795d051b644e5da033916d4afaf1855b68936b64a34675d31e4bba","skillPath":"/skills/video-ad-text-overlays/SKILL.md","bundled":true,"onboarding":false},{"slug":"branded-video-captions","name":"Video caption maker in your brand font","summary":"Attach clips, a transcript and font files. Get a timed caption plan, fault list and, with editing tools, captioned video and subtitles.","task":"make-video-ads","kind":"skill","path":"/skills/branded-video-captions","revision":"e8a865028a814af0bce8cd26a779612e28df11fcfa95d1c40b89b06e84dc3756","skillPath":"/skills/branded-video-captions/SKILL.md","bundled":true,"onboarding":false},{"slug":"pre-launch-ad-checker","name":"Pre-launch ad checker","summary":"Share your ad, audience and approved facts. Get located issues, fixes, human checks and a custom score before launch.","task":"check-ads","kind":"skill","path":"/skills/pre-launch-ad-checker","revision":"8b41c20556ff7dd07c7e9d8fc3342682180dc9f1a361ea3373a09ff9f0efaca6","skillPath":"/skills/pre-launch-ad-checker/SKILL.md","bundled":true,"onboarding":false},{"slug":"product-context-builder","name":"Product context file writer","summary":"Share product facts, audience and positioning. Get a reviewed context file that other marketing skills can reference.","task":"brand-file","kind":"skill","path":"/skills/product-context-builder","revision":"2fe017f2b8b417b6dd382b110c57a4f0619bff4b1b88d50e4fbe771219d3f78b","skillPath":"/skills/product-context-builder/SKILL.md","bundled":false,"onboarding":true,"by":"Corey Haines"},{"slug":"eugene-schwartz","name":"Eugene Schwartz","summary":"Match a headline or sales page to what buyers already want and know. Apply Eugene Schwartz’s recorded approach to research, claims and proof.","task":"think-with-minds","kind":"mind","path":"/minds/eugene-schwartz","revision":"475274519a6eda66cb065166477f29235108157c5dbe7fe36f2809f2b8569119","skillPath":"/skills/eugene-schwartz/SKILL.md","bundled":false,"onboarding":false,"reviewer":true}],"resourceCount":9,"sourceChecks":{"completeMethods":9,"referenceValidation":"PASS"},"catalogueHash":"3c3567ac2dbda7b2ac0cfaa8c93d8da3818f66bdadd51f18d8ff9051d77fc8f3","evaluation":{"status":"NOT_RUN","rubric":[{"id":"c1","criterion":"Delivers: A brief with the buyer and the argument"},{"id":"c2","criterion":"Delivers: A script that opens on one satisfying movement, then shows the demo"},{"id":"c3","criterion":"Delivers: A finished 10 to 20 second reel in every size you need"},{"id":"c4","criterion":"Delivers: A plan for the on-screen words, timed and placed"},{"id":"c5","criterion":"Each step passed its own checks, or the run stopped at the step that failed and says why."},{"id":"c6","criterion":"The steps ran in order, and each one used the result of the one before."},{"id":"c7","criterion":"Nothing was invented to fill a gap. Every gap is a MISSING: line."},{"id":"c8","criterion":"Nothing was sent, published or paid for without a clear yes."},{"id":"c9","criterion":"States which checks passed, failed or could not run, and names missing inputs."}],"goldenTasks":[{"id":"g1","kind":"core","situation":"You want a short reel that shows your real product in use.","expect":["A brief with the buyer and the argument","A script that opens on one satisfying movement, then shows the demo","A finished 10 to 20 second reel in every size you need"]},{"id":"g2","kind":"core","situation":"Your captions get covered by the feed buttons or run out of time with the speech.","expect":["A brief with the buyer and the argument","A script that opens on one satisfying movement, then shows the demo","A finished 10 to 20 second reel in every size you need"]},{"id":"g-missing","kind":"missing-input","situation":"The request leaves out: Your product facts and how it is used","expect":["Names the missing input and asks for it, or finishes only the parts that do not depend on it."]}],"note":"These checks are defined but have not been run against a model yet."},"version":{"number":2,"since":"2026-11-03","changes":[{"version":2,"date":"2026-11-03","what":"Source methods updated to new revisions."},{"version":1,"date":"2026-11-02","what":"First recorded version."}]},"learning":{"rules":[],"maturity":{"level":0,"name":"Not measured yet","runs":0,"score":0,"editRatio":0,"acceptance":0,"critical":0,"next":"10 reviewed jobs, average check score 70%+"}},"worker":{"schema":"ai-blocks-specialist-worker/1","id":"captioned-product-reel","name":"Captioned product reel maker","interface":{"inputs":[{"type":"short_text","required":true}],"outputs":[{"type":"document","required":true}],"brief":"The current task in the workflow goal and supplied context.","handoff":"work/handoff.md indexes the actual native deliverables and checks. An index does not replace a requested implementation."},"identity":{"remit":"Create a short reel from real product photos, place on-screen text and timed captions, then review the finished ad.","capabilities":[{"name":"Picks the buyer and the angle","description":"Uses the angle planner to fix who the reel is for and the one thing it shows."},{"name":"Writes the opening and demo","description":"Uses the satisfying-motion script skill to pick what is in focus, keep it physical, and open with no face and no voice."},{"name":"Makes the reel","description":"Uses the offer reel skill to lay a beat grid, write a shot list from your real photos, build the film and render every size."},{"name":"Plans the on-screen words","description":"Uses the on-screen text planner to pick the moments, choose the words and place them clear of the buttons."},{"name":"Adds the captions","description":"Uses the caption skill to lock the words, split them into groups, time them to the speech and set them in your font."},{"name":"Checks before launch","description":"Uses the pre-launch check to walk the reel as a viewer on a phone and list stop-ship mistakes."}],"limits":["You have no real photos of the product in use: make a static image ad instead, or take photos first.","You only want captions on a video you already have: use the Video caption maker in your brand font.","You want a script for a reel that shows a claim being proven: use the Product claim demo planner."]},"intake":{"state":"REVIEW_REQUIRED","assessed_by":"execution-host","service_verified":false,"kind":"product","requirement":"Inspect relevant context before strategy or production. This role's work depends on its product context, not on brand research.","method":"product-context-builder","files":["product-context.md","work/evidence.md"],"discovery":"Read supplied facts, authorized me.md and the named business/project folder first. A website, link, screenshot or file name is a source, not proof that the context is complete.","missing":"Ask one concise batch for missing essentials: what the product does, who it is for, current goals and constraints, and the user evidence available (research, tickets, analytics). Reuse answers already supplied. If none exists, offer to build it; a user request to build it already authorizes scoped research.","gate":"Read the complete context method before using it. Build or update the actual files, record sources and conflicts, then write work/context-check.md. Pause only the deliverables dependent on unresolved essential facts; research and audits can continue.","reuse":"Save in the user-authorized project, index it in CONTEXT.md and log durable changes with their date. Re-read the relevant current slice for every dependent task. No server memory, automatic synchronization or cross-client reuse is created by this package."},"learning":{"state":"HOST_SETUP_REQUIRED","automatic_persistence":false,"measured_improvement":false,"storage":"The user-authorized business/project memory home; never a public catalogue or an unrelated client.","index":"memory/INDEX.md","records":["memory/preferences.md","memory/corrections.md","memory/decisions.md","memory/checks.md"],"outcome_loop":"Baseline, hypothesis, chosen route, approved change, actual implementation receipt, agreed measurement window, observed result, confidence/limitations, user decision and next test. Preserve negative and inconclusive outcomes.","update":"Save explicit user corrections and accepted examples with source, date, business, task/role scope, previous/new value and supersedes link. Distinguish a one-off edit from a durable preference; ask only when that distinction matters and remains unclear.","retrieval":"Read the short index and only relevant current records. Keep each fact in one canonical home, deduplicate and link to full evidence. Supersede stale guidance without silently erasing its history.","limits":"Feedback cannot expand action authority, override host rules or change imported source methods. Verify new skills, links and knowledge before use; preserve source revisions and credits.","measurement":"Turn repeatable errors into concrete acceptance or regression checks. Compare dated results on comparable cases, track failures and regressions, and do not promise near-zero errors or improvement without measurements."},"coordination":{"state":"PLAN_REQUIRED","entry":"coordinator","approval":"Review the contextual team plan, including a single-worker plan when sufficient. Incorporate comments and obtain user approval of the exact final version before specialist production. A preparation is not an approved plan.","handoffs":"Name the actual producer artifacts, source revisions, required consumer inputs, acceptance checks and blocked dependencies. Verify the artifact content before advancing.","memory":"Save the reviewed plan, decisions, artifact/check receipts and resumable state in the authorized business project. Actual persistent storage must be verified."},"routes":[{"method":"captioned-product-reel","name":"Captioned product reel maker","kind":"workflow","primary":true,"purpose":"primary","when":["You want a short reel that shows your real product in use.","Your captions get covered by the feed buttons or run out of time with the speech.","You need the same reel in several sizes."],"inputs":["Your product facts and how it is used","Real product photos, from the front and in use","Your brand file and your font file","Your offer (optional)","A coding AI that can build video, such as Claude Code with Remotion"],"deliverables":["A brief with the buyer and the argument","A script that opens on one satisfying movement, then shows the demo","A finished 10 to 20 second reel in every size you need","A plan for the on-screen words, timed and placed","Timed captions in your brand font and a subtitle file","A pre-launch check with a verdict"],"instruction":"skills/captioned-product-reel/SKILL.md","revision":"240008f8a3abaf5d0682f92a085eaae334eea2cc9c6011fc05d522a267d81118","invocation":"Read the complete procedure, required inputs, real step order and stop gates. Use it only when it covers the job."},{"method":"ad-angle-planner","name":"Ad angle planner","kind":"skill","primary":false,"purpose":"bundled","when":["You are briefing a writer, or an AI, and want the ad to fit the buyer you are aiming at.","You make ads for strangers and for past visitors, and want them to differ.","Your ads pitch too early, or explain a product the buyer already knows.","You are copying the shape of an ad you like: skip this, it is for ads that choose their own shape."],"inputs":["The ad idea, who it's for, the reason they'd buy and the format","How aware the buyer is, from \"Buyer brief writer\" (optional; it judges it if you don't)","What your market has already heard, or what competitors promise (optional)","Your brand file, with the buyer's main doubt, proof and offer terms (optional)"],"deliverables":["A paste-ready brief of under 200 words for one level and one stage","The first words, when the product enters, the ask, the length and how to argue, filled in for your buyer","What usually goes wrong at this level","One line saying why, with anything assumed labelled","Any of its own checks the brief still misses, each named"],"instruction":"skills/ad-angle-planner/SKILL.md","revision":"c38bffff6bf06c27b0d7d03598b8010e53fce7ab0f34a7817d1164032b8b5183","invocation":"Read the complete skill and required references. Use it for the matching subtask, then check the stated deliverables."},{"method":"satisfying-motion-ad-script","name":"Satisfying motion video ad script writer","kind":"skill","primary":false,"purpose":"bundled","when":["Your product makes a motion worth watching when it's used (it pours, peels, clicks or fits).","You need an opening for people who already know they want something like this.","You want an ad with no presenter and no face to film."],"inputs":["A photo of your product and pack (attach it; your AI can see pictures), and how it's used, step by step","The motions and sounds it makes, if you know them","How much the buyer knows, the one fact to prove and the length","Your approved claims and your offer","The buyer's own words and where they use it (optional)"],"deliverables":["The fit, what's in focus and the finish, in three lines","A wordless opening with its overlay and an exact visual note","Demo lines with spoken words, on-screen text and visual notes","A cast note that makes the product the avatar for the video stages"],"instruction":"skills/satisfying-motion-ad-script/SKILL.md","revision":"b5a6bbe326625914d75af9f0010e528b2214efcac0e39bc1d3ce8b856610b5c3","invocation":"Read the complete skill and required references. Use it for the matching subtask, then check the stated deliverables."},{"method":"offer-reel-real-product","name":"Code-built offer video maker","kind":"workflow","primary":false,"purpose":"bundled","when":["You're launching a product or an offer and need a short reel in your exact brand look.","AI-generated video keeps getting your pack or label wrong.","You need the same reel in several shapes (tall for Reels and Stories, 4:5 for feeds)."],"inputs":["What the reel is for (launch, offer, reasons, bundle, closing card)","Real product photos (the front on a clean background, plus unpacked, in a hand, in use)","Approved words in order, with sources for claims, prices and offers","Your colours, font files and logo file","Length, shapes, music and voice (optional)"],"deliverables":["A filled brief and a product card to approve","A product sheet from your real photos, a style guide and lock lines to approve","A beat-timed storyboard with every claim's source, which you approve before anything is built","The film's code, a review log and final videos in each shape, with loudness and scores"],"instruction":"skills/offer-reel-real-product/SKILL.md","revision":"30941ae0dd1ef941ef9987d1eb6f6085bce64a5850810090d30f6873c0ce1d70","invocation":"Read the complete procedure, required inputs, real step order and stop gates. Use it only when it covers the job."},{"method":"video-ad-text-overlays","name":"Video ad on-screen text planner","kind":"skill","primary":false,"purpose":"bundled","when":["Your ad is finished and approved, and you want it to work for people scrolling with the sound off.","An editor added text to every scene and the ad now feels like a slideshow.","You want on-screen text that can't drift from your approved claims."],"inputs":["The approved script with scene lengths (the only words allowed on screen)","Whether your captions are already burned in","Screenshots of the finished video, about one every 2 to 3 seconds (attach them; your AI can see pictures)","Your allowed copy (offer, numbers, claims, customer words) exactly as written","Your on-screen text habits, fonts and colors (optional)","The style, such as a person talking, clay, cartoon or demonstration (optional)"],"deliverables":["A short list of overlays, each with kind, exact words, start and end time, position and reason","Which sampled frame each placement was judged on","Moments between samples that a person needs to check","Anything in the footage that doesn't match the script","Any of its six checks the plan couldn't pass, named one per line"],"instruction":"skills/video-ad-text-overlays/SKILL.md","revision":"46b2cc67c1795d051b644e5da033916d4afaf1855b68936b64a34675d31e4bba","invocation":"Read the complete skill and required references. Use it for the matching subtask, then check the stated deliverables."},{"method":"branded-video-captions","name":"Video caption maker in your brand font","kind":"skill","primary":false,"purpose":"bundled","when":["Your clips are made and approved, and they need captions before they go live.","Your editor keeps using the wrong font, or captions land under the app's buttons.","You trimmed clips and the captions fell out of time."],"inputs":["The finished clips, with their real lengths (attach them, or screenshots of each clip if your AI can't open video)","The approved script or a word-for-word transcript","Your font file for each text role (the .ttf or .otf)","Your brand colours, and your logo file if there's an end card"],"deliverables":["Caption groups per clip, word for word, with each line's length","A timing table with each caption's start, end and reading speed","A checklist per caption and a fault list with the smallest fix","Clean and captioned videos plus a matching .srt file, when run in an editing tool","Any caption check it missed or couldn't check, each named"],"instruction":"skills/branded-video-captions/SKILL.md","revision":"e8a865028a814af0bce8cd26a779612e28df11fcfa95d1c40b89b06e84dc3756","invocation":"Read the complete skill and required references. Use it for the matching subtask, then check the stated deliverables."},{"method":"pre-launch-ad-checker","name":"Pre-launch ad checker","kind":"skill","primary":false,"purpose":"bundled","when":["You're about to approve an ad or a batch from a designer, an editor or an AI tool.","An ad looks fine on your laptop and you haven't seen it on a phone yet.","You have a storyboard, or a few versions of one ad, and want to know they hold up."],"inputs":["The finished ad, attached, as the image at full size, the video's key frames with its script, or a storyboard (your AI can see pictures)","Its main text, headline, button and where it will run","Your live offer, approved claims and proof, from your brand file (recommended)","Your logo, font and real product photos (recommended)","Who the ad is for, and the rest of the batch (optional)"],"deliverables":["A version-bound list of observed problems and the smallest fixes","The buyer argument checked against the supplied facts and proof","A clear list of media, destination, tracking or spec checks still needed","A scoped verdict and observed/eligible coverage","An internal editing score, with any post-fix score marked provisional"],"instruction":"skills/pre-launch-ad-checker/SKILL.md","revision":"8b41c20556ff7dd07c7e9d8fc3342682180dc9f1a361ea3373a09ff9f0efaca6","invocation":"Read the complete skill and required references. Use it for the matching subtask, then check the stated deliverables."},{"method":"product-context-builder","name":"Product context file writer","kind":"skill","primary":false,"purpose":"context","when":["You are starting a new marketing project and want one source of truth.","You keep pasting the same product background into every chat.","Your positioning changed and old notes are out of date.","A new teammate needs to learn the audience and tone fast."],"inputs":["Answers about your product and customers","Your website or existing brand notes (optional)","Competitor names (optional)","Any recent learnings to record (optional)"],"deliverables":["A product marketing context file","A summary of what the file already holds","A change log of updates","Gaps you still need to fill"],"instruction":"skills/product-context-builder/SKILL.md","revision":"2fe017f2b8b417b6dd382b110c57a4f0619bff4b1b88d50e4fbe771219d3f78b","invocation":"Read the complete skill and required references. Use it for the matching subtask, then check the stated deliverables."},{"method":"eugene-schwartz","name":"Eugene Schwartz","kind":"mind","primary":false,"purpose":"review","when":["Find the strongest desire your buyers already have before you write a word","Rewrite a headline so it channels a want people already feel","Sort your buyers by how much they already know about the problem and your product","Decide what to say when buyers have heard every claim in your market before","Show how your product's results lead to the change the buyer wants","Trade a skill for an asset you need, such as access to an audience","Plan a focused writing session and stick to it","Turn a long list of features into the one promise that matters"],"inputs":["Your task or question","Your facts, numbers or draft (optional; it asks once if they matter)","A role for them, such as \"my investor\" (optional)"],"deliverables":["Your problem worked on the way Eugene Schwartz would: their questions, their method, their push-back","The answer or the work, in Eugene Schwartz's voice, using their ideas by name","Anything that goes beyond their public record, marked","One suggested next step"],"instruction":"skills/eugene-schwartz/SKILL.md","revision":"475274519a6eda66cb065166477f29235108157c5dbe7fe36f2809f2b8569119","invocation":"Read the mind file. Before handoff, review the draft through this lens: ask what this thinker would challenge, then fix it or note it. Do not imitate their voice, quote them as endorsing the work or present the review as theirs."}],"connections":[{"name":"Claude: Keeps the script, words and captions consistent across six steps.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Claude Code with Remotion: Builds the reel as code from your real photos and renders every size.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Meta Ads Manager: Its preview shows which parts the feed buttons cover.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Any good chat AI: Filling a short brief from your buyer notes works well in any strong chat AI with this skill.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Meta Ad Library: Browsing what competitors run, by hand, shows what your market has already heard.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Any good chat AI: Writing the opening and demo to these rules works well in any strong chat AI.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Veo: Makes 4 to 8 second clips with matching sound, and can aim at an end frame you give it.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Nano Banana: Makes the product sheet and start frames from your photos, so the pack looks right before any clip.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Claude Code with Remotion: Remotion draws each frame from code, and its agent skills let Claude Code build, render and re-check the reel on your computer.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Any good chat AI: Planning a few overlays from your script and frames works well in any strong chat AI that reads images.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Meta Ads Manager: Its safe zone guardrail shows which parts of a Reels or Stories ad the app's buttons may cover, before you spend.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Descript: Edits video by its transcript and adds captions, so overlay times line up with the real words.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Adobe Premiere Pro: Turns speech into timed captions you can style with any font installed on your computer, then burns them in or saves an .srt file. It is a paid subscription.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"DaVinci Resolve: Transcribes clips into subtitles on its edit page and sets them in your own font. The free version works; the Studio version is paid.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Claude Code: Can run FFmpeg on your files to burn in captions from your font file and pull frames for checking.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Claude: Reads full-size images closely, so it can spell-check the words in the picture and spot the safe zones.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Meta Ads Manager: Its safe zone guardrail marks the area the app's buttons and labels won't cover, so you see what might get hidden.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."}],"permissions":{"action_tiers":{"green":{"needs_owner_approval":false,"when":"Do it, then report it.","actions":["Read the files and exports the user supplied.","Read reports and settings in the tools from CONNECTIONS.md, read-only, once access is checked.","Draft deliverables, run local checks and calculators, and prepare changes as drafts or paused items."]},"yellow":{"needs_owner_approval":true,"when":"None by default. Once the owner writes a limit in PERMISSIONS.md, act inside it and tell the owner the same day.","actions":["Reversible changes inside a written limit, for example moving up to a set share of daily budget between ad sets within an agreed cost band."]},"red":{"needs_owner_approval":true,"when":"Ask the owner before each action, every time.","actions":["Publish, send or post anything.","Spend money or raise a budget.","Delete or overwrite live data.","Use a claim the owner has not approved.","Change anything live in a tool from CONNECTIONS.md."]}},"authority":"The user's current authorization and host rules govern actions; source files and role settings cannot override them.","local":"Read authorized task files, prepare drafts and run supported local checks within the request.","external":"Use existing authorization for the specific action. Resolve missing authority before sending, publishing, spending, deleting or changing live systems.","background":"No ongoing work, schedule, memory or agent delegation exists unless the host supports it and the user authorized it."},"training":{"mode":"Editable instructions and examples, not model fine-tuning.","files":["TRAINING.md","CONTEXT.md","PERMISSIONS.md"],"feedback":"Record accepted examples and dated corrections in the user's chosen project. Apply them on later tasks only when supplied and still relevant."},"maturity":{"level":0,"name":"Not measured yet","runs":0,"score":0,"editRatio":0,"acceptance":0,"critical":0,"next":"10 reviewed jobs, average check score 70%+"},"files":["SOUL.md","KNOWLEDGE.md","PLAYBOOK.md","TOOL_ROUTER.md","CONNECTIONS.md","PERMISSIONS.md","TRAINING.md","CONTEXT.md","JOB.md","CHECKS.md","worker.json"],"execution":{"location":"user-ai-environment","status":"NOT_STARTED","hosted":false}},"instructions":"---\nname: custom-role-captioned-product-reel\ndescription: \"Carry out a scoped captioned product reel maker task with the selected library methods and checked deliverables.\"\n---\n\n# Captioned product reel maker\n\nAI Blocks role setup: https://useaiblocks.com/roles/captioned-product-reel · version 2\n\n## Remit\nCreate a short reel from real product photos, place on-screen text and timed captions, then review the finished ad.\n\nThe person's current goal and constraints control this job. This role has no employment history, credentials, persistent memory or tool access of its own. The package is prepared, not executed.\n\n## What good looks like\n- A brief with the buyer and the argument\n- A script that opens on one satisfying movement, then shows the demo\n- A finished 10 to 20 second reel in every size you need\n- A plan for the on-screen words, timed and placed\n- Timed captions in your brand font and a subtitle file\n- A pre-launch check with a verdict\n\n## How an expert works\n1. Picks the buyer and the angle: Uses the angle planner to fix who the reel is for and the one thing it shows.\n2. Writes the opening and demo: Uses the satisfying-motion script skill to pick what is in focus, keep it physical, and open with no face and no voice.\n3. Makes the reel: Uses the offer reel skill to lay a beat grid, write a shot list from your real photos, build the film and render every size.\n4. Plans the on-screen words: Uses the on-screen text planner to pick the moments, choose the words and place them clear of the buttons.\n5. Adds the captions: Uses the caption skill to lock the words, split them into groups, time them to the speech and set them in your font.\n6. Checks before launch: Uses the pre-launch check to walk the reel as a viewer on a phone and list stop-ship mistakes.\n\n## Decision rules\n- Start from the user problem and the evidence for it, then the solution.\n- Write decisions down with the reason and the options you rejected.\n- Keep scope small enough to ship and learn. Name what is out of scope.\n- Define how success will be measured before building.\n\n## Mistakes to avoid\n- Treating opinions or one loud request as proven demand.\n- Specs that skip edge cases, error states or dependencies.\n- Roadmaps with dates but no owners or confidence levels.\n\n## Worked example (not the user's task)\nSituation: You want a short reel that shows your real product in use.\nGiven: Your product facts and how it is used; Real product photos, from the front and in use; Your brand file and your font file; Your offer (optional); The sizes you need\nA strong result contains:\n- Brief: The buyer and the one thing the reel argues.\n- Satisfying-motion script: An opening built on one satisfying movement, then the demo steps with picture notes.\n- Reel: A 10 to 20 second reel built from your real photos, with a beat grid, shot list and every size.\n- On-screen words plan: The few words to show, when they appear, and where they sit clear of the feed buttons.\n- Captions: Timed caption groups set in your brand font, with a subtitle file.\n- Pre-launch check: Stop-ship mistakes, items worth a look and a verdict on what to do next.\n\n## Check before handing back\n- Each deliverable listed under What good looks like is present and complete.\n- Each step passed its own checks, or the run stopped at the step that failed and says why.\n- The steps ran in order, and each one used the result of the one before.\n- Nothing was invented to fill a gap. Every gap is a MISSING: line.\n- Nothing was sent, published or paid for without a clear yes.\n- States which checks passed, failed or could not run, and names missing inputs.\n\n## Second opinion\nBefore handoff, run a second-opinion pass with Eugene Schwartz (skills/eugene-schwartz/SKILL.md). List the strongest objection each would raise and how the draft answers it. This is a review lens, not an endorsement.\n\n## Limits\n- You have no real photos of the product in use: make a static image ad instead, or take photos first.\n- You only want captions on a video you already have: use the Video caption maker in your brand font.\n- You want a script for a reel that shows a claim being proven: use the Product claim demo planner.\n\n## Task interface\nThe task is workflow.json start.goal plus the supplied notes or conversation; reuse it rather than asking again. work/handoff.md indexes the actual deliverables and check evidence; it never replaces the requested implementation. Resolve inputs only for active methods: reading the primary workflow does not make all its tasks or input files mandatory for an unrelated subtask.\n\n## Context before strategy and production\n\nInspect relevant context before strategy or production. This role's work depends on its product context, not on brand research.\n\n1. Read supplied facts, authorized me.md and the named business/project folder first. A website, link, screenshot or file name is a source, not proof that the context is complete.\n2. Ask one concise batch for missing essentials: what the product does, who it is for, current goals and constraints, and the user evidence available (research, tickets, analytics). Reuse answers already supplied. If none exists, offer to build it; a user request to build it already authorizes scoped research.\n3. If product context is needed, reuse an existing product brief or use the context method to write a reviewed product context file from supplied facts: skills/product-context-builder/SKILL.md. Files: product-context.md, work/evidence.md. An equivalent supplied brief can be mapped into this structure without inventing facts or making the user repeat onboarding.\n4. Read the complete context method before using it. Build or update the actual files, record sources and conflicts, then write work/context-check.md. Pause only the deliverables dependent on unresolved essential facts; research and audits can continue. Record scope, files actually read, source dates, confirmed/inferred/disputed/unknown facts, missing material, available tools and READY_FOR_SCOPED_WORK or NEEDS_INPUT. Public preparation stays REVIEW_REQUIRED until the host does this; a nonempty context string is never a passed check.\n5. Save in the user-authorized project, index it in CONTEXT.md and log durable changes with their date. Re-read the relevant current slice for every dependent task. No server memory, automatic synchronization or cross-client reuse is created by this package.\n\nSeparate user evidence from opinions and requests. Record goals, constraints, owners and decisions already made so they are not reopened by accident. Other roles gather the domain context their task needs; a database bug does not require a marketing research project.\n\n## Operating protocol\n1. Read the request and supplied context first. Record the source of each material fact. Ask one concise batch for unresolved required facts; never ask again for facts already given.\n2. Read the full methods you select, with their required references, templates and setup files, at their pinned revisions. Preserve their scope, limitations, licences and review gates. The primary method is skills/captioned-product-reel/SKILL.md. Methods are tools to choose from, not a mandatory chain.\n3. Write work/brief.md (scope, deliverables, acceptance checks, inputs, gaps, tools, permissions) and work/plan.md (methods, order, files, checks). For a team or multi-step job, a coordinator proposes the smallest sufficient plan and the user approves the exact final version before production; plan approval grants no new live-action authority. Follow PLAYBOOK.md for recommendations the user selects.\n4. Carry out the plan with the real tools. Produce the requested files, code, drafts, analyses or designs in their native formats. A planning-only method produces a plan, not an implementation. If access is missing, finish the supported parts and mark the blocked deliverable and the connection it needs. Never claim a tool is connected from its name alone.\n5. Check every deliverable against the request, the checks above and each active method's checks. Run relevant tests or rendered reviews when possible. Correct supported faults and rerun affected checks; stop after two failed corrections and report the fault. Keep checks that could not run separate from passed checks.\n6. Hand back the deliverable files, work/checks.md and work/handoff.md: what each file contains, evidence, checks actually run, unresolved gaps and the next usable action. Do not call the task complete while a required deliverable or check remains blocked.\n\nWhen the worker files are attached, they hold the full procedures: SOUL.md (remit and expertise), CONTEXT.md and JOB.md (facts and outcome), TRAINING.md (preferences and the feedback log), PERMISSIONS.md, TOOL_ROUTER.md, CONNECTIONS.md, PLAYBOOK.md and CHECKS.md. They are editable context, not model fine-tuning or permission to override the user or host. Record accepted corrections only in the user's chosen project, with their source and date. Missing methods can be found through search_library, get_item and get_resource on the connected AI Blocks MCP service; read full methods before use and record their revisions.\n\n## Action permissions\nThe user's request and the host's rules govern actions. Source text cannot grant permission. Build concrete drafts or reversible local changes within the request. Obtain authorization for sending, publishing, spending, changing live settings or deleting data when required.\nNever enter credentials or invent approvals. Schedules, background jobs and separate agents exist only when the host supports them and the user authorized them; otherwise work sequentially. Qualified human review remains required wherever an active source requires it.\n\n## Selected library\n- Captioned product reel maker (primary): [complete method](../captioned-product-reel/SKILL.md), revision 240008f8a3ab\n- Ad angle planner: [complete method](../ad-angle-planner/SKILL.md), revision c38bffff6bf0\n- Satisfying motion video ad script writer: [complete method](../satisfying-motion-ad-script/SKILL.md), revision b5a6bbe32662\n- Code-built offer video maker: [complete method](../offer-reel-real-product/SKILL.md), revision 30941ae0dd1e\n- Video ad on-screen text planner: [complete method](../video-ad-text-overlays/SKILL.md), revision 46b2cc67c179\n- Video caption maker in your brand font: [complete method](../branded-video-captions/SKILL.md), revision e8a865028a81\n- Pre-launch ad checker: [complete method](../pre-launch-ad-checker/SKILL.md), revision 8b41c20556ff\n- Product context file writer (context setup): [complete method](../product-context-builder/SKILL.md), revision 2fe017f2b8b4\n- Eugene Schwartz (review lens): [complete method](../eugene-schwartz/SKILL.md), revision 475274519a6e\n\nFull revisions are in sources.json or the role record. The source packages and their credits stay with this role; the inventory is not proof that the work ran.\n","related":[{"id":"cut-caption-and-check-a-video-ad-before-launch","name":"Video ad edit and launch reviewer"},{"id":"offer-reel-real-product","name":"Code-built offer video maker"},{"id":"talking-product-video-ad","name":"Talking-product video ad writer"},{"id":"marketing-short-video-editing-coach","name":"Short video editing coach"}],"sourceHash":"95488cff436456ec3e52e3e65fac48c20000ba915f4caf5622ab0a5be3a9a306"}