← Vault Index
Source: frameworks/kit-slo-page-production/05-slo-page-production-output-skill.md

05 — OUTPUT SKILL: SLO Page Production Cascade

Scope

Produces: A ship-ready HTML page with a complete QC report showing all gates passed, preceded by a full SFB funnel audit. Consumer: Kathryn, Cole, Claude (internal team). Input: A page brief with all required fields. Lifecycle: Runs once per page. Every page, every time. No exceptions.

This skill runs the enforced three-phase cascade: AUDIT the funnel state against the SFB architecture, STRATEGY to map gaps to build modes, then BUILD with every QC gate enforced. The page does not ship until all gates pass.


Required Inputs

Before starting, confirm all of these are present. If any input is missing, stop and ask — do not build with gaps.

  1. Page brief — what page to build, what it's for, who sees it
  2. Page type — one of: opt-in, thank-you-optin, thank-you-purchase, offer-purchase, offer-booking, delivery, homepage, skill-delivery, oto-page
  3. SFB component mapping — which of the 8 SFB components this page serves (e.g., "Component 5 — OTO1")
  4. Meta Pixel ID — numeric, 15-16 digits (from Meta Business Manager)
  5. CTA destination URL — the live URL the primary button links to
  6. Funnel position — where this page sits in the buyer journey
  7. Convertri slug — the URL path configured in Convertri
  8. Brand systemAOS (charcoal/cream/gold) or CYP (teal/cream/gold)
  9. noindex/nofollow — yes or no
  10. Compliance entity name — the legal entity for copyright and disclaimers
  11. Page-type-specific inputs — whatever the page-type kit requires (offer details, testimonials, etc.)

For thank-you-purchase pages, also required:

  1. Product price — the dollar amount for the Purchase event value parameter

For OTO pages, also required:

  1. OTO position — which OTO in the stack (1, 2, or 3) and the prices of all OTOs
  2. OTO video status — filmed Y/N. If N, this is a blocking issue per SFB.

Content Rules

  1. The SFB architecture is the source of truth for funnel completeness. Every page is part of a funnel. The funnel must be audited before any page is built.
  2. The page type determines pixel events. No negotiation, no overrides. See the pixel event table below.
  3. Every customer-facing page gets the full compliance footer. All 5 links. Always. Not 4. Not "we'll add the fifth later." SFB Component 7. SFB Failure Mode #8: CPMs spike 2-3x without it.
  4. Every OTO page must have a 60-90s sales video. SFB Component 6. SFB Failure Mode #1: take rate collapses to 0-2% without video. If the video is not filmed, the page does not ship — flag for video production.
  5. Paid funnel pages are brand-neutral for AI references. No Claude, no ChatGPT, no Gemini, no "AI assistant." Use "AI tool of choice."
  6. Product delivery files are the exception. Skill files and quick-start guides may reference Claude specifically.
  7. No var() CSS in final output. Every color hardcoded as hex. Convertri breaks on CSS custom properties.
  8. Class selectors only for responsive CSS. No attribute selectors (div[style*="..."]). Facebook in-app browser breaks on them.
  9. Copy must pass all 11 AI pattern checks. No P1 violations ship. No P2 violations ship without documented exception.
  10. Every number must trace to a source. No plausible-sounding-but-invented statistics.
  11. Forms visible within one scroll on mobile. CSS order: -1 to promote forms above content on mobile when needed.
  12. No placeholder URLs in production. Every link goes to a confirmed, live destination.
  13. OTOs must ascend in price + commitment. OTO1 < OTO2 <= OTO3. A broken stack = SFB Failure Mode #9.
  14. Sales page VSL/PASPA: 3-7 min for low-ticket. A 15-min VSL on a $7 product = decision fatigue = SFB Failure Mode #6.

Pixel Event Table

This table is the single source of truth for which events fire on which page type. It is not a suggestion. It is enforced by Gate 1 in the build phase.

Page TypePageViewLeadPurchase (with value)
opt-inYESNONO
thank-you-optinYESYESNO
thank-you-purchaseYESNOYES
offer-purchaseYESNONO
offer-bookingYESNONO
deliveryYESNONO
homepageYESNONO
skill-deliveryYESNONO
oto-pageYESNONO

Key rule: The conversion event fires on the page AFTER the action, not the page where the action happens. Lead fires on thank-you-optin (after the form submit), not on opt-in (where the form is). Purchase fires on thank-you-purchase (after checkout), not on offer-purchase (where they decide to buy). OTO conversions are tracked via SamCart, not page pixel.


PHASE 1: AUDIT

Before building anything, audit the existing funnel state against the SFB 6-layer framework. This phase catches the problems that used to slip through — missing pixels, missing compliance links, missing OTO videos — at the architecture level before any build work begins.

Step 1: Read SFB Reference Material

Read the following files to load the funnel architecture:

  1. business-aos/sfb/SLO Funnel/f07-lowticket-00-master.md — the 8 components, 10 failure modes, benchmark KPIs
  2. business-aos/sfb/SLO Funnel/f07-lowticket-01-audit-skill.md — the 6-layer audit framework, scoring criteria, common findings

Do not start the audit without reading these. The audit uses the SFB definitions, not improvised checks.

Step 2: Inventory the Funnel

Gather the current state of every SFB component:

Component 1 — Tripwire Product:     [exists / missing / details]
Component 2 — Sales Page:           [exists / missing / needs audit]
Component 3 — SamCart Checkout:      [exists / missing / details]
Component 4 — Order Bumps:          [exists / missing / take rates]
Component 5 — OTOs (1, 2, 3):       [per-OTO status + video status]
Component 6 — OTO Videos:           [per-OTO: filmed Y/N]
Component 7 — Compliance Footer:    [per-page: 5 links Y/N]
Component 8 — Post-Purchase Emails: [exists / missing / details]

Sources for inventory: The page brief, existing page HTML files, SamCart configuration, email platform, Kathryn's confirmation.

Step 3: Run the 6-Layer Audit

Score each layer GREEN / YELLOW / RED using the SFB audit skill criteria:

LAYER 1 — Tripwire Product

LAYER 2 — Sales Page (CRITICAL — contains blocking checks)

LAYER 3 — Checkout + Bumps

LAYER 4 — OTOs (CRITICAL — contains blocking checks)

LAYER 5 — Post-Purchase Sequence

LAYER 6 — Back-End Ascension

Step 4: Produce Audit Summary

─────────────────────────────────────
FUNNEL AUDIT — [FUNNEL NAME]
─────────────────────────────────────
OVERALL: [GREEN / YELLOW / RED + summary]

LAYER 1 — Tripwire Product:        [light]
LAYER 2 — Sales Page:              [light] [compliance footer: X/5 links]
LAYER 3 — Checkout + Bumps:        [light]
LAYER 4 — OTOs (videos check):     [light] [per-OTO video status]
LAYER 5 — Post-Purchase Sequence:  [light]
LAYER 6 — Back-End Ascension:      [light]

BLOCKING ISSUES (must fix before/during build):
[numbered list]

NON-BLOCKING (track):
[numbered list]

If any blocking issue is found in the audit, it must be resolved or assigned before proceeding to the Strategy phase. The whole point of the audit is to catch these before the build, not after.


PHASE 2: STRATEGY

Map each audit finding to a specific SFB component and build mode. Determine build order and acceptance criteria.

Step 5: Map Gaps to Components and Build Modes

For each audit finding (red or yellow), identify:

FindingSFB ComponentBuild ModePriorityOwner
[What's broken/missing][1-8][1-6][Blocking / High / Medium][Who fixes it]

The 6 build modes (from SFB Build Skill):

  1. Mode 1 — Tripwire Product Outline
  2. Mode 2 — Sales Page
  3. Mode 3 — SamCart Checkout HTML
  4. Mode 4 — OTO Sales Videos (scripts — filming is human action)
  5. Mode 5 — Post-Purchase Email Sequence
  6. Mode 6 — Compliance Footer

Step 6: Set Build Order

Compliance footer and pixel are always first. They block everything else. Fix these on all existing pages before building new pages.

Build order rules:

  1. Fix blocking issues on existing pages first
  2. Build the page from the brief second
  3. Flag non-blocking improvements for later (e.g., OTO3 video filming)

Step 7: Set Acceptance Criteria

For the page being built, set specific acceptance criteria drawn from SFB benchmarks:

RequirementSourceCriterion
[What must be true][SFB component/layer][Specific standard]

PHASE 3: BUILD

Build/fix each component with all QC gates enforced.

Step 8: Read All Reference Material

Read the page brief completely. Then read:

  1. business-aos/reference/core/voice.md — brand vocabulary, tone, cadence, forbidden words
  2. business-aos/reference/core/audience.md — who buys, their language, their constraints
  3. business-aos/reference/brand/copy-qc.md — 11 AI pattern checks
  4. The appropriate page-type kit — all files in the kit directory for this page type
  5. 02-slo-page-production-terminology.md — locked vocabulary for this cascade
  6. business-aos/sfb/SLO Funnel/f07-lowticket-03-build-skill.md — SFB build modes (for the mode applicable to this page)

Do not start building until you have read all reference material.

Step 9: Validate Brief (Pre-Build Gate)

Run the pre-build validation gate from file 01. Every check must pass.

CheckHow to Validate
Pixel ID present and numeric (15-16 digits)Count digits. Verify no letters, no spaces, no dashes.
Page type maps to a known typeMatch against the 9 types in the terminology file.
SFB component mapping explicitMatch against the 8 SFB components.
CTA destination URL confirmedVerify the URL exists and responds.
Compliance entity name confirmedVerify against legal entity records.
Convertri slug confirmedVerify the slug is configured in Convertri.
Brand system specifiedConfirm AOS or CYP.
For thank-you-purchase: dynamic purchase value specifiedConfirm dollar amount matches actual product price.
For OTO pages: video status confirmedIf not filmed, flag as blocking.

If any check fails: STOP. Ask for the missing input. Do not proceed.

Confirm understanding before executing: Present the brief validation results, audit summary, and build plan. "Here's what I'm going to build: a [page type] page at [slug] with [pixel events]. The audit found [summary]. The strategy prioritizes [list]. Does this match your intent, or am I missing something?" Wait for confirmation before proceeding.

Step 10: Identify Page Type and Required Pixel Events

Using the pixel event table above, determine:

  1. What page type is this?
  2. What pixel events does this page type require?
  3. Does this page need a dynamic purchase value?
  4. What disclaimers does this page need?

Write these down explicitly. They become the acceptance criteria for Gates 1 and 2.

Step 11: Build HTML from Appropriate Kit Golden Example

Call the page-type kit to build the HTML:

  1. Read the page-type kit's golden example
  2. Read the page-type kit's build skill
  3. Build the page following the kit's process
  4. Run the page-type kit's own QC checklist if it has one

During the build, embed the following — do not defer:

Meta Pixel (in ):

<!-- Meta Pixel Code -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '[PIXEL_ID]');
fbq('track', 'PageView');
[CONVERSION_EVENT_IF_REQUIRED]
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=[PIXEL_ID]&ev=PageView&noscript=1"
/></noscript>
<!-- End Meta Pixel Code -->

Replace [PIXELID] with the confirmed Pixel ID. Replace [CONVERSIONEVENTIFREQUIRED] with:

ThriveCart Purchase event — URL parameter extraction (thank-you-purchase pages):

Do NOT hardcode the purchase value. ThriveCart appends order data to the thank-you URL as query parameters. Use this pattern to read the actual purchase amount:

(function() {
  var params = new URLSearchParams(window.location.search);
  var purchaseValue = params.get('thrivecart[order_total]')
    || params.get('order_total')
    || params.get('amount')
    || params.get('total');
  if (purchaseValue) {
    fbq('track', 'Purchase', {value: parseFloat(purchaseValue), currency: 'USD'});
  } else {
    console.warn('Purchase pixel: no order_total found in URL parameters. Falling back to default value from brief.');
    fbq('track', 'Purchase', {value: [FALLBACK_PRICE_FROM_BRIEF], currency: 'USD'});
  }
})();

Replace [FALLBACKPRICEFROM_BRIEF] with the confirmed product price from the brief. The fallback exists only as a safety net — the URL parameter extraction should fire in normal ThriveCart redirects.

QC gate note: On thank-you-purchase pages, verify the Purchase event uses URL parameter extraction, not a hardcoded value. A hardcoded value will report incorrect revenue when the same thank-you page is used for multiple price points or when ThriveCart applies coupons.

Compliance footer (SFB Component 7 — 5 links, always, every page):

<footer>
  <p>&copy; [YEAR] [ENTITY_NAME]. All rights reserved.</p>
  <div class="footer-links">
    <a href="/privacy">Privacy Policy</a>
    <a href="/terms">Terms of Service</a>
    <a href="/disclaimer">Disclaimer</a>
    <a href="/returns">Returns & Refunds</a>
    <a href="/contact">Contact</a>
  </div>
  [META_DISCLAIMER_IF_PAID_FUNNEL]
  [ANTHROPIC_DISCLAIMER_IF_AI_REFERENCED]
  [EARNINGS_DISCLAIMER_IF_FINANCIAL_OUTCOMES]
</footer>

Meta disclaimer text: "This site is not a part of the Facebook website or Facebook Inc. Additionally, this site is NOT endorsed by Facebook in any way. FACEBOOK is a trademark of FACEBOOK, INC."

Anthropic disclaimer text: "This product references AI tools. [Entity Name] is not affiliated with, endorsed by, or sponsored by Anthropic, OpenAI, or Google."

Earnings disclaimer text: "Results vary. The examples shared are not guarantees of specific outcomes."

For OTO pages — SFB Component 5 + 6 requirements:

Step 12: Add noindex/nofollow (If Required)

If the brief specifies noindex, add to :

<meta name="robots" content="noindex, nofollow">

Step 13: Run Gate 1 — Meta Pixel Verification

Search the HTML for every pixel-related element. Check each item:

CheckHow
Pixel base code in Search for fbevents.js. Verify it's between and .
Pixel ID matches briefSearch for fbq('init',. Extract the ID. Compare to brief.
fbq('track', 'PageView') presentSearch for the exact string.
Correct conversion event for page typeCross-reference page type against the pixel event table. Search for fbq('track', 'Lead') or fbq('track', 'Purchase' as required. Verify ABSENT if not required.
Purchase event has value + currency (if applicable)Search for value: and currency: within the Purchase call. Verify value matches product price.
Search for

If any blocking check fails: STOP. Fix the issue. Re-run Gate 1 from the top.

Step 14: Run Gate 2 — Compliance Footer Verification (SFB Component 7)

Search the footer for every required element:

CheckHow
Privacy Policy linkSearch for text "Privacy" or href containing "privacy".
Terms of Service linkSearch for text "Terms" or href containing "terms".
Disclaimer linkSearch for text "Disclaimer" or href containing "disclaimer".
Returns & Refunds linkSearch for text "Returns" or href containing "returns".
Contact linkSearch for text "Contact" or href containing "contact".
Count = 5Count the compliance links. Must be exactly 5.
Meta disclaimer (if paid funnel)Search for "not a part of the Facebook website".
Anthropic disclaimer (if AI referenced)Search for "not affiliated with" + "Anthropic".
Earnings disclaimer (if financial outcomes)Search for "Results vary" or equivalent.
Copyright entity nameSearch for the entity name in the copyright line.

If any blocking check fails: STOP. Fix the issue. Re-run Gate 2.

This gate enforces SFB Component 7. SFB Failure Mode #8: "Skipping compliance footer — Meta CPMs spike 2-3x." The compliance footer is 5 links on EVERY page: sales page, checkout, all OTO pages, post-purchase confirmation, email footer.

Step 15: Run Gate 3 — SFB Component Check

This gate runs checks specific to the SFB component this page serves. Not every check applies to every page.

For page types other than oto-page and sales pages (offer-purchase, offer-booking): Gate 3 is a pass-through. The SFB component-specific checks below apply only to OTO and sales pages. Other page types are covered by the universal gates (pixel, compliance, terminology, copy QC, responsive, links).

For OTO pages (Component 5):

CheckHow
OTO video embedded (60-90s)Search for video embed (Loom iframe, Vimeo embed, etc.)
OTOs ascend in priceCompare this OTO's price against the stack. OTO1 < OTO2 <= OTO3.
"Yes" CTA prominentVerify primary CTA is above fold with price.
"No thanks" link de-emphasizedVerify skip link is small, below fold.
Risk reversal presentSearch for guarantee language.

For sales pages (Component 2):

CheckHow
VSL/PASPA length 3-7 minVerify video duration from source.
Risk reversal above foldSearch for refund/guarantee within first section.
Single CTAVerify one CTA action (Add to Cart), not multiple competing CTAs.
Page length 1 scroll on desktopVerify page is not excessively long for a low-ticket offer.

If any blocking check fails: STOP. Fix the issue or flag for human action (e.g., video filming).

Step 16: Run Gate 4 — Terminology Sweep

Search the entire HTML for forbidden terms:

Search ForContextAction If Found
"AI assistant"Any customer-facing textReplace with "AI tool of choice"
"Claude"Paid funnel pagesReplace with "AI tool of choice" or remove
"ChatGPT"Paid funnel pagesReplace with "AI tool of choice" or remove
"Gemini"Paid funnel pagesReplace with "AI tool of choice" or remove
Old pricingAny (compare against brief's confirmed price)Update to current price
Old URLsAny (compare against brief's confirmed URLs)Update to current URLs

Search method: Search the full text content of the HTML (not just visible text — also alt text, meta descriptions, hidden elements). LLM brand names hide in places like "Built with Claude" footers, image alt text, and commented-out code.

If any blocking check fails: STOP. Fix the issue. Re-run Gate 4.

Step 17: Run Gate 5 — Copy QC (11 Patterns)

Read business-aos/reference/brand/copy-qc.md. Run every pattern check against the page's visible text content.

P1 checks (must fix — any failure is blocking):

  1. No twinning
  2. No mirror reversals
  3. No question-revelation arcs

P2 checks (rewrite unless exception documented):

  1. No three-beat parallel lists (unless literal data pattern)
  2. No "Not because X. Because Y."
  3. No over-validation
  4. No formulaic setups (max 1 per page with evidence)
  5. No trying-to-be-quotable lines

P3 checks (fix if 2+ present):

  1. Max one dramatic single-word beat
  2. No rhetorical hand-holding
  3. No three+ consecutive sentences starting with same word

Compound check:

If any P1 fails or compound check fails: STOP. Rewrite. Re-run Gate 5.

Step 18: Run Gate 6 — Sentence Editor (8 Rules)

Apply to new copy written for this page.

  1. Length variation — sentences vary
  2. No filler words in headlines or CTA context
  3. Active voice preferred
  4. No weak openings
  5. Specific over vague
  6. No hedging in CTA context
  7. Concrete nouns
  8. Every sentence earns its place

Fix any issues. This gate does not block the cascade but failures cost points.

Step 19: Run Gate 7 — Mobile / Responsive Check

CheckHow
1024px breakpoint presentSearch for @media containing 1024
768px breakpoint presentSearch for @media containing 768
480px breakpoint presentSearch for @media containing 480
Class selectors onlySearch for [style*= or [style in CSS selectors. Must find zero.
No var() CSSSearch entire HTML for var(--. Must find zero.
Header stacks on mobileVerify header layout changes at 968px or similar
Form placement on mobile (if form)Search for order: in media queries
No horizontal overflowCheck max-width, overflow-x

If any blocking check fails: STOP. Fix the CSS. Re-run Gate 7.

Step 20: Run Gate 8 — Link Verification

Collect every link () in the HTML. Verify each one:

Link TypeVerification
CTA buttonshref matches CTA destination URL from brief
Compliance footer links5 links present, hrefs point to correct paths
Logohref points to correct homepage
Internal page referencesslugs match Convertri configuration
OTO "No thanks" linkgoes to correct next page
Any other linkshref is a valid URL (no #, no about:blank, no example.com)

Report every link with its destination.

If any blocking check fails: STOP. Fix the link. Re-run Gate 8.

Step 21: Run Gate 9 — Pixel Event Verification (MANUAL)

This gate requires a human to open the page in a browser with Meta Pixel Helper extension installed.

Present to the team member:

PIXEL VERIFICATION NEEDED

Page: [slug]
Expected events:
  - PageView: should fire on page load
  [- Lead: should fire on page load (thank-you-optin only)]
  [- Purchase: should fire on page load with value $X (thank-you-purchase only)]

Please:
1. Open the page in Chrome with Meta Pixel Helper extension active
2. Confirm each expected event fires
3. Confirm NO unexpected events fire
4. Report results: PASS or FAIL with details

This gate blocks shipping.

Step 22: Run Gate 10 — Visual Check Desktop + Mobile (MANUAL)

Present to the team member:

VISUAL VERIFICATION NEEDED

Page: [slug]
Brand: [AOS or CYP]
SFB Component: [component]

Desktop check:
- [ ] Page renders completely
- [ ] Colors match brand system
- [ ] Typography renders correctly
- [ ] Interactive elements work
- [ ] All sections in correct order
[For OTO pages:]
- [ ] Video plays correctly
- [ ] "Yes" CTA prominent
- [ ] "No thanks" link de-emphasized

Mobile check:
- [ ] Page renders completely
- [ ] No horizontal overflow
- [ ] CTA buttons visible and tappable
- [ ] Text readable without zooming
- [ ] Footer renders with all 5 compliance links

Facebook in-app browser check (paid funnel pages):
- [ ] Layout, forms, and responsive behavior work in FB in-app browser
- [ ] position:fixed and position:sticky elements render correctly

Report results: PASS or FAIL per check

How to test in the Facebook in-app browser: Share the page URL to yourself in Facebook Messenger, then tap the link on your mobile phone. This opens it in Facebook's in-app browser, which is where ad traffic lands. Pay special attention to position:fixed and position:sticky elements, which behave differently in this browser than in standard mobile browsers.

This gate blocks shipping for paid funnel pages.

Step 23: Present Final QC Report

After all gates have run (including manual gates), compile the final QC report.

Report format:

PAGE PRODUCTION CASCADE — QC REPORT
=====================================

PAGE: [slug] ([description])
TYPE: [page type]
SFB COMPONENT: [component number and name]
BRAND: [AOS or CYP]
PIXEL EVENTS: [list of events]

SFB AUDIT SUMMARY:
  Funnel: [funnel name]
  Layer 1 — Tripwire: [GREEN/YELLOW/RED]
  Layer 2 — Sales Page: [GREEN/YELLOW/RED] [compliance: X/5 links]
  Layer 3 — Checkout + Bumps: [GREEN/YELLOW/RED]
  Layer 4 — OTOs: [GREEN/YELLOW/RED] [video status per OTO]
  Layer 5 — Post-Purchase: [GREEN/YELLOW/RED]
  Layer 6 — Back-End: [GREEN/YELLOW/RED]
  Blocking issues found: [count]
  Blocking issues resolved before build: [count]
  Blocking issues flagged for separate action: [count + list]

GATE RESULTS:
  1. Meta Pixel Verification        [PASS/FAIL]
  2. Compliance Footer (5 links)    [PASS/FAIL] [count: X/5]
  3. SFB Component Check            [PASS/FAIL]
  4. Terminology Sweep              [PASS/FAIL]
  5. Copy QC (11 patterns)          [PASS/FAIL]
  6. Sentence Editor (8 rules)      [PASS/FAIL]
  7. Mobile/Responsive Check        [PASS/FAIL]
  8. Link Verification              [PASS/FAIL]
  9. Pixel Event Verification       [PASS/FAIL/PENDING]
  10. Visual Check (Desktop+Mobile) [PASS/FAIL/PENDING]

SCORE: [X]/102
BLOCKING FAILURES: [count] [list if any]
STATUS: [Ship-ready / Blocking failures present / Manual gates pending]

LINKS VERIFIED:
  [list every link with destination]

PIXEL CONFIGURATION:
  Pixel ID: [ID]
  Events: [list]
  [Purchase value: $X if applicable]

COMPLIANCE:
  Footer links: [count]/5
  Meta disclaimer: [present/absent/N-A]
  Anthropic disclaimer: [present/absent/N-A]
  Earnings disclaimer: [present/absent/N-A]

ACTION ITEMS (from audit, separate from this page):
  [numbered list of things that need fixing elsewhere in the funnel]

Step 24: Ship Only After All Gates Pass

The page ships when:

  1. Score >= 92/102
  2. Zero blocking failures
  3. All manual gates confirmed PASS
  4. Kathryn approves

If any condition is not met, the page does not ship.

If blocking failures exist, fix them and re-run the affected gates. The cascade does not start over from Phase 1 — it re-runs from the first failed gate forward.

If Kathryn requests changes after reviewing the QC report, apply the changes and re-run any affected gates.


Mode 3: QC-Only

For pages built outside this cascade. Runs the full SFB audit first, then every gate against existing HTML.

  1. Gather Mode 3 inputs (HTML file, page type, SFB component, pixel ID, slug)
  2. Run Phase 1 (AUDIT) — full 6-layer SFB audit of the funnel this page belongs to
  3. Run Phase 2 (STRATEGY) — map any findings, but do not act on them
  4. Skip Step 11 (Build HTML) — page already exists
  5. Run Gates 1-10 against the existing HTML
  6. Produce the QC report with audit summary
  7. Report results — do not fix (fixes are a separate decision)

Delivery Checklist

Before presenting the QC report to Kathryn:

  1. [ ] SFB audit completed — all 6 layers scored, blocking issues identified
  2. [ ] Strategy phase completed — gaps mapped to components and build modes
  3. [ ] All reference material was read before building (Step 8 completed)
  4. [ ] Pre-build validation gate passed — no missing inputs
  5. [ ] SFB component mapping explicit — page maps to a numbered component
  6. [ ] Page built from appropriate kit golden example
  7. [ ] Meta Pixel embedded with correct ID and correct events for page type
  8. [ ] Compliance footer has all 5 links + applicable disclaimers (COUNTED, not eyeballed)
  9. [ ] For OTO pages: 60-90s sales video embedded (or blocking flag raised)
  10. [ ] Terminology sweep found zero forbidden terms
  11. [ ] Copy QC passed — zero P1, zero unexcepted P2
  12. [ ] Sentence editor applied to new copy
  13. [ ] Mobile responsive with class selectors, no var(), 3+ breakpoints
  14. [ ] Every link verified against a real destination
  15. [ ] Manual gates (pixel verification + visual check) either confirmed or clearly flagged as pending
  16. [ ] QC report shows specific accounting per gate (not "looks good")
  17. [ ] QC report includes SFB audit summary with funnel-level findings
  18. [ ] Score >= 92/102 with zero blocking failures
  19. [ ] If this is the first production run or if output was modified by hand, update 03-slo-page-production-golden-example.md via Mode 2.

Change Log

2026-05-24 — Consensus review fixes (Arden, Cole, Reid, Cade). Added delivery checklist item #19: update golden example via Mode 2 on first run or after manual modification. Gate 3 (SFB Component Check) now explicitly states pass-through for non-OTO, non-sales page types. Purchase pixel event template replaced with ThriveCart URL parameter extraction pattern (reads order_total from URL, falls back to brief price with console warning). Added QC gate note: thank-you-purchase pages must use URL parameter extraction, not hardcoded values. Gate 10 (Visual Check) now includes specific Facebook in-app browser testing instructions (share via Messenger, tap on phone) and position:fixed/sticky verification. Terminology file reference updated from old filename to slo- prefix. Pass threshold updated to 92/102.

Rebuilt with SFB Low-Ticket Funnel System as foundation. Added Phase 1 (AUDIT) using SFB 6-layer framework from f07-lowticket-01-audit-skill.md. Added Phase 2 (STRATEGY) using SFB component/mode mapping from f07-lowticket-02-strategy-skill.md. Build phase now includes Gate 3 (SFB Component Check) for OTO-specific and sales-page-specific requirements from f07-lowticket-03-build-skill.md. Compliance footer enforcement elevated to SFB-level blocking gate per Component 7 and Failure Mode #8. OTO video check added as blocking gate per Component 6 and Failure Mode #1. Previous source: campaign launch playbook, campaign-production-workflow.md.