Skip to content

Albert/add video marketing#61

Merged
albertsalgueda merged 6 commits into
mainfrom
albert/add-video-marketing
Jul 3, 2026
Merged

Albert/add video marketing#61
albertsalgueda merged 6 commits into
mainfrom
albert/add-video-marketing

Conversation

@albertsalgueda

Copy link
Copy Markdown
Collaborator

No description provided.

albertsalgueda and others added 3 commits July 1, 2026 19:21
Studies gitroomhq/agent-media, coreyhaines31/marketingskills, and
dansugc/reelclaw for portable craft (realism rubric, 2-4 wps script
pacing, hook-family scripts, virality scorecard, ffmpeg caption/CTA
assembly) and adapts it into a new scripted-UGC-ad workflow that runs
entirely on Krea MCP, with no new service dependencies.

- workflows/ugc-video-ad.md: script gate -> storyboard -> live
  dialogue-capable video model -> ffmpeg captions/CTA -> virality QA
  gate, for talking-head/testimonial/creator ads and narrated demos.
- references/ugc-scripts.md: 2-4 words/second pacing law, five
  hook-family script templates, overlay text hooks, CTA and
  compliance rules, demo/b-roll placement.
- references/video-ad-qa.md: 7-criterion virality scorecard with
  delivery thresholds, platform green-zone text safe areas.
- references/video-ad-post.md: ffmpeg caption/CTA burn, multi-take
  assembly, music-bed mixing; hyperframes escape hatch for designed
  caption motion.
- references/ugc-social-video.md rewritten around a mandatory
  realism rubric, look presets, and talent-consistency rules.
- Routing split between social-video-short.md (continuous clips) and
  ugc-video-ad.md (scripted ads) across SKILL.md, full-ad-campaign.md,
  marketing-creative-anatomy.md, storyboard-variations.md.
- 4 new eval scenarios; version bump to 0.6.0 across synced
  manifests.

Live-tested end-to-end via Krea MCP (gpt-image-2 storyboards,
bytedance/seedance-2 for native dialogue audio) against a real
product reference; the virality QA gate correctly flagged a
generated ad as needing a stronger hook.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Consolidates the live-tested video-ad guidance into a single branch commit:

- add the cinematic-product-ad workflow, routing, eval coverage, changelog, and version updates
- make the one-shot Seedance-2 timeline the primary path, with stills-first as the retake/fallback path
- default scripted UGC ads to 15s and tighten launch-teaser, QA, and troubleshooting guidance
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

Claude finished @albertsalgueda's task in 2m 26s —— View job


PR Review: video-marketing skills

  • Read changed files and diff
  • Check version sync, JSON manifests, cross-skill references
  • Review new video-marketing workflows and references
  • Post review feedback

Solid, well-structured addition. The new video-ad surface is coherent: routing is disambiguated across social-video-short (continuous) / ugc-video-ad (scripted) / cinematic-product-ad (no-dialogue commercial) / launch-teaser (designed film), and each workflow points at the right sibling. I verified the things most likely to break CI and cross-skill navigation.

Verified clean:

  • Version syncVERSION, krea-generate/VERSION, package.json, all three plugin manifests, marketplace.json, README badge, and all four SKILL.md frontmatter are aligned at 0.6.1. validate.yml's version-sync check should pass.
  • JSON manifests — all still valid JSON; only the version string changed.
  • Cross-references resolve — new refs (ugc-scripts.md, video-ad-qa.md, video-ad-post.md) and every relative link I checked exist: ../../krea-generate/workflows/lora-train-and-use.md, ../../../krea-marketing/workflows/cinematic-product-ad.md from seedance-2.md, meta-ads-mcp.md, and the marketing-creative-anatomy.md "Video Hook Families" section (quiet confession / product proof / pattern interrupt) that ugc-scripts.md maps onto.
  • ffmpeg snippetsdrawtext, concat-demuxer, and loudnorm/amix examples are syntactically sound and use placeholder tokens consistently.

Findings (2, both in evals/scenarios.md)

  1. Scenario count header is off by one (line 3) — header says "45 scenarios" but the file now has 46 (base 40 + new 41–46). Confirmed via grep -c '^### [0-9]'.
  2. Scenario 46 uses an undocumented category guardrail (line 414) — the documented enum is routing | refusal | cost | vision | polling | edge_case (scenarios.md line 5 + README). run.sh reads the category as free text so it won't crash, but it buckets the scenario under an unexpected label. Use refusal/edge_case or extend the enum in both places.

Minor (non-blocking, no change required)

  • 70-score threshold wording: ugc-video-ad.md step 10 / Banned treat 70 as the delivery floor, while video-ad-qa.md's table splits below-70 into "55–69 rework before delivering" and "<55 do not deliver as-is." The Banned line ("do not deliver below 70 without telling the user the score") reads as may deliver 55–69 with disclosure, which slightly softens the table. Harmless, but you may want one canonical rule.

Neither finding blocks merge; #1 and #2 are quick doc fixes. Nice work on the live-verified prompt architecture and the start-image-is-the-quality-ceiling gating — those read as genuinely actionable.
· albert/add-video-marketing

Comment thread evals/scenarios.md Outdated
Comment thread evals/scenarios.md Outdated
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

Claude finished @albertsalgueda's task in 1m 32s —— View job


PR Review: video-marketing skills (re-review)

  • Read new commits and diff vs origin/main
  • Verify prior review findings were addressed
  • Re-check version sync, cross-references, and new workflow prose
  • Post review feedback

Re-reviewed after e6cb4bb Address eval scenario review comments. Both prior findings are fixed and I found no new blockers.

Prior findings — resolved:

  1. Scenario countevals/scenarios.md:3 now reads 46 scenarios; grep -c '^### [0-9]' returns 46. Matches.
  2. Undocumented guardrail category — scenario 46 is now Category: refusal. No guardrail references remain anywhere in evals/ or krea-marketing/.

Re-verified clean:

  • Version syncVERSION, krea-generate/VERSION, package.json, all three plugin manifests, marketplace.json, and all four SKILL.md frontmatters are aligned at 0.6.1; README badge matches. validate.yml version-sync should pass.
  • Cross-references resolve — every relative link in the new/changed files checks out: ugc-video-ad.mdugc-scripts.md, ugc-social-video.md, video-ad-qa.md, video-ad-post.md, marketing-creative-anatomy.md, ../../krea-generate/references/{cost-preflight,progress-reporting}.md; cinematic-product-ad.md../../krea-generate/references/models/seedance-2.md and back from seedance-2.md:643. Sibling routing (social-video-shortugc-video-adcinematic-product-adlaunch-teaser) is disambiguated symmetrically in every trigger block.
  • Routing tablekrea-marketing/SKILL.md:67-68 and full-ad-campaign.md both point scripted UGC → ugc-video-ad.md and no-dialogue commercial → cinematic-product-ad.md. Consistent.

Minor (now largely reconciled, non-blocking):

  • The 70-score threshold wording tightened: ugc-video-ad.md:32 step 10 now says "Below 70: apply the per-criterion fix and rework before delivering," which lines up with video-ad-qa.md:34-36 (70–84 deliver / 55–69 rework / <55 discard). The only residual softness is the Banned line ugc-video-ad.md:50 ("do not deliver below a 70 … without telling the user the score"), which still reads as may deliver 55–69 with disclosure. Harmless given step 10 is the canonical gate; you could align the Banned line to "rework before delivering" if you want one voice.

Nice, well-structured addition — the live-verified prompt architecture and the start-image-is-the-quality-ceiling gating in cinematic-product-ad.md are genuinely actionable. Looks ready to merge.
· albert/add-video-marketing

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

Claude finished @albertsalgueda's task in 47s —— View job


PR Review: video-marketing skills (re-review after f79bb10)

  • Read latest commit diff (Organize new eval scenario groups)
  • Re-verify version sync, JSON manifests, cross-references
  • Re-check eval scenario category enum + counts
  • Post review feedback

Re-reviewed after f79bb10 Organize new eval scenario groups. This commit only adds two section headers to evals/scenarios.md to group the new scenarios. No new blockers; both prior findings remain fixed.

New commit — verified clean:

  • Group counts add up to 46. The new headers ## Scripted UGC video ads 0.6.0 (4) (scenarios 41–44) and ## Cinematic product ads 0.6.1 (2) (scenarios 45–46) are correct. Summing every ## …(N) group header: 5+3+3+3+3+3+2+9+8+1+4+2 = 46, which matches both the file header (46 scenarios) and grep -c '^### [0-9]' (46).
  • Categories 41–46 all use the documented enumrouting, edge_case, refusal, vision, routing, refusal. No stray guardrail remains. run.sh will bucket every scenario under an expected label.
  • New headers are inside the scenario body, above ## Format spec for the runner (line 430), so they don't disrupt the runner's ^### [0-9] scenario parsing.

Still clean from prior passes (unchanged by this commit):

  • Version syncVERSION, krea-generate/VERSION, package.json, all three plugin manifests, marketplace.json, README badge, and all four SKILL.md frontmatters aligned at 0.6.1.
  • Cross-references resolveugc-video-ad.md, cinematic-product-ad.md, and the new references (ugc-scripts.md, video-ad-qa.md, video-ad-post.md) all resolve, including the seedance-2.mdcinematic-product-ad.md round-trip.
  • Sibling routingsocial-video-shortugc-video-adcinematic-product-adlaunch-teaser disambiguated symmetrically.

Minor (non-blocking, unchanged): the ugc-video-ad.md:50 Banned line ("do not deliver below a 70 … without telling the user the score") still reads as may deliver 55–69 with disclosure, slightly softer than the video-ad-qa.md table's "55–69 rework before delivering." Step 10 is the canonical gate, so this is harmless — align the Banned line to "rework before delivering" only if you want one voice.

Looks ready to merge.
· albert/add-video-marketing

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

Claude finished @albertsalgueda's task in 1m 16s —— View job


PR Review: video-marketing skills (re-review after f79bb10 + 1966cde)

  • Read latest commit diffs (Organize new eval scenario groups, Tighten UGC virality delivery gate wording)
  • Re-verify version sync, JSON manifests, cross-references
  • Re-check eval scenario category enum + counts
  • Post review feedback

Re-reviewed the two commits since the last pass. Both are clean, and they resolve the last outstanding minor note. No new findings — this is ready to merge.

1966cde — 70-score wording, now canonical. The residual softness I flagged earlier is gone. ugc-video-ad.md:50 Banned line now reads "Do not deliver below a 70 virality score; tell the user the score, apply the weak-criterion fixes, and re-score before delivery," which matches step 10 and the video-ad-qa.md:34-36 table (70–84 deliver / 55–69 rework / <55 discard). One voice across all three touchpoints now.

f79bb10 — eval scenario grouping, counts all correct. The six new scenarios are split into version-labeled group headers, and every group count is accurate:

  • Scripted UGC video ads 0.6.0 (4) → scenarios 41–44 ✅
  • Cinematic product ads 0.6.1 (2) → scenarios 45–46 ✅
  • All 12 group headers sum to 46, and scenarios.md:3 reads 46 scenarios. grep -c '^### [0-9]' → 46. Matches.

Runner safety confirmed. The new ## … group headers and the surrounding --- separators are inert to run.sh: the awk parser only opens a scenario on /^### [0-9]+\./ and only closes it on the next scenario or ## Format spec. Intervening group headers match no rule, so they can't split or corrupt a scenario block. Categories on 41–46 all stay inside the documented enum (routing | edge_case | refusal | vision) — the earlier guardrail issue remains resolved.

Re-verified clean (unchanged by these commits, spot-checked):

  • Version syncVERSION, krea-generate/VERSION, package.json, all three plugin manifests, marketplace.json, and all four SKILL.md frontmatters aligned at 0.6.1. validate.yml version-sync should pass.
  • Cross-references — the ugc/cinematic workflow ↔ reference links verified in the prior pass still resolve; no paths changed in these commits.

Nice, tidy landing — the scenario grouping makes the eval suite much easier to scan, and the delivery-gate wording is now unambiguous.
· albert/add-video-marketing

@albertsalgueda albertsalgueda merged commit 2533d60 into main Jul 3, 2026
5 checks passed
@albertsalgueda albertsalgueda deleted the albert/add-video-marketing branch July 3, 2026 05:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant