From ads-creative
Fills ad creative prompt templates with brand DNA for products, generating ready-to-use image prompts. Handles single template or all 40, saves to Markdown output.
npx claudepluginhub aidityasadhakim/ads-creative-skill --plugin ads-creativeThis skill uses the workspace's default tool permissions.
Fill prompt templates with brand-specific values, producing ready-to-use prompts for image generation.
Generates images from filled prompt templates (1-40) using viostudio.id API (nano-banana-2). Uploads brand reference images (skips UGC templates), submits generation, polls completion, saves result log. Needs VIOSTUDIO_API_KEY and *-prompts.md.
Generates 5 professional ad photography styles (Studio, Floating, Ingredient, In Use, Lifestyle) from product images or descriptions using banana-claude image generation.
Guides creation of production-quality image prompts for Nano Banana AI generator through brand selection, concept exploration, crafting, and iterative revision. Activates on 'create image prompt' or blog image requests.
Share bugs, ideas, or general feedback.
Fill prompt templates with brand-specific values, producing ready-to-use prompts for image generation.
$ARGUMENTS — product name followed by an optional template ID or all.
Parsing rules (apply in order):
all (case-insensitive) → fill all 40, rest is product nameall token at the end → treat entire string as product name, then ask user (see below)Examples:
/ads-creative:template-builder Protein Bar Chocolate 5 → fill template 5 only
/ads-creative:template-builder Protein Bar Chocolate all → fill all 40
/ads-creative:template-builder Protein Bar Chocolate → ask user
If product name is empty after parsing, ask:
Produk apa yang ingin dibuatkan template iklannya? Contoh:
/ads-creative:template-builder Protein Bar Chocolate 5
If no template ID or all was provided, ask:
Template mana yang ingin diisi?
- Ketik nomor (1-40) untuk satu template, contoh:
5- Ketik
alluntuk mengisi semua 40 template sekaligus
1. Check for Brand DNA
Search for brand DNA files in both supported formats — check these two patterns in order:
brands/*/brand-dna.md — e.g. brands/hotto-mame/brand-dna.mdbrands/*.md — e.g. brands/hotto-mame.md — any .md file directly inside brands/, excluding assets.jsonCollect all matches from both patterns into a single candidate list.
If no candidates found:
⚠️ Brand DNA belum ada. Jalankan dulu:
/ads-creative:brand-dna [url atau deskripsi brand]
Then STOP.
If exactly one candidate found, use it automatically.
If multiple candidates found, ask the user which one to use.
2. Read Brand DNA
Read the chosen brand DNA file. Extract and internalize all sections:
Determine Brand Directory for images:
brands/{brand-name}/brand-dna.md → Brand Directory is brands/{brand-name}/brands/{brand-name}.md (flat) → Brand Directory is brands/{brand-name}/ (derive the name from the filename, strip .md)3. Read Reference Images
Scan the Brand Directory for image files (.jpg, .jpeg, .png, case-insensitive). If found, read every image file so you have direct visual context of the actual product.
Use what you see in the images to:
This eliminates hallucination — every prompt must describe what is actually visible in the photos, not assumed from text alone. The filled prompts must be specific enough that someone who has never seen the product could reconstruct it exactly from the prompt.
If no images are found:
⚠️ Tidak ada foto referensi di
brands/{brand-name}/. Tambahkan foto produk sebelum mengisi template agar prompt tidak mengarang detail yang salah.
Then STOP.
5. Read Templates
Read the templates file at:
${CLAUDE_PLUGIN_ROOT}/templates/image-templates.md
This file contains 40 numbered templates. Each template has placeholders in [SQUARE BRACKETS].
For each template to be filled (either just the one requested, or all 40), fill all [PLACEHOLDER] values using:
| Placeholder type | Source |
|---|---|
| Brand colors (primary, accent, etc.) | Reference images + Brand DNA — Visual System |
| Font / typography references | Brand DNA — Visual System |
| Photography style descriptors | Brand DNA — Photography Style |
| Surface, background, props | Brand DNA — Product Photography Direction |
| Packaging details (color, finish, shape) | Reference images (primary source) + Brand DNA — Packaging |
| Product name | User's product name input |
| Product description details | Reference images (what is visually observable) |
| Ad copy / headlines / hooks | Create on-brand copy using the 5 Brand Voice Adjectives |
| Mood / atmosphere adjectives | Brand DNA — Photography Style mood keywords |
| Post-it / sticky note colors | Match brand palette from reference images |
| CTA / caption text | Match brand's CTA style and tone |
Copywriting harus dengan bahasa indonesia. is hard-injected at the end of every prompt in the output file — see Output Format below.Always save to output/{brand-name}-{product-slug}-prompts.md in the current working directory.
If the output file already exists:
## Template {id} already exists in the file → replace that section with the newly filled versionIf the output file does not exist → create it with the full header + the single template section.
Always write the complete file from scratch (overwrite if exists).
# Filled Prompts: [Brand Name] — [Product Name]
**Brand:** [brand name]
**Product:** [product name from input]
**Date:** [today's date]
**Brand DNA:** [path to the brand DNA file that was read]
**Brand Directory:** brands/[brand-name]/
---
## Template 1 — [Template Name]
**Category:** [category]
**Aspect Ratio:** [parsed from template, e.g. 4:5]
### Prompt
[Complete filled prompt, ready to send to image model] Copywriting harus dengan bahasa indonesia.
---
## Template 2 — [Template Name]
...
CRITICAL: The literal text
Copywriting harus dengan bahasa indonesia.must be appended — as-is, verbatim — at the end of every single prompt block when writing to the file. This is a hard injection into the output, not a guideline. Do not paraphrase, translate, or omit it.
After saving:
Single template mode:
✅ Template {id} telah diisi dan disimpan ke output/{brand}-{product}-prompts.mdUntuk generate gambar, jalankan: /ads-creative:template-generate {id}All mode:
✅ 40 template telah diisi dan disimpan ke output/{brand}-{product}-prompts.mdUntuk generate gambar, jalankan: /ads-creative:template-generate [nomor 1-40]