workflow-copy-research — sources
davidaistar videos (method only; models in them are dated, roles map via _MODEL-REGISTRY.md)
| Video | What he does | Kept | Changed / not adopted |
|---|---|---|---|
_Y7KFZHxMe0 (analysis/gemini__Y7KFZHxMe0.md), primary for this lane |
One prompt to a Claude "research skill": Reddit/IG/FB → two fixed tables, ICP Research (persona, problem-as-belief, angle, verbatim, URL) and Offering Analysis (feature → benefit → desire → need/pain/struggle, quote + source); then a reference ad decoded beat by beat; then the script from tables + decode in one prompt | The two tables as the output contract; persona = one core problem; verbatim + source per row; context stacking (tables + reference decode feed the script) | His rows carry URL only. Ours add date, tier, emotion, verifier hits and a 10-row spot-check (diff_copy row 2 says ours is a superset). Angles still come from the atlas first; his feature→desire pass is the explore-phase fallback (diff_copy row 3) |
pYNC49BHsHQ (analysis/gemini_pYNC49BHsHQ.md, txt/pYNC49BHsHQ.txt) |
6-part skeleton for long-form educational videos: Hook → Problem/Villain → Free Value (largest; drives saves and shares) → Product Plug with one reason-to-believe (cost vs time, worth A/B) → Scarcity CTA → Engagement CTA (comment for the link) | Skeleton order; free value as the biggest section; one RTB per ad as the test variable; engagement CTA as a question | Scarcity only through our truth gate (his "small brand blowing up, grab it fast" is invented supply pressure: diff_copy §2); villain = an approach/belief, never a competitor brand; comment-for-link needs a responder we don't have; delivered by a character (no-character VO lost) |
GIczkree_W0 (analysis/gemini_GIczkree_W0.md) |
Podcast script from Reddit phrasing: casual hook → pivot to pain → education/pitch with risk reversal; "80 % of realism is the script"; all of one speaker's lines in one generation | Script-before-pictures rule; Reddit phrasing as the source of natural cadence | Production half (per-speaker takes, crop, word patching) lives in format-podcast |
8NzJJ3e7uZ4 (analysis/gemini_8NzJJ3e7uZ4.md) |
One-off lyric prompt: hook on a scary object, agitation, daily-habit pivot, rhymed ingredient list | Nothing new for copy | Ours is deeper: versioned drafts + QA + logic pass + Opus red-team + re-check (diff_copy row 8). Promoted here from the dated 10-04 folder (diff_copy top-5 #5) |
Rf1uHxSWpjU (analysis/gemini_Rf1uHxSWpjU.md) |
Pull a winning transcript, have an LLM adapt it with new USPs; hooks lean on high-emotion visuals | Hook emotion can live in the visual (Evolve §8 agrees) | Transcript adaptation of a competitor = mirroring (corrections 10-05); we decode structure, then write from our VOC |
gpzy2ofG0Dw (analysis/gemini_gpzy2ofG0Dw.md) |
Challenge hook ("Can X do Y in Z time?") → time jump → proof; Gemini per-second breakdown of the winner before prompting | Challenge framing for hook (c), "the test"; reference decode before writing | Decode tool is ours: scripts/ad_dissector.py (built 10-06, diff_copy top-5 #3) |
analysis/diff_copy.md rows → where they land
| Diff item | Priority | Here |
|---|---|---|
| On-demand research pull mid-brief | P1 | SKILL §5 steps 2-4, procedure §1-3 (manual; research_pull.py NOT BUILT) |
| Two-table output format | P2 (ours superset) | procedure §2 with spot-check footer made standard |
| Reference decode tool | P1 | scripts/ad_dissector.py (built) in step 5 |
| Script output contract fields (awareness, sophistication, desires) | P2 | brief.md + Evolve §0 answers |
| Free-value skeleton | P1 | procedure §6 (formats.md sub-mode NOT BUILT, Fish's go) |
| Podcast/dialogue doctrine | P1 | procedure §5 (shared by podcast, spoken drama, courtroom; formats.md sub-mode NOT BUILT) |
| Song lyric method promotion | P2 | procedure §7 (references, doesn't copy lyrics) |
| Hook sourcing with grep gate | keep ours | procedure §3-4 |
| 80 % script rule | P2 | procedure §5 rule 1 |
Our receipts
output/dawn-iterate-2026-10-04/copy/qa-report-v1.md: fabricated "you baby him" (0 hits), pronoun swap / "Mam" → "Mom" / reordered quote, merged two-source citation, structure drift (mediation → court), word counts under the parent.output/dawn-iterate-2026-10-04/copy/lyric-redteam-v3.md: 4 BLOCKING; "previously fixed items" table; 3 of 4 blockers from earlier fixes; overlay ≠ sung line; narrator can't see the wrist; singability list.output/dawn-iterate-2026-10-04/copy/humanizer-changelog.md: humanizer scope = new lines only; staccato kept in lyrics by design.scripts/statics/voc_check.py(10-06 test): 54 files loaded; Okendo glob path missing; survey glob empty; CPS line 0 in voc_check, 1 inoutput/dawn-bottleneck-2026-10-03/reddit/comments/199olsy.json; survey S05 line 0 in voc_check, 2 in customer-evidence.output/dawn-bottleneck-2026-10-03/E-shopify-nonbuyer.md§6a: 2,026 of 2,142 Okendo reviews predate the first order.output/creative-strategy-cooper-2026-10-05/stakes-raw-owned.md: owned-source audit (what is and isn't customer voice).- Arctic Shift (10-06): first two title searches returned "Timeout. Maybe slow down a bit"; the retry after 12 s returned data. Memory
reference_scrapling_reddit_access.md(old.reddit and.jsondead; WebFetch refuses reddit). - 10-01 attendance-office dialogue pack turn stats (procedure §5): CLERK max run 6, 18-word turns.
- MAP.md §1-3: stake on her, caused by mornings; recipe A/B; don't-build list.
feedback_ad_concept_formula,feedback_hook_taxonomy,feedback_written_vs_said_copy,feedback_direct_but_new_register,feedback_evolve_copywriting_rules.
starpop.ai articles (written versions, read 10-06 from ~/research/davidaistar/starpop/txt/)
| Article | What he says | Adopted | Not adopted / already ours |
|---|---|---|---|
ai-customer-research-ad-copy |
One research pass across Reddit, Trustpilot, YouTube and Instagram-reel comments, cross-checked against the brand; two tables (ICP personas, feature → benefit → desire → pain), every row with a clickable source; adapt a reference ad's script narrowed to ONE persona; the deeper desire under the problem (being a good mother, and being seen as one) puts a scolding relative in the script | TikTok comments as a dated Tier 2 source via tikwm (procedure §1c item 3, tested 10-06); one persona row per script (SKILL §5 step 7) | The two tables are already ours (stricter: dates, hits, spot-check). His "adapt the reference's script" stays structure-only (corrections 10-05). His desire read matches recipe A's accuser; nothing new. His Day 1 / Day 7 / Day 14 arc is a timeline: dated stages are ruled by format-timeline's truth table |
how-to-build-a-claude-skill-for-ads |
Fetch the brand, flag guessed facts [assumed], post the brief and wait for confirmation before writing; split research/prompting from execution; descriptions are the routing layer |
[assumed] tags + no drafting until resolved (SKILL §5 step 1) |
Browser-agent text-reads-not-screenshots and the two-skill split are tooling notes outside this lane |
create-and-clone-competitor-ads-with-ai |
His own clone's flaws: product introduced too early (curiosity gap gone), script too long | Logic-pass checks: product first named no earlier than the format's reveal beat; word count inside the format budget (SKILL §5 step 8) | Research-the-new-buyer step = our pull (steps 2-4) |
chatgpt-script-generator |
— | — | Slug not on disk (10-06) |