Install
$ agentstack add skill-arnie936-image-to-campaign-image-to-campaign Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Image → Campaign
Build a full German marketing funnel from one image. The whole point: one image in, a coherent funnel out — Instagram Reels that hook attention, a blog that builds trust and ranks, and a landing page that converts. Every asset shares one visual and verbal identity, because they are all derived from a single Brand Brief that you write and the user approves before any credits are spent.
Core principle: brief-first, single source of truth
Do NOT generate assets first and try to match them later. That always drifts. Instead:
- Write one Brand Brief from the image + a short interview. The brief fixes
product identity, thesis line, palette (OKLCH tokens), typography, tone, scene, CTA, and the chosen Reel angles/style. It also contains every asset prompt, written out.
- The user approves the brief at one checkpoint.
- Every output — landing page, Reels, blog — reads its thesis, palette, fonts,
tone, and prompts from the brief. Nothing re-derives identity on its own.
This is why the landing page, Reels, and blog end up looking like one campaign instead of three unrelated AI artifacts.
Locked defaults for this skill
- Language: German. All visible copy (site, captions, blog) is German.
Technical CLI flags stay English.
- Conversion goal: Demo/Konzept. There is no real shop yet, so every CTA is
a clean placeholder (e.g. "Jetzt entdecken"). Do not invent fake prices, checkout links, or reviews.
- One approval checkpoint, right after the brief. After approval, run
autonomously to the end.
- Landing page stays local (a preview server). Deployment (Vercel) is a
later step, only if the user asks.
Step 0 — Bootstrap
Asset generation runs through the Higgsfield CLI (same engine as the higgsfield-generate and higgsfield-product-photoshoot skills).
- If
higgsfieldis not on$PATH, install it:
curl -fsSL https://raw.githubusercontent.com/higgsfield-ai/cli/main/install.sh | sh
- Run
higgsfield account status. If it fails withSession expired/
Not authenticated, ask the user to run higgsfield auth login and wait. If they don't have a Higgsfield account yet, point them to https://higgsfield.ai/s/mcp-arnold-oberleiter-ecZvus to sign up (an account with credits is required to generate any asset).
Confirm you actually have the input image (a local path). If the user only described a product with no image, say so — this skill is built around a real image. You can still proceed text-only, but fidelity drops; tell them that.
Step 1 — Interview (max 2 questions, German)
Look at the image first and infer everything you can (what the product is, who it is for, the mood). Ask only what you genuinely cannot tell. Keep it to the two questions from the landing-page spec, in German:
- *Was ist das Produkt/die Marke in einem Satz, für wen, und welches Gefühl
soll es auslösen?*
- *Soll ich alle Bild- und Videoassets mit Higgsfield generieren, oder gibt es
schon Assets/Logo/Farben, die ich verwenden soll?*
Skip a question if the answer is already obvious from the image or the user's message. Do not ask about price or sales destination — the CTA is a demo placeholder by default.
Step 2 — Write the Brand Brief
Follow references/brand-brief.md. Produce brief.md containing the identity fields AND every asset prompt (5 site assets, 3 Reel prompts, 1 blog image). Writing the prompts now — before spending anything — is what makes the checkpoint meaningful.
🛑 CHECKPOINT — get approval before generating
Show the user, compactly:
- the thesis line, scene sentence, the 4 palette tokens, fonts, tone words, CTA
- the chosen scroll concept (one line of why)
- the 3 Reel angles + the chosen Reel style (cinematic vs UGC) and why
- the full list of asset prompts you are about to run
Then ask one thing: "Passt der Brief so, oder soll ich was anpassen, bevor ich generiere?" Generation costs credits, so do not skip this. Apply edits, then proceed. After this point, run autonomously.
Step 3 — Build (after approval)
Build in this order — it is deliberate. The landing page is built first because it locks the design system and produces the hero video, which the Reels reuse.
- Landing page →
references/landing-page.md. Generates the 5 site assets,
assembles website/index.html, verifies in the browser.
- Reels →
references/reels.md. Three 9:16 Reels. Reuse/reframe the site's
hero or middle video for the cinematic showcase angle to save credits; generate the other two. Write reels/captions.md.
- Blog →
references/blog.md. A German SEO article inblog/blog.html
that reuses the same palette tokens and fonts, with one image (reuse a site still where possible) and a CTA back to the landing page.
Step 4 — QA
- Landing page: run the full browser checklist in
references/landing-page.md. - Reels (optional but recommended): score each with the Virality Predictor
(higgsfield generate create brain_activity --video --wait) and regenerate the weakest if a clearly better angle is obvious. Report the scores; do not silently sit on them.
- Confirm every asset is German where it carries copy, and that the palette and
fonts are identical across site, Reels thumbnails, and blog.
Step 5 — Deliver
Assemble the campaign folder (structure below) and write README.md from assets/campaign-readme-template.md: what's inside, how to preview the site locally, the 3 captions ready to paste, and the obvious next step (deploy + swap the placeholder CTA for a real one).
Final message to the user (German, concise): the local site URL, the thesis line, the 3 Reel angles with their files, where the captions and blog are, and any limitation you hit (e.g. an asset you had to regenerate).
Campaign folder structure
kampagne-/
brief.md # the approved single source of truth
website/
index.html
assets/ # hero.mp4, middle.mp4, g1.jpg, g2.jpg, g3.jpg
reels/
reel-1-hook.mp4
reel-2-showcase.mp4
reel-3-lifestyle.mp4
captions.md # per reel: hook text, caption, hashtags, CTA
blog/
blog.html
assets/ # blog image(s)
README.md
Consistency laws (apply to every generated asset)
Across the whole campaign, hold these constant — this is what makes it feel like one brand and not a generated grab-bag:
- same product identity and shape
- same material language
- same lighting direction
- same color world (the brief's palette)
- same premium tone
Reject and regenerate any asset where the product identity changes, the shape drifts, the material looks wrong, text gets baked into the image/video (AI text rendering is unreliable — keep generated media clean and add real text in the caption/editor), or it simply looks "AI-made". Consistency beats spectacle.
Reference index
references/brand-brief.md— how to derive the brief + the brief template and
the full asset-prompt list (read this first, in Step 2)
references/landing-page.md— the brief-aware, self-contained landing-page
build with the browser QA checklist
references/reels.md— the 3 Reel angles, cinematic-vs-UGC selection,
generation commands, reframe reuse, and the captions format
references/blog.md— the German SEO article spec and HTML templatingassets/brief-template.md,assets/blog-template.html,
assets/campaign-readme-template.md — fill-in templates
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [Arnie936](https://github.com/Arnie936)
- **Source:** [Arnie936/image-to-campaign](https://github.com/Arnie936/image-to-campaign)
- **License:** MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.