Individual skill
make-static-ads-render-review
Step of make-static-ads: a fresh judge checks every render against its concept-board row and the official product photos, one retry inside the marketer's approval, then the claims and set checks; records each verdict in tags and the batch file. Run make-static-ads instead; not for direct use.
skills/marketing/make-static-ads-render-review/SKILL.md
Source commit df8298140d434a6363de0c265eb6af2e571d97a5
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 11, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 1,315
- Repository last updated
- Nov 6, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- claude Repository topic
- claude-skills Repository topic
- claudecode Repository topic
- claudecode-skills Repository topic
- codex Repository topic
- cursor Repository topic
- gtm Repository topic
- skills Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 6,583 bytesskill.meta.jsonasset · 531 bytes
Read excerpt
# render-review
Shared principles for reviewing generated media (looking vs reading metadata, unseen images): the `honest-review` skill (`../honest-review/SKILL.md`). Checks and their severities: `../make-static-ads/references/review-rubric.md`. This file is the one home of the retry rule.
**Reads:** each render (`gooseworks:ads_creative_read` `creative_id`, `include: ["renders"]`), its board row (level, style and template), its exact prompt and copy, `profile.md` with two of the brand's own ads, the official product photos or UI screenshots, and the logo.
**Writes:** per render the verdict and the failed checks; retries; the drop list; tags; all of it in the batch file.
0. **Failed or empty render.** Say so in one line. Read the job (`gooseworks:job_get`): charged, or no charge shown → it counts as this ad and ratio's first try; its one retry (step 5) is still covered; clearly uncharged → submit the same quoted request once more, outside the retry. If that fails too, stop for that ad and ratio and tell the marketer.
1. **Place the logo on every try** (unless the marketer said none; then, as with no shell, the raw render is the kept version): on a shell host run `../make-static-ads/scripts/place_logo.py` with the real logo file (corner and width as the prompt left clear), upload the result with `gooseworks:media_upload` (`scope: "brand"`, `kind: "image"`, `source: {type: "bytes"}`, base64, under 8 MB), and `gooseworks:ads_save` it with the raw render's creative as `parent_creative_id`. This logo version is what the judge sees, what gets the tags, and what the marketer receives; tag the raw render `superseded`. Record the box the script prints. No shell: the marketer's choice (playbook Step 2, or graphic-request step 3): a clear corner they fill, or the model's logo; the raw render is then the kept version.
2. **The judge.** A fresh subagent gets only: the kept version (step 1), the product photos or screenshots and logo, the exact on-image copy, the board row's visual idea, style, protected choice, level, and the template's image with its description, `profile.md` with two of the brand's own ads, and the rubric. Not the conversation. It runs every rubric check except 1, 7, 12, 17, 19, 20, 21 and 29, and returns each failed check's number and severity with one sentence each. It works in the rubric's Order. For software, the screen must match the real screenshot in layout, colours and its large labels; soft small UI text is a NOTE, never a retry. No subagents → you judge from exactly those inputs, and the batch file says so.
3. **Your checks**, on every try: 1 by Pass B of the `make-static-ads-claims-extract` skill (`../make-static-ads-claims-extract/SKILL.md`: invented badges, stars, prices, changed words); 7 by the price rule (`../make-static-ads/references/claims-and-policy.md` §2); 21 against the copy (12 and 17 ran at the copy step; re-run them only on changed copy); 20 against the permissions on file; 29 against the made-before list; for a direct competitor's template, 22's side-by-side with both logos covered.
4. **Verdict**, in this order:
- Label drift only (scene, shape and pose pass): the free repair first. A shell host may patch the official label's real pixels in with `../make-static-ads/scripts/repair_patch.py` (`../make-static-ads/scripts/repair_patch.md`), then judge the patched image again in full; keep the original render. A seam, altered geometry or wrong product still fails.
- A stray mark or small artifact outside the protected choice and the words: a free pixel fix on a shell host, then judged again in full.