← Files JuicyLucy AdsARCHIVED FILE
skills/juicylucy/references/naming.md
2.93 KB · Oct 5, 2026 · 18:34 UTC
# The export filename grammar — method Values live in [`../naming.json`](../naming.json). This file is the method and the mistakes. ## Why the filename matters Exported files leave the production tree and enter a flat delivery namespace — an upload folder, an ads manager, a report. There the filename is the only thing distinguishing one creative, market, or version from another, and after launch it is the attribution key connecting performance back to the creative. A wrong filename is a lost measurement, not a cosmetic defect. ## Authoring rules - Naming the file correctly **is part of finishing the ad**, the same as writing the copy. Never save or hand off a tool-default name (`image1.png`, `output.png`, `untitled.mp4`) intending to rename later. - If a field's correct value is genuinely unknown at creation time, ask — do not guess, and do not skip the convention. - Reserve the collision-free final name **before** moving the output into the campaign folder; list the destination folder and validate every delivered filename before reporting completion. - The `ad-naming` skill's tool (`naming.mjs`) authors every filename for both mediums; never hand-write a filename beside it. ## The common mistake — no third name segment The angle a variation tests is not recorded in the filename. Exactly two name segments exist: Market, then Creative Name (with its version number). ``` ES - Sign Post - AUTHOR STORY - AUTO_F-IMG_..._2026.07.21.png ✗ wrong ES - Sign Post - AUTO_F-IMG_..._2026.07.21.png ✓ correct ``` ## Localization inheritance When recreating a campaign in another language, exact source-to-target mapping takes precedence over inventing better names: 1. Replace only the leading market token (`RU - ` → `MN - `). 2. Preserve the complete remaining basename byte-for-byte — version number, metadata block, date, extension. 3. Build the expected basename set per **ad set**, not only per language, and require every target ad set to match its source set exactly; a correct language-wide total can still conceal misplaced files. 4. Do not rename a localized creative to sound more natural, bump its version, or re-date it when the campaign contract requires the inherited date. ## Naming checklist - [ ] Market code matches the actual target language (`languages.json`) - [ ] Creative Name is unique — checked against existing files - [ ] Version number appended for second and later versions of a concept - [ ] No third name segment - [ ] Author constant matches the medium (`naming.json` → `mediums`) - [ ] `F-` matches the actual asset type; extension matches the actual file - [ ] `R-` is the artifact's actual ratio - [ ] `AL-` reflects the funnel stage; `TB-` records the source; `TH-na` as-is - [ ] `FB-` is a value from the medium's style vocabulary - [ ] Date is `YYYY.MM.DD` (inherited for a contract-bound localization) - [ ] For a localization, only the leading token differs from the source
SHA-256: 0837188e6ccc00c14a2d539afae1a264ce1dc68fa28a98585fb9afd66a5e5770