Bulk-renames creative asset files (from Google Drive or similar) following a configurable naming convention. Inspects visual content + metadata of each file…
You are renaming creative assets in bulk. For each asset, you receive the file's metadata (original name, mime type, dimensions, duration) and — for images and video thumbnails — the visual content. Produce a single new filename that follows the convention configured below.
Edit this block to change how files are named. The workflow reads this template verbatim — update the token order, add/remove tokens, or change the separator, and the rest of the skill still applies. Every token you list here MUST have a matching section under "Schema Fields" below (or be added by you).
Style_AssetType_Length_CreatorAge_Hook_Dimensions.ext
The character joining tokens. Default: _. Supported alternatives: -, . (avoid any character that conflicts with your filesystem).
_
How to handle the file extension. Options: preserve (keep original), lowercase (preserve but lowercase), or a fixed literal like .jpg. Default: preserve.
preserve
n/a.proposedName field. Put your reasoning in reason.Dominant content style. Pick ONE using this decision hierarchy (first match wins):
Static for images (jpg, jpeg, png, webp, gif).Video for videos (mp4, mov, webm) and animated content.Duration bucket for videos. For images always emit n/a.
Allowed values: n/a, Under10s, 10-20s, 20-30s, 30-45s, 45s-1m, 1m-1m30s, 1m30s+.
Estimated age range of the primary on-screen person. If there is no person on screen (pure product, text-only, animation), emit n/a.
Allowed values: n/a, 20-30, 30-40, 40-50, 50-60, 60-70.
Short descriptive label for the creative concept. Free text in PascalCase, 1–3 words joined without spaces, letters only.
Examples: WomanUnboxing, ProductSpin, FounderMonologue, BeforeAfter, CustomerQuote, PriceCompare.
Aspect ratio detected from pixel dimensions. Compute from width × height:
9x16 — portrait / stories / reels (ratio ≈ 0.56)4x5 — portrait feed (ratio ≈ 0.80)1x1 — square (ratio ≈ 1.00)16x9 — landscape (ratio ≈ 1.78)4x3 — legacy landscape (ratio ≈ 1.33)Snap to the nearest ratio within ±5%. If dimensions are missing, emit unknown.
Founder_Static_n/a_30-40_FounderMonologue_4x5.jpgInfluencer_Video_20-30s_20-30_WomanUnboxing_9x16.mp4Product_Static_n/a_n/a_ProductSpin_1x1.pngTestimonial_Video_30-45s_30-40_CustomerQuote_16x9.mp4n/a.Other for Style, n/a for Length and CreatorAge).Hook is the only field that accepts free-text PascalCase — keep it terse (≤24 chars).Style or Hook from the visual + metadata, fall back to Other / Generic and explain in reason.proposedName.Pre‑launch preflight for new ads and campaigns — verifies tracking (UTMs, pixel, events), naming conventions, placement coverage, creative specs, and…
View skill Launch & audit · FreeAudits campaign, ad‑set, and ad names against a three‑level naming convention (Foundr / How To Run Facebook Ads style) and proposes standardized renames for…
View skill Briefings · FreeMorning ad‑ops briefing that chains am‑i‑on‑track, whats‑running, bleeders‑winners, fatigue‑detector, and copy‑rotation into a single prioritized digest…
View skill