Monday, 20 minutes
Per active strategy: every running experiment has an end date, a metric and a baseline; expired ones close as done or killed with learnings. At most one new experiment per active strategy.
Every brand keeps its strategies as Markdown files in version control — structured enough for the system to check what unblocks them and measure them, readable enough for a person to run the steps today and an agent tomorrow. The Growth page turns the brand's north star and target into a weekly pace, and that pace steers what the scout proposes.
config/brands/<brand>/strategies/*.md · validated with the rest of the brand config · shown in the panel
01 Anatomy of a playbook
An abridged, translated example from a WhatsApp-native assistant's brand folder. The original is in the owner's language; the structure is fixed.
--- id: loop_whatsapp_forward title: "Forwardable content: the WhatsApp loop" lever: referral priority: 2 status: active channels: [whatsapp] measure: - {kpi: forwards_per_piece, source: experiment} - {kpi: installs_attributed, source: product_funnel} - {kpi: outcome_7d_pct, source: distro_learn, target: "≥ 70 %"} unblockers: - {kind: manual, key: deeplinks_utm, label: "wa.me links with a code per piece + UTM"} - {kind: brand_param, key: product_funnel.warehouse_view, label: "Warehouse view to attribute installs"} - {kind: metric, key: wau, label: "Weekly WAU loaded"} --- ## Why The product lives in WhatsApp and already has a referral loop (three friends who use it → one month of Pro). A useful message forwarded to a group reaches new people at no cost, with the trust of whoever sent it. The forward format exists in ContentMachina; what is missing is measuring the loop. ## How the system runs it - Create: every Act idea yields a whatsapp.forward piece (one use case, a friend's tone, the referral CTA at the end); the critic blocks claims outside the brief. - Distribute: the calendar marks the send to owned groups and lists; the recorded URL is the wa.me link with its code. - Measure: installs and activations per code from the product funnel when the warehouse view exists; until then, clicks and installs entered as outcomes. - Learn: Learn compares pieces by forwards and installs; winners return as examples for ideation. ## Steps 1. Define the link scheme: one deeplink per piece with a short code + UTM; note it in the brand brief. 2. Tick the manual unblocker when the scheme is live in the product. 3. For each Act idea, review the forward piece in the Review Queue. 4. Publish from the Calendar to owned groups; paste the coded link as the URL. 5. At 72 h and 7 d, enter clicks and installs in Outcomes; log observed forwards in this strategy's experiment. 6. When the warehouse view stops being TBD, let the funnel collector bring installs per code and compare with the manual numbers. ## Measurement - forwards_per_piece (manual for now) · installs_attributed at 7 days - The operational gate, like every strategy: ≥ 80 % on time, ≥ 70 % measured.
The frontmatter is what the loader validates and the panel renders: id, title, lever, priority, status, owner, channels, measures with their source, unblockers with their kind. Scoring playbooks (how a family ranks trends) live elsewhere; these are growth strategies.
Why · How the system runs it · Steps · Measurement, always in this order. "How the system runs it" names the pages, jobs and commands of the three agents, so the file doubles as the integration contract.
Written so a person can execute them today from the panel and the CLI, and an agent can tomorrow. Running a playbook end to end by an agent is the stated next step, not a shipped feature.
KPI tiles resolve live from the agents' tables. Every strategy shares the same two operational metrics from Learn, and the Monday review reads them first.
A new installation starts from the files' default status and priority; the panel keeps runtime state (status override, ticked unblockers, experiments) in its own tables.
02 Weekly rhythm
Per active strategy: every running experiment has an end date, a metric and a baseline; expired ones close as done or killed with learnings. At most one new experiment per active strategy.
Before reading any result, two numbers from Learn: ≥ 80 % of pieces published within ±1 day of plan and ≥ 70 % of posts with a 7-day outcome. Below either, the problem is process — and no result of any strategy counts until it is fixed.
Those depending on a secret, a TBD parameter, a disabled source or a missing weekly metric turn red on their own; manual ones are ticked by whoever did them. A strategy can be active with pending unblockers, but its measurement is declared partial.
idea → active when it has a running experiment; paused when there is no capacity; validated after two consecutive experiments beat the target with the gate green; killed with the why. Status changes in the panel; priority changes in a commit.
03 A brand's set
The current folder of a WhatsApp-native AI assistant growing 40–50 % a month toward a 100 % target. Two strategies are active with running experiments; five are written and waiting for capacity or an unblocker. Artists and other families get their own sets.
Priority is the order of attention when choosing; it changes in a commit, not in the panel.
04 Growth north star
The brand names its north star (weekly active users for a product used in bursts) and a target such as a growth rate per month. Four weekly numbers — the north star, installs, activations, paid spend — are entered in a form today and will come from the product warehouse under the same ids tomorrow, without changing a page.
The ratio of trailing to required factor with a ±5 % band. Unknown with fewer than two weeks, no rate target or an absolute target — and the panel says so instead of guessing.
When the status is known, ideation receives a single guarded line — "behind vs 100 % MoM (×1.05/week, required ×1.17); prioritise acquisition" — and strategies can list the weekly metric as an unblocker.
Paid media spend is recorded for the paid share of growth; the system never touches ad accounts. API spend — models and paid sources — has its own tile: today, this month, projected, by model and source.
Figures above are illustrative of the computation (the required factor is exact for a 100 % monthly target); real values live in the panel per brand.
05 In the panel
/strategyOne card per strategy file, sorted by priority, with 'n/m unblockers ready' and the running experiments.
/strategy/{id}The four sections rendered, steps as a checklist, KPI tiles resolved live from ideas, Learn, watch hits, brand metrics, reviews and spend ('—' when unknown), unblocker checklist, experiments add/update, status override.
/growthNorth star header, pacing tile (current, week over week, required factor, status chip, 30-day projection), 16-week chart with the required pace line, the weekly form and the table of weeks with inline edit.
/Opens with the same north star and pacing, then leading indicators already collected: followers, mentions in 7 days, store rating, pieces published, the operational gate — and the API spend tile.
06 Status · 2026-10-04
Bring your north star and your target. We write the first playbooks with you; the agents run the loop under them.