DTCSKILLS
STRATEGY

BFCM Command Center

Plan, run, and debrief Black Friday / Cyber Monday from one place: offer math with break-even and target ROAS by discount depth, a day-by-day email and SMS calendar with suppression on every send, flow changes for the sale window, creative briefs by phase, a 20-point site readiness score, and the post-BFCM cohort plan. Beta through BFCM 2026.

UPDATED 3 DAYS AGO
Claude Code Cursor Windsurf
bfcmblack-fridaycyber-mondaypromotionsklaviyoshopify
Included in the DTC Stack
$199
ONE-TIME PURCHASE · ALL 21 SKILLS

30-day money-back guarantee. One email, full refund.

  • ALL 21 SKILL.MD WORKFLOWS
  • BRAND BRAIN INTERVIEW
  • SETUP GUIDE
  • LIFETIME UPDATES
  • INSTANT DELIVERY
See everything in the DTC Stack →Not sure you need it? Run a free AI audit →

What this skill does

Plan, run, and debrief Black Friday / Cyber Monday from one place: offer math with break-even and target ROAS by discount depth, a day-by-day email and SMS calendar with suppression on every send, flow changes for the sale window, creative briefs by phase, a 20-point site readiness score, and the post-BFCM cohort plan. Beta through BFCM 2026.

How to install

01
Download the skill package

Receive your files instantly after purchase.

02
Drop SKILL.md into directory

Move the file to your .claude/skills/ or equivalent agent directory.

03
Connect your Brand Brain

Reference your existing brain.yaml for on-brand outputs.

04
Start generating

Trigger the skill via command or chat interface.

The Problem

BFCM gets planned across six tools, four people, and a spreadsheet nobody trusts - and the offer gets picked by gut.

Most brands run their biggest week of the year without ever computing what a discount does to contribution. At 25% off a $48 consumable, break-even ROAS is 3.07x; most paid accounts do not clear that, so the sale makes revenue and loses money. Then the welcome offer stacks with the sale code, "ends tonight" gets extended on Monday, the last-call email goes to people who bought that morning, and nobody writes down what happened before January. The pieces exist across the Stack - campaigns, flows, creative, pages, retention - but nothing holds them to one offer, one set of dates, and one plan.

Offer decision
Without this skill

""We always do 25% off sitewide." No margin math, no bundle comparison, no inventory check. Last year Citrus sold out on Sunday and 212 orders stacked the welcome code with the sale code."

With this skill

"A scenario table at every discount depth for the single and the 2-pack: contribution, break-even ROAS, target ROAS, allowable CPA. Bundle-led headline (Two Tubs $72: break-even 2.31x vs 3.07x for a single at the same 25%), a refusal of the 40% request that exceeds the guardrail cap, a promo P&L with every assumption labeled, and the sell-out day if the plan would hit one."

The week itself
Without this skill

"A Klaviyo calendar in someone's head, flow collisions discovered in a VIP's inbox, budget shifted on Tuesday for a Saturday problem."

With this skill

"A run sheet per day with a morning checklist, a pacing tracker fed by Shopify and Polar or Kleio reads that flags any day under 85% of plan the same evening and names the next lever from the offer table, and a Dec 2 revert checklist for every flow change."

What's Inside

What you get.

01

Layer 1: Offer math

Contribution, break-even ROAS, target ROAS, and allowable CPA for every SKU at 0-40% off and for each bundle candidate, using the same model as the free Break-even ROAS calculator. Enforces the discount cap in your guardrails.md and refuses offers beyond it, with the file quoted.

02

Layer 2: Day-by-day calendar + CSV

Nov 17 through Dec 7 with email and SMS by segment (VIP, Engaged, Lapsed, New, SMS, BFCM Purchasers), two-per-day and three-SMS-per-window caps, the honesty rule on extensions, and a suppression rule on every single send. Ships as 02-calendar.md and calendar.csv.

03

Layer 3: Flow changes

The pause / modify / add table for every active flow with effective and revert dates - the welcome-offer collision, cart timing, post-purchase holds, review-request delays - plus the modified message copy.

04

Layers 4-5: Creative and site

Briefs by phase (tease, early access, live, last call, after) with kill CPAs from the offer table; the BFCM landing page outline, announcement bar copy per phase, PDP promo modules, the shipping-threshold arithmetic, and a 20-point readiness checklist scored 0-100.

05

Layer 6: After

Quiet period, the Dec 8 send, second-purchase and review timing dated from delivery, subscription conversion at the standing offer, cohort targets, and what to measure in January.

06

Execute and debrief modes

Read-only run sheet and pacing tracker during the window; an append-only debrief that writes graded winners and losers to proven_winners.md and a "BFCM actuals" block to offers_and_pricing.md so next year starts from this year.

Data Sources

Connects to your data. Every skill gets smarter.

One connection feeds live data straight into this skill. Use one source, all of them, or none - it works either way.

PRIMARY
Shopify

Shopify

Ecommerce

Provides: Products, prices, inventory on hand, sold-out variants, and last year's orders and revenue by day.

Why it matters: The offer is modeled on real costs and stock, and the pacing tracker reads actual daily revenue instead of a pasted total.

Klaviyo

Klaviyo

Email & SMS

Provides: List and segment sizes, last year's BFCM campaign performance, active flows, and SMS consent counts.

Why it matters: The calendar sizes every send to real segments and the flow table covers the flows you actually run.

SECONDARY

Any one of these Attribution sources:

Polar Analytics

Polar Analytics

Attribution

Provides: Daily revenue, orders, new customers, ad spend, and blended ROAS during the window.

Why it matters: Execute mode flags a day under plan the same evening and names the lever, instead of after the weekend.

Kleio

Kleio

Attribution

Provides: Daily revenue, orders, new customers, ad spend, and blended ROAS during the window.

Why it matters: Execute mode flags a day under plan the same evening and names the lever, instead of after the weekend.

OPTIONAL

Any one of these Reviews sources:

Judge.me

Judge.me

Reviews

Provides: Verbatim reviews for the social-proof sends and page sections.

Why it matters: Proof in the BFCM copy is real and quoted accurately, never invented.

Junip

Junip

Reviews

Provides: Verbatim reviews for the social-proof sends and page sections.

Why it matters: Proof in the BFCM copy is real and quoted accurately, never invented.

Yotpo

Yotpo

Reviews

Provides: Verbatim reviews for the social-proof sends and page sections.

Why it matters: Proof in the BFCM copy is real and quoted accurately, never invented.

Any one of these Subscriptions sources:

Recharge

Recharge

Subscriptions

Provides: Subscriber counts and the subscription price the post-BFCM conversion plan anchors to.

Why it matters: The after-plan converts the BFCM cohort at the standing subscription offer, not a second promotion.

Skio

Skio

Subscriptions

Provides: Subscriber counts and the subscription price the post-BFCM conversion plan anchors to.

Why it matters: The after-plan converts the BFCM cohort at the standing subscription offer, not a second promotion.

Runs without integrations - the plan builds from the intake form and your Brand Brain; execute mode then works from pasted daily totals.

Use Cases

When to use this.

Deciding the BFCM offer with margin math instead of habit, and proving why a bundle beats a sitewide percentage for a consumable

Building the full email and SMS calendar for the window with suppression rules that keep purchasers out of last-call sends

Changing every flow for the sale window (and reverting on Dec 2) without a welcome-code collision

Tracking the week against daily targets and knowing the next lever the evening a day comes in under plan

Debriefing BFCM into the Brand Brain so the 2027 plan reads the 2026 record first

FAQ

Common questions.

How is this different from the Email Campaign Engine's BFCM framework?

The Campaign Engine owns the email craft: the 5-7 email sequence, segment matrix, and copy. This skill sits above it and decides the offer with margin math, sets the dates, adds SMS, flows, creative, site prep, and the after-plan, and holds all of them to one plan. When you run /bfcm, it calls the Campaign Engine for Layer 2 in the same session.

Does it send anything or create discount codes?

No. Every mode is read-only against Shopify, Klaviyo, and your analytics. It produces the plan files, the run sheet, and the pacing tracker; you (or the Campaign Engine's Ship Mode) do the sending. It never writes to an external system.

What if this is our first BFCM?

The no-history path builds the P&L from your engaged list and ad budget instead of last year, labels every projected number as an estimate, and skips every year-over-year comparison. The debrief then records this year so next year has history.

Why is it labeled beta?

This is the skill's first BFCM. The frameworks it chains are mature; the way it wires them together for one event is new, and the pacing day-share defaults are starting splits rather than measured ones. The Beta Notes section in the skill says exactly what is untested and where to report problems. Fixes ship through /dtc-upgrade.

One plan for the biggest week of the year.

Offer math, calendar, flows, creative, site, and the after-plan from one command - then a run sheet for the week and a debrief that makes next year easier.

30-day money-back guarantee. One email, full refund.

$199 · ALL 21 SKILLS · INSTANT DELIVERY

Want us to build it for you?