Marketing measure learn
Skill dasein108/slope-studio/.agent-instructions/skills/marketing-measure-learn
"Automated AI short-video studio: idea → published YouTube Short, $0.06/video"
npx -y skills add dasein108/slope-studio --skill marketing-measure-learnAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use 48–72h+ after publishing to CLOSE the loop: first MEASURE (fetch stats + comments, score each deployed bet's virality relative to the channel's own portfolio — deterministic), then LEARN (reflect on which pre-stated assumptions held vs were refuted, extract win/lose patterns, set the next direction + idea seeds — agent-driven). One lego-block of the ideate→deploy→measure→learn growth loop; feeds back into marketing-ideate.
SKILL.md
5.1 KB, as published. Nobody here has run it
marketing-measure-learn — score, then steer
Measure and learn always run as a pair: first get the numbers (a deterministic API + math step), then reflect on them (agent judgement). Do them in order.
Step 1 — MEASURE (deterministic)
studio marketing measure --channel <name> --comments-n 60
Fetches views/likes/comments (+ retention & subs gained if the analytics scope is granted),
computes a virality composite (log-damped view-velocity + retention + engagement +
sub-conversion), ranks every video into a percentile within this channel's own portfolio,
and tags each win (≥P75) / loss (≤P25) / neutral / cold-start. Writes back to the
journal and drops 08_stats.json + 08_comments.json into each run dir.
Watch for:
- Wait for watch time — measuring same-day gives noise. 48–72h+ minimum.
- Cold-start (<10 deployed): percentiles are meaningless; every outcome is
cold-start. - Retention/subs need one extra OAuth scope; fetched best-effort, the loop runs fine
without. See
../marketing-guru/references/analytics.md. - Scoring weights (0.5 velocity / 0.2 retention / 0.2 engagement / 0.1 subs) are slated to
be re-tuned to a retention-first order per research finding F-SI9 — see
../marketing-guru/references/scoring.mdanddocs/20-research/self-improving-loop.md.
Step 1.5 — SNAPSHOT + SLICE (deterministic analysis)
Before changing strategy, collect age-bucket snapshots and ask the CLI for the hidden-relation pack. This is what lets the agent compare effects/cost/theme/music/sfx/animation at consistent ages instead of mixing a 1-day video with a 30-day video.
studio marketing due-snapshots --channel <name>
studio marketing snapshots --channel <name> --buckets 1,3,7,14,30
studio marketing insights --channel <name> --json
Use focused slices/comparisons when a pattern looks interesting:
studio marketing slice --channel <name> --bucket 7d \
--group-by theme,effects,animators,music_provider,sfx_provider --metric virality
studio marketing compare --channel <name> effects=glitch --bucket 14d --metric virality
studio marketing compare --channel <name> animators=parallax --bucket 7d --metric retention
studio marketing compare --channel <name> music_provider=synth --bucket 3d --metric virality_per_dollar
Interpret these as associations, not causation. Always check n, best/worst examples, and
confounders such as topic quality, publish timing, spend, and whether the video is still too young.
Step 2 — LEARN (agent-driven reflection)
This is where the loop self-improves. YOU reflect (assumption testing is judgement, not a formula); the CLI just persists what you conclude.
- Read the measured portfolio (best→worst) + relevant episodes:
studio marketing journal --channel <name> studio marketing recall "<theme or direction under review>" --channel <name> studio marketing insights --channel <name> --json - Reflect — for each measured bet compare its pre-stated
assumptionagainst the measuredvirality/percentile/outcome, age-bucket snapshots, slice results, and top audience comments. Was it held or refuted? Then across the portfolio extract:winning_patterns— traits of the ≥P75 bets,losing_patterns— traits of the ≤P25 bets,- production correlations — effects/animation/music/sfx/cost formats that look promising or weak,
current_direction— a one-paragraph thesis for what to make next,next_seeds— 3–5 concrete idea seeds. Be honest when an assumption was refuted — that's the signal that improves the next bet.
- Persist (no LLM, just I/O):
studio marketing strategy --channel <name> \ --direction "<thesis paragraph>" \ --winning "trait a;trait b" --losing "trait c" \ --seeds "seed 1;seed 2;seed 3" \ --note j0007=cosmic-scale shock hooks beat soft intros--winning/--losing/--seedsare;-separated;--note ENTRY_ID=textfiles a per-bet learning. Repeat--notefor several bets.
The strategy + seeds you write here are exactly what marketing-ideate reads next — the cycle closes.
Scripted fallback (non-agent)
For a quick non-agent reflection: studio marketing learn --provider <llm> runs the built-in
LLM reflection and writes the strategy. (measure is already a deterministic script — no
fallback needed.)
Memory model (journal / strategy / recall, who writes what): docs/50-marketing/memory.md.