Agent skill

Image Ad Clone

by krusemediallc in krusemediallc/arcads-claude-code

A skill your agent uses when the user wants to reverse-engineer an existing image ad into a reusable prompt template.

MITAuto-check: notesMedia & Creative

Install Image Ad Clone

skills CLI
$ npx skills add krusemediallc/arcads-claude-code --skill image-ad-clone -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install krusemediallc/arcads-claude-code image-ad-clone --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/krusemediallc/arcads-claude-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/image-ad-clone .claude/skills/image-ad-clone && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
image-ad-clone
GitHub stars
1.6k
Token cost
~2.4k tokens
SKILL.md length
963 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when the user wants to reverse-engineer an existing image ad into a reusable prompt template.

  • Works in 4 steps: This file — Arcads-specific generator… → shared/skills/image-ad-clone/prompting/gu… → shared/skills/image-ad-prompting/promptin… → …
  • The user wants to reverse-engineer an existing image ad into a reusable prompt template
  • SKILL.md covers Read order, Hard rules, Picking the right backend in… and Dependencies, plus 6 more sections
  • Needs ARCADS_API_KEY

What it does

Image Ad Clone is an agent skill from krusemediallc/arcads-claude-code. Use when the user wants to reverse-engineer an existing image ad into a reusable prompt template. Validates via Arcads — picks gpt-image-2 or Nano Banana at Phase 1. Triggers on "clone this ad as a template", "reverse engineer this ad", "turn this ad into a prompt", "extract a template", "make this ad reusable", "add to my prompt library", "study this ad and make a template". Input is an EXISTING ad image; does NOT trigger for fresh generation (use chatgpt-image-ad or nano-banana-image-ad).

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering Image generation and Prompt engineering. It works with Google Gemini and OpenAI. The repository describes itself as: Arcads external API: agent skills, prompting library, and Cursor/Claude workspace. The licence is MIT.

When your agent uses it

  • The user wants to reverse-engineer an existing image ad into a reusable prompt template
  • Clone this ad as a template
  • Reverse engineer this ad
  • Turn this ad into a prompt

Example prompts

  • “clone this ad as a template”
  • “reverse engineer this ad”
  • “turn this ad into a prompt”
  • “/image-ad-clone”

Requirements

  • Python 3
  • A credential in ARCADS_API_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. This file — Arcads-specific generator paths, model-choice decision, what's locked at the per-repo layer.
  2. shared/skills/image-ad-clone/prompting/guide.md — the full model-agnostic 10-phase workflow (visual analysis → draft prompt →…
  3. shared/skills/image-ad-prompting/prompting/template-format.md — entry skeleton.
  4. shared/skills/image-ad-prompting/prompting/prompt-library.md — destination for the new entry. 37 validated templates already there; new…

What it can do on your machine

Read from SKILL.md and the folder at commit 1263501. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ARCADS_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Image Ad Clone loads about 2.4k tokens when it runs. Until then it costs about 128 tokens; SKILL.md has 963 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~128
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:53
    - `.env` with `ARCADS_BASIC_AUTH` or `ARCADS_API_KEY`
  • NoteMentions a .env fileSKILL.md:54
    - (Optional) `PRODUCT_ID` in `.env` — if not set, the generator auto-fetches the first Arcads product
  • NoteMentions a .env fileSKILL.md:85
    hoice.** Reference image file resolves; `.env` has Arcads creds; both generators detected. **Ask the user which model to

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from krusemediallc/arcads-claude-code at commit 1263501, republished under its MIT licence (© krusemediallc). 963 words, ~2,404 tokens.

Download SKILL.mdSave it as .claude/skills/image-ad-clone/SKILL.md (or your agent's skills folder).
name
image-ad-clone
description
Use when the user wants to reverse-engineer an existing image ad into a reusable prompt template. Validates via Arcads — picks gpt-image-2 or Nano Banana at Phase 1. Triggers on "clone this ad as a template", "reverse engineer this ad", "turn this ad into a prompt", "extract a template", "make this ad reusable", "add to my prompt library", "study this ad and make a template". Input is an EXISTING ad image; does NOT trigger for fresh generation (use chatgpt-image-ad or nano-banana-image-ad).

image-ad-clone (Arcads)

Take an existing image ad and turn it into a reusable, parameterizable prompt template that gets appended to the shared 37-template image-ad library. The template is validated by round-tripping through one of the Arcads image-ad generators — ChatGPT Image 2 (typography / UI-mimicry templates) or Nano Banana (photoreal / lifestyle / multi-reference templates).

This skill replaces the older Uni1-locked image-ad-clone (which only worked with Luma uni-1). It's backend-agnostic: at Phase 1 the agent asks you (or auto-detects from the reference) whether to validate against gpt-image-2 or Nano Banana, then routes through the matching generator script in this repo.

Read order

  1. This file — Arcads-specific generator paths, model-choice decision, what's locked at the per-repo layer.
  2. shared/skills/image-ad-clone/prompting/guide.md — the full model-agnostic 10-phase workflow (visual analysis → draft prompt → generate-with-reference → iterate → generalize → test → cross-model validate → document → save).
  3. shared/skills/image-ad-prompting/prompting/template-format.md — entry skeleton.
  4. shared/skills/image-ad-prompting/prompting/prompt-library.md — destination for the new entry. 37 validated templates already there; new entries go at T40+.

Hard rules

Inherits all 6 hard rules from the shared guide (strip platform chrome, validate by generating, test the generalized version, no brand-specific text in the final template, never silently overwrite, document model notes for both backends). Plus per-repo:

  1. Backend is one of: ChatGPT Image 2 OR Nano Banana on Arcads. Never uni-1. The script choice happens in Phase 1 once the user picks (or the agent auto-detects).

Picking the right backend in Phase 1

Pick by what the reference ad is showing — most templates fall into one clear bucket.

Use chatgpt-image-ad (gpt-image-2) when the reference is:

  • Typography-heavy / UI mimicry (Apple Notes lists, fake Google search, fake Slack threads, ChatGPT-conversation ads, iMessage screenshots, comparison tables, fake AirDrop dialogs, Hinge-style cards, calendar UI, weather forecast UI, magazine masthead)
  • Brutalist / editorial typography heros (huge type makes the joke)
  • Dense small text inside UI elements

Use nano-banana-image-ad (Nano Banana family) when the reference is:

  • Photoreal handheld objects (whiteboards, napkins, sticky notes, letter boards, scratch-off tickets)
  • Aspirational lifestyle photography (sunset, kitchen at golden hour, OOH / transit)
  • Multi-image reference blending (logo + product + style + character all in one)
  • Clay / claymation / Pixar-adjacent textures

If the reference straddles both (e.g. a UGC-style photo with rendered text overlays), the safer default is to clone twice — once per backend — and ship the template with Model notes saying which renders cleaner. The agent will offer this in Phase 8.

If the user explicitly says "clone this with gpt-image-2" or "with Nano Banana", honor that.

Dependencies

This skill uses the matching generator script in the SAME repo:

  • For gpt-image-2 validation: skills/chatgpt-image-ad/scripts/generate_image.py (locked to model: gpt-image-2)
  • For Nano Banana validation: skills/nano-banana-image-ad/scripts/generate_image.py (nano-banana-2 default; --model nano-banana-pro or nano-banana-edit opt-in)

Fail Phase 1 with a fix-it message if neither generator is installed in this repo.

Also required:

  • .env with ARCADS_BASIC_AUTH or ARCADS_API_KEY
  • (Optional) PRODUCT_ID in .env — if not set, the generator auto-fetches the first Arcads product
  • Python 3.12+

Where this skill's generator lives

When the shared guide Phase 1 tells you to locate the companion generator, look here in order based on the model choice:

For gpt-image-2:

  1. ~/.claude/skills/chatgpt-image-ad/scripts/generate_image.py
  2. <repo>/skills/chatgpt-image-ad/scripts/generate_image.py
  3. If neither: stop and ask the user to install chatgpt-image-ad first.

For Nano Banana:

  1. ~/.claude/skills/nano-banana-image-ad/scripts/generate_image.py
  2. <repo>/skills/nano-banana-image-ad/scripts/generate_image.py
  3. If neither: stop and ask the user to install nano-banana-image-ad first.
Show full SKILL.md (433 more words)Show less

Aspect ratio mapping

The Arcads image endpoint (/v2/images/generate) accepts only 1:1, 16:9, 9:16 — regardless of which model (gpt-image-2 or nano-banana) you're hitting. When measuring the original ad's aspect (Phase 2):

  • 4:5, 2:3, 5:4 ads → render at 1:1 and post-crop in your downstream ad-builder skill
  • 1.91:1 ads → render at 16:9 and post-crop
  • 9:16 ads → native, no change

Document the ratio fallback in the template's Aspect ratio: field so future users know they're rendering at a mapped ratio, not the original.

(The KIE per-API repo's image-ad-clone skill supports a broader native ratio set — 4:5, 2:3, 3:2, etc. — because KIE's /jobs/createTask Nano Banana endpoint accepts them. If aspect-ratio fidelity matters more than Arcads-specific control, consider the KIE repo for that template.)

Workflow phases (model-agnostic, see shared guide for full detail)

  1. Phase 1: Preflight + model choice. Reference image file resolves; .env has Arcads creds; both generators detected. Ask the user which model to validate against (or auto-detect from the reference's typography-vs-photo balance).
  2. Phase 2: Visual analysis. Describe the reference structurally — aspect ratio, format type, layout, typography, color palette, photography style, every text string verbatim, decorative elements, chrome to strip.
  3. Phase 3: Draft v1 prompt (brand-specifics intact).
  4. Phase 4: Generate with reference using the matching generator script. Pass --image-ref <reference_path> and the matched aspect ratio.
  5. Phase 5: Compare and iterate. Refine prompt based on deltas. Cap 4 iterations.
  6. Phase 6: Generalize into placeholders ({brand.name}, {brand.color_primary}, etc.).
  7. Phase 7: Test the generalized template against a DIFFERENT brand. Regenerate. If structure breaks, refine placeholder set.
  8. Phase 8: Cross-model validation (recommended). Run the same template through the OTHER backend in this repo. Document deltas in the Model notes block.
  9. Phase 9: Document the template. Use the format in template-format.md. Required fields: tag, when-to-use, aspect ratio, reference image guidance, variable schema, template prompt (full validated), example fill, Model notes for both backends, validated example path.
  10. Phase 10: Save and confirm. Append to shared/skills/image-ad-prompting/prompting/prompt-library.md. Print path. Move PNGs to permanent iteration dir.

Iteration directory layout

<cwd>/iterations/clone-2026-05-26/
  T40-lifestyle-hero/
    prompt.txt
    v1.png, v2.png, …                # against the source ref (chosen backend)
    test-fill-v1.png, …              # Phase 7 generalization test against a different brand
    cross-{other-backend}/v1.png     # Phase 8 cross-model validation (optional)
    notes.md

Common Model notes patterns to write in Phase 9

markdown
**Model notes:**
- **gpt-image-2:** {observed behavior — e.g. "clean — strong on UI mimicry and table text", "tends to add a 4th Slack message — keep prompt explicit about exactly N", "small chart axis labels blur — bump font size feel"}
- **nano-banana:** {observed behavior — e.g. "strong — preferred backend for handheld board photos", "character identity drifts across variants on -2; use -pro to lock", "weak on dense table text — keep rows to 4 max"}

If you only validated against one model in Phase 8, say so explicitly:

markdown
**Model notes:**
- **gpt-image-2:** validated clean (see iteration path)
- **nano-banana:** untested — validate before using on nano-banana-image-ad backend

The diff between a uni-1-era library and this one is this Model notes block. Don't skip it — it's the difference between a portable template and one nobody knows how to use.

See also

© krusemediallc, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/image-ad-clone of krusemediallc/arcads-claude-code.

Open the folder on GitHubat commit 1263501

Compare with similar skills

Image Ad Clone next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Image Ad Clone compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Image Ad Clone this skillkrusemediallc/arcads-claude-code1.6k—~2.4kAutomated safety check: NotesMIT
AI Image Prompts SkillLeoYeAI/openclaw-master-skills2.2k—~4.3kAutomated safety check: PassMIT
Bananahubbananahub-ai/bananahub-skill118—~7.1kAutomated safety check: PassMIT
AI Image Creatorevolution-foundation/evo-nexus545—~5.1kAutomated safety check: NotesCustom licence
Model Routingfal-ai-community/skills251—~1.5kAutomated safety check: PassNone
Nano Banana Pro Prompts Recommend SkillYouMind-OpenLab/nano-banana-pro-prompts-recommend-skill1.9k1 repos~4.1kAutomated safety check: PassNone

Similar skills

  • AI Image Prompts Skill

    LeoYeAI/openclaw-master-skills

    Recommend curated prompts from a 10,000+ real-world image generation prompt library.

    2.2k GitHub stars~4.3k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed
  • Bananahub

    bananahub-ai/bananahub-skill

    Agent-native image workflow and optional prompt optimizer for /bananahub and generic agent image generation requests.

    118 GitHub stars~7.1k tokensUpdated 4 mo ago
    Media & CreativeAuto-check passed
  • AI Image Creator

    evolution-foundation/evo-nexus

    Generates PNG images through OpenRouter models, with transparent backgrounds and reference-image edits, and describes existing images with multimodal vision.

    545 GitHub stars~5.1k tokensUpdated 5 mo ago
    Media & CreativeAuto-check: notes
  • Model Routing

    fal-ai-community/skills

    Choose default fal.ai endpoint IDs for genmedia production skills.

    251 GitHub stars~1.5k tokensUpdated 12 days ago
    Media & CreativeAuto-check passed
  • Nano Banana Pro Prompts Recommend Skill

    YouMind-OpenLab/nano-banana-pro-prompts-recommend-skill

    Recommend suitable prompts from 10,000+ Nano Banana Pro image generation prompts based on user needs.

    1.9k GitHub starsUsed in 1 repo~4.1k tokens
    Media & CreativeAuto-check passed
  • Generates images through a 9Router gateway's image endpoint, with model discovery, the request fields and per-provider quirks for OpenAI, Gemini, MiniMax and others.

    31k GitHub stars~830 tokensUpdated 2 days ago
    Media & CreativeAuto-check passed

More from krusemediallc/arcads-claude-code

All 8 skills in this repo
  • Analyze Video

    krusemediallc/arcads-claude-code

    Analyze a reference video and reverse-engineer its style into a reusable Seedance 2.0 prompting template.

    1.6k GitHub stars~4.2k tokensUpdated 18 days ago
    Auto-check passed
  • Chatgpt Image Ad

    krusemediallc/arcads-claude-code

    Generate one or more standalone Meta image-ad creatives via ChatGPT Image 2 (gpt-image-2) through the Arcads external API.

    1.6k GitHub stars~2.7k tokensUpdated 18 days ago
    Auto-check: notes
  • Generate Youtube Thumbnail

    krusemediallc/arcads-claude-code

    Generate high-CTR YouTube thumbnails using Nano Banana 2 via the Arcads external API.

    1.6k GitHub stars~2.4k tokensUpdated 18 days ago
    Auto-check: notes
  • Meta Ad Builder

    krusemediallc/arcads-claude-code

    Publish finished creatives as live Meta (Facebook/Instagram) ads via the Meta Marketing API, plus research and ad-copy support.

    1.6k GitHub stars~1.7k tokensUpdated 18 days ago
    Auto-check: notes
  • Nano Banana Image Ad

    krusemediallc/arcads-claude-code

    Generate one or more standalone Meta image-ad creatives via Nano Banana 2 / Nano Banana Pro (Gemini Flash Image family) through the Arcads external API.

    1.6k GitHub stars~2.5k tokensUpdated 18 days ago
    Auto-check: notes
  • Arcads External API

    krusemediallc/arcads-claude-code

    Creates and retrieves AI video and image-related assets via the Arcads external API (Seedance 2.0, Sora 2, Veo 3.1, Kling, Grok Video, Nano Banana, b-roll, scene, script/actor flows).

    1.6k GitHub stars~8.7k tokensUpdated 18 days ago
    Auto-check: notes

Questions about Image Ad Clone

What does Image Ad Clone do?

A skill your agent uses when the user wants to reverse-engineer an existing image ad into a reusable prompt template. Image Ad Clone is an agent skill from krusemediallc/arcads-claude-code. Use when the user wants to reverse-engineer an existing image ad into a reusable prompt template.

When should I use Image Ad Clone?

Image Ad Clone fits situations like: the user wants to reverse-engineer an existing image ad into a reusable prompt template; clone this ad as a template; reverse engineer this ad; turn this ad into a prompt.

How do I install Image Ad Clone in Claude Code?

Run `npx skills add krusemediallc/arcads-claude-code --skill image-ad-clone -a claude-code`. Or copy the skill folder (skills/image-ad-clone in krusemediallc/arcads-claude-code) into .claude/skills/image-ad-clone in your project. Claude Code loads it when a task matches its description.

How do I install Image Ad Clone in Codex?

Run `npx skills add krusemediallc/arcads-claude-code --skill image-ad-clone -a codex`. Or copy the skill folder (skills/image-ad-clone in krusemediallc/arcads-claude-code) into .agents/skills/image-ad-clone in your project. Codex loads it when a task matches its description.

Can I use Image Ad Clone in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add krusemediallc/arcads-claude-code --skill image-ad-clone -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/image-ad-clone, .gemini/skills/image-ad-clone, .github/skills/image-ad-clone and .opencode/skills/image-ad-clone in your project.

What does Image Ad Clone need to run?

Going by SKILL.md and its folder, Image Ad Clone needs credentials named ARCADS_API_KEY. Our summary lists: Python 3; A credential in ARCADS_API_KEY.

Does Image Ad Clone access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Image Ad Clone safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Image Ad Clone use?

Image Ad Clone is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Image Ad Clone use?

About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Image Ad Clone?

Skills that share tags, products or a category with Image Ad Clone: AI Image Prompts Skill (LeoYeAI/openclaw-master-skills, 2.2k stars), Bananahub (bananahub-ai/bananahub-skill, 118 stars), AI Image Creator (evolution-foundation/evo-nexus, 545 stars) and Model Routing (fal-ai-community/skills, 251 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Image Ad Clone?

krusemediallc (a GitHub user) maintains it in krusemediallc/arcads-claude-code, which has 1,585 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on September 22, 2026.

Source: krusemediallc/arcads-claude-code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.