Seedance
songguoxs/seedance-prompt-skill
This skill should be used when the user asks to "generate video prompts", "create Seedance prompts", "write video descriptions", mentions "Seedance", "seedance", "即梦", "即梦平台", "视频提示词", "视频生成"…
Clone an existing video ad for a different product or offer.
$ npx skills add krusemediallc/arcads-claude-code --skill clone-ad -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install krusemediallc/arcads-claude-code clone-ad --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/krusemediallc/arcads-claude-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/arcads-external-api/prompting/clone-ad .claude/skills/clone-ad && rm -rf skills-srcUse ~/.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/
Install the "clone-ad" agent skill from https://github.com/krusemediallc/arcads-claude-code/tree/main/skills/arcads-external-api/prompting/clone-ad into .claude/skills/clone-ad/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clone-ad", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/krusemediallc/arcads-claude-code/tree/main/skills/arcads-external-api/prompting/clone-adType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add krusemediallc/arcads-claude-code --skill clone-ad -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install krusemediallc/arcads-claude-code clone-ad --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/krusemediallc/arcads-claude-code.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/arcads-external-api/prompting/clone-ad .agents/skills/clone-ad && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "clone-ad" agent skill from https://github.com/krusemediallc/arcads-claude-code/tree/main/skills/arcads-external-api/prompting/clone-ad into .agents/skills/clone-ad/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clone-ad", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add krusemediallc/arcads-claude-code --skill clone-ad -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install krusemediallc/arcads-claude-code clone-ad --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/krusemediallc/arcads-claude-code.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/arcads-external-api/prompting/clone-ad .cursor/skills/clone-ad && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "clone-ad" agent skill from https://github.com/krusemediallc/arcads-claude-code/tree/main/skills/arcads-external-api/prompting/clone-ad into .cursor/skills/clone-ad/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clone-ad", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/krusemediallc/arcads-claude-code.git --path skills/arcads-external-api/prompting/clone-ad--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add krusemediallc/arcads-claude-code --skill clone-ad -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install krusemediallc/arcads-claude-code clone-ad --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/krusemediallc/arcads-claude-code.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/arcads-external-api/prompting/clone-ad .gemini/skills/clone-ad && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "clone-ad" agent skill from https://github.com/krusemediallc/arcads-claude-code/tree/main/skills/arcads-external-api/prompting/clone-ad into .gemini/skills/clone-ad/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clone-ad", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install krusemediallc/arcads-claude-code clone-adInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add krusemediallc/arcads-claude-code --skill clone-ad -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/krusemediallc/arcads-claude-code.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/arcads-external-api/prompting/clone-ad .github/skills/clone-ad && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "clone-ad" agent skill from https://github.com/krusemediallc/arcads-claude-code/tree/main/skills/arcads-external-api/prompting/clone-ad into .github/skills/clone-ad/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clone-ad", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add krusemediallc/arcads-claude-code --skill clone-ad -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install krusemediallc/arcads-claude-code clone-ad --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/krusemediallc/arcads-claude-code.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/arcads-external-api/prompting/clone-ad .opencode/skills/clone-ad && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "clone-ad" agent skill from https://github.com/krusemediallc/arcads-claude-code/tree/main/skills/arcads-external-api/prompting/clone-ad into .opencode/skills/clone-ad/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clone-ad", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
clone-adClone an existing video ad for a different product or offer.
Clone Ad is an agent skill from krusemediallc/arcads-claude-code. Clone an existing video ad for a different product or offer. Analyzes the source video's style, pacing, camera work, dialogue, and tone, then adapts and generates a new Seedance 2.0 video customized for the user's product. End-to-end workflow: input video → analysis → adapted prompt → generation → delivery. Use when someone says "clone this ad", "make this ad but for my product", "recreate this video for my brand", or provides a video ad and a product image asking for a similar video.
Its SKILL.md is about 5.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 AI video generation. It works with Seedance. The repository describes itself as: Arcads external API: agent skills, prompting library, and Cursor/Claude workspace. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1263501. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
python3bashbrewffmpegFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Clone Ad loads about 5.4k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 2,166 words of instructions outside code blocks.
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.
The automated check found no risky patterns in SKILL.md.
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.
The full file from krusemediallc/arcads-claude-code at commit 1263501, republished under its MIT licence (© krusemediallc). 2,166 words, ~5,378 tokens.
.claude/skills/clone-ad/SKILL.md (or your agent's skills folder).Clone an existing video ad for a different product or offer. The agent analyzes the source video frame-by-frame, transcribes dialogue, extracts the visual style and beat structure, then generates a new Seedance 2.0 video adapted for the user's product.
How this differs from analyze-video:
prompt-library/Before starting, verify:
which ffmpeg || echo "MISSING — run: brew install ffmpeg"
python3 -c "import whisper; print('whisper OK')" 2>/dev/null || echo "MISSING — run: pip3 install openai-whisper"Both extract-frames.sh and whisper depend on ffmpeg. If missing, install via brew install ffmpeg before proceeding.
Collect from the user:
| Input | Required | Notes |
|---|---|---|
| Source video | yes | The video ad to clone. File path to .mp4, .mov, .webm |
| Product image | recommended | Reference photo of the user's product. Becomes referenceImages / @(img1) in the prompt. Without this, Seedance invents its own product design. |
| Product/offer description | if no image | Text description of the product, its features, target audience, and key selling points. Used to rewrite dialogue and product references. |
| Brand voice | optional | Check MASTER_CONTEXT.md for brand blocks. If empty, ask the user for tone/audience preferences. |
If the user only provides a video and says "clone this for my product," ask them for at least a product image or a text description before proceeding.
Reuse the analyze-video extraction script — do NOT duplicate it.
bash "skills/arcads-external-api/prompting/analyze-video/scripts/extract-frames.sh" \
"<source_video_path>" "/tmp/clone-ad-analysis" <num_frames>Frame count by duration:
| Source duration | Frames |
|---|---|
| Under 10s | 8 |
| 10–20s | 12 |
| 20–30s | 16 |
| Over 30s | 20 |
Outputs:
frame_001.jpg through frame_NNN.jpgaudio.wav (16 kHz mono, whisper-ready)metadata.txt (duration, resolution, fps, frame count)Read metadata.txt to get the source video duration — you'll need it for step 6.
Use whisper to get the exact dialogue. This is critical — the dialogue pattern is what gets adapted for the user's product.
import whisper
model = whisper.load_model("base")
result = model.transcribe("/tmp/clone-ad-analysis/audio.wav")Record:
result["segments"])If the video is silent (no speech detected), note that and skip the dialogue adaptation in step 7. The clone will be a visual-style clone only.
Read ALL extracted frames visually. For each frame, note:
Structure and pacing:
Camera and framing:
Edit style:
Dialogue and script structure:
Tone and energy:
Lighting and technical quality:
Product references:
What makes this ad distinctive (2–3 defining traits):
Store this analysis internally — it does NOT get saved as a template file.
Show the user a structured breakdown before proceeding:
📋 Source video analysis
Duration: Xs | Beats: N | Dialogue: Y words | Style: [style name]
Beat map:
[00:00–00:03] HOOK — close-up, excited expression, "opening line"
[00:03–00:07] SHOW — tilts product to camera, "feature call-out"
[00:07–00:10] DEMO — (silent) applies/uses product, close-up on texture
[00:10–00:15] VERDICT — back to camera, "closing line + CTA"
Defining traits:
1. [trait 1]
2. [trait 2]
3. [trait 3]
What transfers to your product:
✅ Beat structure, pacing, camera angles, edit style, tone, energy
✅ Dialogue pattern (adapted for your product)
✅ Lighting and technical quality cues
What gets swapped:
🔄 Product references → your product
🔄 Specific claims → your product's features
🔄 Brand mentions → your brand (if provided)
Proceed with adaptation? (yes / adjust)Wait for user confirmation before continuing.
Walk through this decision tree:
┌─ Source video ≤ 15s?
│ YES → Single-clip generation
│ NO → Multi-clip split at natural beat boundaries
│ Each clip ≤ 15s (Seedance max)
│ Identify best split points from beat map
│ Use the CHAINED MULTI-CLIP PIPELINE below
│
├─ User provided a product IMAGE?
│ YES → Image-to-video mode (referenceImages with @(img1) in prompt)
│ For multi-clip: use i2v for clip 1 ONLY, then chain v2v for clips 2+
│ NO → Text-only mode (describe product in prompt text only)
│ OR v2v if:
│ - Source video has NO human faces
│ - AND user wants to preserve exact visual style
│ - (v2v with faces → content checker rejection + billed)
│
├─ Source video has person SPEAKING?
│ YES → audioEnabled: true (confirm with user)
│ Dialogue confirmation gate REQUIRED (step 7)
│ NO → audioEnabled: false (or ask user preference)
│ Skip dialogue gate
│
└─ User wants voice clone from source audio?
YES → Upload source audio as referenceAudios
(check audio+image regression: run sanity probe first)
NO → Seedance generates its own voice from textWhen the source ad is longer than 15s, use this hybrid i2v→v2v chaining pattern for visual continuity:
Clip 1: i2v mode
- referenceImages: [product image] ← establishes brand fidelity
- audioEnabled: true (if speech)
- Generate → poll → download output
Clip 2: v2v mode
- referenceVideos: [clip 1 output] ← inherits hands, surface, lighting, product
- NO referenceImages (mutually exclusive)
- audioEnabled: true (if speech)
- Upload clip 1 output via fresh presigned URL
- Generate → poll → download output
Clip 3: v2v mode
- referenceVideos: [clip 2 output] ← chain from MOST RECENT clip, not clip 1
- Upload clip 2 output via fresh presigned URL
- Generate → poll → download output
...continue for clips 4+Critical rules for chaining:
POST /v1/file-upload/get-presigned-url immediately before using it as a reference. Do not reuse filePath values from previous uploads.generated status before uploading it as a reference for the next clip. Do not fire clips in parallel — they must be sequential.ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4 (use absolute paths in the list file).Why chaining works: Seedance v2v inherits the visual style, hands, surface, lighting, and product appearance from the reference video. By chaining clip N → clip N+1, each subsequent clip maintains continuity with the one before it. The first clip's i2v reference image establishes the product identity; v2v propagates it through the series.
Cost note: Clip 1 costs the i2v rate (~0.06/sec, 0.9 cr at 15s). Clips 2+ cost the v2v rate (~0.1/sec, 1.5 cr at 15s). A 3-clip series costs ~0.9 + 1.5 + 1.5 = ~3.9 credits total.
Important constraints to check:
referenceImages and referenceVideos are mutually exclusive — pick one per callaudioEnabled: true + referenceImages may 500 (intermittent server regression) — sanity probe firstreferenceVideos count > 1 fails — only 1 ref video worksTell the user which mode you're using and why.
This is the creative core. Using the analysis from step 3:
Dialogue adaptation (if source has speech):
Visual adaptation:
Prompt composition:
@(img1) token if user provided a product image[00:00], [00:04], etc. for multi-beat sequencesDuration selection:
MANDATORY for any clone with spoken dialogue. Follow the exact format from the main SKILL.md:
📝 Dialogue script (please confirm before I generate)
1. [HOOK] "adapted line matching original pattern"
2. [SHOW] "adapted feature call-out for user's product"
3. [DEMO] (silent beat — physical demonstration, no dialogue)
4. [VERDICT] "adapted closing line / CTA"
Total spoken words: ~N | Target duration: Xs | Fits at natural pace: ✅/❌
Approve this dialogue? (yes / edit / rewrite)Rules:
Ask the user:
audioEnabled: true / false)true if source video has speechfalse if source video is silentreferenceAudiosaudioEnabled: true + referenceImages):audioEnabled: false)Follow the main SKILL.md's mandatory estimation flow:
logs/arcads-api.jsonl for matching model + similar configMASTER_CONTEXT.md rate tableEstimated credit cost:
Seedance 2.0 (15s i2v) × 1 clip × 1 variation = ~0.9 credits
(from logs/arcads-api.jsonl 2026-04-09)
─────────────────────────────────────
Estimated total: ~0.9 credits
⚠️ Estimate only — confirm exact cost in the Arcads platform.
Proceed? (yes/no)Do NOT generate until the user confirms.
Follow the main SKILL.md session folder checklist:
GET /v1/products → resolve productId (default from MASTER_CONTEXT.md)projectIdPOST /v1/file-upload/get-presigned-url:fileType: "image/jpeg" → auto-upscale if longest side < 1024pxfileType: "video/mp4"fileType: "audio/mpeg" or appropriate typefilePath values for the generation payloadCompose the CreateVideoDto JSON:
model: "seedance-2.0"productId, projectIdprompt (from step 6)aspectRatio: match source video (9:16 or 16:9)duration: from step 6resolution: 720p (default)audioEnabled: from step 8referenceImages: product image filePath (if i2v mode)referenceVideos: source video filePath (if v2v mode, product-only, no faces)referenceAudios: voice clip filePath (if voice clone)Ask generation count (how many variations? default 1)
Single-clip: Fire N parallel POST /v2/videos/generate calls.
Multi-clip (chained): Fire clips sequentially per the chaining pipeline in step 5.
Each clip depends on the previous clip's output — do not fire in parallel.
Log immediately to logs/arcads-api.jsonl:
{
"timestamp": "...",
"endpoint": "POST /v2/videos/generate",
"model": "seedance-2.0",
"assetId": "...",
"request": { "duration": ..., "resolution": ..., ... },
"response": { "status": "pending", "creditsCharged": ... },
"session": { "folderName": "Arcads API - YYYY-MM-DD", "notes": "clone-ad: ..." }
}Poll GET /v1/assets/{id} until generated or failed
generated before proceeding to the nextcreditsCharged, generationTimeSec, URLsFor multi-clip: upload each completed clip as a fresh presigned URL reference for the next clip (see chaining pipeline in step 5)
POST /v1/assets/add-to-projectoutputs/clone-ad-tests/ (or a descriptive subfolder)open "outputs/clone-ad-tests/" # macOSprintf "file '%s'\n" "$(pwd)/clip1.mp4" "$(pwd)/clip2.mp4" "$(pwd)/clip3.mp4" > /tmp/stitch-list.txt
ffmpeg -y -f concat -safe 0 -i /tmp/stitch-list.txt -c copy stitched-output.mp4creditsCharged across all clips/variations)Check reference.md for full details. These are the ones most likely to bite during clone-ad:
| Constraint | Impact |
|---|---|
referenceVideos + referenceImages mutually exclusive | Cannot combine in same request (500) |
| v2v with human faces in reference video | Content checker rejects, credits still charged |
audioEnabled: true + referenceImages regression | May return 500 — sanity probe first |
referenceVideos count > 1 fails | Only 1 reference video accepted despite docs saying 3 |
| Content check bills before checking | Credits charged at create time, not refunded on rejection |
endFrame non-functional on Seedance 2.0 | Do not use |
| Prompt length | 100–260 words (Seedance sweet spot) |
| Duration | 4–15 seconds (continuous integer) |
| Aspect ratio | 9:16 or 16:9 only (no 1:1) |
| Forbidden words | cinematic, professional, stunning, 8k, studio, perfect |
| Error | Recovery |
|---|---|
| Content checker rejects prompt | Do NOT retry same payload. Remove potentially flagged language. Tighten motion descriptions. Check for forbidden words. |
500 on audioEnabled: true + referenceImages | Audio+image regression is active. Fallback options: (a) drop audio, (b) drop image and go text-only, (c) v2v workaround: generate silent i2v first, then run v2v with audio on top using the i2v output as reference video |
| v2v face rejection | Source video has humans — switch to i2v mode with user's product image |
| Prompt too long (> 260 words) | Trim: cut filler from tone direction, compress setting details, shorten consistency anchors. Prioritize beat structure and dialogue. |
| Source video > 15s | Split into clips at natural beat boundaries. Generate each separately. Offer to stitch. |
Generation fails (status: failed) | Check data.error.message. If content-related, rewrite prompt. If server error, wait and retry once. |
.md templates instead of generating)CreateVideoDto schema, polling, constraints© krusemediallc, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/arcads-external-api/prompting/clone-ad of krusemediallc/arcads-claude-code.
Open the folder on GitHubat commit 1263501
Clone Ad 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Clone Ad this skillkrusemediallc/arcads-claude-code | 1.6k | — | ~5.4k | Automated safety check: Pass | MIT | |
| Seedancesongguoxs/seedance-prompt-skill | 2.9k | 1 repos | ~2.5k | Automated safety check: Pass | None | |
| SN Motion HTMLOpenSenseNova/SenseNova-Skills | 5.7k | — | ~2.2k | Automated safety check: Notes | MIT | |
| Seedance Prompt Endexhunter/seedance2-skill | 4.2k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Seedance Japanese Prompt ExamplesEmily2040/seedance-2.0 | 7.6k | 1 repos | ~898 | Automated safety check: Pass | MIT | |
| Seedance 2 5 Video Directorliyue-aigc/seedance-2-5-video-director | 561 | — | ~3.5k | Automated safety check: Pass | MIT |
songguoxs/seedance-prompt-skill
This skill should be used when the user asks to "generate video prompts", "create Seedance prompts", "write video descriptions", mentions "Seedance", "seedance", "即梦", "即梦平台", "视频提示词", "视频生成"…
OpenSenseNova/SenseNova-Skills
Builds HTML stories where one continuous camera journey advances with page progress, using researched structure, AI stills, Seedance video clips and browser QA.
dexhunter/seedance2-skill
Write effective prompts for Jimeng Seedance 2.0 multimodal AI video generation.
Emily2040/seedance-2.0
Provides Japanese prompt patterns and safe example rewrites for Seedance 2.0 video generation, with reference tags kept intact and each example labeled by risk.
liyue-aigc/seedance-2-5-video-director
Design, derive, optimize, diagnose, and rewrite scripts or copy-ready prompts specifically for Dreamina/即梦 Seedance 2.5.
dexhunter/seedance2-skill
为即梦 Seedance 2.0 多模态AI视频生成模型撰写高质量提示词。当用户需要使用文本、图片、视频、音频等多模态输入创作视频提示词时触发。涵盖@引用语法、运镜复刻、特效模仿、视频延长、视频编辑、音乐卡点、电商广告、短剧创作、科普教育等场景。
krusemediallc/arcads-claude-code
Analyze a reference video and reverse-engineer its style into a reusable Seedance 2.0 prompting template.
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.
krusemediallc/arcads-claude-code
Generate high-CTR YouTube thumbnails using Nano Banana 2 via the Arcads external API.
krusemediallc/arcads-claude-code
Publish finished creatives as live Meta (Facebook/Instagram) ads via the Meta Marketing API, plus research and ad-copy support.
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.
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.
Works with
Categories
Clone an existing video ad for a different product or offer. Clone Ad is an agent skill from krusemediallc/arcads-claude-code. Clone an existing video ad for a different product or offer.
Clone Ad fits situations like: someone says clone this ad; make this ad but for my product; recreate this video for my brand; provides a video ad and a product image asking for a similar video.
Run `npx skills add krusemediallc/arcads-claude-code --skill clone-ad -a claude-code`. Or copy the skill folder (skills/arcads-external-api/prompting/clone-ad in krusemediallc/arcads-claude-code) into .claude/skills/clone-ad in your project. Claude Code loads it when a task matches its description.
Run `npx skills add krusemediallc/arcads-claude-code --skill clone-ad -a codex`. Or copy the skill folder (skills/arcads-external-api/prompting/clone-ad in krusemediallc/arcads-claude-code) into .agents/skills/clone-ad in your project. Codex loads it when a task matches its description.
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 clone-ad -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/clone-ad, .gemini/skills/clone-ad, .github/skills/clone-ad and .opencode/skills/clone-ad in your project.
Going by SKILL.md and its folder, Clone Ad needs the command-line tools its instructions call (python3, bash, brew and ffmpeg). Our summary lists: Python 3.
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.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Clone Ad is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.4k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Clone Ad: Seedance (songguoxs/seedance-prompt-skill, 2.9k stars), SN Motion HTML (OpenSenseNova/SenseNova-Skills, 5.7k stars), Seedance Prompt En (dexhunter/seedance2-skill, 4.2k stars) and Seedance Japanese Prompt Examples (Emily2040/seedance-2.0, 7.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
krusemediallc (a GitHub user) maintains it in krusemediallc/arcads-claude-code, which has 1,583 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.