CtrlK
BlogDocsLog inGet started
Tessl Logo

remix-graphic-ad-from-reference

Recreate a static graphic ad (Pinterest pin, IG/FB feed image, poster) from a reference image, swapping in a new brand's product and new copy while keeping the reference's layout, composition, and visual energy. ALWAYS generated with GPT Image 2 in edit-the-reference mode (fal-ai/gpt-image-1/edit-image, a billed FAL generation); the HTML/goose-graphics overlay is only an optional text-finishing step, never the generator. The static-graphics counterpart to the video remix-ad skill; this is what the app calls when a user picks a reference ad and wants it for their own product.

64

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/ads/composites/remix-graphic-ad-from-reference/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

73%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body delivers an actionable, well-sequenced workflow with strong validation checkpoints and real bundle files referenced cleanly. Its chief weakness is conciseness: the engine-emphasis message is repeated many times, and some reference-style content stays inline.

Suggestions

State the "ALWAYS GPT Image 2, HTML is finishing-only" rule once in Decision Rules and reference it from Phase 1/Spend instead of restating it each time.

Consider moving the Failure Modes and Spend Reference sections into a separate `references/` file, keeping the body as a lean overview that points to the cutout script and overlay template.

DimensionReasoningScore

Conciseness

The body is information-dense and assumes Claude's competence (no "what is a PNG" padding), but the "ALWAYS GPT Image 2 / HTML is only a finishing step" point is restated verbatim across Purpose, Inputs, Phase 1, Decision Rules, and Spend — repetition that could be consolidated.

3 / 5

Actionability

Concrete executable guidance is present — the FAL slug, flags (`--aspect_ratio 3:4 --quality high --resolution 2k`), and a copy-paste render command (`node …/screenshot.js --format … --input index.html --output render.png --font-delay 1500`) — but the core GPT gen_prompt is referenced via `remix_spec.gen_prompt` rather than inlined, a minor gap.

4 / 5

Workflow Clarity

A clearly sequenced phased workflow (Phase 0 → 0.5 → 1 → 2A/2B → 3) with an explicit 3-check fidelity gate, a QC checklist, and re-roll/overlay feedback loops for error recovery on a billed generation step.

5 / 5

Progressive Disclosure

Two real bundle files (`scripts/cutout_product.py`, `assets/overlay-template.html`) are referenced one level deep and clearly signaled, and the body is organized into well-named sections; however a fair amount of detail (full Failure Modes, Spend Reference) lives inline rather than being split out.

4 / 5

Total

16

/

20

Passed

Description

78%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is concrete, well-scoped, and distinct, naming the ad formats and core actions while supplying an explicit trigger condition. Its main weakness is that the "when" is framed from the application's viewpoint rather than as a direct "Use when…" Claude trigger, and a few natural trigger synonyms are absent.

Suggestions

Add a direct "Use when the user picks a reference ad (Pinterest pin, IG/FB feed, poster) and wants the same layout for their own product" trigger clause phrased for Claude, not the app.

Drop the in-description engine implementation detail (FAL slug, billing note) into the body to tighten the description and free token budget for trigger synonyms.

DimensionReasoningScore

Specificity

"Recreate a static graphic ad (Pinterest pin, IG/FB feed image, poster) from a reference image, swapping in a new brand's product and new copy while keeping the reference's layout, composition, and visual energy" names the domain and several concrete actions (recreate, swap product, swap copy, preserve layout); not quite the anchor-5 level of comprehensive action coverage.

4 / 5

Completeness

A clear "what" is stated and an explicit "when" is present ("this is what the app calls when a user picks a reference ad and wants it for their own product"), but the when is phrased from the app's perspective rather than as a direct Claude-facing "Use when…" trigger, so it stops short of anchor 5.

4 / 5

Trigger Term Quality

Natural format synonyms appear ("Pinterest pin, IG/FB feed image, poster", "static graphic ad", "reference ad") giving good keyword coverage a user would say, though a few common variations (e.g. "remix a social ad") are missing.

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche ("the static-graphics counterpart to the video remix-ad skill") with distinct triggers — picking a reference ad to reuse for one's own product — leaving minimal overlap with other skills.

5 / 5

Total

17

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
gooseworks-ai/goose-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.